|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2008
Messaggi: 59
|
Consigli su quali linguaggi di programmazione approfondire
Ciao a tutti.
Vorrei un consiglio su quali linguaggi di programmazione approfondire ora che gli esami universitari sono finiti ed ho un pò di tempo libero. Principalmente per arricchire le mie conoscenze dato che nel mio corso di laurea studiamo un bel pò di linguaggi ma in maniera piuttosto generica. Sarei orientato a studiare da qualche buona "guida cartacea" i linguaggi più usati in ambito lavorativo, quindi C++, Java e Python per esempio. Avrei pensato di iniziare con C++ ma ogni consiglio è ben accetto, soprattutto da chi già lavora... So che dipende da cosa voglio fare però penso che sapere C++ e la programmazione ad oggetti sia la base. In futuro mi piacerebbe apprendere le metodologie ed i linguaggi usati per creare le applicazioni per android/iOS o comunque rimanere in ambito Web. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Magari la scelta fosse così facile. Probabilmente in futuro ti ritroverai ad avere a che fare con quell'unico linguaggio che avevi trascurato
![]() Comunque sia, a parte qualche bastian contrario, tutti sono d'accordo nell'affermare che Java è il re, seguito dai suoi vassalli C e C++. Stando all'indice tiobe, che alcuni bastian contrari ritengono fuffa, questi 3 linguaggi rappresentano il 50% del mercato. Del resto basta guardare pure qua su hwupgrade quante richieste di aiuto ci sono per java. Detto questo puoi aggiungere alla lista c# e objective-c. Quest'ultimo è diventato famoso di colpo grazie all'iphone. Mentre se parliamo di web allora bisogna aggiugnere nell'ordine javascript, php, ruby, python. Se non hai particolari necessità a basso livello potresti benissimo cominciare con Java. Ovviamente dovrai studiare la programmazione ad oggetti, che è in genere ritenuta abbastanza complicata. In genere si comincia dal C++ proprio per insegnare la programmazione ad oggetti, ma questo necessità una buona conoscenza del C. Onestamente non vedo nessun motivo per non cominciare con Java. Se poi lo scopo è acquisire la logica che sta alla base della programmazione, allora potresti cominciare con Python. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
in ambito lavorativo gli ultimi due sono ben più diffusi del c++ che, da quel che so io, gode veramente di poca fama nel mondo professionale, se non in ambiti in cui si deve per forza ricorrere agli oggetti ma si necessità qualcosa di realmente veloce. Anche in campo della programmazione a basso livello in genere è preferito il c classico in quanto ha una gestione della memoria più "chiara" (nel senso di più facilmente prevedibile per il programmatore) mentre tenere memoria con precisione della memoria quando si comincia ad usare le classi diventa un pochetto più complesso.
Per gli altri due sono entrambi diffusi. Java in ambito enterprise con il suo j2ee e con l'android sdk nel mondo mobile, mentre è in declino nelle incarnazioni desktop (credo di essere rimasto uno dei pochi a scrivere gestionali in java) e praticamente sparito nel mondo mobile nell'incarnazione j2me. Python è usato in tutta la sua vastità, in modo particolare nella parte web (con django) o insieme al suo binding con le qt. Altro linguaggio interessante, a mio avviso, è il ruby sempre per l'ambito web
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Mar 2008
Messaggi: 59
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Partendo dal C, il C++ risulta molto più facile.
Java presenta alcune differenze rispetto a C++ che vanno capite, altrimenti sembra che le cose avvengano automagicamente. Java poi ha una libreria molto più ampia e comprende di tutto ( grafica compresa ). Rimane però il fatto che Java è 10.000 volte più usato di C++ ![]() |
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Mar 2008
Messaggi: 59
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Leggi questo post, magari ti da qualche utile/nuovo spunto:
http://www.hwupgrade.it/forum/showthread.php?t=1979444 Ah, ti segnalo un articolo scritto da uno che di C++ se ne intende: http://www.appuntidigitali.it/2506/q...a-programmare/ Se invece sei così tanto interessato all'orientamento agli oggetti, allora ti consiglio SmallTalk.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Grande quell'articolo
![]() Però penso che la tipizzazione forte sia un vantaggio e non uno svantaggio. Personalmente ho iniziato ai tempi del C64 con basic, ma ho acquisito la forma mentis adatta col pascal. Purtroppo pascal sembra caduto in bassa fortuna ![]() |
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Mar 2008
Messaggi: 59
|
Quote:
![]() All'università abbiamo iniziato con il Pascal per poi passare al C e C++ ma la OOP l'abbiamo fatta davvero male, così come Java, PHP e Javascript. Direi di sapere abbastanza bene C, come gestire puntatori ed array dinamici ecc, al contrario di classi, metodi ed applet. Considerando che mi piacerebbe imparare a scrivere app per Android penso che mi butterò su Java per poi magari passare a Python. |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: May 2001
Messaggi: 12850
|
Quote:
![]() ![]() ![]() Ma anche no. Vabbè che sono di parte, nel senso che reputo C++ un aborto totale ![]() Java IMHO rimane il migliore per iniziare a programmare. Ultima modifica di WarDuck : 19-07-2011 alle 12:45. |
|
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Mar 2008
Messaggi: 59
|
Quote:
![]() Mi avete convinto, inizio con Java per poi passare a C# e Python (spero ![]() |
|
![]() |
![]() |
![]() |
#12 | |||||
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
Quote:
Dai, fai la cortesia. Quote:
Oltretutto, ancora, non si è capito quali indici tenga in considerazione. Se bazzichiamo i vari motori di ricerca ad hoc utilizzati anche dagli headhunter è il panorama è di gran lunga diverso da quello prospettato da Tiobe. E sono proprio le tecnologie più vecchie ad essere (per ovvi motivi) meno ricercate. Quote:
Oh poi mi hanno detto...HWU realtà esemplificativa del panorama sviluppatori italiano eh. Hai presente quanti accessi, newsgroup e utenti sono registrati nelle varie community dedicate? Sempre fatto patti saldi del panorama italiano rispetto al resto del mondo... Quote:
Prima che il linguaggio in sé, forse sarebbe meglio capire cosa piacerebbe approfondire per gusti personali, quale percorso professionale magari diverso dal nuovo intraprendere e poi decidere. Io non mi compro una Lotus Elise se poi scopro che il rally è la tipologia di corsa del futuro. Poi oh, my 2 cents. P.S.: le tecnologie muoiono, le idee no e quindi meglio comunque procurarsi quei 4-5 sancta sanctorum della letteratura IT tanto per restare sempre sul pezzo ![]() |
|||||
![]() |
![]() |
![]() |
#13 | |||||||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
il fatto che sia usato ovunque e soprattutto sia onnipresente in ambito enterprise non basta? è un dato di fatto, non posso farci nulla
![]() Quote:
la cosa certa, e tu le può confermare chiunque, è che java è il numero 1 vorrai mica dirmi che c# è al primo posto? no perchè questa sarebbe da zelig Quote:
![]() guardati intorno e vedrai una predominanza di java e c++ Quote:
Quote:
ho citato hwupgrade perchè è immediato per noi da osservare, ma non mi pare che la situazione sia molto diversa altrove Quote:
Quote:
lo stesso warduck, che di certo ama le tecnologie ms, pensa che java sia uno dei migliori linguaggi per iniziare Quote:
la programmazione è innanzitutto un esercizio di logica, ma la logica va affinata sperimentando c'è poco da fare, quella è la strada....provare, provare, provare, provare, come diceva Troisi ![]() |
|||||||
![]() |
![]() |
![]() |
#14 | |||||||||||
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
Quello che contesto io è come facciano a venire fuori quei numeri quando, per esempio, vai nei motori di ricerca e scopri che richieste per C# negli States sono migliaia tanto quanto quelle in Java. Ed il rapporto sarebbe 1:3 per Java? Va bene, ma mi si deve spiegare come vengono fuori quei numeri. Il fatto è che non sei in grado di dirmelo tu, né chiunque altro citi TIOBE. Questo è il problema. Allora creo un indice da me e lo chiamo Pippondio. Ma non ti dico come funziona, sparo solo dei numeri. Quote:
Siamo convinti che non ci troviamo di fronte a dogmi religiosi e si sta parlando di IT giusto? Quote:
Quote:
Ti ripeto, basta andare nei motori di ricerca per posizioni di lavoro negli Stati con maggior numero di offerta IT Quote:
Perché nessuno sa su quali dati con esattezza lavori e con quali logiche. Quote:
Monster Italia: C++ 110 offerte C# 152 Regno Unito: C++ 835 C# 1000+ (oh da notare che quando sfori le mille si perde in precisione) Quote:
Quote:
E come tale parte da uno studio. Come vengono tirati fuori quei numeri, con quale rapporto, quali sono i campioni statistici, quali le fonti? Se non c'è risposta a questo sì, diciamo che c'è un'alta probabilità che sia grossa fuffa (magari non tutta ma nemmeno il grado di precisione che vorresti attribure a quell'indice). Quote:
![]() Quote:
Go?! Ma se non è utilizzato nemmeno nei progetti enterprise/più importanti di Google?! Non ho mai visto mezza offerta di lavoro con Go. E C avere il triplo dell'adozione di C#? Ma cos'è uno scherzo? O Objective-C sopra a Visual Basic con tutte le applicazioni legacy che ci sono ancora in giro? O lo stesso PERL che è l'1% sotto a Python quando proprio nel suo ambito d'adozione per eccellenza è stato progressivamente abbandonato proprio in favore di Python stesso? O Ruby che è lo 0.3% sopra a LISP? LISP?! Stati Uniti Monster: Ruby 946 offerte di lavoro, LISP 24. No ma veramente tu o altri vorreste prendere per serie questi numeri se non addirittura per oro colato? Ok io porto la marmotta che incartava il cioccolato e facciamo Carnevale anticipato ![]() Quote:
Che cosa ti piacerebbe approfondire? Su cosa ti piacerebbe lavorare? Dispositivi mobili, tecnologie web? Sistemi di integrazione? Parti dalle tue aspirazioni, cerca di far quadrare il cerchio con quel che cerca il mondo del lavoro e sì prova, investi il tuo tempo. Io aborro l'idea che si anteponga il bisogno nella ricerca del nuovo senza che si mettano in conto anche le proprie passioni. Per quanto in questo settore si deve scendere a molti compromessi e quasi mai si finisce per lavorare in qualcosa che piace a noi in primis è giusto comunque provarci. E mai investirei il mio tempo se pensassi di lavorare anni su qualcosa che mi farebbe schifo, per quanto possa tornare utile. Sarò sognatore ma io la vedo così ![]()
__________________
Vendo accessori, console e giochi (PS2, PSX, Dreamcast, Nintendo, PC Engine, Neo Geo) Vendo BlackBerry Bold 9700 e auricolare Nokia stereo Bluetooth BH-903 Appunti Digitali: La Valigia del Videogamer Ultima modifica di DioBrando : 20-07-2011 alle 01:03. |
|||||||||||
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Dopo questa: " In genere si comincia dal C++ proprio per insegnare la programmazione ad oggetti" direi che si può chiudere il thread.
![]() Riguardo a Tiobe hai ragione, e infatti è stato ampiamente criticato. Tra l'altro voler legare quest'indice artificioso al mondo del lavoro è il classico passo più lungo della gamba, visto che non c'è una relazione fra le due cose, e difatti le richieste di lavoro mostrano una situazione decisamente diversa. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
![]() Beh per iniziare dal C++ come autodidatta penso che ci si debba volere male, a meno che non lo fai seguito da qualcuno che lo sa veramente usare e dopo aver studiato architettura degli elaboratori (giusto per sapere almeno la logica che sta dietro all'organizzazione della memoria), può anche starci. Il c++ penso sia un "bel" linguaggio ma prima di trovarti a doverlo utilizzare per forza, ce ne passa... tipicamente il C++ ti può servire se lavori in aziende specializzate in software developing di buon livello, se vuoi approfondire un linguaggio a oggetti, puoi continuare con il java, che da molti meno problemi del C++ e si debugga più facilmente (e poi puoi anche cazzeggiare con android se ti va... ![]() Qui da me i linguaggi più richiesti sono il java, php e asp (che sono linguaggi di script). Il C mi è capitato che fosse richiesto per lavorare come programmatore di microcontrollori (o DSP). Recentemente però inizia a girare anche il C# e altri linguaggi derivati. Ma C++ è molto raro che venga richiesto nelle piccole aziende, poi spesso ti capita di dover lavorare con framework ad hoc per uno specifico lavoro. In generale comunque: - se vuoi imparare un linguaggio per divertirti o per puro interesse personale, scegli quello che vuoi - se vuoi imparare linguaggi per lavorare, ti consiglierei di prendere il linguaggio che conosci meglio e approfondirlo allo scopo di fare pratica non tanto con il linguaggio in se, quanto per abituarti a risolvere le problematiche che ti vengono poste. Alla fin fine, per una offerta di lavoro, il datore non si aspetta di avere decine di persone che si offrono conoscendo già alla perfezione il linguaggio, quanto persone che in ogni caso sono disposte a farsi il culo per impararlo. Se vuoi lavorare come programmatore devi sempre e comunque essere pronto a metterti in produzione con un nuovo linguaggio in pochi giorni.
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight Ultima modifica di demos88 : 20-07-2011 alle 22:40. |
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Sono sufficienti firma e avatar.
![]() Comunque si chiama Python. ![]() Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
.NET da quando è uscito con il framework 2.0 è stato adottato massivamente nelle aziende. Ormai insieme a Java è la tecnologia più richiesta dal mercato: numero di offerte di lavoro alla mano, non grafici o share che non significano pressoché una mazza come TIOBE. |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
Spara la vaccata e poi leva le tende, un classico su questi schermi. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:05.