La codifica è dura.  Prima di iniziare, sapere quale dei linguaggi di programmazione peggiori e più difficili da evitare.  Puoi ringraziarmi più tardi.

I linguaggi di programmazione peggiori e più difficili da evitare come la peste

Annuncio pubblicitario Ci sono un sacco di fantastici tutorial di programmazione là fuori per iniziare con la programmazione. Ma prima di immergerti in loro, dovrai rispondere a una domanda molto difficile: quale linguaggio di programmazione dovrei imparare? Alcune lingue sono più facili da imparare per i principianti.

Annuncio pubblicitario

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

Alcune lingue sono più facili da imparare per i principianti. Altri sono più utili per il futuro. E altri probabilmente ti aiuteranno a trovare un lavoro di programmazione.

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

1. Esoterico come% ^ & *!

Cominciamo con uno facile. I linguaggi di programmazione esoterici (o in breve esolang) 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 sfortunatamente Brainf & * k:

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

Questa mostruosità è un codice funzionale e completo di Turing. La funzione di questo programma? Stampa Hello World! allo schermo. Semplice, no?

La lingua è composta da otto caratteri, che spostano il puntatore dei dati all'interno dell'array del programma e modificano o producono i dati conservati 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'unica lingua esoterica con un nome "colorato", quindi sii curioso a tuo rischio e pericolo!

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

Le lingue esoteriche sono progettate più come una sfida divertente per i programmatori che per l'uso quotidiano. Come regola generale, questi linguaggi sono Taring di Turing e causeranno più frustrazione di ogni altra cosa se usati per compiti di programmazione reali. Allo stesso modo in cui non è necessario superare le cascate del Niagara in una botte, sono sicuro che alcuni di voi programmeranno in lingue esoteriche a prescindere!

2. PHP

È qui che le cose possono diventare controverse. PHP è un linguaggio lato server progettato per lo sviluppo Web, quindi puoi utilizzarlo per creare un semplice sito Web PHP Come creare un sito Web PHP semplice Come creare un sito Web PHP semplice Vuoi creare un sito Web ma non sai da dove iniziare ? La creazione di un sito Web di base PHP ti porterà sulla strada dello sviluppo web. Leggi di più . Pubblicato originariamente nel 1997, PHP ha rapidamente conquistato il Web. Saresti spinto a trovare qualsiasi entità web di grandi dimensioni che non utilizza PHP. PHP ha introdotto il concetto di siti Web dinamici, consentendo agli utenti di eseguire query sui database in tempo reale anziché caricare pagine statiche su ogni interazione.

Un recente sondaggio Stack Overflow mostra PHP come la nona lingua più popolare, e c'è ancora una domanda considerevole per gli sviluppatori PHP. Fin qui tutto bene. Ampiamente usato, richiesto, di vecchia data, cosa non c'è che piace?

Bene, a seconda di chi chiedi, parecchio!

incoerenza

PHP non era pensato per essere una lingua e cresceva pezzo per pezzo piuttosto che con una struttura generale. Questo rende l'apprendimento di PHP un'esperienza frustrante.

Un esempio di ciò fornito da phpsadness opportunamente chiamato è la funzione get di PHP:

 gettype() get_class() 

Queste piccole incongruenze 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 correre alcuni sviluppatori sulle colline.

Un'altra cosa prima di allontanarci da questi tipi di incoerenze. In PHP, i nomi di funzioni e classi non fanno distinzione tra maiuscole e minuscole, ma lo sono le variabili.

Aspetta cosa?

L'operatore ternario

Che si tratti di un prodotto della struttura ad hoc di PHP o del capriccio pazzo di uno dei suoi creatori, l'operatore ternario in 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 ti aspetteresti che questo codice produca undici . PHP non è d'accordo.

Questo strano comportamento proviene da PHP usando un operatore ternario associativo di sinistra. Questo comportamento in qualche modo strabiliante non è assolutamente intuitivo per molti programmatori e anche dopo aver letto una spiegazione dettagliata di come funziona, è ancora sconcertante.

Il PHP è ancora ampiamente utilizzato e molte persone affermano che è notevolmente migliorato nel corso dei suoi 20 anni.

Se vuoi creare i tuoi plugin per WordPress, allora vale sicuramente la pena imparare. Ci sono grandi risorse là fuori per iniziare a imparare PHP Impara a costruire con PHP: un corso intensivo Impara a costruire con PHP: un corso intensivo PHP è la lingua che Facebook e Wikipedia usano per servire miliardi di richieste ogni giorno; il linguaggio di fatto utilizzato per insegnare alle persone la programmazione web. È meravigliosamente semplice, ma straordinariamente potente. Leggi di più e la sua popolarità significa che probabilmente avrai un lavoro di sviluppo una volta che lo avrai.

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

3. JavaScript

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

JavaScript è la lingua di Internet. Non c'è modo di mascherare il suo dominio. Se stai usando un browser, la pagina che stai cercando utilizzerà quasi sicuramente JavaScript. Quando guardi Netflix o usi PayPal, stai usando server che eseguono node.js, il runtime lato server di JavaScript. Una rapida occhiata a qualsiasi bacheca di lavoro per programmatori mostra la domanda di sviluppatori JavaScript.

Perché appartiene a questo elenco? Bene, il tesoro del front-end ha alcune stranezze.

Inserimento automatico punto e virgola

Se hai familiarità con Java o uno qualsiasi dei linguaggi di programmazione della famiglia C, saprai che i punti e virgola vengono utilizzati per indicare la fine di un'istruzione. L'interprete vede il punto e virgola e sa di andare avanti.

In JavaScript le cose sono leggermente diverse. I punti e virgola sono facoltativi. Sebbene ciò possa sembrare impossibile, molte persone vogliono eliminare del tutto i punti e virgola da JavaScript.

Mentre questa è una bella idea, non è priva di problemi. Denaro semicolon confessato e YouTuber Kyle Robinson Young sono un buon motivo per cui dovrebbero essere usati dai principianti.

I problemi sollevati in questo video indicano un problema più ampio. JavaScript funziona bene senza punto e virgola la maggior parte delle volte . Questo perché i punti e virgola non sono affatto andati, vengono semplicemente inseriti automaticamente dove l'interprete pensa che dovrebbero andare.

Mentre i casi in cui l'interprete sbaglia, sono visti come "casi limite" da programmatori più esperti, sono tutte le cose che i principianti potrebbero incontrare, rendendo in tal modo l'esperienza dell'uso di JavaScript non gradita.

Una breve ricerca sull'argomento dei punti e virgola in JavaScript ti condurrà in una tana di coniglio di opinioni e speculazioni quasi senza fine. Quando una lingua richiede un'intera pagina di lettura solo per capire dove dovresti usare un punto e virgola, solo per concludere che dovresti prendere una decisione, è perdonabile pensare che qualcosa non vada!

Una matrice di stranezze

Chiunque abbia seguito una lezione di programmazione per principianti avrà familiarità con le matrici. Sono un modo semplice per raccogliere molti dati dello stesso tipo e ordinare loro di recuperarli facilmente in seguito.

Questo è un aspetto fondamentale della programmazione, quindi dovrebbero essere piuttosto semplici da capire, giusto? In realtà no, non è giusto. Il primo esempio nel discorso esilarante di James Mickins su JavaScript lo riassume bene:

"Gli array JavaScript sono oggetti multi-tipo combinati di elenchi di array-dizionario Una guida per principianti alla programmazione orientata agli oggetti Python Una guida per principianti alla programmazione orientata agli oggetti Python Per sfruttare appieno i punti di forza di Python, vorrai imparare come funziona Python programmazione orientata agli oggetti (OOP). Leggi di più ."

Bene allora. Cancella 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 po 'di divertimento finale, che si rifà alle lingue esoteriche discusse in precedenza: apri una console JavaScript nel tuo browser web e incolla questo mostro:

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

Un mondo di linguaggi di programmazione

Riesci a sentire il tintinnio delle sciabole? Gli sviluppatori arrabbiati sono pronti a eliminare ogni punto sollevato in questo articolo? In verità, non avrebbero torto. Ci sono migliaia di altri casi in quasi tutte le lingue che avrei potuto usare.

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

Per un principiante, qualsiasi linguaggio di programmazione è difficile e dovresti dedicare del tempo all'apprendimento dei fondamenti della programmazione Nozioni di base sulla programmazione del computer 101 - Variabili e tipi di dati Nozioni di base della programmazione del computer 101 - Variabili e tipi di dati Dopo aver introdotto e parlato un po 'di programmazione orientata agli oggetti prima e da dove proviene il suo omonimo, ho pensato che fosse tempo di passare attraverso le basi assolute della programmazione in un modo non linguistico specifico. Questo ... Continua a leggere prima di preoccuparti troppo della lingua da scegliere. Detto questo, è importante rimanere informati sulle ultime lingue che stanno diventando popolari. Al momento, Rust è il linguaggio di programmazione più interessante 7 Ragioni Rust è il nuovo linguaggio di programmazione più eccitante 7 Ragioni Rust è il nuovo linguaggio di programmazione più eccitante Vuoi iniziare con la programmazione? Ecco perché Rust è il nuovo linguaggio di programmazione più interessante e accessibile. Leggi di più per esplorare!

Credito di immagine: fizkes / Depositphotos

Ulteriori informazioni su: JavaScript, programmazione PHP, programmazione.