Cele mai grele limbi de programare pentru a evita ca ciuma
Există o mulțime de tutoriale minunate de programare acolo pentru a începe să codificați. Dar înainte de a vă scufunda în ele, va trebui să răspundeți la o întrebare foarte dificilă: Ce limbă de programare ar trebui să învăț?
Unele limbi sunt mai ușor pentru începători să învețe. Altele sunt cele mai utile pentru viitor. Și alții sunt cel mai probabil să vă ajute să așezați un loc de muncă de programare.
În acest articol, îl vom aborda din capătul opus: Ce limbi de programare ar trebui să evitați?
1. Ezoteric ca% ^ *!
Să începem cu una ușoară. Limbile de programare ezoterice (sau esolang pe scurt) sunt concepute pentru a împinge programele la limitele lor de simplitate. În acest fel, reușesc să o facă incredibil de complicată.
În timp ce acest lucru pare a fi o contradicție în termeni, o scurtă privire la limbajul Brainf & * k,
++++++++[> ++++ [> ++> +++> +++>+<<<<-]>+> +> - >> + [<]<-]>>.> ---. +++++++ ... +++. >>.<-.<.+++.------.--------.>> +.>++.
Această monstruozitate este funcțională, codul Turing-complet. Funcția acestui program? Imprimă Salut Lume! pe ecran. Simplu, nu-i așa??
Limba este alcătuită din opt caractere care mută pointerul de date în cadrul matricei de programe și modifică sau extrag datele deținute în fiecare poziție. Toate acestea se adaugă la o limbă simplă, care este un distrugător absolut de minte de utilizat. De aici numele nefericit. Apropo, Brainf £ $ k nu este singura limbă esoterică cu a “colorat” nume, așa că fii curios pe propriul tău risc!
Brainf ^ & k este una dintre cele mai cunoscute limbi de programare ezoterice, deși multe altele pot fi găsite. Poate că vrei să construiești un program folosind uneltele lui Arnold Schwarzenegger? Chef este deosebit de notabil, deoarece codul pe care îl scrieți sfârșește prin citirea unei rețete.
Limbile ezoterice sunt concepute mai mult ca o provocare distractivă pentru programatori decât pentru utilizarea de zi cu zi. Ca regulă generală, aceste limbi sunt Turing Tarpits și vor provoca mai multă frustrare decât orice altceva dacă sunt folosite pentru sarcini de programare reale. În același fel în care trecerea peste cascada Niagara într-un butoi nu este necesară, sunt sigur că unii dintre voi vor programa în limbi esoterice indiferent de!
2. PHP
Aici lucrurile pot deveni controversate. PHP este un limbaj de server conceput pentru dezvoltarea web. Inițial lansat în 1997, PHP a preluat rapid web-ul. Ai fi împins greu să găsești o entitate web mare nu utilizați PHP. PHP a introdus conceptul de site-uri dinamice, permițând utilizatorilor să interogheze bazele de date în timp real, mai degrabă decât să încarce pagini statice pe fiecare interacțiune.
Un sondaj recent privind stack overflow arată că PHP este a noua limbă populară și că există încă o cerere considerabilă pentru dezvoltatorii PHP. Până acum, bine. Utilizat pe scară largă, în cerere, de lungă durată, ceea ce nu este acolo pentru a plăcea?
Ei bine, în funcție de cine întrebi, destul de mult!
Inconsistenta
PHP nu era menită a fi o limbă și a crescut mai degrabă decât cu o structură generală. Acest lucru face ca învățarea PHP să fie o experiență frustrantă.
Un exemplu de acest lucru oferit de aptitudinea numită phpsadness este funcția get PHP:
gettype () get_class ()
Aceste mici inconsecvențe în denumirea funcțiilor încorporate fac parte dintr-o problemă mult mai mare. Diferențele mici în sintaxă și semantică fac ca PHP să fie dificil de învățat atunci când vine dintr-o altă limbă.
Într-o epocă a poliglotului limbajului de programare, aceste probleme ar putea să nu fie o afacere importantă pentru dvs., dar este suficient să facem unii dezvoltatori să ruleze pe dealuri.
Încă un lucru înainte de a ne îndepărta de aceste tipuri de inconsecvențe. În PHP, numele funcțiilor și al claselor nu sunt sensibile la majuscule, ci sunt variabile.
Stai ce?
Operatorul Ternar
Fie că este vorba de un produs al structurii ad-hoc a PHP sau de capriciul nebun al unuia dintre creatorii săi, operatorul ternar din PHP este încurcat. Gandeste-te la asta:
$ a = 11; echo ($ a == 10? 'zece': $ a == 11? 'unsprezece': $ a == 12? 'douăsprezece': $ a == 13? 'treisprezece': 'altceva'); echo "\ n"; // acest cod imprimă "treisprezece" consolei
După cum puteți vedea în exemplul de mai sus, PHP face lucruri ciudate cu operatori ternari. În aproape toate celelalte limbi, v-ați aștepta ca acest cod să fie afișat unsprezece. PHP nu este de acord.
Acest comportament ciudat vine de la PHP folosind un operator ternar asociativ stâng. Acest comportament oarecum înclinat în minte este absolut neintuitiv pentru mulți programatori și, chiar după ce a citit o explicație detaliată a modului în care funcționează, este încă încurcată.
PHP este încă utilizat pe scară largă și mulți oameni susțin că s-au îmbunătățit enorm în timpul mandatului său de 20 de ani.
Dacă doriți să creați propriile plug-inuri WordPress Cum să vă creați propria dvs. Widgeturi Wordpress de bază Cum să vă creați propriile Widgeturi de bază Wordpress Mulți bloggeri vor căuta widgetul perfect Wordpress care va face exact ceea ce vor, dar cu o mică experiență de programare puteți găsiți mai ușor să scrieți widget personalizat. În această săptămână aș ... Citește mai mult, atunci cu siguranță merită să învățați. Există resurse excelente acolo pentru a începe să învățați PHP Invatați să construiți cu PHP: un curs de crash Învățați să construiți cu PHP: un curs de crash PHP este limbajul pe care Facebook și Wikipedia îl folosesc pentru a servi zilnic miliarde de cereri; limba de-facto utilizată pentru predarea programării web a oamenilor. Este frumos simplu, dar strălucitor de puternic. Citiți mai multe, iar popularitatea sa înseamnă că veți ateriza probabil o slujbă de dezvoltare odată ce veți avea.
Întrebarea adevărată este: cu atât de multe alte limbi acolo și creșterea altor cadre ca node.js și Ruby on Rails, vrei cu adevărat?
3. JavaScript
Ați auzit asta? Este sunetul unei mii de dezvoltatori care își crăpătură mănunchii, gata să apere onoarea JavaScript în secțiunea de comentarii!
JavaScript este limba internetului. Nu există nici o deghizare a dominației sale. Dacă utilizați un browser, pagina pe care o căutați va fi aproape sigur folosind JavaScript. Când vizionați Netflix sau utilizați PayPal, utilizați servere care rulează node.js, timpul de executare al serverului JavaScript. O schimbare rapidă a oricărei comisii de locuri de muncă pentru programatori arată necesitatea dezvoltatorilor JavaScript.
De ce aparține acestei liste? Ei bine, draga de front-end are câteva quirks.
Inserarea automată a punctului
Dacă sunteți familiarizați cu Java sau cu oricare dintre limbile de programare ale familiei C, veți ști că punct și virgulă sunt folosite pentru a denumi terminarea unei instrucțiuni. Interpretul vede punct și virgulă și știe să meargă mai departe.
În JavaScript lucrurile sunt puțin diferite. Semicolonii sunt opționali. În timp ce acest lucru poate părea imposibil, mulți oameni vor să renunțe complet la punct și virgulă din JavaScript.
Deși aceasta este o idee frumoasă, nu este fără probleme. Autorul mărturisit denicierul punct și virgulă și YouTuber Kyle Robinson Young face un caz bun pentru motivul pentru care ei ar trebui să fi folosit de către începători.
Problemele ridicate în acest videoclip indică o problemă mai largă. JavaScript funcționează bine fără punct și virgulă de cele mai multe ori. Acest lucru se datorează faptului că semnele punctului virgulă nu sunt deloc dispuse, sunt inserate doar automat în locul interpretului crede ar trebui să meargă.
În timp ce cazurile în care interpretul devine greșit sunt considerate ca fiind “margini” de coderi mai experimentați, aceștia sunt toate lucrurile pe care începătorii ar putea să le întâmpine, ceea ce face ca experiența utilizării JavaScript să fie nevăzută.
O scurtă căutare a subiectului cu punct și virgulă în JavaScript vă va duce în jos pe o gaură de opinie și speculații cu aproape nici un sfârșit. Atunci când o limbă necesită o pagină completă de lectură doar pentru a înțelege unde trebuie să utilizați un punct și virgulă, numai pentru a concluziona că trebuie să vă creați propria minte, este de neglijat să credeți că ceva nu este bine!
O serie de ciudățenie
Oricine a luat o clasă de codificare începător va fi familiarizat cu matricea. Ele sunt o modalitate simplă de a colecta o mulțime de date de același tip și de a le ordona să le obțină cu ușurință mai târziu.
Aceasta este o programare fundamentală, deci ar trebui să fie destul de simplu de înțeles corect? De fapt, nu, nu e corect. Primul exemplu din conversația hilară a lui James Mickins despre JavaScript este sumar:
“Matricele JavaScript sunt combinații de obiecte multi-tip de array-list-dictionary Un ghid pentru începători pentru programarea orientată pe obiecte Python Un ghid pentru începători pentru programarea orientată pe obiecte Python Pentru a profita din plin de punctele forte ale Python, veți dori să aflați cum funcționează Python cu obiectul programare orientată (OOP). Citeste mai mult .”
Chiar atunci. Clar ca ziua.
Acestea sunt doar câteva exemple mici de ce JavaScript ar putea fi văzut ca o limbă teribilă de învățat și de utilizat. Pentru fiecare caz aici și pentru mii de alții pe web, există o armată de oameni pregătiți să apere aceste comportamente. Un lucru este sigur, JavaScript nu merge nicăieri, și nici argumentele online nesfârșite despre asta.
Pentru un final final de distracție, care revine la limbile esoterice discutate mai devreme: deschideți o consolă JavaScript în browserul dvs. web și lipiți în acest monstru:
alert ((! [] + []) [+ []] + (! [] + []) [+! + []] + ([! []] + [] [[]]) [+! + [] + [+ []]] + + + []]) ([[+ [] + []!)]!
O lume a limbajelor de programare
Puteți auzi că sabii zguduie? Fiii furioși gata să lovească fiecare punct făcut în acest articol? În realitate, nu ar fi greșit. Există mii de alte cazuri în aproape toate limbile pe care le-aș fi putut folosi.
Cu excepția limbilor esoterice, fiecare limbaj de programare are punctele sale bune și rele. Ca și în cazul tuturor uneltelor, o caracteristică care determină fierberea unui singur sânge de către un utilizator este o funcționalitate prețuită de alta. Semicolonii pot fi un kryptonit al unei persoane, în timp ce spațiile albe ar putea să-i țină pe ceilalți noaptea.
Pentru un începător, orice limbaj de programare este greu și ar trebui să vă petreceți timpul învățând fundamentele programării Bazele programării pe calculator 101 - Variabile și tipuri de date Bazele programării calculatorului 101 - Variabile și tipuri de date După ce am introdus și am vorbit puțin despre programarea orientată pe obiecte înainte și de unde provine numele său, am crezut că este timpul să trecem prin temele absolute ale programării într-un mod specific non-lingvistic. Acest lucru ... Citește mai mult înainte de a vă îngrijora prea mult despre ce limbă să alegeți.
Credit de imagine: fizkes / Depositphotos
Explorați mai multe despre: JavaScript, Programare PHP, Programare.