Sono un programmatore molto avanzato in diverse lingue. Non so se questo fa di me un programmatore poliglotta, ma sono almeno sul percorso.
Ecco la cosa che considero importante per ottenere questo qualificatore e alcuni suggerimenti su come ottenerli.
Prima di tutto, devi padroneggiare diversi paradigmi di programmazione:
- procedurale
- Orientato agli oggetti
- Functionnal
- Basato sugli eventi
- Metaprogrammazione
Per arrivare a questo punto suggerisco due cose:
- Prova i linguaggi di programmazione che promuovono i paradigmi.
- Prova i paradigmi in linguaggi che non li promuovono (ti mostrerà cos'è un determinato paradigma, quali problemi risolve e cosa fa effettivamente il computer quando li usi). I buoni esercizi sono OOP in C (costruisci i vtables manualmente, è quello che fanno gli uomini veri!) O i linguaggi non di tipo in uno strongmente tipizzato (vedi std.variant per un esempio di quello in D).
Quindi dovrai conoscere le buone pratiche e il motivo per cui sono buone pratiche (ricorda, devi conoscere il PERCORSO di una regola, in modo da sapere quando interromperlo).
- DRY
- Separazione delle preoccupazioni
- Naming (in realtà questo è uno dei più importanti perché il codice ti dirà cose buttare nomi - per esempio, se non riesci a trovare un nome breve e preciso per una variabile, allora la variabile non è nella giusta luogo o il suo scopo non è chiaro).
- Molti altri, tanti in realtà che non posso fare una lista qui, ma penso di aver già dato alcuni dei più importanti.
Per progredire su quel punto, suggerisco libri. Il programmatore pragmatico è buono, anche il codice pulito. Anche il codice completo è eccellente, ma piuttosto difficile da leggere, perché è grande e molto denso nelle informazioni (ma anche questo è il suo punto di forza!).
Hai anche bisogno di fallire male nell'applicare il tuo concetto e finire con un codice che assomiglia alla giungla. Difficile viaggiare, difficile adattarsi, con abitanti ostili. Quest'ultimo punto è la chiave perché ti insegnerà come utilizzare gli strumenti per ottenere il codice di qualità. Qual è il problema se sai qual è la qualità ma non puoi padroneggiare gli strumenti per crearla o viceversa?
Se controlli il punto dato, puoi considerarti un programmatore poliglotta IMO. A proposito, questo non è tutto ciò che serve per essere il miglior programmatore. Informatica, conoscenza delle tecnologie attuali, gestione di te stesso (a volte di altri: D), comprensione del requisito e molti altri sono richiesti.
Come ultimo consiglio, ti suggerisco di farti coinvolgere in una lingua recente in fase di sviluppo attivo. Questo ti insegnerà come viene creata la lingua e perché. Questo ti insegnerà la limitazione delle lingue attuali, le difficoltà che affronti per ottenere un'alternativa migliore (se fosse facile, mi sarei trovato in un primo posto!). Il mio è D. È anche un linguaggio multiparadigm, quindi è un buon candidato. Scegli il tuo!
Buona fortuna. Questo richiede lavoro, ma ne vale la pena!