Quale linguaggio di programmazione devo imparare?

2 MARZO 2010

Sameer chiede quale linguaggio di programmazione che dovrebbero imparare. Qui di seguito è una versione modificata della mia risposta.

L'idraulico viene a casa tua e chiede: "Quale strumento vuoi usare?".

Quale sarà la vostra risposta? "Non mi importa! Risolvere il problema damn ".

Proprio così. Tutti vogliono il loro lavoro e ottenere i loro problemi fisso. A loro non importa quali strumenti utilizzare. Come sviluppatore vostro compito è quello di risolvere i problemi sono vostri clienti nel modo più efficace. A sua volta, significa che non è possibile utilizzare lo stesso strumento per ogni tipo di problema. Potete usare un trapano elettrico a fissare una piccola perdita nelle tubature? No. È possibile utilizzare il nastro adesivo per questo.

Quale linguaggio dovrei imparare è una domanda sbagliata per cominciare. Le lingue sono strumenti nella borsa di un ingegnere del software. Prima di decidere sui linguaggi di programmazione che si desidera imparare, si dovrebbe decidere che tipo di problemi che si desidera lavorare. Vuoi lavorare su tecnologie web? Vuoi lavorare nel ecosistema Linux? Vuoi lavorare nelle piattaforme di telefonia mobile? Ci sono un milione di differenti nicchie nel mondo della programmazione e si sono to porsi quelle domande retoriche all that ti viene in mente e poi decide which language suite di vostra scelta.

Questo non ha importanza che gli strumenti non sono importanti. Essi sono, ma non sono più importanti il problema in questione.

Come molti linguaggi di programmazione dovreste imparare?

Non vi è alcun senso cercare di imparare quante più lingue possibili. Che cosa si dovrebbe fare è quello di provare e conoscere quante più lingue che puoi, e quindi decidere quali lingue si dovrebbe ottenere la competenza a.

Tornando alla nostra analogia, quali strumenti pensi che un idraulico dovrebbe portare nel suo sacco? "Strumenti abbastanza per ottenere il lavoro fatto".

Esattamente. Se sai usare un solo strumento, si può essere costretti a lavorare con altre persone che possono utilizzare alcuni altri strumenti. Questo avviene nella maggior parte delle aziende IT aziendali. Nelle grandi imprese you lavorerà con altre persone che hanno esperienza in linguaggi di programmazione e gli strumenti che you non si sa come per use. Questo ha il vantaggio che queste persone saranno reali rock-star nel proprio campo stretto. Se invece si desidera lavorare in posti come start-up (o se si desidera lavorare come sviluppatore freelance), è possibile conoscere un po 'di ogni tipo di attrezzo fuori là.

Naturalmente non è necessario sapere per utilizzare ogni tipo di cacciavite. Devi solo impratichirsi con un cacciavite buon modello. Allo stesso modo non è necessario essere un esperto in ogni linguaggio di sviluppo web. Basta imparare abbastanza decente uno e si dovrebbe andare bene.

Ogni dominio di programmazione ha il suo set di strumenti per aiutare a sviluppare software. Se si sta sviluppando un sito web aziendale, si può lavorare con le tecnologie come Core Java, Servlet, EJB, XML, Unix Shell Script, parser Log, database, ecc vari web-server Questo means che, oltre a programming languages ci sono molti altre tecnologie legate alla programmazione che si dovrebbe master per essere un buon programmatore.

Una cosa di più si dovrebbe sapere - tutti i linguaggi di programmazione sono intrinsecamente diversi l'uno dall'altro. Alcune lingue sono facili da programma (ad esempio Python) mentre altri sono difficili (C / C + +). Non mi riferisco alle competenze necessarie per l'apprendimento della lingua. Mi riferisco allo sforzo richiesto per iscritto, un programma dopo aver appreso la lingua. Se si lavora come programmatore in una società di IT, si avrà probabilmente imparare una nuova lingua (può essere secondo requisiti di business) in un arco di tempo molto breve. Potrete iniziare a scrivere codice decente in circa 1 settimana a 3 mesi di tempo. Quindi l'unica cosa che importa è che la lingua si ha realmente preferisce lavorare con. Quindi non si preoccupano molto langauge che è più facile da imparare; preoccuparsi di quale lingua è più facile da usare. (Esiste una correlazione qui però. Troverete che in molti casi le lingue che sono più facili da imparare sono le più facili da programmare in troppo)

Si può imparare molto sulla programmazione che va dal forum erano intelligenti programmatori appendere fuori (ad esempio Proggit e Hacker News ), leggere gli articoli in alto e fate le vostre domande lì; otterrete approfondite risposte.

Il più grande segreto:

Tu diventerai un buon programmatore solo - programmazione molto. Molti studenti non fuori del loro programma di laboratori e progetti di college, e non hanno mai diventare buoni programmatori. Provate a fare un po 'di codifica nel tuo tempo libero. Prova a risolvere Project Euler problemi nel linguaggio di programmazione preferito, o cercare di costruire un sito web personale.

Detto tutto questo ecco alcuni suggerimenti specifici. Questi possono o non possono funzionare nel tuo caso:

  • lo sviluppo delle imprese: apprendimento di Java è un bene. Java è utilizzato in molti negozi di software come lingua principale. Ci vorrà un lungo cammino nella maggior parte delle situazioni. Allo stesso tempo, ho alcune obiezioni con usando il linguaggio da un punto di vista del programmatore di avvio. Leggi la discussione qui anche.
  • Sviluppo Web: Stare lontano da PHP. È una lingua mal progettato. Invece, imparare Django o Ruby on Rails. Se si preferisce utilizzare le tecnologie Microsoft ASP.Net MVC.
  • sviluppo di Windows: Imparare C # (e probabilmente non Visual Basic). Per l'esecuzione di applicazioni C # in Linux, controlla il progetto Mono.
  • Ci sono molti strumenti di programmazione eccellente o IDE si dovrebbe cercare di master. Eclipse è un IDE popolare. Notepad + + è un editor di codice popolare.
  • Si dovrebbe essere imparare cose come espressioni regolari, Unicode, Information Security ecc (non posso nemmeno tentare di elencare tutti gli argomenti)
  • Cercate di tenere il passo con le nuove tecnologie. Non dovete imparare tutte le ultime lingue, ma cercate di avere una maggiore consapevolezza delle ultime tendenze in programmazione. Per esempio, lo sviluppo web, mobile etc sviluppo del telefono sono aree in cui molte delle innovazioni stanno accadendo. Non volete perdere nessuna di queste, se sei interessato in questi campi. Poi di nuovo, i forum che ho citato sopra verrà portata di mano.
  • Imparare un solo linguaggio non è un'idea molto buona. Imparare un sacco di lingue non è inoltre una buona idea. Trovare un equilibrio tra i due estremi e cercare di essere buoni in almeno 2-3 diversi linguaggi di programmazione in diversi campi. (Come spiegato in precedenza, diverse lingue sono utilizzate per risolvere i diversi tipi di problemi)

Buona fortuna!

13 risposte finora

  • Rayne ha detto:

    "Puoi usare un trapano elettrico a fissare una piccola perdita nelle tubature? No. È possibile utilizzare Perl per questo. "

    fix'd

  • Joyce Babu ha detto:

    "Stare lontano da PHP. È una lingua mal progettato. "
    Perché?

  • Kareem ha detto:

    "Stare lontano da PHP. È una lingua mal progettato. "Puoi mettere più luce su questo? Sto usando PHP per molte soluzioni in tempo reale. Non ho mai affrontato grandi problemi di grasso fino a data ed è stato il più facile da imparare in fretta.

    "Django e Ruby on Rails" sono quadri di rete ... come fai a confrontare con il linguaggio di programmazione ...? Hanno appena aiutare i programmatori per lo sviluppo rapido.

    "Il no-framework PHP framework MVC" - http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html prega di andare attraverso questa volta per circa quadri di riferimento e con il linguaggio di programmazione MVC stili.

    Io non sono in discussione .. ma si vuole questo articolo per essere più utili alla start-up. Quindi, per favore migliorare l'articolo con più informazioni corrette ...

    Grazie,
    Kareem.

  • Brad ha detto:

    si ignorano completamente il fatto che la dichiarazione del problema per un programmatore costringe spesso la soluzione di un particolare linguaggio. Così, per esempio, il problema può (spesso) per aggiungere una funzionalità per correggere un bug o di un organismo già esistente di codice. Ovviamente, in queste situazioni, il programmatore deve utilizzare la lingua che era stata utilizzata prima ... e di certo non importa se tale lingua è "mal progettati" o se il programmatore ha filosofiche altri (o religioso) obiezioni alla lingua.

  • David ha detto:

    Io sono interessanti per imparare a programma, but i do non sapete da dove start and school che bisogna andare a or se posso learn da me stesso, e se io hanno una lingua what am posti di lavoro che mi arriveranno, i had lavorare con VB e mi è piaciuto please help
    grazie

  • Tazerenix ha detto:

    Non vedo come il PHP è un linguaggio mal progettato. Ha la stessa sintassi di base per C e di molto potente. Inoltre, la sua molto più facile da imparare di ASP.NET

  • Tazerenix ha detto:

    Wow, ha bug ...
    Wow, ha un sacco di funzioni ...
    Se era così male allora perché sono i mondi più grandi siti come Wikipedia, Youtube e Facebook, anche utilizzarlo?

    Una lingua è soltanto buono quanto il suo codificatore.

  • Niyaz PK ha detto:

    "Una lingua è soltanto buono quanto il suo codificatore".

    Ma ancora bene molte lingue aiutare il programmatore medio di evitare di commettere errori orribili nel loro codice. PHP è solo un wrapper per alcune funzioni C, e si vede ogni volta lo si utilizza. Un buon linguaggio dovrebbe aiutare tutti scrivere del buon codice. Un buon linguaggio dovrebbe avere un modo corretto di fare le cose. Un buon linguaggio dovrebbe alzare il livello di tutti, non solo il meglio di programmatori.

    La mancanza di buon nome, la spaziatura per le funzioni significa che fare progetti ampi e complessi sono spesso disordinati quando fatto usando PHP. I problemi con PHP diventa evidente se si dispone di una solida conoscenza di qualche linguaggio di programmazione.

    Che faccio me stesso di programmazione PHP, ma il fatto che io e te (o di Facebook e Wikipedia) usare PHP non improvvisamente PHP fare una buona cornice per iniziare a programmare a.

  • Stesha ha detto:

    Le sue dichiarazioni sono false su php al meglio. Forse, se hai incluso alcuni link sul motivo per cui PHP è un linguaggio da usare bene i tuoi lettori possano decidere per se stessi. La maggior parte degli esperti (e suppongo tu non sei uno) php elogio per il suo design e la facilità d'uso considerare quanto potente esso sia.

    Questo: "Un buon linguaggio dovrebbe aiutare tutti scrivere del buon codice. Un buon linguaggio dovrebbe avere un modo corretto di fare le cose. Un buon linguaggio dovrebbe alzare il livello di tutti, non solo il migliore dei programmatori. "Non ha senso. Questa non è la misura di un buon linguaggio a tutti!

    Eseguire il backup con dichiarazioni ben formati e argomenti veri o essere chiaro che questa è la vostra preferenza, senza sostegno per spiegare perché.

  • Kishore Mylavarapu ha detto:

    Preferisco sempre e sento felice con Java.But non capisco perché ti opposti php!. Wordpress è una grande piattaforma open source che è interamente sviluppato in PHP.

Lascia un commento