Vorrei sollevare un un altro paio di punti e aprire uno spunto di discussione su alcune delle tue osservazioni.
Perché Python è così popolare?
Al contrario di quel che possa sembrare, Python è un linguaggio vecchio: è nato nel 1991. Per dare un minimo di contesto storico, vi ricordo che il C è stato standardizzato appena 2 anni prima, il Java è nato 4 anni dopo, il C# quasi 10 anni dopo e i linguaggi considerati moderni sono nati non più di 10 anni fa (e.g., Swift nel 2014). È rimasto in ombra per almeno 13-15 anni. Ha iniziato ad essere un linguaggio di successo attorno al 2004 - 2005, quando Google ha iniziato ad usarlo pesantemente. Il tizio che ha creato Python era stato assunto da Google. Il botto l'ha fatto negli ultimi 5 anni, quando il machine learning è diventato un topic caldo e dato che le principali librerie implementano algoritmi di questo tipo (e.g., TensorFlow by Google) sono scritte proprio per quel linguaggio.
È veramente lento?
Sì, ma no. Python in sé è molto lento, ma le sue librerie principali sono molto veloci. Se fate machine learning con TensorFlow state scrivendo codice Python, ma state utilizzando compilato e altamente ottimizzato. In questo caso, passare da Python (molto lento) ad assembly (molto veloce) vi porterà a scrivere codice tanto più lungo e complesso quanto più lento.
Dovrei sceglierlo come primo linguaggio da imparare?
Non sono in disaccordo con la tua opinione, però: informatico > programmatore > smanettone. Siamo sicuri che è indispensabile capire come funziona un computer per diventare un buon informatico?
Tra i punti a sfavore, aggiungo che in generale Python è un linguaggio poco adatto a scrivere tante linee di codice. Finché si parla di poche centinaia di righe di codice va tutto liscio, ma quando inizi a scrivere programmi un po' più grandi la storia cambia. Con un linguaggio come Java, ad esempio, è molto più semplice mantenere una codebase molto più corposa.
Perché Python è così popolare?
Al contrario di quel che possa sembrare, Python è un linguaggio vecchio: è nato nel 1991. Per dare un minimo di contesto storico, vi ricordo che il C è stato standardizzato appena 2 anni prima, il Java è nato 4 anni dopo, il C# quasi 10 anni dopo e i linguaggi considerati moderni sono nati non più di 10 anni fa (e.g., Swift nel 2014). È rimasto in ombra per almeno 13-15 anni. Ha iniziato ad essere un linguaggio di successo attorno al 2004 - 2005, quando Google ha iniziato ad usarlo pesantemente. Il tizio che ha creato Python era stato assunto da Google. Il botto l'ha fatto negli ultimi 5 anni, quando il machine learning è diventato un topic caldo e dato che le principali librerie implementano algoritmi di questo tipo (e.g., TensorFlow by Google) sono scritte proprio per quel linguaggio.
È veramente lento?
Sì, ma no. Python in sé è molto lento, ma le sue librerie principali sono molto veloci. Se fate machine learning con TensorFlow state scrivendo codice Python, ma state utilizzando compilato e altamente ottimizzato. In questo caso, passare da Python (molto lento) ad assembly (molto veloce) vi porterà a scrivere codice tanto più lungo e complesso quanto più lento.
Dovrei sceglierlo come primo linguaggio da imparare?
Non sono in disaccordo con la tua opinione, però: informatico > programmatore > smanettone. Siamo sicuri che è indispensabile capire come funziona un computer per diventare un buon informatico?
Tra i punti a sfavore, aggiungo che in generale Python è un linguaggio poco adatto a scrivere tante linee di codice. Finché si parla di poche centinaia di righe di codice va tutto liscio, ma quando inizi a scrivere programmi un po' più grandi la storia cambia. Con un linguaggio come Java, ad esempio, è molto più semplice mantenere una codebase molto più corposa.