Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Simulare lancio dadi

Visualizzazione discussione

  1. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da LongSky Visualizza il messaggio
    È innegabile che Java utilizza le risorse in modo meno efficiente di C ad esempio.
    Poi trovo che utilizzare linguaggi O.O come se fossero linguaggi procederurali complichi leggermente le cose e sia sconsigliabile quando si può scegliere.
    Magari è una mia opinione.
    Capirai l'efficienza in questi casi quanto giochi. Inoltre in generale il primo punto da considerare è l'algoritmo utilizzato. Puoi sempre considerare soluzioni miste, lasciando il lavoro sporco ai linguaggi di più basso livello e coordinando il tutto da uno di più alto livello.
    Java ha in generale prestazioni abbastanza buone rispetto a C gcc e ottime rispetto a Pascal fpc per quanto riguarda i tempi d'esecuzione.
    http://benchmarksgame.alioth.debian.org/u64q/java.html
    http://benchmarksgame.alioth.debian....&lang2=fpascal
    Pascal risulta più lento sia rispetto a Java che a C gcc
    http://benchmarksgame.alioth.debian....scal&lang2=gcc
    I consumi di memoria sono effettivamente minori per C e Pascal.

    Perché usare C o Pascal è più semplice che usare Java?
    Per la programmazione procedurale puoi benissimo ignorare gli oggetti e usare solo le classi già scritte per semplificarti la vita. Basta scrivere qualche static e sei apposto.

    Piuttosto si può consigliare di scrivere cose simili in linguaggi quali Python, Ruby, TCL, REBOL et simila. Qui il vantaggio è evidente: la facilità di scrittura è abbastanza indiscutibile.

    In generale è molto più facile commettere errori in C, C++, Pascal e simili che in linguaggi a più alto livello quali ad esempio java, C#, D e simili o di ancora più alto livello. Anche solo per il fatto che più alzi il livello meno devi scrivere.

    Pensa ad esempio a quanto è facile in C accedere ad una locazione di memoria non valida e non accorgersi dell'errore per settimane, mesi o anni. Poi all'improvviso l'errore salta fuori in produzione all'interno di un software molto complesso con un sacco di funzioni che (incautamente) usano dettagli implementativi. A questo punto diventa molto molto difficile correggere il problema senza corrompere tutte le altre parti di codice che fanno affidamento sui dettagli implementativi.

    Questo era solo un esempio. Ci sono anche altri fattori da considerare ovviamente, ma certamente quando le risorse non sono un problema non ha senso scrivere nel linguaggio più efficiente possibile. Altrimenti scriveresti sempre in linguaggio Assembly che è (virtualmente) il più efficiente (anche se di certo al giorno d'oggi un compilatore è sicuramente più bravo di te a ottimizzare il codice).

    Edit: Eviterò di intervenire ulteriormente per evitare l'OT, era solo che non volevo che venissero dati consigli a mio avviso fuorvianti.
    Ultima modifica di Scara95; 16-01-2015 a 13:14
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.