Vandaag gaan we het hebben over coderen. Meer specifiek zal ik de vraag beantwoorden: Wat is coderen in hemelsnaam? We zullen ook een beetje ingaan op wat er gebeurt als we coderen.
Voordat u verder leest, moet u echter eerst met de rechtermuisknop in uw browservenster klikken en de optie “Paginabron weergeven” kiezen.
Als u dat doet, krijgt u een overzicht van de code van de webpagina. Dat wil zeggen dat u, door achter het gordijn te gluren, nu de taal hebt gezien die uw computer vertelt hoe deze webpagina er zo goed uit moet zien.
De eerste keer dat ik echt naar de code in een browservenster keek, was voor mij een openbaring. Hier was het internet met de eigen stem van het internet! Het meeste begreep ik niet, maar ik kon fragmenten van woorden en zinsdelen eruit pikken die me bekend voorkwamen. Er waren een paar lettertypen die ik herkende, en ik begreep de pixelgrootte min of meer. De rest was me vreemd. Dit was de taal die mijn computer sprak, althans dat dacht ik.
Als je van plan bent om te leren coderen, is het de moeite waard om na te denken over de mechanica van het coderen. Als je weet wat er precies gebeurt als je codeert, wat het betekent als we zeggen dat iemand codeert, wat het verschil is tussen coderen en programmeren, in welke talen je uiteindelijk kunt coderen en hoe je kunt beginnen met coderen, kun je een betere codeur worden.
Computercodering voor beginners
Er is veel hype rond coderen, dus laten we beginnen met duidelijk te maken wat coderen niet is. Ik zei hierboven dat toen ik voor het eerst de broncode van een webpagina zag, ik dacht dat ik naar de taal keek die mijn computer sprak. Dit is een gebruikelijke manier om uit te leggen wat code is, maar het is niet helemaal waar.
Uw computer begrijpt de nuances van taal niet. Sterker nog, de enige termen die uw computer überhaupt goed begrijpt zijn “Ja” of “Nee”.
Stel je voor dat je een brug aan het bouwen bent met een groep ingenieurs. Jij staat aan de ene kant, zij aan de andere, en je moet met elkaar communiceren om het project af te krijgen. Het probleem is dat je telefoon is overleden en je radio maar één kant op werkt. Alles wat je hebt om met ze te communiceren is een zaklamp. Eén flits voor ja, twee voor nee. Het zal even duren, maar uiteindelijk wordt de brug gebouwd.
Dit is hoe een computer met mensen communiceert. De taal die de computer spreekt is binaire code, een wiskundige taal van enen en nullen. Net als bij de zaklamp zijn er maar twee mogelijkheden. De computer begrijpt “aan” en “uit”, en niets anders. Dus tenzij je reeksen enen en nullen in je tekstverwerker typt (wat je niet doet), schrijf je niet echt code in de taal van de computer.
Maar als de code niet in de taal van de computer is geschreven, wat doe je dan?
Computercode is een taal
Denk als volgt over het schrijven van code. U spreekt geen binair, en de machine kan niet in de buurt komen van het begrijpen van menselijke talen. Dus, om de computer te vertellen wat hij moet doen, moet je een vertaler ontwerpen die als tussenpersoon kan fungeren. Dit is het doel van code. Code is een vorm van schrijven die niet binair is, die voor mensen gemakkelijk te leren en te interpreteren is, maar die de computer toch kan begrijpen.
Voor de meeste programma’s waar je waarschijnlijk aan zult werken, is de code die je schrijft eigenlijk een stap verwijderd van de binaire code die de computer zal verwerken. U schrijft in een code die is afgeleid van menselijke taal. Programma’s in je computer vertalen dan wat je hebt geschreven naar binaire code. Het is alsof u aan iemand moest spreken die in Mandarijn, u slechts Engels kent, en de enige vertaler u kon vinden sprak slechts Mandarijn en Frans. U zou een andere vertaler nodig hebben om van het Engels aan het Frans te vertalen en dan kan de eerste vertaler het Frans aan Mandarijn vertalen, hopelijk zonder betekenis die in process.
What soort van blazen mijn mening over dit alles is dat het één of andere manier werkt. We hebben programma’s die programma’s vertalen voor een machine die alleen binair spreekt. Dit is een waanzinnig ingewikkeld proces, en toch typ ik hier menselijke woorden op mijn binair sprekende computer.
Er komt natuurlijk nog veel meer bij kijken, maar dit zijn de essentiële dingen die je moet weten voordat je een gesprek met je computer begint via code.
Coding vs. Programmeren: Wat is het verschil?
Toen ik opgroeide, waren mijn vader en alle mensen met wie hij samenwerkte computerprogrammeurs. Zo heb ik mensen die code voor computers schreven lange tijd begrepen: Het waren programmeurs.
Meer recent leek het alsof er een verschuiving plaatsvond in de terminologie of de industrie. Plotseling waren mensen die voor computers schreven, programmeurs. Deze verschuiving heeft me ertoe aangezet me af te vragen of er wel een verschil is tussen wat programmeurs doen en wat codeurs doen.
Velen zeggen dat er eigenlijk helemaal geen verschil is tussen een codeur en een programmeur. Het is eerder een verschil in terminologie dan in activiteit. Als er iets is, naar mijn bescheiden mening, is zeggen dat je een coder bent iets algemener dan zeggen dat je een programmeur bent. Omdat voor mij het woord programmeur vaak geassocieerd wordt met computer programmeer (en computer science) cursussen aan een universiteit. Terwijl coderen aanvoelt als iets dat iedereen kan doen.
Jonah Bitautas, de productontwerper achter Cards Against Humanity, maakt een interessant punt als hij stelt dat er wel degelijk een verschil is en dat dit is geworteld in schaalkwesties. In wezen is een coder iemand die taal schrijft voor computers. Een programmeur is iemand die toezicht houdt op het schrijven van een heel programma – dat wil zeggen, de waarde van een heel project aan codering.
Eind van de dag is er geen formele definitie van een codeur of een programmeur. En dus is het helemaal prima om deze termen door elkaar te gebruiken: je kunt zeggen “Ik ben een coder” of “Ik ben een programmeur,” en niemand zal je daarvoor veroordelen. Tenzij tijdens de zeldzame gelegenheid op Hacker News – de programmering nieuws website waar doorgewinterde (en eigenzinnige) codeurs rondhangen. Natuurlijk, ze kunnen er iets van zeggen. Borstel het gewoon weg en ga verder.
Typen codeertalen
Er zijn tientallen codeertalen. Een paar talen zijn all-purpose (of multifunctioneel), maar de meeste hebben een specifieke functie. CSS, bijvoorbeeld, is vooral bedoeld om dingen er mooi uit te laten zien. JavaScript, een relatief oude taal, bestaat om webpagina’s functioneler te maken. Er zijn gespecialiseerde talen die geweldig zijn als je iets heel specifieks nodig hebt, maar alles wat je echt nodig hebt om aan de slag te gaan zijn een paar veelgebruikte.
HTML
Toen ik je vroeg om de broncode voor deze webpagina te openen, kwam je bij regels code die in HTML waren geschreven. HTML is de afkorting van Hypertext Markup Language en fungeert als de botten van het internet. Het vertelt webpagina’s wat er moet worden weergegeven en waar en hoe ze moeten passen binnen een bepaald stijlblad. Het vertelt de browser ook waar hij moet zoeken naar inhoud zoals afbeeldingen en video’s die je in je project wilt opnemen, en waar hij het stylesheet kan vinden waarmee je werkt.
Eén ding om op te letten: HTML is technisch gezien geen “programmeertaal”, omdat het geen gebruik maakt van op logica gebaseerde expressies, zoals bijvoorbeeld Python dat doet. HTML is een opmaaktaal – maar net als bij het debat over coder vs. programmeur vs. ontwikkelaar – zal het je waarschijnlijk niet kwalijk worden genomen dat je het een programmeertaal noemt, vooral niet als je nieuw bent.
CSS
CSS is het stylesheet. Als je een CSS bestand opent, zie je veel verwijzingen naar lettertype families, kleuren, en lettertype opmaak stijlen (zoals vet, onderstreept, of cursief). Wanneer je browser een pagina laadt, vertelt de HTML hem “Laat dit deel van de pagina eruit zien als een koptekst. OK?” Het zegt ook “Hier is waar je moet kijken om te begrijpen hoe een koptekst eruit moet zien.” Dit zal altijd een CSS bestand zijn.
Javascript
Javascript is de taal die interactiviteit naar een webpagina brengt. Als je bijvoorbeeld op een knop klikt op een website, is het JavaScript dat de knop laat lijken alsof je erop klikt. De bediening van videospelers op het web en animaties zijn ook vaak Javascript.
Ruby vs. Python
We hebben eigenlijk al een baller post over de verschillen tussen Ruby en Python, maar de korte versie is dat deze twee programmeertalen vaak worden gebruikt om webapplicaties te ontwikkelen.
Dat wil zeggen, ze maken programma’s waarmee webpagina’s dingen kunnen doen op een hoog niveau van interactiviteit. Als je bijvoorbeeld een bot wilt bouwen om een automatisch betaalsysteem voor je klanten te maken, zul je waarschijnlijk een van deze gebruiken. Het zijn geweldige programma’s om mee te leren werken omdat ze buitengewoon veelzijdig zijn en er is veel bestaande code voor je op het web om hiermee te beginnen te spelen.
Hoe leer je coderen?
Er zijn een aantal parallellen tussen leren coderen en het leren spreken van een nieuwe (menselijke) taal. De meest frustrerende overeenkomst is dat je, net als bij het leren van elke taal, tijd moet besteden aan oefenen!
Sommige mensen zijn gewoon natuurlijke codeurs, zeker, net zoals er mensen zijn die Italiaans kunnen spreken na het beluisteren van een paar opera’s. Maar voor de overgrote meerderheid van ons is leren coderen een proces van vallen en opstaan. Coderen is een vaardigheid. Het kost tijd, en het helpt om begeleiding te hebben.
Gelukkig genoeg zijn er veel betaalbare online cursussen om te leren coderen! Als coderen nieuw voor u is en u niet weet waar u moet beginnen, raad ik u Programmeren voor niet-programmeurs aan. Deze cursus geeft je de woordenschat en het perspectief dat je nodig hebt om de codeerwereld te begrijpen.
Als je er klaar voor bent om meteen te beginnen met leren coderen, leer dan Python. Het is wat alle coole kinderen doen deze dagen. Python is een geweldige taal waarmee je bijna elke website of app kunt bouwen die je ooit zou willen maken. Geloof je het niet? Google, Uber, Netflix en nog veel meer zijn maar een paar bedrijven die Python gebruiken.
Krap bij kas? Er zijn tientallen websites waar je gratis kunt leren coderen. Dus nu heb je geen excuses meer.