Mijn voorkeur voor de C# omgeving
De mensen die mij wat beter kennen weten wel dat mijn voorkeur uitgaat voornamelijk uit gaat naar C#. Dit is misschien gevaarlijk om mij hiertoe te laten beperken, toch wil ik proberen te vertellen waarom mijn voorkeur uitgaat naar C# ten koste van PHP. Er zijn natuurlijk ook nog vele andere programmeer talen maar die ga ik hier niet meenemen vooral door het gebrek aan kennis erover.
Goed waar ga je beginnen met zo’n stuk. Voor een belangrijk gedeelte wil ik verder kijken dan alleen de programmeer taal C# of PHP omdat er denk ik zoveel meer is dat je productief maakt als programmeur. De tooling die je met C# er bij krijgt is over het algemeen veel eenduidiger en er is weinig discussie over. Als ik aan een C# developer vraag welke IDE hij gebruikt zal die gene bijna altijd antwoorden dat dat Visual Studio is en dan nog het liefst de nieuwste die op dit moment verkrijgbaar is. Ik geef toe dat naast dit pakket pakket zijn er weinig goede bekende pakketten om in C# te ontwikkelen. Vraag je aan een paar willekeurige PHP developers welke IDE ze het liefst gebruiken dan zou ik geen idee hebben wat ze zouden gebruiken er worden erg veel verschillende pakketten gebruikt maar er is niet echt een standaard in te vinden. Er zijn ook nog genoeg mensen die ik ken die liever helemaal geen IDE gebruiken en gewoon een simpele editor als Notepad++ of Sublime gebruiken. Als ik zelf in PHP programmeer gaat mijn voorkeur uit naar PHPStorm van Jetbrains ook al vind ik het wat betreft mogelijkheden en gebruiksvriendelijkheid niet in de buurt komen in vergelijking met wat ik kan met Visual Studio. Laat ik een voorbeeld geven met debuggen. In Visual studio heb ik nooit iets moeten configureren om dit werkend te krijgen, het was een breakpoint neerzetten de applicatie in debug starten en gaan maar hij deed het. In PHPStorm moest ik zorgen dat Xdebug geïnstalleerd was, en moest ik vervolgens in een apart menuutje instellen waar ik mijn PHP interpeter had geïnstalleerd. Na dit gedaan hebben werkte het dan alsnog behalve dan dat ik het jammer vind dat dan mijn wamp installatie grotendeels niet wordt gebruikt behalve dat ik het nog moet gebruiken om de MySQL server te starten. Vergeet ook niet dat je omgeving hierdoor iets veranderd en code die andere mensen in een wamp installatie hebben geschreven het niet doen in jou debug modus.
Afgelopen tijd ben ik op stage onder andere bezig geweest met het onderzoeken van welke framework we gingen gebruiken voor de backend van ons interne systeem dat we willen gaan bouwen. Omdat dit een vrij groot systeem die voor een langere tijd mee moet gaan is het van belang dat hier een gedegen keuze wordt gemaakt voor de komende periode. Ik heb hier naar verschillende frameworks gekeken samen met een collega gekeken. Hierbij is mij opgevallen dat er veel diversiteit is aan verschillende systemen waar je een keuze uit moet maken en dan niet te vergeten de vele zelfgemaakte frameworks die zijn gemaakt binnen bedrijven maken het niet altijd makkelijk om direct te beginnen en de juiste keuzes maken voor een team of als developer om op te richten voor je carrière.
Diversiteit binnen de PHP community. Je kan het een positief punt noemen maar persoonlijk heb ik het idee dat het niet altijd tot de beste resultaten zorgt. Er is veel keuze dat kan handig zijn maar ik ervaar het vaak toch dat het net niet zo lekker werkt als dat ik dat gewend ben binnen de .NET omgeving. Een ander belangrijk voorbeeld dat ik ook nog zeker genoemd wou hebben is de documentatie voor de ontwikkelaars die de libraries en functies willen implementeren binnen hun software. veel libraries en frameworks worden ontwikkeld door allerlei verschillende community’s en bedrijven. Al deze verschillende partijen houden er een andere manier van documenteren op na. En als ik het over manieren heb dan heb ik het zowel over de stijl van de documentatie als de kwaliteit. De steeds wisselende stijl zorgt er voor dat het toch telkens weer even net wat extra tijd kost om bijvoorbeeld bepaalde dingen in de documentatie te vinden die je graag zou willen weten. Het andere punt van de kwaliteit is iets wat ook niet prettig is als gebruiker. Ik kan het voorstellen dat als je vrijwillig aan een prachtig framework aan het bouwen bent dat je het niet zo leuk vind om het te documenteren maar het is wel belangrijk als andere programmeurs het willen gebruiken.
Ik zit nu vast aan het bedrijf Microsoft maar vind dit eigenlijk helemaal niet erg. Op het gebied van tooling en documentatie leveren ze mij prima kwaliteit. Je zit nu nog meestal vast aan het Windows besturingssysteem maar met de laatste ontwikkelingen richting onder andere open source vind ik dat ze goed bezig zijn. Ze durven innovatief te wezen maar mede door dat het een groot bedrijf is wat een reputatie heeft hoog te houden op stabiliteit voor de enterprise markt zullen ze ondersteuning voor producten niet zomaar droppen.
Met dit artikel heb proberen uit te leggen waarom ik de omgeving die ik als C# ontwikkelaar om mij heen heb prettiger dan die ik zou hebben als PHP ontwikkelaar. Later wil ik misschien nog wel een keer een artikel schrijven over taal specifieke dingen die ik prettiger vind aan C#. Als Jullie nog opmerkingen of vragen hebben dan hoor ik dit graag.