3 peggiori linguaggi di programmazione da evitare come la peste

Iniziare con la programmazione può essere difficile. Quando scegli quale lingua vuoi imparare, è importante pensare a quali evitare.

Iniziare con la programmazione può essere difficile.  Quando scegli quale lingua vuoi imparare, è importante pensare a quali evitare.
Annuncio pubblicitario

Ci sono un sacco di tutorial di programmazione fantastici là fuori per iniziare con la programmazione. Ma prima di immergerti, dovrai rispondere a una domanda molto difficile: quale linguaggio di programmazione dovrei imparare?

Alcune lingue sono più facili da apprendere per i principianti. Altri sono più utili per il futuro. E gli altri sono più propensi ad aiutarti ad atterrare un lavoro di programmazione.

In questo articolo, ci avvicineremo dall'altra parte: quali linguaggi di programmazione dovresti evitare?

1. Esoterico come% ^ & *!

Iniziamo con una facile. I linguaggi di programmazione esoterici (o esolang in breve) sono progettati per spingere la programmazione ai suoi limiti di semplicità. In tal modo riescono a renderlo incredibilmente complicato.

Mentre questo sembra una contraddizione in termini, una rapida occhiata al linguaggio Brainf & * k sfortunatamente chiamato:

++++++++[>++++[>++>+++>+++>+<<<+>+>->>+[<]>.>---.+++++++..+++.>>.<-.>+.>++. 

Questa mostruosità è funzionale, codice completo di Turing. La funzione di questo programma? Stampa Hello World! sullo schermo. Semplice, non è vero?

Il linguaggio è composto da otto caratteri, che spostano il puntatore di dati all'interno dell'array del programma e modificano o restituiscono i dati contenuti in ciascuna posizione. Tutto ciò si aggiunge a un linguaggio semplice che è un distruttore di mente assoluto da usare. Da qui il nome sfortunato. A proposito, Brainf £ $ k non è l'unico linguaggio esoterico con un nome "colorato", quindi sii curioso a tuo rischio!

Brainf ^ & k è uno dei linguaggi di programmazione esoterici più noti, anche se molti altri possono essere trovati. Forse vuoi costruire un programma usando le battute di una mano di Arnold Schwarzenegger? Lo chef è particolarmente degno di nota in quanto il codice che scrivi finisce per essere letto come una ricetta.

Le lingue esoteriche sono progettate più come una divertente sfida per i programmatori che per l'uso quotidiano. Come regola generale, queste lingue sono Turing Tarpits e causeranno più frustrazione di qualsiasi altra cosa se utilizzate per attività di programmazione effettive. Allo stesso modo, non è necessario andare alle cascate del Niagara in un barile, sono sicuro che alcuni di voi programmeranno in lingue esoteriche a prescindere!

2. PHP

È qui che le cose possono essere controverse. PHP è un linguaggio lato server progettato per lo sviluppo web. Originariamente pubblicato nel 1997, PHP ha rapidamente preso il controllo del web. Saresti difficile trovare una grande entità web che non usi PHP. PHP ha introdotto il concetto di siti web dinamici, consentendo agli utenti di interrogare i database in tempo reale anziché caricare pagine statiche su ogni interazione.

Un recente sondaggio Stack Overflow mostra PHP come il nono linguaggio più popolare, e c'è ancora una notevole domanda per gli sviluppatori PHP. Fin qui tutto bene. Ampiamente usato, richiesto, di vecchia data, cosa non c'è da gradire?

Beh, dipende da chi chiedi, parecchio!

incoerenza

PHP non era pensato per essere un linguaggio ed è cresciuto pezzo dopo pezzo piuttosto che con una struttura generale. Questo rende l'apprendimento di PHP un'esperienza frustrante.

Un esempio di ciò fornito da phpsadness con nome appropriato è la funzione get di PHP:

 gettype() get_class() 

Queste piccole incoerenze nella denominazione delle funzioni integrate fanno parte di un problema molto più grande. Piccole differenze nella sintassi e nella semantica rendono il PHP difficile da imparare quando proviene da un'altra lingua.

In un'epoca di poliglotti del linguaggio di programmazione, questi problemi potrebbero non essere un grosso problema per te, ma è sufficiente per far funzionare alcuni sviluppatori per le colline.

Un'altra cosa prima di allontanarci da questi tipi di incongruenze. In PHP, i nomi di funzioni e classi non sono case sensitive, ma le variabili lo sono.

Aspetta cosa?

L'operatore ternario

Che si tratti di un prodotto della struttura ad-hoc di PHP o del folle capriccio di uno dei suoi creatori, l'operatore ternario di PHP è sconcertante. Considera questo:

 $a = 11; echo ( $a == 10 ? 'ten' : $a == 11 ? 'eleven' : $a == 12 ? 'twelve' : $a == 13 ? 'thirteen' : 'something else'); echo "\n"; //this code prints 'thirteen' to the console 

Come puoi vedere nell'esempio sopra, PHP fa cose strane con operatori ternari. In quasi tutte le altre lingue ci si aspetterebbe che questo codice producesse undici . PHP non è d'accordo.

Questo strano comportamento deriva da PHP usando un operatore ternario associativo a sinistra. Questo comportamento alquanto incline alla mente è assolutamente non intuitivo per molti programmatori, e anche dopo aver letto una spiegazione dettagliata di come funziona, è ancora sconcertante.

PHP è ancora ampiamente utilizzato, e molte persone sostengono che è migliorato enormemente nei suoi 20 anni di mandato.

Se si desidera creare i propri plugin WordPress Come creare i propri widget di Wordpress di base Come creare i propri widget di Wordpress di base Molti blogger cercheranno il perfetto widget di Wordpress che farà esattamente quello che vogliono, ma con una piccola esperienza di programmazione si può trovare è più facile scrivere il tuo widget personalizzato. Questa settimana vorrei ... Per saperne di più, allora vale sicuramente la pena di imparare. Ci sono grandi risorse là fuori per iniziare ad imparare PHP Imparare a costruire con PHP: Un corso di crash Imparare a costruire con PHP: un corso di crash PHP è la lingua utilizzata da Facebook e Wikipedia per servire miliardi di richieste al giorno; il linguaggio di fatto usato per insegnare alla gente la programmazione web. È meravigliosamente semplice, ma brillantemente potente. Leggi di più, e la sua popolarità significa che probabilmente farai un lavoro di sviluppo una volta che avrai.

La vera domanda è: con così tanti altri linguaggi là fuori, e l'ascesa di altri framework come node.js e Ruby on Rails, lo vuoi davvero?

3. JavaScript

Riesci a sentirlo? È il suono di migliaia di sviluppatori che si rompono le nocche, pronti a difendere l'onore di JavaScript nella sezione dei commenti!

JavaScript è la lingua di Internet. Non c'è modo di mascherare il suo predominio. Se si utilizza un browser, la pagina che si sta cercando utilizzerà quasi sicuramente JavaScript. Quando guardi Netflix o usi PayPal, stai utilizzando i server che eseguono node.js, il runtime sul lato server di JavaScript. Una rapida panoramica di qualsiasi scheda di lavoro per i programmatori mostra la domanda di sviluppatori JavaScript.

Perché appartiene a questa lista? Bene, il tesoro del front-end ha qualche stranezza.

Inserimento automatico di punti e virgola

Se hai familiarità con Java o con qualsiasi linguaggio di programmazione della famiglia C, saprai che il punto e virgola è usato per denotare la fine di una dichiarazione. L'interprete vede il punto e virgola e sa di andare avanti.

In JavaScript le cose sono un po 'diverse. I punti e virgola sono opzionali. Mentre ciò potrebbe sembrare impossibile, molte persone vogliono eliminare del tutto il punto e virgola da JavaScript.

Anche se questa è una buona idea, non è senza i suoi problemi. Il denigrante semi-confessionale e lo YouTuber Kyle Robinson Young sono buoni motivi per cui dovrebbero essere usati dai principianti.

Le questioni sollevate in questo video indicano un problema più ampio. JavaScript funziona bene senza punto e virgola la maggior parte del tempo . Questo perché i punti e virgola non sono spariti affatto, sono semplicemente inseriti automaticamente dove l'interprete pensa di dover andare.

Mentre i casi in cui l'interprete sbaglia, sono visti come "casi limite" da codificatori esperti, sono tutte cose in cui i principianti possono imbattersi, rendendo in tal modo l'inusuale utilizzo di JavaScript.

Una breve ricerca sul tema del punto e virgola in JavaScript ti condurrà in una tana del coniglio di opinione e speculazione quasi senza fine. Quando una lingua richiede una pagina intera di lettura solo per capire dove dovresti usare un punto e virgola, solo per concludere che dovresti decidere, è perdonabile pensare che qualcosa non va!

Una matrice di stranezze

Chiunque abbia frequentato un corso di codifica per principianti avrà familiarità con gli array. Sono un modo semplice per raccogliere molti dati dello stesso tipo e ordinarli per recuperarli facilmente in seguito.

Questo è un elemento fondamentale della programmazione, quindi dovrebbero essere abbastanza semplici da capire, giusto? In realtà no, non giusto. Il primo esempio dell'esilarante talk su James Mickins su JavaScript lo riassume bene:

"Gli array JavaScript sono oggetti combinati di tipo multi-array-list-dictionary."

Bene allora. Chiaro come il giorno

Questi sono solo alcuni piccoli esempi del perché JavaScript potrebbe essere visto come un linguaggio terribile da imparare e da usare. Per ogni caso qui, e le migliaia di altri in tutto il web, c'è un esercito di persone pronte a difendere questi comportamenti. Una cosa è certa, JavaScript non sta andando da nessuna parte, e nemmeno gli infiniti argomenti online a riguardo.

Per un ultimo tocco di divertimento, che rimanda ai linguaggi esoterici discussi in precedenza: apri una console JavaScript nel tuo browser web e incolla questo mostro:

 alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]); 

Un mondo di linguaggi di programmazione

Riesci a sentire le sciabole che tremano? Gli sviluppatori arrabbiati sono pronti a abbattere ogni punto fatto in questo articolo? In verità, non si sbagliano. Ci sono migliaia di altri casi in quasi tutte le lingue che potrei aver usato.

Ad eccezione dei linguaggi esoterici, ogni linguaggio di programmazione ha i suoi punti positivi e negativi. Come per tutti gli strumenti, una funzionalità che fa bollire il sangue di un utente è una funzionalità apprezzata a un altro. I punti e virgola possono essere la kryptonite di una persona, mentre gli spazi bianchi potrebbero mantenere gli altri di notte.

Per un principiante, qualsiasi linguaggio di programmazione è difficile, e dovresti dedicare del tempo ad apprendere i fondamenti della programmazione. Le nozioni di base della programmazione computerizzata 101 - Variabili e tipi di dati Avendo introdotto e parlato un po 'di programmazione orientata agli oggetti prima e da dove proviene il suo omonimo, ho pensato che fosse ora di passare attraverso le basi assolute della programmazione in un modo non specifico del linguaggio. Questo ... Leggi di più prima di preoccuparti troppo di quale lingua scegliere.

Immagine di credito: fizkes / Depositphotos

In this article