Larry Wall, noto anche per la sua arguzia, ha coniato
due motti che ben descrivono le caratteristiche che secondo lui deve possedere un buon linguaggio di programmazione e che, ovviamente, Perl presenta.
“Esiste più di un modo per fare una cosa” ovvero
There is more than one way to do it, abbreviato con TMTOWTDI or TIMTOWTDI e pronunciato "Tim Toady". Un linguaggio di programmazione non dovrebbe mai dire al programmatore come programmare, ma dovrebbe semplicemente fornire un
insieme di strumenti di varia complessità. Questo motto è ovviamente una spada a doppia lama: in pratica è altrettanto facile scrivere lo stesso programma in maniera molto elegante e concisa, oppure in maniera assolutamente incomprensibile. Una ridiscussione di questo motto all’interno della comunità Perl ha portato a una sua estensione:
There is more than one way to do it, but sometimes consistency is not a bad thing either, abbreviato con TIMTOWTDIBSCINABTE e pronunciato "Tim Toady Bicarbonate".
“Le cose facili dovrebbero essere facili, le cose difficili dovrebbero essere possibili”: questo motto, ispirato da un discorso tenuto da
Alan Kay nel 1977 presso la Microelectronics, esprime la convinzione di
Larry Wall secondo cui il 90% dei programmi sviluppati è relativo a compiti semplici e immediati, mentre il restante 10% rappresenta la vera sfida. Perl è stato quindi progettato per trattare le cose facili in modo immediato e per poter affrontare le cose difficili.
Per questo scopo,
Larry Wall decise di incorporare e semplificare i comandi C per poter lavorare anche con Perl a basso livello (
bit-level). Ad esempio, mentre un programma C per stampare a video la (tradizionale) stringa “Hello world” richiede cinque o sei righe di codice, l’equivalente in Perl è:
Messi insieme, questi due motti ben esemplificano le potenzialità di Perl: in accordo con il primo motto, Perl consente ai programmatori con differente livello di abilità di poter seguire il secondo motto; ciò che è semplice per un utente esperto non sarà ovviamente facile per un principiante, ma le diverse strade che si possono percorrere in Perl per risolvere un dato problema permettono di sviluppare man mano nuove capacità e conoscenze sul linguaggio, in modo che nel tempo le cose difficili possano davvero diventare possibili (e quindi facili da programmare).