Opnieuw aan de slag met programeren

Home / Blog / Opnieuw aan de slag met programeren
Opnieuw aan de slag met programeren

Wat heb ik het programmeren gemist. Maar nu heb ik het weer opgepakt. Sinds vorige maand heb ik mijn prioriteiten herzien en nu staat programmeren weer bovenaan. Waarom? Ten eerste omdat ik nog precies weet hoe leuk ik het 20 jaar geleden vond en ten tweede omdat ik bij het maken van mijn prototypes niet afhankelijk wil zijn van prototype-software. Ik wil gewoon werkende code kunnen opleveren en misschien zelfs bijspringen in een front-endteam. Een andere motivator is dat ik mijn kinderen wil helpen bij het leren programmeren. Ik vind die vaardigheid even belangrijk als leren lezen en schrijven. Ik hoor je denken: What happend? Waarom ben je dan ooit gestopt met programmeren?
Dat zal ik je vertellen…

 

Assembler

Het begon allemaal op mijn 17e. Ik vond computers supertof. Mijn broer en ik waren er dag en nacht mee bezig en ik had besloten dat ik wilde leren hoe een computerprogramma werkt. Daarom koos ik voor de opleiding Technische Informatica. Op de middelbare technische school kreeg ik voor het eerst te maken met programmeren. Ik moest aan de slag met het prehistorische Assembler, een low-level programmeertaal die niet zozeer een taal is, maar meer een programma dat werkt op basis van machine-instructies. Ik weet nog dat ik kilometers code (instructies) moest typen voor ik het zinnetje “Hello World” op het scherm kreeg. Maar daar was ik wel SUPERtrots op. Ge-wel-dig vond ik het! Het feit dat ik de computer kon vertellen wat hij op het scherm moest tonen, was fantastisch. Kijk, ik heb de code even opgezocht:

************* Assembler code voor "Hello World" **********************
section	.text
   global _start     ;must be declared for linker (ld)
	
_start:	            ;tells linker entry point
   mov	edx,len     ;message length
   mov	ecx,msg     ;message to write
   mov	ebx,1       ;file descriptor (stdout)
   mov	eax,4       ;system call number (sys_write)
   int	0x80        ;call kernel
	
   mov	eax,1       ;system call number (sys_exit)
   int	0x80        ;call kernel

section	.data
msg db 'Hello, world!', 0xa  ;string to be printed
len equ $ - msg     ;length of the string

***************************************************************

Pascal

Na Assembler kwam Pascal met zijn signature begin- en end-instructies. Ik weet nog dat een vriend en klasgenoot van me heel goed was met Pascal. Hij had zelfs een grafisch spelletje voor zijn broertje geprogrammeerd. Ik was daar zo van onder de indruk dat ik, nu ik erop terugkijk, in die tijd over mijn ‘programmeerdrempeltje’ moet zijn gestruikeld. Ik was 17 jaar, heel perfectionistisch en diep onder de indruk. Die combinatie van factoren maakte me verschrikkelijk onzeker. Hoe kon hij zoiets ‘zomaar’ doen terwijl het voor mij allemaal abacadabra was? Ik vond het steeds moeilijker om naast hem in de klas te zitten stuntelen en op een gegeven moment wilde ik alleen nog maar thuis programmeren. Daar zou niemand me op de vingers kijken.

**************** Pascal code voor "Hello World"**********************
program HelloWorld;

begin
 writeln('Hello World');
end.
***************************************************************

Even over die onzekerheid en perfectionisme; bekijk deze interessante TED Talk van Reshma Saujani over hoe meiden worden opgevoed om perfect en risicomijdend te zijn en jongen om stoer en risicovol te zijn in relatie tot onder andere het leren programmeren.

Java

Ondanks mijn onzekerheid was ik vastbesloten om door te gaan in de computers. Daarom koos ik na de mts voor een studie aan de Hogeschool van Amsterdam, Hogere Informatica, natuurlijk. In Amsterdam kreeg ik al snel Java en dat was een feestje. Ik was er verslingerd aan. Ik heb zelfs een hele zomervakantie dag in en dag uit zitten Javaën. Het leukste vond ik om met Java grafische vormen en fractals op het scherm te tekenen. In die tijd hadden we nog geen dikke online programmeercomunities als Stackoverflow of handige onlinecursussen als freeCodeCamp. Nee, we deden het met boeken. Ik herinner me zelfs de titel en auteur van mijn favoriete Javaboek nog: ‘En dan is er Java…’ van Gertjan Laan. De 1ste druk, met 100.000 aantekeningen, ligt nog ergens in mijn berging. Met veel liefde heb ik het van kaft tot kaft doorgewerkt en ik heb er leuke herinneringen aan.

************* Java code voor "Hello World"**********************
public class HelloWorld {

    public static void main(String[] args) {
        // Prints "Hello, World" to the terminal window.
        System.out.println("Hello, World");
    }

}
*************************************************************** 

C++

Toen kreeg ik C++. Dat was de eerste keer dat ik in aanraking kwam met ‘Object georiënteerd programmeren’. Ik leerde programmeren in classes (stukjes code die bij elkaar horen) en hoe je die stukjes kunt hergebruiken. Ik vond het erg pittig, maar dat kwam voornamelijk omdat ik me zo druk maakte over wat anderen van mijn programmeerskills zouden denken. (Precies wat Reshma Saujani vertelt in haar TED Talk.) Wat ook niet hielp, was dat er rond die tijd enkele droevige gebeurtenissen in de privésfeer plaatsvonden, waardoor mijn focus en drive tijdelijk wat minder sterk waren. Een naast familielid was ernstig ziek geworden.

Toen we op de hogeschool een text editor in C++ moesten bouwen, dacht ik voor het eerst: Wat voor editor moet het voor de gebruiker zijn? Wat heeft hij nodig? Zit hij wel op mijn editor te wachten? In de les werd daar geen aandacht aan besteed, maar op dat moment is de UX’er in mij ontwaakt!

************* C++ code voor "Hello World"**********************
#include 

main()
{
    cout << "Hello World!";
    return 0;
}
*************************************************************** 

PHP

De lessen op school gingen verder. PHP was toen enorm hot. In mijn derdejaars stage heb ik gewerkt aan een PHP-opdracht en voor mijn afstudeerproject heb ik met PHP een formulierengenerator gemaakt. Met die generator kon je blokken content plaatsen waarmee je formulieren kon genereren, die je dan in een database kon opslaan of kon uitprinten. Het was niet het mooiste stukje werk dat ik ooit heb opgeleverd, maar ik heb het wel afgemaakt. Rond deze tijd was de zorg voor ons familielid mijn prioriteit. Programmeren was meer een blok aan mijn been dan een toffe bezigheid.

************* PHP code voor "Hello World"**********************
<! --php Print "Hello, World!"; -- >
*************************************************************** 

Van programeren naar UX…

Het was altijd mijn droom geweest om naar de universiteit te gaan en nu ik de hogeschool had afgerond, werd het tijd om een vervolgstudie te kiezen. Net in die periode was ik enigszins vastgelopen op een soort ‘programmeerplateau’. Ik had het gevoel dat de rest van de klas alles veel sneller oppikte dan ik. Ik zat er gewoon niet lekker in. Dat heb ik altijd heel erg jammer gevonden en achteraf besef ik dat mijn koppie er toen gewoon niet naar stond. Er was thuis domweg te veel gaande. Een ding wist ik wel, ik wilde even niets meer met programmeren te maken hebben. Mijn eerste doel – erachter komen hoe een computerprogramma werkt – had ik immers als bereikt. Maar hoe nu verder? Herinner je je nog dat ik vertelde dat de UX’er in mij ontwaakte toen ik de text editor moest programmeren? De vraagstukken rond het bouwen van een applicatie bleven door mijn hoofd gaan. Dus dook het internet op. Daar stuitte ik op de master Human Centered Computing (later Human Centered Multimedia genoemd) aan de Universiteit van Amsterdam. (In die tijd werd de term ‘User Experience Design’ nog niet zo gebezigd.) Deze master sloot precies aan bij de vraagstukken waar ik mee bezig was. Dat is de reden waarom ik van het programmeren ben afgezwaaid en meer richting de onderzoekswereld ben gegaan.

…en terug naar programmeren (met UX)

In 2018 ben ik eens heel goed bij mezelf te rade gegaan. En uiteindelijk besloot ik naar dat innerlijke stemmetje te luisteren en de code weer op te pakken. De tijden zijn veranderd: ik ben ouder geworden en mijn onzekerheid is een stuk minder dan vroeger. Daarnaast heb ik een drietal drijfveren die mij zeker op het spoor zullen houden en waarmee ik alle programmeerhobbels aankan: coden om mijn UX-diensten te verbeteren; coden omdat ik het mijn kids wil leren en coden om de onzekere Francesca van 17 jaar te laten zien dat ik het wel degelijk kan.

Cheers!

Francesca

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *