3 slechtste programmeertalen om te vermijden zoals de pest
Er zijn veel geweldige programmeerinstructies om je op weg te helpen met het coderen. Maar voordat je erin duikt, moet je een heel moeilijke vraag beantwoorden: Welke programmeertaal moet ik leren?
Sommige talen zijn gemakkelijker voor beginners om te leren. Anderen zijn het meest nuttig voor de toekomst. En anderen zullen u waarschijnlijk helpen bij het landen van een programmeeropdracht.
In dit artikel benaderen we het van de andere kant: Welke programmeertalen moet je vermijden?
1. Esoterisch als% ^ & *!
Laten we beginnen met een gemakkelijke. Esoterische programmeertalen (of kortweg esolang) zijn ontworpen om programmeren tot het uiterste te laten gaan. Door dit te doen slagen ze erin om het ongelooflijk gecompliceerd te maken.
Hoewel dit een contradictio in terminis lijkt, kijk dan snel naar de helaas genoemde Brainf & * k-taal:
++++++++[> ++++ [> ++> +++> +++>+<<<<-]>+> +> - >> + [<]<-]>>.> ---. +++++++ ... +++. >>.<-.<.+++.------.--------.>> +.>++.
Deze wangedrochtheid is functioneel, Turing-complete code. De functie van dit programma? Het drukt af Hallo Wereld! naar het scherm. Eenvoudig, is het niet?
De taal bestaat uit acht tekens, die de gegevensaanwijzer binnen de programmamatrix verplaatsen en de gegevens in elke positie wijzigen of uitvoeren. Dit alles komt neer op een eenvoudige taal die een absolute geestvernietiger is om te gebruiken. Vandaar de ongelukkige naam. Trouwens, Brainf £ $ k is niet de enige esoterische taal met een “kleurrijk” naam, dus wees nieuwsgierig op eigen risico!
Brainf ^ & k is een van de bekendere esoterische programmeertalen, maar er zijn er nog veel meer te vinden. Misschien wilt u een programma bouwen met behulp van de oneliners van Arnold Schwarzenegger? Chef is vooral opmerkelijk omdat de code die je schrijft, als een recept eindigt.
Esoterische talen zijn meer als een leuke uitdaging voor programmeurs ontworpen dan voor dagelijks gebruik. Over het algemeen zijn deze talen Turing Tarpits en veroorzaken ze meer frustratie dan wat dan ook als ze worden gebruikt voor echte programmeertaken. Op dezelfde manier dat het niet nodig is om in een vat over de Niagara-watervallen te gaan, ben ik er zeker van dat sommigen van jullie in esoterische talen zullen programmeren, ongeacht!
2. PHP
Dit is waar dingen omstreden kunnen worden. PHP is een server-side taal ontworpen voor webontwikkeling. Oorspronkelijk uitgebracht in 1997, nam PHP snel het internet over. Je zou moeilijk worden gepusht om een grote web-entiteit dat te vinden niet gebruik PHP. PHP introduceerde het concept van Dynamic Websites, waardoor gebruikers databases in realtime kunnen opvragen in plaats van statische pagina's te laden bij elke interactie.
Een recente Stack Overflow-enquête toont PHP als de negende meest populaire taal en er is nog steeds veel vraag naar PHP-ontwikkelaars. Tot zover goed. Op grote schaal gebruikt, in de vraag, al lang bestaande, wat is er niet om te willen?
Nou ja, afhankelijk van wie je het vraagt, heel veel!
tegenstrijdigheid
PHP was niet bedoeld als een taal en groeide stukje bij beetje in plaats van met een algemene structuur. Dit maakt het leren van PHP een frustrerende ervaring.
Een voorbeeld van dit gegeven door toepasselijk genoemde phpsadness is PHP's get-functie:
gettype () get_class ()
Deze kleine inconsistenties in de naamgeving van ingebouwde functies maken deel uit van een veel groter probleem. Kleine verschillen in syntaxis en semantiek maken PHP moeilijk te leren wanneer je uit een andere taal komt.
In een tijdperk van polyglotische programmeertaal zijn deze problemen misschien niet zo belangrijk voor je, maar het is genoeg om sommige ontwikkelaars voor de heuvels te laten rennen.
Nog iets voordat we weggaan van dit soort inconsistenties. In PHP zijn functie- en klassennamen niet hoofdlettergevoelig, maar variabelen wel.
Wacht wat?
De Ternary-operator
Of het nu een product is van de ad-hoc structuur van PHP of de gekke gril van een van zijn makers, de ternaire operator in PHP is verbijsterend. Overweeg dit:
$ a = 11; echo ($ a == 10? 'tien': $ a == 11? 'elf': $ a == 12? 'twaalf': $ a == 13? 'dertien': 'iets anders'); echo "\ n"; // deze code print 'dertien' naar de console
Zoals je in het bovenstaande voorbeeld kunt zien, doet PHP vreemde dingen met ternaire operatoren. In bijna alle andere talen zou u verwachten dat deze code wordt uitgevoerd elf. PHP is het daar niet mee eens.
Dit vreemde gedrag komt van PHP met behulp van een linkse associatieve ternaire operator. Dit enigszins bukkende gedrag is voor veel programmeurs volkomen ongeschikt en zelfs na het lezen van een gedetailleerde uitleg over hoe het werkt, is het nog steeds verbijsterend.
PHP wordt nog steeds op grote schaal gebruikt en veel mensen beweren dat het enorm is verbeterd gedurende zijn 20-jarig mandaat.
Als u uw eigen WordPress-plug-ins wilt maken. Hoe u uw eigen basis Wordpress-widgets maakt Hoe u uw eigen basis Wordpress-widgets maakt Veel bloggers zullen zoeken naar de perfecte Wordpress-widget die precies zal doen wat ze willen, maar met een beetje programmeerervaring kunt u vind het gemakkelijker om je aangepaste widget te schrijven. Deze week zou ik ... Lees meer, dan is het zeker de moeite waard om te leren. Er zijn geweldige bronnen om je te laten leren. PHP Leren bouwen met PHP: een crashcursus Leren bouwen met PHP: een spoedcursus PHP is de taal die Facebook en Wikipedia gebruiken om dagelijks miljarden verzoeken te dienen; de de-facto taal die wordt gebruikt voor het leren van mensen web-programmering. Het is prachtig eenvoudig, maar briljant krachtig. Meer lezen, en de populariteit ervan houdt in dat je waarschijnlijk een ontwikkelingsopdracht krijgt zodra je deze hebt.
De echte vraag is: met zoveel andere talen die er zijn, en de opkomst van andere frameworks zoals node.js en Ruby on Rails, wil je dat echt?
3. JavaScript
Kan je dat horen? Het is het geluid van duizend ontwikkelaars die hun knokkels kraken, klaar om de eer van JavaScript te verdedigen in de commentaarsectie!
JavaScript is de taal van internet. Er is geen vermomming van zijn dominantie. Als u een browser gebruikt, zal de pagina die u zoekt vrijwel zeker JavaScript gebruiken. Wanneer u Netflix bekijkt of PayPal gebruikt, gebruikt u servers waarop node.js wordt uitgevoerd, de runtime aan de serverzijde van JavaScript. Een snel overzicht van elk jobboard voor programmeurs toont de vraag naar JavaScript-ontwikkelaars.
Waarom hoort het op deze lijst? Nou, de lieveling van de voorkant heeft een paar eigenaardigheden.
Automatische invoeging van puntkomma's
Als u bekend bent met Java of een van de programmeertalen van de C-familie, weet u dat puntkomma's worden gebruikt om de beëindiging van een verklaring aan te geven. De interpreter ziet de puntkomma en weet verder te gaan.
In JavaScript zijn de dingen een beetje anders. Puntkomma's zijn optioneel. Hoewel dat misschien onmogelijk lijkt, willen veel mensen puntkomma's helemaal van JavaScript verwijderen.
Hoewel dit een leuk idee is, is het niet zonder problemen. Zelfverklaarde punt komma denier en YouTuber Kyle Robinson Young maakt een goede reden waarom ze moeten worden gebruikt door beginners.
De problemen die in deze video naar voren worden gebracht, vormen een breder probleem. JavaScript werkt prima zonder puntkomma's meestal. Dit komt omdat de puntkomma's helemaal niet weg zijn, ze worden gewoon automatisch ingevoegd op de tolk denkt ze zouden moeten gaan.
Terwijl de gevallen waarin de tolk het fout doet, worden gezien als “randgevallen” door meer ervaren programmeurs, het zijn allemaal dingen die beginners waarschijnlijk zullen tegenkomen, waardoor de ervaring van het gebruik van JavaScript onverwelkombaar wordt.
Een korte zoekopdracht over het onderwerp van puntkomma's in JavaScript leidt je bijna zonder een spoor van advies en speculatie naar beneden. Wanneer een taal een volledige pagina van lezen vereist, alleen om te begrijpen waar u een puntkomma moet gebruiken, alleen om te concluderen dat u een beslissing moet nemen, is het te vergeven om te denken dat er iets mis is!
Een array van weirdness
Iedereen die een beginnerscoderingsklasse heeft gevolgd, kent de arrays. Ze zijn een eenvoudige manier om veel gegevens van hetzelfde type te verzamelen en deze te bestellen om ze later gemakkelijk terug te krijgen.
Dit is een basis van programmeren, dus ze moeten vrij eenvoudig te begrijpen zijn toch? Eigenlijk niet, niet goed. Het eerste voorbeeld in het hilarische gesprek van James Mickins over JavaScript vat het mooi samen:
“JavaScript-arrays zijn array-list-dictionary gecombineerde multi-type objecten A Beginnershandleiding tot Python Object-Oriented Programming A Beginnershandleiding voor Python Object-Oriented Programming Om ten volle te profiteren van de sterke punten van Python, wil je leren hoe Python met objecten werkt georiënteerde programmering (OOP). Lees verder .”
Goed dan. Helder als dag.
Dit zijn slechts enkele voorbeelden van waarom JavaScript kan worden gezien als een vreselijke taal om te leren en te gebruiken. Voor elke zaak hier, en de duizenden anderen over het hele web, is er een leger van mensen klaar om dit gedrag te verdedigen. Eén ding is zeker, JavaScript gaat nergens naartoe, en dat geldt ook voor de eindeloze online argumenten.
Voor een laatste beetje plezier, die teruggaat naar esoterische talen die eerder zijn besproken: open een JavaScript-console in je webbrowser en plak in dit monster:
alert ((! [] + []) [+ []] + (! [] + []) [+! + []] + ([! []] + [] [[]]) [+! + [] + [+ []]] + + + []]) ([[+ [] + []?)]!;
Een wereld van programmeertalen
Kun je de sabels horen rammelen? De boze ontwikkelaars klaar om elk punt in dit artikel te negeren? In werkelijkheid zouden ze niet verkeerd zijn. Er zijn duizenden andere gevallen in bijna elke taal die ik had kunnen gebruiken.
Met uitzondering van de esoterische talen, heeft elke programmeertaal zijn goede en slechte punten. Zoals bij alle tools is een functie die het bloed van een gebruiker laat koken, een geliefde functionaliteit voor een ander. Puntkomma's kunnen kryptonite van één persoon zijn, terwijl witruimte anderen 's nachts kan tegenhouden.
Voor een beginner is elke programmeertaal moeilijk, en je moet tijd besteden aan het leren van de grondbeginselen van programmeren. De grondbeginselen van programmeren 101 - Variabelen en gegevenstypes Na een beetje geïntroduceerd en gesproken te hebben over objectgeoriënteerde programmering voor en waar zijn naamgenoot vandaan komt, vond ik het tijd dat we de absolute basis van programmeren op een niet-taalspecifieke manier doornamen. Dit ... Lees meer voordat u zich te veel zorgen maakt over welke taal u moet kiezen.
Afbeelding Krediet: fizkes / Depositphotos
Ontdek meer over: JavaScript, PHP programmeren, programmeren.