View Full Version : Che linguaggio?
Ciao, che linguaggio/i mi consigliate di imparare?
C,C++,C#,D ( http://www.digitalmars.com/d/ ), VB.net, java, python, o cosa?
Inoltre anche tra php e asp.net? Io ero più verso php.
Qualcuno per caso si è mai interessato (o conosce) del linguaggio "D" ?
L'ho trovato ora per caso... http://www.digitalmars.com/d/
L'idea è di avere conoscenza del/dei linguaggio/i sia in ambiente windows che in linux (quindi VB verrebbe scartato...c# e asp.net al massimo sotto mono)
Grazie :rolleyes: :D
VegetaSSJ5
10-06-2005, 10:22
java o c
Potresti seguire questo percorso: C -> C++ -> Java
In ogni caso cmq di consiglio di partire dal C come primo linguaggio
Non sarebbe proprio come primissimo linguaggio...conosco pascal e un'infarinatura generale di c#
Potresti seguire questo percorso: C -> C++ -> Java
In ogni caso cmq di consiglio di partire dal C come primo linguaggio
Non sono d'accordo.
Segui il percorso inverso Java/C# -> C++ -> Il C ti arriva gratis ed e' comunque meglio che non lo impari.
Metti in mezzo allo studio anche un linguaggio dinamico come Python o Ruby per avere un'idea piu' completa.
Imparati C#. Magnifico linguaggio :)
ciao ;)
Imparati C#. Magnifico linguaggio :)
ciao ;)
Leggi qui:
http://grumpyoldprogrammer.myblogsite.com/blog/_archives/2005/5/12/834859.html
Non sono d'accordo con questo commento, ma ascoltare un'altra campana e' sempre buona cosa.
Non sono d'accordo.
Segui il percorso inverso Java/C# -> C++ -> Il C ti arriva gratis ed e' comunque meglio che non lo impari.
Metti in mezzo allo studio anche un linguaggio dinamico come Python o Ruby per avere un'idea piu' completa.
Lui ha detto di conoscere già il Pascal....quindi credo che il C sarebbe appropriato come linguaggio con cui proseguire. Studiando poi C++ e Java proseguirebbe lo studio rispettando anche la cronologia dei linguaggi.
Perche' dici che e' meglio che il C non lo impari?
Sono d'accordo sullo studiare anche un linguaggio dinamico.
franksisca
10-06-2005, 11:57
Allora, io ti consiglio JAVA, è molto semplice nella sintassi, potentissimo e, al contrario di c(in tutte le sue incarnazioni, ma non conosco c#) non ha problemi di gestione della memoria(il garbage fa tutto lui).
e magari gli altri li puoi fare per approfondimento.
Per il resto sicuramente PHP.
CIAO
Leggi qui:
http://grumpyoldprogrammer.myblogsite.com/blog/_archives/2005/5/12/834859.html
Non sono d'accordo con questo commento, ma ascoltare un'altra campana e' sempre buona cosa.
Io vengo da anni di C e un po di C++. E quando sono passato a C# qualche mese fa mi è sembrato di aver trovato il paradiso. Certo le prestazioni C# non sono il massimo ma visto che per i programmini che faccio la velocita non è tra i requisiti non ci penso neanche e me ne sto in C# che mi risparmia non pochi grattacapi.
Praticamente la penso come Tom Z. in questo commnento:
http://grumpyoldprogrammer.myblogsite.com/blog/_archives/2005/5/12/834859.html#302497
ps: sbaglio o l'autore del sito che hai postato è piuttosto scontroso e avverso alle nuove tecnologie ? leggendo due o tre post mi pare di aver capito che: xml->schifo, c#->schifo, design patterns-> inutili, oop-> il male, webservices -> una malattia da debellare. :D
ciao ;)
Allora, io ti consiglio JAVA, è molto semplice nella sintassi, potentissimo e, al contrario di c(in tutte le sue incarnazioni, ma non conosco c#) non ha problemi di gestione della memoria(il garbage fa tutto lui).
Anche il c# ha un garbage per la gestione della memoria
Qualcuno ha mai provato programmazione c# sotto linux? Risultati?
Nessuno sà nulla di D? A guardare qua (http://www.digitalmars.com/d/comparison.html) sembra che ha più cose di tutti gli altri messi insieme :mbe:
Ziosilvio
10-06-2005, 12:48
che linguaggio/i mi consigliate di imparare?
Dipende, in buona parte, da cosa vuoi realizzare.
Per programmi compatti e veloci: C.
Per programmi complessi, ma che richiedono prestazioni buone: C++, che però è veramente molto complesso.
Per applicazioni indipendenti dalla piattaforma: Java.
Per avere qualcosa di veramente pratico, simpatico e facile da usare: Python (http://www.python.org/).
tra php e asp.net?
Se non hai esigenze specifiche, direi PHP.
Lui ha detto di conoscere già il Pascal....quindi credo che il C sarebbe appropriato come linguaggio con cui proseguire. Studiando poi C++ e Java proseguirebbe lo studio rispettando anche la cronologia dei linguaggi.
Rispettare la cronologia dei linguaggi non e' per necessariamente il modo piu' produttivo di imparare i linguaggi stessi. Ma continuo dopo e ti dico il perche' non e' una buona idea cominciare dal C se sei un neofita (e anche se conosci gia' un po' di Pascal, sarebbe meglio dimenticarselo).
Perche' dici che e' meglio che il C non lo impari?
Ha risposto Vicius qui:
Io vengo da anni di C e un po di C++. E quando sono passato a C# qualche mese fa mi è sembrato di aver trovato il paradiso.
:D
C e C++ sono linguaggio ad un livello piu' basso, piu' vicino alla macchina, quindi piu' "potente e flessibile", ma con la potenza e la flessibilita' arrivano anche le responsabilita'. Per un nuovo programmatore avere a che fare con concetti a basso livello come i puntatori, la memoria, la creazione e distruzione esplicita delle risorce e' difficile.
Linguaggi ad alto livello al contrario nascondo questi concetti a basso livello e propongono un modello di programmazione piu' vicino al senso comunque quindi piu' semplice da imparare; inoltre "costringono" il programmatore ad adottare buone pratiche orientate agl'oggetti, gli insegnano a ragionare in maniera pulita, cosa che C e C++ e' sempre possibile, ma il linguaggio non favorisce.
Imparando prima Java/C# si ha a disposizione un ambiente piu' familiare, piu' veloce da imparare, si sviluppano buone pratiche di programmazione che poi possono essere facilmente portate a linguaggio a basso livello come C/C++ e, gradualmente, famigliarizzarsi con concetti come i puntatori, ma dopo essersi gia' fatti le osse, e arrivando con una migliore preparazione e disposizione.
Nessuno sà nulla di D? A guardare qua (http://www.digitalmars.com/d/comparison.html) sembra che ha più cose di tutti gli altri messi insieme :mbe:
Per iniziare tu vuoi un linguaggio che abbiamo meno cose, non piu' cose.
alderighi
10-06-2005, 16:57
secondo me è sempre meglio partire da una buona programmazione strutturata come base, io imparerei il c++ direttamente che semplifica un po' le cose del c normale come sintassi, poi secondo me dal punto di vista di difficolta è molto più difficile il java sia a livello di debug, sia a livello di sintassi, sia a livello di OOP
secondo me è sempre meglio partire da una buona programmazione strutturata come base, io imparerei il c++ direttamente che semplifica un po' le cose del c normale come sintassi, poi secondo me dal punto di vista di difficolta è molto più difficile il java sia a livello di debug, sia a livello di sintassi, sia a livello di OOP
A parte che il C++ e' molto piu' complicato del C a livello di sintassi, e' comunque un linguaggio perfettamente OOP, incredibilmente ampolloso e flessibile.
Riguardo alla programmazione strutturata, non vedo perche' imparare un paradigma di programmazione per poi disimpararlo per imparare paradigmi piu' moderni e produttivi.
Riguardo alla sintassi Java piu' difficile di quella di C++, beh, non e' vero e lo sappiamo tutti :)
Il C++ e' un linguaggio troppo complicato da imparare per un neofita che perderebbe piu' tempo a comprendere la sua sintassi e i suoi meccanismi che a imparare a programmare.
Sapere programmare e' indipendente dal linguaggio.
Java->C++->c secondo me perchè java, togliendoti i problemi di gestione a basso livello, ti aiuta a concentrarti sul paradigma OOP, facendoti imparare la tecnica al meglio, per poi passare ad un linguaggio più complicato (opinione diffusa ) che ha tutte le funzionalità OOP di java, più altre relative all'OOP e alla gesitione a basso livello della memoria e delle risorse. Dopo tutto ciò, il c dovrebbe venire da solo (dico dovrebbe, perchè secondo me questo è il percorso migliore, ma io non ho seguito questo..)
Per iniziare tu vuoi un linguaggio che abbiamo meno cose, non piu' cose.
Più che altro era una curiosità per questo linguaggio, siccome non ne avevo mai sentito parlare prima, volevo sapere se è una cosa che sanno solo pochi per questioni personali o se effettivamente viene utilizzato in qualche progetto...
E riguardo java vs c# ?
A parte il fattore multipiattaforma (come si comporta c# sotto linux tramite mono? a quanto ne sò per fare qualcosa di portabile da un OS all'altro bisognerebbe utilizzare le gtk sia sotto linux, in cui non esistono le api che vengono utilizzate dalla controparte, e sia sotto windows, o sbaglio?Bisogna modificare anche altro oppure per il resto è uguale e si può portare tranquillamente il codice sotto i due OS?)
alderighi
11-06-2005, 08:04
il c# anche se è microsoft e non è un linguaggio portabile come il java è infinitamente più facile a livello grafico perchè sfrutta le istruzioni del visual c++ visual basic e le librerie di windows, mentre le grafica del java è meglio lasciarla perdere
il c# anche se è microsoft e non è un linguaggio portabile come il java è infinitamente più facile a livello grafico perchè sfrutta le istruzioni del visual c++ visual basic e le librerie di windows, mentre le grafica del java è meglio lasciarla perdere
Non vedo come un linguaggio di programmazione possa esser piu portabile di un'altro, escludendo l'assembly ovviamente. Dipende tutto se le librerie usate sono disponibili o meno per una certa piattaforma.
Cosa intendi che si basa sulle istruzioni di visual basic e C++ ? :confused: E poi che cosa ha la grafica del Java ? SWT è molto buono come package per creare programmini multipiattaforma.
ciao ;)
DanieleC88
11-06-2005, 09:41
Chissà perché nessuno sta mai a sentire mjordan... :D
Eppure la sua FAQ dovrebbe essere chiara: http://www.hwupgrade.it/forum/showthread.php?t=529474
DanieleC88
11-06-2005, 09:49
Cosa intendi che si basa sulle istruzioni di visual basic e C++ ? :confused:
Credo intenda dire che è una sorta di C++ con la sintassi in stile Visual Basic.
E poi che cosa ha la grafica del Java ? SWT è molto buono come package per creare programmini multipiattaforma.
Credo intenda che lo stile "Metal", che è lo standard di Java, gli fa cagare (con rispetto parlando).
VICIUS: i linguaggi sono più portabili quando sono interpretati o semi-interpretati (vedi Java). Non trovi?
Credo intenda dire che è una sorta di C++ con la sintassi in stile Visual Basic.
Credo intenda che lo stile "Metal", che è lo standard di Java, gli fa cagare (con rispetto parlando).
VICIUS: i linguaggi sono più portabili quando sono interpretati o semi-interpretati (vedi Java). Non trovi?
Io per linguaggio intendo i for gli if i while che si scrivono. Non il binario che hai dopo che hai complato tutto. francamente non vedo come un for scritto in C++ possa essere piu portabile di uno scritto in C#, Java o Visual Basic la sintassi è praticamente intercambiabile nei primi 3.
ciao ;)
alderighi
11-06-2005, 11:00
forse mi sono espresso male, ma volevo dire semplicemente che un programma compilato in c# funziona solo sotto windows, un programma compilato in java funziona su tutti i sitemi operativi supportati (Apple, Unix, Solaris, Windows), in quanto a grafica, le istruzioni per la grafica del c# sono le solite del visual basic più o meno, anche la gestione delgi eventi è molto più semplice. La grafica del Java per me è qualcosa di mostruosamente complicato sia sotto awt che sotto swing rispetto agli altri linguaggi di programmazione.
Inoltre volevo dirti che la storia che il linguaggio è portabile è una balla, perchè attualmente non esiste un compilatore per c# sotto Linux apparte Mono che non è il massimo
Inoltre volevo dirti che la storia che il linguaggio è portabile è una balla, perchè attualmente non esiste un compilatore per c# sotto Linux apparte Mono che non è il massimo
Mono va molto bene in realta'. E non e' un compilatore, e' un'implementazione del CLR per Linux.
Per lanciare un'applicazione scritta in C# e compilata in CLI da qualunque compilatore usando Mono, non devi ricompilare. C# non compila in linguaggio macchina, ma in un linguaggio intermedio che poi viene compilato al volo dal Runtime (CLR in Win32 e Mono in Linux).
RaouL_BennetH
11-06-2005, 12:19
forse mi sono espresso male, ma volevo dire semplicemente che un programma compilato in c# funziona solo sotto windows
non è vero, se cambi gli opportuni "using" e crei l'eseguibile con "mono" sotto piattaforme *nix lo hai praticamente "portato".
in quanto a grafica, le istruzioni per la grafica del c# sono le solite del visual basic più o meno, anche la gestione delgi eventi è molto più semplice.
nessuno vieta di usare con C# le gtk-sharp. E, avere delle librerie già a disposizione per "disegnare" un bottone, è sempre meglio che doverti ogni volta scrivere un bottone a mano. Va bene in fase di studio, ma quando devi produrre software, perdere del tempo per certe cose risulta appunto improduttivo.
La grafica del Java per me è qualcosa di mostruosamente complicato sia sotto awt che sotto swing rispetto agli altri linguaggi di programmazione.
non vedo quali grosse differenze, in termini di "complicazione", ci possano essere tra Java ed il C++ ad esempio(senza considerare un ambiente quale Visual C++ che ti mette a disposizione determinati strumenti).
Inoltre volevo dirti che la storia che il linguaggio è portabile è una balla, perchè attualmente non esiste un compilatore per c# sotto Linux apparte Mono che non è il massimo
Che non sia il massimo data la sua giovane età non si discute, ma è completamente differente dall'affermare che non è portabile.
alderighi
11-06-2005, 12:53
sinceramente non credo che il c# possa essere compilato sullo stesso numero di sitemi operativi del java, un linguaggio a mio parere è portabile quando lo stesso codice identico può essere compilato su macchine differenti senza modifiche, e una applicazione è portabile quando può essere eseguita su macchine con sistemi operativi diversi, il c# come linguaggio è quasi portabile ma le applicazioni a mio parere no, il java invece è portabile in tutto come il perl.
sinceramente non credo che il c# possa essere compilato sullo stesso numero di sitemi operativi del java, un linguaggio a mio parere è portabile quando lo stesso codice identico può essere compilato su macchine differenti senza modifiche, e una applicazione è portabile quando può essere eseguita su macchine con sistemi operativi diversi, il c# come linguaggio è quasi portabile ma le applicazioni a mio parere no, il java invece è portabile in tutto come il perl.
C# non viene compilato su diversi sistemi operativi, viene compilato una volta sola in un linguaggio intermedio che per altro e' standardizzato e libero da royalty, quindi un equivalente del CLR che lo esegua puo' essere implementato in linea teorica su qualunque sistema.
Non ha senso parlare di linguaggio portabile, tutti i linguaggi sono portabili. Non tutte le applicazioni lo sono.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.