Entra

View Full Version : Alto o Basso?


Fede_Reghe
10-12-2006, 19:59
Leggendo un po' di discussioni... secondo voi

è meglio un linguaggio ad alto livello, intuitivo, semplice, veloce (es Visual Basic)

o

è meglio un linguaggio a basso livello, difficile, lungo, ma con altissime potenzialità (es Assembly)

?

Che ne pensate?

Secondo me l'ideale è quello che sta in mezzo, ne troppo complesso nè troppo semplice...

clockover
10-12-2006, 20:22
Comincia con java
é molto semplice e trovi tantissima documentazione in rete! Da li poi passerai al c++ che è molto simile!

giannola
10-12-2006, 20:30
Leggendo un po' di discussioni... secondo voi

è meglio un linguaggio ad alto livello, intuitivo, semplice, veloce (es Visual Basic)

o

è meglio un linguaggio a basso livello, difficile, lungo, ma con altissime potenzialità (es Assembly)

?

Che ne pensate?

Secondo me l'ideale è quello che sta in mezzo, ne troppo complesso nè troppo semplice...

mi pare che tu abbia le idee un po confuse :D
un linguaggio è definito di basso livello in quanto è più vicino al linguaggio macchina, mentre quello di alto livello è quello più vicino al programmatore.
Nessuno può dire che un linguaggio di alto livello è necessariamente facile, vedi ad esempio il c e il c++, per padroneggiarli come si deve ci vogliono minimo mesi di pratica.
Oppure che un linguaggio di basso livello sia poco comprensibile.
E' solo che alla base della compilazione di un linguaggio di alto livello ci sta sempre uno di basso livello.
Dunque la differenza fondamentale è che con quello di basso livello controlli sì ogni cosa, però è più lungo da programmare.
Se vuoi un linguaggio di alto livello ma che ti permetta un controllo "quasi" come un basso livello devi orientarti verso il c.

In ogni caso dipende tutto dal tipo di programmazione che intendi fare, certo per creare delle intranet dinamiche non hai bisogno di linguaggi di basso livello, mentre se devi creare dei driver oppure dei SO invece ti può tornare utile.

giannola
10-12-2006, 20:32
Comincia con java
é molto semplice e trovi tantissima documentazione in rete! Da li poi passerai al c++ che è molto simile!

il c++ ha una sintassi simile al java, ma concettualmente non è simile, permette un controllo che java (in quanto interpretato) non ha.

kazzinga
10-12-2006, 20:41
secondo me quando si parla di linguaggi di programmazione situati a diversi livelli di astrazione, come quelli a cui ti riferisci, non ha senso chiedersi quale sia migliore.

Un linguaggio di programmazione deve essere sempre visto come uno strumento per raggiungere uno scopo: sei io ho un martello demolitore non cerco di usarlo per piantare chiodini per i quadri, piuttosto vado in ferramenta e compro un martelletto da 100 grammi!!!!

Per i linguaggi di programmazione dovrebbe essere la stessa cosa: devo sviluppare in 10 giorni un'applicazioncina gestionale per gestire la mia dispensa di marmellate? uso VB .net oppure Java!!!...devo implementare un sistema di modellazione e simulazione tridimensionale? Il C++ potrebbe essere un'ottima scelta!!...ho la necessità di codificare un emulatore di cpu legacy in cui le prestazioni sono fondamentali? mi tocca smazzarmi per giorni e giorni con l'assembler per programmare il core performance-critical del sistema!!

Purtroppo spesso dimentichiamo che il vero obiettivo dei linguaggi di programmazione è lo sviluppo di applicazioni e non la programmazione stessa, così ci ostiniamo a piantare un chiodino con un martello pneumatico oppure a scavare una piscina olimpionica con un cucchiaino da caffè...

IMHO se si vanno a considerare linguaggi più o meno allo stesso livello di astrazione, la tua domanda acquista un senso maggiore, in quanto si possono paragonare strumenti che si prefiggono lo stesso scopo e quindi è lecito chiedersi quale sia più efficace nel raggiungimento dello stesso.

BTW per anni il Visual Basic è stato etichettato come un linguaggio schifoso, inefficiente e disorganizzato, ma ciò è dovuto a tutta una generazione di pseudo-programmatori che, incapaci di utilizzare linguaggi più potenti, hanno arraffanzonato malloppi di codice da incubo per la realizzazione di applicazioni enterprise...con un linguaggio pensato inizialmente per gli hobbisti!!!! :muro:

PGI-Bis
10-12-2006, 21:51
mi pare che tu abbia le idee un po confuse :D

:D Mi viene in mente il detto "da che pulpito viene la predica" :D

che java (in quanto interpretato)

:D Bisogna dire a gcj di smettere di produrre codice macchina a partire da sorgenti Java: diamine, è interpretato, non lo sa?!!! :D

giannola
11-12-2006, 06:05
:D Mi viene in mente il detto "da che pulpito viene la predica" :D



:D Bisogna dire a gcj di smettere di produrre codice macchina a partire da sorgenti Java: diamine, è interpretato, non lo sa?!!! :D

mi sa che prendi un abbaglio.
Sbaglio o nella prima pagina di gcj c'è scritto:Compiled applications are linked with the GCJ runtime, libgcj, which provides the core class libraries, a garbage collector, and a bytecode interpreter. libgcj can dynamically load and interpret class files... :D
ribadisco il concetto a beneficio di chi non lo sa, il fatto che java è interpretato impedisce che java prenda il controllo della macchina facendogli fare cose non volute, al contrario del c, col quale puoi fare praticamente qualunque cosa.

giannola
11-12-2006, 06:06
secondo me quando si parla di linguaggi di programmazione situati a diversi livelli di astrazione, come quelli a cui ti riferisci, non ha senso chiedersi quale sia migliore.

Un linguaggio di programmazione deve essere sempre visto come uno strumento per raggiungere uno scopo: sei io ho un martello demolitore non cerco di usarlo per piantare chiodini per i quadri, piuttosto vado in ferramenta e compro un martelletto da 100 grammi!!!!

Per i linguaggi di programmazione dovrebbe essere la stessa cosa: devo sviluppare in 10 giorni un'applicazioncina gestionale per gestire la mia dispensa di marmellate? uso VB .net oppure Java!!!...devo implementare un sistema di modellazione e simulazione tridimensionale? Il C++ potrebbe essere un'ottima scelta!!...ho la necessità di codificare un emulatore di cpu legacy in cui le prestazioni sono fondamentali? mi tocca smazzarmi per giorni e giorni con l'assembler per programmare il core performance-critical del sistema!!

Purtroppo spesso dimentichiamo che il vero obiettivo dei linguaggi di programmazione è lo sviluppo di applicazioni e non la programmazione stessa, così ci ostiniamo a piantare un chiodino con un martello pneumatico oppure a scavare una piscina olimpionica con un cucchiaino da caffè...

IMHO se si vanno a considerare linguaggi più o meno allo stesso livello di astrazione, la tua domanda acquista un senso maggiore, in quanto si possono paragonare strumenti che si prefiggono lo stesso scopo e quindi è lecito chiedersi quale sia più efficace nel raggiungimento dello stesso.

BTW per anni il Visual Basic è stato etichettato come un linguaggio schifoso, inefficiente e disorganizzato, ma ciò è dovuto a tutta una generazione di pseudo-programmatori che, incapaci di utilizzare linguaggi più potenti, hanno arraffanzonato malloppi di codice da incubo per la realizzazione di applicazioni enterprise...con un linguaggio pensato inizialmente per gli hobbisti!!!! :muro:

quoto, non avrei saputo dirlo meglio, soprattutto l'ultima parte :D

sottovento
11-12-2006, 10:23
[QUOTE=PGI-Bis
:D Bisogna dire a gcj di smettere di produrre codice macchina a partire da sorgenti Java: diamine, è interpretato, non lo sa?!!! :D[/QUOTE]

:D Devo dire che, come sempre, hai ragione :D

Cmq... ci sono cose che si pensano ma non si dicono. Non dirlo a nessuno ma.... (ho un po' paura a dire la verita', come sempre).... tutti i linguaggi sono interpretati.
Ecco, l'ho detto. Mi sono liberato di un peso

PGI-Bis
11-12-2006, 13:39
Ricordo ad uso di chi non le abbia mai lette che le specifiche del linguaggio di programmazione Java (terza edizione) non riportano affatto la favola che il linguaggio di programmazione Java sia interpretato piuttosto che compilato. Dicono che "normalmente" è compilato in codice byte ma "normalmente" non significa necessariamente. Tanto che, per l'appunto, GCJ produce codice macchina a partire dai file .java, sta scritto una riga sopra a quella citata da Giannola. L'eseguibile è prodotto dal collegamento con le librerie libgcj? Diamine spero proprio di sì. Ma non per questo il codice macchina prodotto dalla compilazione dei sorgenti Java da parte di GCJ diventa marmellata.

Non che sia una bella cosa eh, intendiamoci. La sola idea di compilare Java direttamente in codice macchina è una porcata colossale. Ma si può fare.

tutti i linguaggi sono interpretati.
Ecco, l'ho detto. Mi sono liberato di un peso

Condivido in pieno. Anche secondo me la distinzione interpretato/compilato è assurda. Basta dare un'occhiata alle specifiche dei linguaggi, da C a Java passando per Python, per vedere che non ci sono norme sintattiche che impediscano la produzione diretta di codice macchina piuttosto che la traduzione al volo del codice sorgente in codice macchina.

D'altronde mi sembra che l'unico linguaggio sensatamente "non interpretato", perchè non interpretabile sia il linguaggio macchina. Sempre che non si tratti di macchina intel, perchè allora pure quello è interpretato!

Però il senso della distinzione esistente, e a cui dovremmo attenerci, non è così ragionevole.

sottovento
11-12-2006, 14:04
Dovrei quotare tutto ma diventa un po' lunghetto. L'unica cosa che non mi va di quotare e' la "porcata colossale" se si "compila" un programma Java: penso che possano esistere tanti casi in cui l'operazione potrebbe avere un senso...

k0nt3
11-12-2006, 14:09
il fatto che java è interpretato impedisce che java prenda il controllo della macchina facendogli fare cose non volute, al contrario del c, col quale puoi fare praticamente qualunque cosa.
beh allora devi anche avvisare gli sviluppatori di C# perchè essendo un linguaggio "interpretato" non può gestire i puntatori! :O

k0nt3
11-12-2006, 14:13
intuitivo, semplice, veloce (es Visual Basic)
questa non l'ho capita.. :mbe: :asd:

a parte gli scherzi non c'è un meglio o un peggio (ovviamente a parte VB :D ), dipende prima di tutto dallo scopo.

PGI-Bis
11-12-2006, 14:35
L'unica cosa che non mi va di quotare e' la "porcata colossale" se si "compila"

Via, sono solo un uomo, vorrai concedermi di avere le mie religiose preferenze :D

k0nt3
11-12-2006, 14:36
BTW per anni il Visual Basic è stato etichettato come un linguaggio schifoso, inefficiente e disorganizzato, ma ciò è dovuto a tutta una generazione di pseudo-programmatori che, incapaci di utilizzare linguaggi più potenti, hanno arraffanzonato malloppi di codice da incubo per la realizzazione di applicazioni enterprise...con un linguaggio pensato inizialmente per gli hobbisti!!!! :muro:

Windows Defender (Beta 2) was released on February 13, 2006. It featured the program's new name and a significant redesign, resulting in huge improvements. The core engine was rewritten in C++, unlike the original GIANT-developed one, which was written in Visual Basic.

ma LOL!