donderdag 4 februari 2010

C#?!

't Is ondertussen al zo ongeveer vijf en dertig jaar geleden dat ik voor het eerst een computerprogrammaatje maakte. Er zijn oudgedienden die erin geslaagd zijn om in zo'n lange periode vooral bezig te zijn met één of een paar verschillende programmeertalen. Dan heb je het dus over mensen die het grootste deel van hun werkzame leven met een taal als PL/1 of Cobol hebben gewerkt.

Zo niet ik. Als kind programmeerde ik (met enige hulp van papa) op een IBM-mainframe in een scripttaaltje dat Exec heette. In de middelbare-schooljaren was het vooral Basic (een spaghetti-taal) en APL (een nogal wiskundige taal). Allebei write-only-talen: het is veel te makkelijk om er een chaotisch of onleesbaar programma in te schrijven. Later kwam (Turbo) Pascal; die taal was wat dat betreft een stuk beter.



Tijdens het voortgezet onderwijs kwam C in mijn leven. Dat was eerst even schrikken; 't was nogal cryptisch. Maar dat wende gauw en ik vind het nog steeds één van de fijnste talen om mee te werken. Ik maakte verder kennis met diverse assembly-talen en machinetalen, en zelfs Prolog. Tijdens stage leerde ik PL/1 kennen, en Rexx (een opvolger van Exec). Als afstudeeropdracht schreef ik een compiler voor Modula-2 (een opvolger van Pascal). In C.

Bij mijn eerste baan programmeerde ik in het begin vooral in C. Later moest ik in Visual Basic werken. Die taal heeft z'n toepassingsgebied - en daar zaten wij ver buiten. 't Was één van de redenen dat ik ontslag nam. Bij de volgende werkgever kwam ik in de wondere wereld van Perl terecht. En UNIX shell scripts. En uitgebreide makefiles.

the Perl Camel
(a trademark of O'Reilly - www.perl.com)


Ondertussen had ik ook kennis gemaakt met C++. Ik vond de concepten wel interessant, maar de taal was zo rommelig, en zich nog zo aan het ontwikkelen, dat ik me er niet echt toe aangetrokken voelde. En 't was er eigenlijk ook niet van gekomen om er echt iets mee te doen.

Bij mijn derde baas leerde ik Java kennen. Wat een heerlijke taal! Veel van de goede concepten van C++, maar dan zonder de meeste nadelen van C++. En uitstekend gedocumenteerd. Ik heb jarenlang bijna niets anders gedaan. Eigenlijk alleen tussendoor wat JavaScript, een grappig modern scripttaaltje. En toen kwam ik opeens bij het onderhoud van oude software terecht. Ik ging in Cobol werken! Gelukkig maar heel eventjes. Toen was het weer een hele tijd C (en een beetje C++).

Dino
(© 2007 Frans van Otten)


Ik heb al die tijd geprobeerd wat afstand te houden van Microsoft Windows-specifieke programmeertalen en -omgevingen. Mijn ervaringen daarmee waren niet zo positief. Zolang je je precies aan hun manier van werken hield, dan ging het wel goed. Maar zodra je daar ook maar een beetje buiten kwam, dan werd het opeens heel lastig. Het spul was rommelig, slecht gedocumenteerd en foutgevoelig.

Nu ontkom ik er niet meer aan. Ik moet in .Net werken, met C#. En wat blijkt? Ik vind het niet eens zo heel erg. C# is dan ook een moderne taal, en voor een groot deel gebaseerd op Java. Ik vermaak me eigenlijk best wel.

Maar ik denk dat ik nooit zal wennen aan Visual Studio. Zo'n grafisch georiënteerde geïntegreerde ontwikkelomgeving vind ik maar niks. Eclipse vond ik ook al waardeloos. Geef mij maar Emacs en een bash-shell.