Sì ma flash va bene per fare i giochini, e C# per fare programmi non complessi senza sbattersi troppo. Ripeto, per fare un programma serio ci vuole il C.
Sì ma flash va bene per fare i giochini, e C# per fare programmi non complessi senza sbattersi troppo. Ripeto, per fare un programma serio ci vuole il C.
Un "programma serio" cosa significa?
Veloce? Con migliaia di righe? Che ti da stipendio a fine mese? Strutturato bene? Scritto in modo da poter partecipare ad un Obfuscated Contest?
Ha senso studiare il C? Per me ha senso. E' una buona nave scuola: quando riesci a scrivere un programma complesso in C che faccia quello per cui è stato scritto avrai detto tante di quelle parolacce e risolto tanti di quei problemi (compilazione, debug, nomi incomprensibili delle funzioni di libreria, tipi di dato misteriosi e via di seguito) che avrai imparato un sacco di cose che ti verranno sempre utili - anche le combo di parolacce!
Ultima modifica di bellabax; 06-08-10 alle 23:40:06
Il programma non è serio perchè è complesso o perchè necessita di particolare cura nella gestione delle strutture dati e nella gestione della memoria. Nossignore: il programma è serio quando è utile.
Quindi se serve un programma utile e si vuole realizzarlo al meglio, si studia che tipo di programma è e con che tecnologie è più appropriato realizzarlo.
Caso strano la scelta non è sempre il C, se non appunto in alcuni ambiti.
Quindi il discorso che fai in generale, è miope e distruttivo in un'ottica di produttività: più che altro perchè pensi che tutto il mondo debba ottimizzare il proprio codice al bit...beh non è necessariamente così.
Poi che con flash si facciano solo giochini: guarda qua
Quindi come vedi si fanno cose anche un pò più avanzate ed anzi colgo l'occasione per suggerire ad AkromA una cosa: studiare il C ha senso perchè un programmatore certe cose le deve sapere, ciò detto se vuoi specializzarti in un campo dove in Italia saranno massimo in 5 ad essere capaci: studiati Flash ed impara a fare rich application come quella del link sopra(quindi non i sitarelli del cazzo): è pieno di lavoro.
Il discorso di Cherno è coerente. Ogni linguaggio ha il suo ambito di applicabilità, però anche la strada del basso livello, programmazione asm/C offre lavoro.
Scusa ma di programmazione di siti me ne intendo ancora meno che dei due linguaggi che sto studiando, cosa in quel sito è fatto in flash? Quali sono le parti che non riusciresti a fare con un altro linguaggio?
Poi che con flash si facciano solo giochini: guarda qua
Quindi come vedi si fanno cose anche un pò più avanzate ed anzi colgo l'occasione per suggerire ad AkromA una cosa: studiare il C ha senso perchè un programmatore certe cose le deve sapere, ciò detto se vuoi specializzarti in un campo dove in Italia saranno massimo in 5 ad essere capaci: studiati Flash ed impara a fare rich application come quella del link sopra(quindi non i sitarelli del cazzo): è pieno di lavoro.
Quello non è un sito: quella è una cosidetta rich application. Spero tu non sia uscito subito dal sito ma lo abbia provato per vedere che è una suite di disegno come potrebbe essere gimp. Fra l'altro presenta anche un motore di filtri immagine modulare davvero niente male.
Questo vuol dire che tutto quello che vedi (dal motore di rendering, alla programmazione client/server ecc ecc) è stato scritto in flash per fare in modo di essere fruibile contando unicamente sul browser.
E' chiaro che lo puoi scrivere in qualsiasi linguaggio, ma se un'applicazione deve girare sui browser o la scrivi con flash od usi una combinazione php/javascript/html5 ecc ecc.
Ed una cosa non è che la scrivi perchè puoi scegliere, bensì perchè un cliente ti dice: "mi serve questo" e ti paga dei bei soldini. Quindi siccome actionscript è programmazione con tanto di classi ed oggetti, siccome in italia di flasher buoni ce ne saranno davvero una manciata e siccome c'è tanta richiesta di queste competenze, ti direi che non sarebbe un ragionamento proprio errato imparare a programmare flash.
Altri esempi: Questo , commissionato da nickTV al nostro studio. Giochi molto semplici, però riscontrano successo per il target al quale si rivolgono.
Se poi vuoi andare sul ludico più classico c'è il sempre verde Kongregate dal quale ogni tanto esce qualche perla niente male che viene convertita su altre piattaforme(iphone/ds/xbla ecc ecc)
Quindi insomma, non è che sia un linguaggio proprio stupido visto che si possono fare davvero tante cose.
Ciò detto il mio non vuole essere una campagna pubblicitaria pro flash, il punto è che un qualsiasi linguaggio di programmazione ha senso di essere studiato nel momento in cui sai che ti servirà: se sai che andrai a programmare circuiti e dispositivi particolari allora ha senso studiarsi assembly e c, per esempio.
Se magari sai che vorrai programmare giochi, allora fatti una solida base di c++ e design patterns.
Insomma la cosa importante è chiarirsi le idee sulla propria carriera di programmatore, il necessario poi lo impari. Penso non ci sia più niente da aggiungere: se hai dubbi chiedi pure
Ultima modifica di Cherno; 08-08-10 alle 00:55:56
concordo con cherno al 100%
pero' aggiungo che ora si fanno RIA anche con silverlight e JavaFX (anche se quest'ultimo e' in realta' un mezzo flop visto che non lo usa nessuno! )
Trovare microcontrollori che non si possono programmare in c oggi e' raro
ma non diciamo sciocchezze.
partire dal c# è possibile e anzi consigliabile perchè lo imposta subito con l'ottica dell'utilizzo del framework.
basta fare i vecchi bigotti con bisogna conoscere le basi.
che cazzate.
poi fate come vi pare
quanto al discorso su c# = programmini semplici... tesoro qui si lavoro e si fattura parecchio e non ho tempo di partire ogni volta dalla ruota quindi se un linguaggio di livello + alto (che non vuol dire + semplice) mi permettere di concentrarmi sull'algoritmo da usare e su come renderlo utilizzabile in maniera semplice dal cliente bene vengano c# js e tutto il resto.
uuuu ma forse il signore programma sistemi operativi per lo shuttle.
scusa ma c'è un universo che fa anche altra roba
edit: nn ce l'ho con te direttamente ma se un ragazzo come penso sia quello che ha aperto il topic vi chiede cosa deve studiare non lo fate ingolfare con il c. fatelo partire con qualcosa che gli dia subito un feedback positivo gratificante.
con c++ in capo a 6 mesi forse sa fare gli alberi. con c# in 6 mesi si è fatto qualcosa con impatto visivo maggiore e allora magari si appassiona e approfondisce. altrimenti si rompe i coglioni e molla. ne ho visti una marea fare questa fine. ma continuate pure vi prego
Ultima modifica di x3n0n; 09-08-10 alle 12:51:43
Ecco, che vi dicevo, il solito flame fra linguaggi, non dico di non impararsi il c#. Se trova lavoro in un'azienda dove usano c#. Ma non è bigottismo consigliare di partire dal C. Cazzo sono le basi, è come suonare la chitarra, fare gli stessi 4 accordi per un anno è noioso ma poi impari a suonare, cominciare subito cercando di suonare come Jimy Hendrix invece non porta a niente.
Un cazzo di framework è sempre utile impararlo, ma creare un cazzo di framework, modificarlo per le proprie esigenze, fare codice mantenibile, è a lungo andare un risparmio di risorse e tempo. Se vuoi fare l'interfaccia grafica puoi anche usare VB. Ma se vuoi imparare a programmare e bene parti dal C. Poi ognuno faccia come vuole. Io vedo molti miei compagni di corso che si son buttati sull java senza cagare il corso base di C perchè cosi posso fare i "pulsanti". Peccato che non concludano niente, e li vedi bestemmiare perchè quando fanno la copia di un vettore e lo modificano si incazzano perchè si modifica anche il vettore originale. Tu gli spieghi, "stai facendo la copia del riferimento del vettore, non del vettore stesso, lavori con la stessa porzione di memoria", e loro cascano dalle nuvole. Che dire, il C è morto? Ok, per me è un vantaggio se la concorrenza è composta da idioti che non capisce come funzionano le cose.
Non ti offenderre, non stò dandoti dell'idiota . Ma cerco di argomentare le mie motivazioni.
vedi non mi offendo. io il c l'ho studiato all'uni e se permetti reputo idioti quelli che pensano che sia l'unica strada per imparare. qui non si tratta di liti tra linguaggi e il fatto che tu abbia letto solo questo nella mia risposta dimostra che l'idiota qui non sono io (il chè non implica automaticamente che sia tu ma di sicuro i tuoi colleghi si)Ecco, che vi dicevo, il solito flame fra linguaggi, non dico di non impararsi il c#. Se trova lavoro in un'azienda dove usano c#. Ma non è bigottismo consigliare di partire dal C. Cazzo sono le basi, è come suonare la chitarra, fare gli stessi 4 accordi per un anno è noioso ma poi impari a suonare, cominciare subito cercando di suonare come Jimy Hendrix invece non porta a niente.
Un cazzo di framework è sempre utile impararlo, ma creare un cazzo di framework, modificarlo per le proprie esigenze, fare codice mantenibile, è a lungo andare un risparmio di risorse e tempo. Se vuoi fare l'interfaccia grafica puoi anche usare VB. Ma se vuoi imparare a programmare e bene parti dal C. Poi ognuno faccia come vuole. Io vedo molti miei compagni di corso che si son buttati sull java senza cagare il corso base di C perchè cosi posso fare i "pulsanti". Peccato che non concludano niente, e li vedi bestemmiare perchè quando fanno la copia di un vettore e lo modificano si incazzano perchè si modifica anche il vettore originale. Tu gli spieghi, "stai facendo la copia del riferimento del vettore, non del vettore stesso, lavori con la stessa porzione di memoria", e loro cascano dalle nuvole. Che dire, il C è morto? Ok, per me è un vantaggio se la concorrenza è composta da idioti che non capisce come funzionano le cose.
Non ti offenderre, non stò dandoti dell'idiota . Ma cerco di argomentare le mie motivazioni.
come ho cercato di dire sopra, ma evidentemente non ho usato parole abbastanza semplici per essere comprensibili , non ho detto di non imparare il c ma di non cominciare da li.
qui non si tratta di trovarsi un lavoro ma di quale è il modo migliore per invogliare ad imparare.
fai una similitudine con lo studio della chitarra.ok. come ben saprai la prima cosa che si impara con la chitarra è roba tipo il giro di do o la canzone del sole o quello che è. perchè ? perchè così in una settimana puoi suonare ligabue e altre cose del genere e sei invogliato a studiare e migliorarti.
se fai fare a uno 3 anni di scale perchè prima non ha senso se non capisci bene tutte le basi non puoi suonare ... bhè secondo me è + probabile che delle due persone la prima non si annoierà.- poi certo ci sono eccezioni ma di solito è così.
stessa cosa. io non dico di non imparare il c ma a un ragazzo che vuole imparare oggi sicuramente non lo consiglierei.
ah il .net non è un "cazzo di framework" ma direi che è la base su cui ms sta impostando un po' tutto il suo lavoro nei prossimi anni.
ah si vb è merda sotto ogni punto di vista. senza se e senza ma. forse andava bene vb6 e il fatto che tu dica "se vuoi farti una interfaccia la fai in vb" dimostra che probabilmente sei rimasto bloccato all'epoca
poi ribadisco lavoro si trova per tutti i linguaggi cobol compreso ma non è che oggi a un neofita direi studiati cobol.
dire inizia dal c per imparare a sviluppare è come dire fai per 5 anni il liutaio per capire la musicalità sotto lo strumento e solo dopo inizia a prendere in mano una chitarra.
ci sta magari diventi + bravo di uno che ha preso la chitarra e ha iniziato subito a strimpellare ma secondo me su 100 persone che fanno una cosa e 100 che provano l'approccio opposto la % maggiore non è dove pensi tu.
e per la miseria a me frega zero se volete studiare java c o linux o quello che è meno concorrenza per me . così come di convincere la gente non mi importa ma nel 2010 dovrebbe essere evidente che c# non è vb e che al momento è il modo ottimale per fare un sacco di roba se si lavora in ambiente windows
edit:leggo ora "compagni di corso" ahhhh universitario eh ? si anche io ero tutta teoria all'epoca.... la dura realtà è un filo diversa... avrai modo di scoprirlo
Cazzo se scrivi tanto
Parto dal vb, era una provocazione, non son rimasto cosi indietro, ma credo abbia capito cosa intendo, e riguardo all'universitario, si lo sono, ma lo sono con un background diverso, ho 30 anni suonati e l'uni l'ho cominciata sperando di crearmi un futuro migliore, so benissimo che non è tutta teoria e la realta è ben divera, lo provo sulla pelle tutti i giorni, non devo scoprire niente. Per il resto sono punti di vista, il tuo ragionamento non è sbagliato ma ti dico per esperienza personale che partire con certe basi ti aiuta molto di più che partire con altre.
Ho detto la mia, e ascoltato la tua, ora vediamo cosa ne pensano gli altri.
Ehm, scrivo applicazioni soft-RT in C# da anni. Ho una serie di librerie e di strutture dati simili alle STL per la gestione della memoria, con tanto di mio sistema custom di References. Il Garbage Collector lo uso solo nei (rari) momenti in cui l'applicazione è idle. Evito come la peste la virtualitá e le vtables e tutte le "magie del compilatore" che generano codice che introduce pesantezza inutile (.Net Reflector docet: LINQ, yield, lambda expressions sono bellissimi ma costosetti). C# è un linguaggio estremamente potente se si sa dove mettere le mani.
Ovviamente ho imparato a programmare in C, direi che come primi passi è un buon esercizio. Specie se si impara in contemporanea con un linguaggio di altissimo livello, tipo Haskell o F#, per vedere subito i trade-off possibili tra controllo/performance vs astrazione/correttezza.
tutto molto vero ma onestamente salvo casi eccezionali non rinuncerei a nessuna delle magie del compilatore a partire dal datacontext o linq il carico aggiuntivo è + che compensato dal tempo risparmiatoEhm, scrivo applicazioni soft-RT in C# da anni. Ho una serie di librerie e di strutture dati simili alle STL per la gestione della memoria, con tanto di mio sistema custom di References. Il Garbage Collector lo uso solo nei (rari) momenti in cui l'applicazione è idle. Evito come la peste la virtualitá e le vtables e tutte le "magie del compilatore" che generano codice che introduce pesantezza inutile (.Net Reflector docet: LINQ, yield, lambda expressions sono bellissimi ma costosetti). C# è un linguaggio estremamente potente se si sa dove mettere le mani.
Ovviamente ho imparato a programmare in C, direi che come primi passi è un buon esercizio. Specie se si impara in contemporanea con un linguaggio di altissimo livello, tipo Haskell o F#, per vedere subito i trade-off possibili tra controllo/performance vs astrazione/correttezza.
"Riferimento: Ha ancora senso studiare C?"
Intendi come punto di partenza di un percorso didattico?
mboh... si ci può stare. Giusto per affrontare gli aspetti fondamentali di un linguaggio, ma a questo punto un linguaggio imperativo vale l'altro: Come suggerivano sopra poteva andar bene anche Pascal ad esempio... all'ITIS un tempo partivano da C (sempre le "basi a livello base", chiaramente), aprivano una partentesi di ASM, poi passavano al C++, ed infine dirottavano sul'SQL.
Se partire direttamente con un linguaggio più object oriented con Java o C# non saprei... ma perchè no?
Sulla "guerra dei linguaggi" non mi isprimo... è davvero ridicolo parteggiare per quello o quell'altro linguaggio. E' chiaro che a seconda delle situazioni ci sono linguaggi che convengono di più, ed altri meno. Come diceva Cherno, se devo fare un gioco web sicuramente miro a flash, e se non è flash sarà JS+HTML5, o Unity.. anche lì a seconda delle specifiche, ma di certo il C non lo prendo nemmeno in considerazione (anche se grazie al nativeclient di google ci si potrebbe fare un pensiero in casi particolarissimi).
Così come non lo si prende in considerazione per tantissimi altri settori dove un C# o un Java hanno più senso
Che il C sia destinato ad essere 'necessario' in sempre meno situazioni è destino (un po' come lo è ora l'ASM). Se il modulo in questione necessita prestazioni elevatissime (che so, un renderer di un gioco AAA, un software scientifico powa etc..) allora C... per il resto.. dipende.
Ultima modifica di zago; 10-08-10 alle 19:16:26
Ha senso studiare il C se voglio cominciare a lavorare ora? La risposta è ovviamente no, basta farsi un giro sui siti di recruitment. Ha senso se si vuole fare un tipo di percorso e, in ogni caso, non essere uno delle tante scimmiette che pigia i tasti su Visual Studio 2010 o .NET o Java e che non riesce ad andare oltre il framework che gli piazzano davanti.
Dipende dalle applicazioni. Normalmente concordo pienamente: uso LINQ ovunque quando posso, pur non lavorando mai con basi di dati (LINQ2Objects è, beh, commovente ). Una applicazione (soft) real time spesso non puó permettersi che il GC parta quand' cazz' gli pare e quindi bisogna controllare che il codice dei tight loops vari non generi garbage. Se si hanno requisiti meno stringenti si puó strutturare la propria memoria in modo che ci siano poche references attive ad ogni dato istante, in modo che se anche il GC parte spesso termini rapidamente.
Comunque scrivendone ho realizzato che davvero adoro usare C# per queste cose, lo trovo un bel linguaggio...
Esatto, io per esempio lavoro in objective c, che è unaverammerda, perchè devo sviluppare iphone: eppure quando so che un modulo deve operare ad alte prestazioni e so che c'è margine(perchè a volte ci si fa prendere dal rush "ottimizzo ottimizzo" e poi il compilatore ti tira fuori lo stesso codice anche se non facevi un tubo, se non peggio) vado di c++ e quando non basta infilo dentro anche l'asm dell'arm."Riferimento: Ha ancora senso studiare C?"
Intendi come punto di partenza di un percorso didattico?
mboh... si ci può stare. Giusto per affrontare gli aspetti fondamentali di un linguaggio, ma a questo punto un linguaggio imperativo vale l'altro: Come suggerivano sopra poteva andar bene anche Pascal ad esempio... all'ITIS un tempo partivano da C (sempre le "basi a livello base", chiaramente), aprivano una partentesi di ASM, poi passavano al C++, ed infine dirottavano sul'SQL.
Se partire direttamente con un linguaggio più object oriented con Java o C# non saprei... ma perchè no?
Sulla "guerra dei linguaggi" non mi isprimo... è davvero ridicolo parteggiare per quello o quell'altro linguaggio. E' chiaro che a seconda delle situazioni ci sono linguaggi che convengono di più, ed altri meno. Come diceva Cherno, se devo fare un gioco web sicuramente miro a flash, e se non è flash sarà JS+HTML5, o Unity.. anche lì a seconda delle specifiche, ma di certo il C non lo prendo nemmeno in considerazione (anche se grazie al nativeclient di google ci si potrebbe fare un pensiero in casi particolarissimi).
Così come non lo si prende in considerazione per tantissimi altri settori dove un C# o un Java hanno più senso
Che il C sia destinato ad essere 'necessario' in sempre meno situazioni è destino (un po' come lo è ora l'ASM). Se il modulo in questione necessita prestazioni elevatissime (che so, un renderer di un gioco AAA, un software scientifico powa etc..) allora C... per il resto.. dipende.
Quindi in ambito produttivo, di lavoro, in realtà dipende un pò quello che devi fare, per questo dico che è importante capire che programmatore uno vuole essere: nella mia situazione io valutai di studiarmi il c/c++ perchè era mia aspirazione fare applicazioni ad alte prestazioni (grafica, videogames ecc) e quindi ho scelto di studiare quella roba li. Eppure quando son dovuto passare su iphone ho dovuto imparare tutte le magagne dell'obj-c. Non ho avuto grossi problemi perchè avevo già studiato un linguaggio e quindi uno sa a cosa deve badare quando ne approccia uno nuovo.
Io non sono un programmatore, ma approvo in pieno questa affermazione, visto che mi avevano proposto un lavoro come programmatore di Visual Studio, che ovviamente io ho rifiutato perchè non mi sembrava corretto. Bastava, dicevano, solo che mi studiassi un paio di manuali.......Ha senso studiare il C se voglio cominciare a lavorare ora? La risposta è ovviamente no, basta farsi un giro sui siti di recruitment. Ha senso se si vuole fare un tipo di percorso e, in ogni caso, non essere uno delle tante scimmiette che pigia i tasti su Visual Studio 2010 o .NET o Java e che non riesce ad andare oltre il framework che gli piazzano davanti.
Io non sono un programmatore, ma approvo in pieno questa affermazione, visto che mi avevano proposto un lavoro come programmatore di Visual Studio, che ovviamente io ho rifiutato perchè non mi sembrava corretto. Bastava, dicevano, solo che mi studiassi un paio di manuali.......
Nemmeno io lo sono, ma per lavoro mi interfaccio almeno con un una decina di loro al mese e mi è capitato innumerevoli volte di vedere gente che non sa nemmeno come interpretare gli errori del middleware che ha davanti.
Oppure che non sa nemmeno perché JBOSS carica Hibernate ( e a volte addirittura a cosa serva ), però lì sopra ci sviluppano.
Sono le basi che mancano, ma il cliente che paga poco se ne sbatte delle basi e così la società di consulenza che ha bisogno di manodopera a basso costo, per recuperare qualcosa sulle tariffe fatte al cliente ( magari vincendo un appalto facendo ribassi insostenibili ).
Facendo il consulente per la PA, di robe così ne vedo tutti i giorni, da anni...
era un lavoro da "coder" ovvero saresti stato la scimmietta che batte i tasti e si fa il lavoro palloso e facile che il programmatore non vuole o non ha il tempo di fare.Io non sono un programmatore, ma approvo in pieno questa affermazione, visto che mi avevano proposto un lavoro come programmatore di Visual Studio, che ovviamente io ho rifiutato perchè non mi sembrava corretto. Bastava, dicevano, solo che mi studiassi un paio di manuali.......
se ti hanno assunto chiedendoti solo di leggere il manuale magari gli serviva uno non formato no?
spesso la manodopera a basso costo (e non è il caso di Malkavianpazzo che stava proprio alla fase devo aprire il manuale) spesso è anche per accorciare i tempi. tipo se devi fare 100 report tutti uguali con poche differenze lo fai fare a un senior o a una scimmia ammaestrata ?così la società di consulenza che ha bisogno di manodopera a basso costo, per recuperare qualcosa sulle tariffe fatte al cliente
ecco tutto qui. spesso non sono richieste alte competenze ma basta un po' di precisione e conoscenza dell'ambiente di sviluppo ed eseguire esattamente gli ordini
Lol, di grazia cosa sarebbe un "programmatore di Visual Studio"?Io non sono un programmatore, ma approvo in pieno questa affermazione, visto che mi avevano proposto un lavoro come programmatore di Visual Studio, che ovviamente io ho rifiutato perchè non mi sembrava corretto. Bastava, dicevano, solo che mi studiassi un paio di manuali.......
Scusate ma in un topic "da programmatori" a "per programmatori", i consulenti ed i non programmatori che voce in capitolo dovrebbero avere?
No perchè ad esempio io non so neanche che diavolo sia hibernate(un tipo nuovo di marijuana?) e JBOSS(Steve Jobs con le boobs?), però ti posso assicurare che se un istituto tecnico proponesse di studiare robe del genere, lo raderei al suolo. Perchè? Perchè è roba specializzata e la roba specializzata la impari a lavoro o con dei corsi specifici.
A scuola va dato il metodo e "la base" ed io fatico a leggere risposte che ti dicono "Ha senso studiare C" "Ovviamente NO"/"Ovviamente SI", perchè non vogliono dire un tubo.
Non mi sembra che l'autore del topic abbia parlato di cosa studiare in un istituto tecnico né a scuola.Scusate ma in un topic "da programmatori" a "per programmatori", i consulenti ed i non programmatori che voce in capitolo dovrebbero avere?
No perchè ad esempio io non so neanche che diavolo sia hibernate(un tipo nuovo di marijuana?) e JBOSS(Steve Jobs con le boobs?), però ti posso assicurare che se un istituto tecnico proponesse di studiare robe del genere, lo raderei al suolo. Perchè? Perchè è roba specializzata e la roba specializzata la impari a lavoro o con dei corsi specifici.
A scuola va dato il metodo e "la base" ed io fatico a leggere risposte che ti dicono "Ha senso studiare C" "Ovviamente NO"/"Ovviamente SI", perchè non vogliono dire un tubo.