Kend dit modersmål!
Den hollandske datalog Edsger Dijsktra er kilde til mange gode citater. Det citat jeg vil fokusere på i dag er fra hans Turing Award tale:
``Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent
programmer.''
Den første del handler om matematisk sans. Bemærk, at der ikke er tale om matematisk viden, kun matematisk sans: Man behøver ikke kende til avanceret topologi eller C*-algebra, man skal blot kunne ræsonnere logisk og systematisk -- ligesom man gør i matematik.
Men det er den anden del af citatet, der er det vigtigste, blandt andet fordi det ofte bliver overset: Hvis man ikke i sit modersmål (som man har brugt i adskillige år) kan udtrykke sig klart, præcist, korrekt, entydigt og fuldstændigt, hvordan skal man så håbe at kunne udtrykke sig klart, præcist, korrekt, entydigt og fuldstændigt i et andet sprog, inklusive programmeringssprog?
Der er selvfølgelig forskelle mellem programmeringssprog og de såkaldte "naturlige sprog" såsom dansk og engelsk: Programmeringssprog har et langt mindre ordforråd end naturlige sprog og er ikke nær så afhængige af underforstået kontekst for at give entydig mening til tekster (programmer). Men en af de ting, der adskiller en kompetent sprogbruger fra en middelmådig sprogbruger er netop at kunne løsrive sig fra konteksten og udtrykke sig klart uden at underforstå en meget specifik kontekst, som læseren måske ikke har: Den middelmådige sprogbruger vil ofte appellere til modtagerens evne til at "forstå hvad jeg mener, og ikke hvad jeg siger". Computere har ikke denne evne, så man er nødt til at være præcis, entydig, komplet og korrekt i sin kommunikation med dem. Og det har (uanset sproget) kompetente sprogbrugere det nemmere ved. Det ser man også tit, når man retter opgaver: De studerende, der udtrykker sig uklart i tekst, har ofte også den dårligste kode i deres programmer.
Jeg vil dog lige skynde mig at sige, at ordblindhed ikke er en hindring for god programmering: Der har været forsøg, der viste at ordblinde kunne lære piktografiske sprog (som kinesisk) lige så let som andre, så ordblindhed har meget at gøre med den måde, indoeuropæiske skriftsprog er strukturerede og mindre med egentlig sprogsans. Så mit råd til ordblinde er: Vælg programmeringssprog, der minder mere om piktografiske sprog end om fonetisk skrift, f.eks. APL. Og mit råd til sprogdesignere er: Reducer brugen af keywords på engelsk eller dansk såvidt muligt og brug ikke-verbale symboler såsom matematiske symboler.
En artikel i The Register beskriver et programmeringssprog, der bruger arabisk skrift i stedet for det latinske alfabet. Et af argumenterne er, at traditionelle programmeringssprog er eurocentriske i deres brug af alfabet, hvilket giver "ikke-vestlige" en ulempe. Men dette sprog erstatter blot et sprogcentrisk alfabet med et andet sprogcentrisk alfabet, så det flytter blot problemet.
En anden ting, der adskiller middelmådige sprogbrugere fra kompetente ditto, er deres tyrkertro på, at en tekst er korrekt, når blot der ikke er røde bølgelinjer under teksten i Word: De er ikke i stand til at afgøre når Word tager fejl, og følger derfor blindt dens anvisninger. En kompetent sprogbruger bruger i stedet stave- og grammatikcheck til at fange slåfejl, men tager stilling til de råd, Word giver, og kunne godt undvære checket -- det ville blot kræve en ekstra gennemlæsning af teksten til korrektur. På samme måde er middelmådige programmører kendetegnet ved ikke at kunne undvære en IDE og have svært ved at finde fejl, som deres IDE ikke markerer, hvor en kompetent programmør bruger en IDE til at gøre sit arbejde hurtigere, men sagtens kunne undvære denne.
Så et godt råd til ledere, der vil ansætte programmører: Spørg ikke om, hvor mange års erfaring de har med Java, C eller lignende, men bed dem om at skrive en tekst på dansk eller engelsk. For eksempel en brugsanvisning til en tekande eller reglerne til kryds-og-bolle. Hvis de kan gøre dette, så det er forståeligt for folk, der ikke har set en tekande før eller aldrig spillet kryds-og-bolle, så skal de nok også være gode programmører.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.