C, Lisp e Perl sono i linguaggi tradizionalmente usati per l'hacking nella cultura GNU/Linux; Python, PHP, Java e C++ hanno guadagnato terreno di recente.
Un nome comune del linguaggio.
Indica quanto un linguaggio è adatto per persone con poca esperienza di programmazione. Un linguaggio marcato con ``sì'' dovrebbe essere adatto come primo linguaggio di programmazione per un principiante.
Quanto veloci le applicazioni saranno quando verranno messe in un ambiente di produzione. Le prestazioni dipendono più dalle capacità di programmazione algoritmica che dal linguaggio utilizzato. A lume di naso C, C++ e Fortran sono talvolta necessari perché possono offrire migliori prestazioni di altri linguaggi - altre volte possono essere poco maneggevoli per lo scopo prefisso. (Una idea per un ``benchmarking'' empirico dei linguaggi potrebbe essere implementare un semplice algoritmo di ricerca in tutti quanti e confrontare i tempi di esecuzione. Questo naturalmente non misura le prestazioni del linguaggio in sé - in quanto un tale concetto non ha significato - ma solo dell'implementazione. Naturalmente non é nemmeno un metodo molto affidabile o completo, ma darebbe un'idea di quanto i tempi di esecuzione possono differire tra linguaggi diversi. Nessuno vuol aiutarmi in questa cosa?)
La programmazione orientata gli oggetti è un importante paradigma di programmazione che sta guadagnando popolarità. Nella programmazione orientata agli oggetti le strutture dati e gli algoritmi sono integrati in unità, spesso chiamate classi. L'OOP è spesso contrapposta alla programmazione procedurale (che separa algoritmi e strutture dati). La questione non è strettamente dipendente dal linguaggio usato: si può fare OOP in un linguaggio non elencato sotto tale categoria (per esempio il C), e programmare in stile procedurale in linguaggi elencati come OOP. Ho elencato come OOP i linguaggi che hanno speciali caratteristiche od estensioni per facilitare l'OOP. I linguaggi funzionali (il Lisp per esempio) sono un tipo un po' diverso - tra le altre cose, la programmazione funzionale è un superinsieme dell'OOP. La programmazione logica (Prolog), anche detta programmazione dichiarativa, d'altra parte, non è collegata alle altre categorie di programmazione in un senso simile.
Dipende più dagli strumenti che si stanno utilizzanfo che dal linguaggio in sé. C'è un HOWTO sugli strumenti di sviluppo GUI per Linux, anche se non è aggiornato. Con un buon strumento grafico si può fare RAD. Il RAD può essere potente quando si basa anche sul riuso di codice, perciò il software libero potrebbe fornire un buon punto di partenza.
Sono gli ambiti della programmazione in cui il linguaggio è più utilizzato. Possono esistere altri buoni (e cattivi) casi di uso, ma sono meno caratteristici.
Informazioni aggiuntive sul linguaggio, come capacità e dialetti.
Perl Principianti: Sì - OOP: Sì Esempi: Scripting, amministrazione di sistema, www Commenti: Potente per gestire testi e stringhe Python Principianti: Sì - OOP: Sì Esempi: Scripting, scripting di applicazioni, www Commenti: TCL Principianti: Sì - OOP: No Esempi: Scripting, amministrazione di sistema, applicazioni Commenti: PHP Principianti: Sì - OOP: Sì Esempi: Www Commenti: Popolare per database web Java Principianti: Sì - OOP: Sì Esempi: Applicazioni cross-platform, www Commenti: Si sta diffondendo in nuove aree, ad es. infrastrutture di e-commerce Lisp Principianti: Sì - OOP: funzionale Esempi: modi di Emacs (per Elisp), intelligenza artificiale Commenti: Varianti Elisp, Clisp e Scheme Fortran Principianti: No - OOP: No Esempi: applicazioni matematiche (scientifiche) Commenti: Varianti f77 e f90/95 C Principianti: No - OOP: No Esempi: programmazione di sistema, applicazioni Commenti: C++ Principianti: No - OOP: Sì Esempi: Applicazioni Commenti:
Anche le shell sono un importante ambiente di programmazione. Non le ho trattate qui perché non conosco ancora l'argomento molto a fondo. La conoscenza delle shell è importante per chiunque lavori in Linux regolarmente, ed ancor più per gli amministratori di sistema. Ci sono analogie tra la programmazione di shell e gli altri tipi di scripting - spesso raggiungono gli stessi obiettivi, e si ha la possibilità di scegliere tra una shell nativa ed un linguaggio di scripting a sé stante. Tra le shell più popolari vi sono bash, tcsh, csh, ksh e zsh. Si possono ottenere informazioni di base sulla propria shell con il comando man, ad esempio man bash.
Altri linguaggi degni di nota: AWK, SED, Smalltalk, Eiffel, Ada, Prolog, assembler, Objective C, Logo, Pascal (convertitore p2c)