Telkens val ik van de ene verbazing in de andere. Hierboven staat een artikel die gaat over het feit dat vrouwen begrijpelijker zouden programmeren dan mannen. In de commentaren zie je daar bar weinig van terug. Een stelletje programmeurs (kunnen mannen èn vrouwen zijn) willen vooral in hun commentaar laten zien hoe goed ze wel niet met C (++) om kunnen gaan. Absoluut niet de issue en jammer van de database, die ze met die verhalen vervuilen.
Ik stel voor dat we weer eens terug on-topic gaan.
Wat mij opvalt is ten eerste dat een vrouw de stelling poneert. Nu is een redelijk bekend feit dat vrouwen in topposities, om zich te handhaven in de mannenwereld, een verhoogd mannengedrag eigen maken. Wij mannen hebben een hoog macho gehalte (sorry voor de lange zere tenen), dat zie je terug bij vrouwen in topposities (wederom sorry voor de tenen). Dat wetende zorgt ervoor dat je de uitspraak met de nodige voorzichtigheid moet benaderen.
Stel dat het inderdaad zo is dat vrouwen betere code schrijven.
Niet in de zin van dat het programma betere zijn werk doet, maar in de zin van dat het onderhoud beter erop gepleegd kan worden.
Aan de basis liggen een paar uitgangspunten:
- Iedereen die wat van programmeren en de levenscyclus van programma's weet, weet dat het onderhoud factoren meer tijd vergt dan het oorspronkelijk ontwerpen en schrijven van de programmatuur.
- Ook, als je er wat vanaf weet (en dat betwijfel ik zo nu en dan als ik de commentaren lees) dat een uitgebreidere code niet altijd een slechter performende gecompileerde code oplevert.
- Het is dus zaak als programmeur dat je een beetje begrijpt hoe een compiler werkt, zodat je op die wijze een optimale code kunt schrijven. Het is namelijk mogelijk voor eenieder die dit leest, om met een beperkt aantal codestatements, een mainframe plat te leggen. Lengte van de code is dus (realtief) onbelangrijk.
Tot op heden is de computer wereld een mannenwereld, dat wil zeggen dat een vrouw die zich in deze wereld vecht en handhaaft betere prestaties moet leveren dan een man. M.a.w het gemiddelde niveau van een vrouw zal (tot op heden) hoger zijn dan die van een man.
Als dat zo is dan zullen zij ook wel beter werk afleveren. Ik in ieder geval werk(te) ik altijd graag met vrouwen in mijn team. Maar daar liggen ook andere redenen aan ten grondslag (overigens geen seksistische!) die buiten het kader van dit bovenstaand artikel vallen.
Door enerzijds de grote vraag naar IT-ers en anderzijds het gemak waarmee een man deze wereld kan betreden, zitten er m.i. nogal wat kneusjes tussen. Men schrijft thuis een programmaatje, dat werkt, en denkt het programmeren onder de knie te hebben. Hoe anders is de realiteit als je de "echte" programmeerwereld instapt. De hele discussies die hierboven gevoerd worden, bevestigen deze gedachtegang. De echte issues komen niet ter spraken, nee men discussieert over een klein stukje code.
Een vrouw kan zich hier nauwelijks aan bezondigen, het wordt gewoon niet geaccepteerd, zij moet namelijk echt goed zijn, dus een programmaatje thuis schrijven is niet toereikend.
Ik kom nog uit de oude 3-de-generatie-taal-wereld. Tijdens mijn studie en promotieonderzoek werkte ik met talen als Pascal, Fortran en heel af en toe Basic. Mijn omscholing richting automatisering leidde er toe dat ik Cobol en later RPG leerde. Allemaal typisch procedurele talen. Een blauwe maandag heb ik nog in C en Oracle/SQL geprogrammeerd, maar op dat moment was ik ondertussen zover "uitgefaseerd" dat ik aan schrijven nog maar nauwelijks toe kwam. Oracle/SQL zijn vreemde eenden in de bijt, de andere talen kun je best op een hoop vegen. Waarbij opvalt dat C (en alle later afgeleide talen daarvan) zich kenmerkte door het feit dat je ontzettend veel statements in één coderegel kunt proppen. Een ontwikkeling die de leesbaarheid van de programmatuur negatief beïnvloedde. Zelfs voor de programmeur zaten er grote risico's aan, ook hij/zij overzag niet altijd wat er allemaal kon gebeuren ( de eenvoudige voorbeelden hierboven, met de correcties daarop in de reacties onderschrijven dit nogmaals).
Goede programmatuur onderscheidt zich in mijn ogen door het feit dat het goed is uitgedacht (niet: we beginnen maar en kijken waar het schip strand; maar: het (deel)probleem goed analyseren). Bij die analyse deel je het spul in hapbare brokjes. Wat er niet in thuishoort of meerdere keren gebruikt wordt eruit gehaald en ondergebracht naar (blackbox) functies of procedures. Die functies/procedures (via commentaar) dienen opruwweg twee niveaus goed omschreven te zijn. Ten eerste als blackbox: wat moet erin en wat komt eruit; ten tweede in de functie/procedure zelf, maar daar staat het technische verhaal; dus wat het doet en hoe. Afhankelijk van de functie/procedure
kan het ook nog in het functionele ontwerp beschreven zijn, maar dat hoeft niet.
Door programmatuur op deze wijze op te zetten (is maar één van de punten voor goede programmatuur) zul je een goed te onderhouden systeem bouwen, zonder dat daar allerlei artefacten in komen als het systeem later gemodificeerd wordt.
Terug naar het artikel. Doet een vrouw dit beter dan een man. Ik denk het niet. Iedereen die een goede programmeeropleiding heeft genoten, er niet op kick dat hij een regel minder heeft gebruikt dan zijn collega, oog heeft voor het onderhoud, zal op deze manier programmeren. Blijft het feit staan, dat ik van mening ben dat het gemiddelde niveau van een vrouw hoger is (zal in de toekomst wel wijzigen) en dat ze daardoor betere code genereren. Wat de vrouw wel als voordeel heeft t.o.v. de man is het veel lagere macho-gedrag, hetgeen sterk in hun voordeel kan werken. Maar ik durf te stellen, dat ik als man, het best aan durf de competitie aan te gaan met elke vrouw , wat betreft onderhoudbaarheid en leesbaarheid van de code die ik produceer.
Waarmee ik wil zeggen, dat ik het niet typisch iets vrouwelijks vind!
[Reactie gewijzigd door Pjerry op 22 juli 2024 17:12]