View Full Version : [discussione generale] Studiare un linguaggio alla perfezione o tanti linguaggi?
E' una domanda che non mi pare di avervi mai posto e non trovavo discussioni propriamente adatte.
Dando per scontato che ogni programmatore conosce più linguaggi in base a cosa deve realizzare...mi chiedevo se secondo voi ha senso non approfondire ogni aspetto di un linguaggio, ma al contrario studiarsi solo quello che serve.
Ad esempio studiarsi il C, ma senza le librerie grafiche e passare invece al Java per programmi un po' più di alto livello. Non approfondire magari la parte di networking e usare linguaggi come python che credo sia un po' più "potente". Tornando poi a java ad esempio per la comodità di avere fin troppi tipi di strutture dati già pronti da usare.
Insomma, ogni linguaggio può potenzialmente fare tutto...dipende da che librerie conosciamo. Ci sono però linguaggi più comodi di altri per determinate funzionalità. Ma ha senso conoscere tanti linguaggi in modo limitato, oppure è meglio usarne uno e conoscerne tutti gli aspetti?
...dipende molto dalle situazioni...meglio avere una buona conoscenza di un singolo linguaggio prima di approdare su altri lidi...se proprio si vuole variare consiglierei di scegliere linguaggi piuttosto diversi tra loro al fine di evitare di perdere tempo con cose che bene o male siamo già in grado di fare con il primo linguaggio...tutto questo senza considerare le esigenze legate al lavoro...
Sono un novellino...ho avuto questo dubbio per la prima volta prima di studiare Java. All'università si era fatto solo C (in 3 corsi) e Assembly (solo in 1) , ma ho optato per Java per comodità: per provare gli oggetti, per le strutture comode ...
Da ieri è nata la necessità di passare a python per lavorare in rete a basso livello, ma mi è anche tornato il famoso dubbio: ne varrà la pena di frammentare così tanto la conoscenza, oppure nel bene o nel male è meglio usare un linguaggio (anche se ha palesi limitazioni come java col networking di basso livello)
...non mi è chiaro il discorso di network a basso livello...che dovresti fare esattamente?...sospetto che non ci sia gran differenza tra i due linguaggi...
...non mi è chiaro il discorso di network a basso livello...che dovresti fare esattamente?...sospetto che non ci sia gran differenza tra i due linguaggi...
in generale la gestione dei pacchetti lascia un po' a desiderare. Ci si deve appoggiare a librerie esterne non sempre ben documentate. Non c'è proprio la possibilità di creare nativamente programmi che eseguano ping, tracerouting etc..
Poi quando ci si affida a librerie esterne non si può neppure pretendere chissàcchè , e infatti il risultato finale non è sempre ottimo (certi parametri dei pacchetti non sono previsti neppure dagli sviluppatori).
Python invece per risolvere gli stessi problemi impiega molti meno passaggi e mi sembra molto personalizzabile. Infatti mi era stato consigliato, ma non mi andava di abbandonare Java dopo pochi progetti.
...java presenta alcuni problemi nella gestione dei timeout...ma a socket non mi son trovato malaccio...il ping di una macchina non è semplice se non lo si fa affidandosi ad un servizio chiaro e definito...
per conoscere un linguaggio "alla perfezione" servono anni.
Io penso che sia bene cercare di differenziare le proprie conoscenze, almeno provando diversi e vari linguaggi, soprattutto se sono parecchio differenti.
Si imparano molte tecniche e costrutti diversi, mentre focalizzandosi su un solo linguaggio si diventa meno elastici e a confondere "la programmazione" con "la programmazione in X".
ingframin
05-10-2011, 19:06
Concordo con marco.r, molto spesso non è neanche importante conoscere un linguaggio alla perfezione.
In ogni caso la mia strategia, che sembra pagare, è stata diventare abbastanza esperto di Python ma tenermi pronti nel cassetto C e Java con cui continuo a fare esercizi per non arrugginirmi.
Andare dietro ogni volta al linguaggio del momento invece è folle, si rischia di non concludere niente in nessuno...
Guarda gli altri linguaggi, informati su dove andare a cercare le cose e per cosa possono essere validi, ma se non hai esigenze specifiche non ci perdere troppo tempo a studiarli :)
banryu79
06-10-2011, 08:34
Secondo me è una buona idea concentrarsi su 2 o 3 linguaggi al massimo (almeno per i primi anni), che possibilmente abbraccino diversi paradigmi di programmazione, per gli stessi motivi espressi da marco.r, e nel frattempo, ogni tanto, buttare un occhio qua e là, almeno per sapere che dietro l'orizzonte il mondo continua.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.