venerdì 4 novembre 2011

Quanta ne sai di C e C++?

Il saggio sa di non sapere. Il programmatore... beh... non sempre si dimostra saggio! Il programmatore in erba semplicemente non sa di cosa sta parlando, quindi ben che vada da fiato alle trombe e spara qualche orrore. Va corretto, ma con misericordia; in fondo è solo rumore ingenuo.


Più grave è la sindrome che troppo spesso colpisce i programmatori più esperti, o che si reputano tali. Sembra infatti che provino un certo gusto nel dare ai meno fortunati questuanti da forum mezze risposte, talvolta allusive, vedo e non vedo, che costringono i supplicanti a nuove richieste di spiegazioni. Il programmatore un-po'-più-esperto di solito riconosce questi personaggi come programmatori in erba evoluti, ma non ancora completi.

Ma attenzione. Anche il programmatore un-po'-più-esperto, quello che a prima vista può apparire saggio, che scrive tutorial, che dimostra pazienza, ha quasi certamente delle lacune. Il saggio sa di non sapere, dicevamo. Il difetto principale del programmatore è che, pur sapendo di non sapere (nei casi più fortunati), non lo ammette. Perché è cattivo? No di certo. Perché la programmazione è un lavoro di problem-solving, e la mente del programmatore è allenata ad affrontare quotidianamente sfide. Al mattino, quando si siede al pc, è conscio di affrontare qualcosa per la quale non ha ancora la soluzione, ma fiducioso sul fatto che a sera avrà la sua routine funzionante. Quindi ok, posso anche non sapere qualcosa, ma quel che so è sufficiente. Più che sufficiente. Sono un esperto.

...ne sei sicuro? Sì, dico a te, te che con il C hai passato gli anni dell'università, che hai già visto migliaia e migliaia di righe in C++, che credi di digerire poliformismo e allocazioni dinamiche come acqua fresca, te che in questo momento stai scrivendo questo post (io?) sì, sì, proprio te! Scendi dal piedistallo e vatti a fare questo test: Deep C!

Poi ne riparliamo!

2 commenti:

  1. Incredibile:
    "int a=41; a = a++; printf("%d\n", a);"

    Pensavo che fosse scritto male, ma non pensavo che il risultato fosse non definito!

    RispondiElimina
    Risposte
    1. Misterioso, eh? Io avrei risposto 42, e non solo per questo ;)

      Elimina