Najgori i najteži jezici programiranja koje treba izbjegavati poput kuge

  • Harry James
  • 0
  • 1947
  • 507
Oglas

Postoji puno sjajnih tutorijala o programiranju kako biste započeli s kodiranjem. Ali prije nego što zaronite u njih, morat ćete odgovoriti na vrlo teško pitanje: Koji programski jezik trebam naučiti?

Neki su jezici početnici lakši za učenje. Ostali su najkorisniji za budućnost. A drugi će vam najvjerojatnije pomoći posao u programiranju.

U ovom ćemo članku pristupiti sa suprotnog kraja: Koje biste programske jezike trebali izbjegavati?

1. Ezoterični kao% ^ & *!

Započnimo s laganim. Programski jezici ezoterike (ili kratki esolang) dizajnirani su tako da programiraju programiranje do krajnjih granica. Pri tome im uspijevaju učiniti nevjerojatno kompliciranim.

Iako se ovo čini kao kontradikcija u pogledu, brzi pogled na nažalost nazvani Brainf & * k jezik:

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

Ovaj monstruoz je funkcionalan, Turingov kompletan kod. Funkcija ovog programa? Ispisuje Pozdrav svijete! na ekran. Jednostavno, zar ne?

Jezik se sastoji od osam znakova koji pomiču pokazivač podataka unutar programskog polja i mijenjaju ili objavljuju podatke u svakoj poziciji. To sve nadovezuje na jednostavan jezik koji je apsolutni razarač uma. Otuda i nesretno ime. Usput, Brainf £ $ k nije jedini ezoterijski jezik sa “raznobojan” ime, zato budite znatiželjni na vlastiti rizik!

Brainf ^ & k je jedan od poznatijih ezoterijskih programskih jezika, iako se može naći mnogo više. Možda želite izgraditi program koristeći jednostruke obloge Arnolda Schwarzeneggera? Kuhar je posebno zapažen jer kod koji pišete završava čitanje poput recepta.

Ezoterični jezici dizajnirani su više kao zabavni izazov programerima nego za svakodnevnu upotrebu. Općenito su ti jezici Turing Tarpits i uzrokovat će više frustracija nego bilo što drugo ako se koriste za stvarne programske zadatke. Na isti način na koji prijelaz Niagarskih vodopada u bačvu nije potreban, siguran sam da će neki od vas programirati na ezoterijskim jezicima bez obzira!

2. PHP

Ovdje mogu postati sporne stvari. PHP je jezik na strani poslužitelja dizajniran za web razvoj. Prvobitno objavljen 1997. godine, PHP je brzo preuzeo web. Teško bi vas bilo gurnuti da pronađete bilo koji veliki web entitet koji ne koristite PHP. PHP je uveo koncept dinamičnih web stranica, omogućujući korisnicima da pretražuju baze podataka u stvarnom vremenu umjesto da učitavaju statičke stranice o svakoj interakciji.

Nedavno istraživanje Stage Overflow pokazuje PHP kao deveti najpopularniji jezik, a za PHP programere još uvijek postoji velika potražnja. Zasada je dobro. Široko korišteno, dugotrajno, ono što nema što voljeti?

Pa, ovisno o tome koga pitate, prilično!

proturječnost

PHP nije trebao biti jezik i rastao se dio po dio nego s općom strukturom. To čini učenje PHP-a frustrirajućim iskustvom.

Primjer ovoga koji pruža primjereno imenovan phpsadness je funkcija dobivanja PHP-a:

gettype () get_class ()

Ove male nedosljednosti u imenovanju ugrađenih funkcija dio su mnogo većeg problema. Male razlike u sintaksi i semantika otežavaju učenje PHP-a kad dolazite s drugog jezika.

U doba poliglota programskog jezika, ti se problemi možda ne bi mnogo bavili, ali dovoljno je da neke programere natjeraju na brda..

Još jedna stvar prije nego što se odmaknemo od ove vrste nedosljednosti. U PHP-u, nazivi funkcija i klasa nisu mala i mala slova, ali su varijable.

Čekaj, što?

Ternarni operator

Bilo da je riječ o proizvodu ad-hoc strukture PHP-a ili o ludoj ćudljivosti jednog od njegovih kreatora, ternarni operator u PHP-u je zbunjen. Razmislite o ovom:

$ a = 11; odjek ($ a == 10? 'deset': $ a == 11? 'jedanaest': $ a == 12? 'dvanaest': $ a == 13? 'trinaest': 'nešto drugo'); odjek "\ n"; // ovaj kôd ispisuje „trinaest“ na konzolu

Kao što možete vidjeti u gornjem primjeru, PHP čini čudne stvari sa ternarnim operatorima. Na gotovo svim drugim jezicima biste očekivali da se ovaj kod pojavi jedanaest. PHP se ne slaže.

Ovo čudno ponašanje dolazi od PHP-a koristeći lijevi asocijativni ternarni operator. Ovo pomalo savijanje uma krajnje je neintuitivno za mnoge programere, pa čak i nakon čitanja detaljnog objašnjenja kako to djeluje, i dalje je zbunjujuće.

PHP se i dalje široko koristi, a mnogi ljudi tvrde kako se tijekom njegovih 20 godina rada izuzetno poboljšao.

Ako želite stvoriti vlastite WordPress dodatke, onda to svakako vrijedi naučiti. Postoje vaši resursi za započinjanje učenja PHP-a Naučite graditi s PHP-om: Crash Course naučiti graditi s PHP-om: Crash Course PHP je jezik koji Facebook i Wikipedia koriste da bi svakodnevno posluživali milijarde zahtjeva; de facto jezik koji se koristio za podučavanje web programiranju ljudi. Prekrasno je jednostavno, ali sjajno moćno. , a njegova popularnost znači da ćete vjerojatno zaposliti razvojni posao nakon što ga imate.

Pravo je pitanje: s toliko drugih jezika vani, i uspon drugih okvira poput node.js i Ruby na šine, da li stvarno želiš?

3. JavaScript

Možete li to čuti? To je zvuk tisuće programera koji puknu okovima, spremni odbraniti JavaScript čast u odjeljku za komentare!

JavaScript je jezik interneta. Ne prekriva se njegova dominacija. Ako koristite preglednik, stranica koju tražite gotovo će sigurno koristiti JavaScript. Kada gledate Netflix ili koristite PayPal, koristite poslužitelje koji pokreću node.js, vrijeme izvršavanja JavaScripta na strani poslužitelja. Brzo pregledavanje bilo koje ploče za posao programera pokazuje potražnju za JavaScript programere.

Zašto spada na ovaj popis? Eto, draga s prednje strane ima nekoliko zamišljanja.

Automatsko umetanje zareza

Ako ste upoznati s Javom ili bilo kojim od programskih jezika C obitelji, znat ćete da se zarezu koriste oznake za završetak izjave. Tumač vidi točku sa zarezom i zna krenuti dalje.

U JavaScript-u su stvari malo drugačije. Točke zarezima nisu obavezne. Iako se to može činiti nemogućim, mnogi ljudi žele potpuno izgubiti točke s zarezima.

Iako je ovo dobra ideja, nije bez problema. Samopriznajući demanti zarezom i zarezom YouTuber-a Kyle Robinson Young čini se dobrim razlogom zašto oni treba koristiti početnicima.

Pitanja postavljena u ovom videozapisu ukazuju na širi problem. JavaScript funkcionira bez zareza većinu vremena. To je zato što zarezima uopće nije nestalo, već su automatski umetnuti tamo gdje tumač misli oni bi trebali ići.

Dok se vide slučajevi kada tumač pogriješi “rubnih slučajeva” iskusniji koderi oni će se početnici vjerojatno sve snalaziti što čini iskustvo korištenja JavaScript-a nepoželjnim.

Kratka pretraga teme sa zarezima u JavaScriptu vodit će vas do zečje rupe mišljenja i nagađanja s gotovo bez kraja. Kad neki jezik zahtijeva cijelu stranicu čitanja samo da biste razumjeli gdje trebate koristiti točku zarezom, samo da biste zaključili da se morate sami odlučiti, oprošteno je pomisliti da nešto nije u redu!

Niz čudnoća

Svi koji su pohađali početnu klasu kodiranja bit će upoznati s nizovima. Oni su jednostavan način da se prikupe puno podataka iste vrste i naruče kako bi ih kasnije lakše dobili.

To je osnova programiranja, pa bi oni trebali biti prilično jednostavni za razumijevanje zar ne? Zapravo ne, nije u redu. Prvi primjer iz duhovitog razgovora Jamesa Mickinsa na JavaScriptu to lijepo sažima:

“JavaScript nizovi su kombinirani objekti višestrukih vrsta s popisom u nizu. Vodič za početnike Python objektno orijentiranim programiranjem Vodič za početnike Python objektno orijentiranim programiranjem Da biste u potpunosti iskoristili prednosti Pythona, morat ćete naučiti kako Python djeluje s objektom orijentirano programiranje (OOP). .”

U redu onda. Vedro kao dan.

Ovo je samo nekoliko malih primjera zašto se JavaScript može vidjeti kao grozan jezik za učenje i korištenje. Za svaki slučaj ovdje, i tisuće drugih diljem interneta, postoji armija ljudi spremna braniti ta ponašanja. Jedno je sigurno, JavaScript ne ide nikuda, a isto tako ne postoje beskrajni mrežni argumenti o tome.

Za krajnju zabavu, koja se vraća na ezoterične jezike o kojima smo razgovarali ranije: otvorite JavaScript konzolu u svom web pregledniku i zalijepite je u ovo čudovište:

upozorenje ((! [] + []) [+ []] + (! [] + []) [+! + []] + ([! []] + [] [[]]) [+! + [] [+ []]] + []]) ([[+ [] + []!)]!;

Svijet jezika programiranja

Čujete li kako sablje zveckaju? Ljuti vragovi spremni su srušiti sve točke u ovom članku? Istina, ne bi bili u krivu. Postoje tisuće drugih slučajeva na gotovo svim jezicima koje bih mogao upotrijebiti.

S izuzetkom ezoterijskih jezika, svaki programski jezik ima svoje dobre i loše strane. Kao i kod svih alata, značajka zbog koje ključa krv jednog korisnika je njegovana funkcionalnost za drugog. Točkice mogu biti kriptonit jedne osobe, dok bi bijeli prostor mogao buditi druge noću.

Za početnike je bilo koji programski jezik težak, te biste trebali potrošiti vrijeme na učenje osnova programiranja Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Osnove računalnog programiranja 101 - Promjenjive i podatkovne vrste Nakon što ste se malo upoznali i razgovarali o objektno orijentiranom programiranju prije i odakle potječe njegov imenjak, mislio sam da je vrijeme da prođemo apsolutne osnove programiranja na nejezički specifičan način. Ovo ... prije nego što se previše brinem o tome koji jezik odabrati. Rekavši to, važno je biti informiran o najnovijim jezicima koji postaju popularni. Trenutno je Rust najzanimljiviji programski jezik. 7 razloga. Rust je najzanimljiviji novi programski jezik 7 razloga. Rust je najzanimljiviji novi programski jezik. Želite li započeti s programiranjem? Evo zašto je Rust najuzbudljiviji i najdostupniji novi programski jezik. istražiti!

Kreditna slika: fizkes / Depositphotos




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.