Cosa insegnare a tuo figlio C++ o Python?

Natale 2020, telefonata di auguri, sento un mio ex collega dei tempi quando la mia attività principale era scrivere codice in C++ e poi in C#.

Collega: Come va la vita? Tanti auguri, mio figlio verrà a fare uno stage da me in azienda gli insegnerò a programmare in C#.

Davide: E perché mai? Fallo iniziare con il Python.

Collega: Python? Cosa quello per gli scriptini?

Davide: direi proprio di no, magari nel 1991, oggi Python fa ¾ delle cose che fa il C++ e le fa prima, certo poi se devi fare lavori nel gaming e nell’embedded ancora il C++ è avanti.

Collega: ma per fare che il Python?

Davide: tutto quello che è Etl, number crunching, AI e compagnia bella.

Collega: Si e con l’interfaccia utente web come faccio?

Davide: parte che conosco poco, se volevi farla in React, come mi dicevi mesi fa, usa sempre quello e fai il motore dietro in Python, esponi Json e vai col liscio.

Collega: ma dai non ci credo, mi sembra tutto troppo facile.

Davide: la sfida sarà sulla manutenzione, io e te che veniamo da linguaggi ordinati per forza (C++ in primis), usiamo un certo ordine mentale certo per uno senza esperienza tendi, tanto, a fare codice complesso.

Il vantaggio competitivo è nella marea di librerie per fare qualunque cosa in breve tempo, ti ricordi quando dovevamo esportare in excel e poi in pdf?

Certo sto parlando del 2011, specialmente l’oggetto excel aveva un sacco di pre-requisiti, poi ho trovato quella libreria per il pdf da interfacciare in C++, quanto ci ho messo 5 giorni? E i dati ce li avevo in linea senza estrazioni particolari.

Quella stessa cosa, escluso il pdf, l’ho fatta con estrazione query, studio del db, creazione excel sia da template che on the fly in Python, e invio email con excel allegato, in poco più di 5gg ma era la prima volta che facevo qualcosa in Python superiore allo scriptino di 3 righe.

Collega: Uau, se me lo dici tu me lo andrò sicuramente a guardare, sarà dura allontanarmi dal C# che ho usato per tanti anni.

Davide: guarda che anche io mi sono avvicinato per necessità, dovevo fare dei report per avere dei KPI in breve tempo, il processo era già parzialmente automatizzato, mi sono limitato a fare la parte finale in Python….la cosa bella è che rimane quasi una attività divertente scrivere in Python e che è portabile su differenti sistemi operativi.

Certo venendo da una esperienza da programmatore e avendo ben chiari determinati concetti, abbracciare, qualunque linguaggio è più facile.

Capisco anche i dubbi, che ho condiviso per lungo tempo, che se metto un analista finanziario, che non ha una formazione specifica in sviluppo software, potrebbe usare il bello del Python e scrivere codice che non si possa poi modificare a costi umani; anche qui bisogna capirsi non tutti possono fare tutto, l’informatica non è una commodity ma deve diventare uno dei pilastri di ogni azienda che si voglia definire moderna.

Tutto si evolve, solo le pietre rimangono ferme e anche su queste avrei dei dubbi.