cdt, secondo voi serve a qualcosa o è meglio spostarsi verso lidi più "recenti" java/C#..?
cdt, secondo voi serve a qualcosa o è meglio spostarsi verso lidi più "recenti" java/C#..?
Decisamente si, è il linguaggio più usato nonchè la base di altri linguaggi. Impari a programmare in C, poi tutti gli altri linguaggi li impari in breve tempo. Ovviamente le mie dichiarazioni scateneranno l'ennesimo infernale flame C vs Altri Linguaggi.
Messa cosi la domanda non la capisco bene perchè il C ed i linguaggi odierni hanno poco a spartire (se non un po' di sintassi e poco altro).
Se si vuole imparare un linguaggio a basso livello il C fa sicuramente al caso. Sotto ci stà giusto l'assembly - anzi se vuoi lo puoi pure incorporare
Ed a mio avviso ti permette di capire il motivo di tanti errori che ti si palesano mentre utilizzi altri linguaggi più evoluti.
Se vuoi girare la domanda come "Ha senso imparare il C per iniziare a programmare" allora ti potrei dire - IMHO naturalmente - che il Pascal (quello turbo) potrebbe benissimo fare al caso perchè è pulito, ti obbliga a mantenere uno stile chiaro, ha una sintassi abbastanza chiara ed anche la gestione dei puntatori è sempre controllata.
Poi si può passare alla programmazione ad oggetti, ma preferirei un Java per iniziare perchè l'ereditarietà semplice ed il massiccio uso di interfacce lo rendono abbastanza semplice rispetto ad un C++ (che io preferisco perchè come possibilità di design del codice a mio vedere è molto più flessibile, ma che si paga a discapito di una curva di apprendimento molto più alta).
Se la domanda è "Ha senso imparare il C invece di un Java/C#" perchè ci vuoi lavorare dipende dove vai a lavorare; ci sono ancora posti dove il C - essendo di basso livello - è richiesto come competenza (penso ai firmware piuttosto che sistemi realtime dove è richiesta velocità).
Ultima modifica di bellabax; 03-08-10 alle 17:39:25
Appicco il fuoco! ABBASSO IL C!!! no scherzo, io ci sono nato a pane&C però per imparare non è esattamente il più semplice; io continuo a preferire un Pascal con il Wirth che ti raddrizza per bene le idee con strutture dati, flussi del programma, tipi conversioni e diavolerie del caso. Poi puoi iniziare a fare i numeri con il C
Ti do ragione, ma proprio una spolverata di 30 secondi per sapere cosa sono. Poi subito con il C, non è semplice ma tanto vale cominciare a farsi le ossa subito. .Appicco il fuoco! ABBASSO IL C!!! no scherzo, io ci sono nato a pane&C però per imparare non è esattamente il più semplice; io continuo a preferire un Pascal con il Wirth che ti raddrizza per bene le idee con strutture dati, flussi del programma, tipi conversioni e diavolerie del caso. Poi puoi iniziare a fare i numeri con il C
EDIT: la parte in grassetto, intendo con il Pascal , tanto in C si fanno più che approfonditamente
Mi spiego meglio: sto gia studiando java e assembly per l'uni. Ho appena iniziato c# e objective-c (mi intriga la programmazione mobile ) per conto mio.
Oggi riflettevo un attimo e mi sono detto: non è meglio prima di imparare tutta 'sta roba sapere un linguaggio "base" ?
Ho la sensazione come se dovessi operare di tumore al pancreas avendo visto le cassette di "esplorando il corpo umano"
Non so se mi spiego!
Vado un po' a pensierini sparsi perchè non ce la faccio stamattina...ho bisogno di
Io sono dell'idea che più che un linguaggio base ti servano le basi della programmazione: le strutture dati e gli algoritmi, più un buon stile (anche a livello di formattazione, se è per quello).
Poi - personalmente - ci aggiungerei anche due @@ cosi a livello di debugging; e con il C avresti la possibilità di diventare un buon "debuggatore" viste le porcate che si possono scrivere
I linguaggi si imparano, i concetti sono più o meno sempre quelli: se sai programmare lo sai fare sempre, con qualsivoglia linguaggio; quanto impari di ogni linguaggio poi dipende da quanto ti applichi.
Ultimamente poi, più che il linguaggio fine a se stesso, ritengo più importante essere in grado di assimilare le tecnologie (ORM, client/server, web, DB, ricerca fulltext, etc).
Ok ho deciso, leggero qualcosa di C.
Il punto è: è cambiato negli ultimi anni? Ho un manuale del 85' dite che è troppo vecchio?
K&R
I classici non muoiono mai...
no.
parti direttamente da c#
a meno che tu non lo faccia per cultura personale parti dal c# che ti può dare un lavoro. il c puoi impararlo dopo.
Ma non puoi partire da C# se non hai le basi, smettetela con queste cose. Se uno vuole imparare a programmare parte dal C poi fa tutto il resto.
All'uni pensa che il primo linguaggio che ci hanno fatto studiare è il java. Poi siamo passati ad assembly.
E' stato abbastanza traumatico
Io ho fatto C++ e assembly alle superiori, all'Uni il primo anno abbiam fatto C e Java, al secondo faremo C++, Java avanzato e Assembly. Insomma, il C/C++ c'è sempre dentro, deve esserci.
e assembly? in ambito lavorativo viene ancora usato?
Dipende dall'ambito lavorativo, se lavori nel campo elettronico si, viene usato per i microcontrollori ed altre mille cose. Quello è il linguaggio macchina, a prescindere bisogna conoscerlo per sapere come funziona il sistema.
Ma il C è la base di tutto. E comunque rimane l'unico modo di fare programmi veloci.Mi spiego meglio: sto gia studiando java e assembly per l'uni. Ho appena iniziato c# e objective-c (mi intriga la programmazione mobile ) per conto mio.
Oggi riflettevo un attimo e mi sono detto: non è meglio prima di imparare tutta 'sta roba sapere un linguaggio "base" ?
Ho la sensazione come se dovessi operare di tumore al pancreas avendo visto le cassette di "esplorando il corpo umano"
Non so se mi spiego!
Prova a scrivere qualcosa di mission critical in C#. Poi vediamo... te lo dico per esperienza.
Peccato che al loro interno le classi siano scritte in maniera procedurale. Tanto vale partire da C, almeno uno impara anche la gestione della memoria, tutta roba utile visto che è sempre meglio non fidarsi troppo dei vari framework.
In breve: C# è un linguaggio inutile
PS: per C si intende usando la cara vecchia compilazione, non tutte le menate .NET di adesso.
Ultima modifica di tizio_incognito; 05-08-10 alle 18:15:21
Quoto tutto a pallaMa il C è la base di tutto. E comunque rimane l'unico modo di fare programmi veloci.
Prova a scrivere qualcosa di mission critical in C#. Poi vediamo... te lo dico per esperienza.
Peccato che al loro interno le classi siano scritte in maniera procedurale. Tanto vale partire da C, almeno uno impara anche la gestione della memoria, tutta roba utile visto che è sempre meglio non fidarsi troppo dei vari framework.
In breve: C# è un linguaggio inutile
PS: per C si intende usando la cara vecchia compilazione, non tutte le menate .NET di adesso.
Qualcuno ne capisce qualcosa di programmazione qui dentro o fate tutti finta?
Pensa che c'è gente che lavora in flash per fare applicazioni via browser: diglielo a loro che flash è inutile. Stessa cosa succede con c#: diglielo a loro che è un linguaggio inutile. Ma soprattutto dillo alle fatture che mandano ai loro clienti.
Chiaramente il discorso varrebbe pari pari anche ad uno che direbbe "il c è un linguaggio inutile".
Insomma quest'ottusità ed integralismo verso certi linguaggi dovv'è che la vendono?Al supermercato?