Hans Vermeulen en Kees Verbaan verkozen tot “Leraren van het Jaar” van het High Tech Institute

Hans Vermeulen en Kees Verbaan zijn uitgeroepen tot “Docenten van het Jaar” van High Tech Institute. Hun in-company training kreeg veel lof en een algemene beoordeling van 9,7, terwijl het duo als docent een 9,9 scoorde.

In oktober 2022 werd het duo gevraagd om naar Wilton in de VS te komen voor een in-company editie van de Passieve demping voor hightech systemen training aan een groep van 17 medewerkers. Op de vraag om een aanbevelingsscore, reageerden de deelnemers met een nadrukkelijke 9,7 punten uit een mogelijke 10, en gaven de docenten een score van 9,9. Respondenten gaven ook verschillende lovende opmerkingen. “Ik heb genoten van de hele cursus”, zei een van de cursisten. Een ander merkte op dat er een goede mix was van theorie en praktische casestudies. Andere positieve opmerkingen “Een uitstekende cursus. Ik ben blij dat ik kon deelnemen” en “Geweldige praktische oefeningen en grote betrokkenheid bij het publiek en interactie”.

Prof. dr. Hans Vermeulen is senior principal architect EUV-optics bij ASML en deeltijd hoogleraar aan de Technische Universiteit Eindhoven. Dr. Kees Verbaan is systeemarchitect bij NTS Group, een eersterangsleverancier voor hightech machineontwerp. Beiden maken deel uit van het docententeam voor de training “Passive damping for high tech systems” van Mechatronics Academy. De 3-daagse cursus is bedoeld voor alle engineers die betrokken zijn bij high-precision motion systemen en meer inzicht willen krijgen in de mogelijkheden en beperkingen voor de toepassingen van passieve demping.

De selectie van de prijs “Leraar van het Jaar” is gebaseerd op alle evaluatieformulieren van de opleiding in een bepaald jaar.

Dit artikel is geschreven door René Raaijmakers, techredacteur van Bits&Chips.

Uitdagend C++

Ondanks een groot aantal opkomende alternatieven is C++ nog steeds een kracht om rekening mee te houden, zeker in de door legacy geplaagde high-tech industrie. In een serie artikelen plaatst High Tech Institute trainer Kris van Rens de taal in een modern perspectief. In onze nieuwe 4-daagse training laat Kris van Rens deelnemers kennismaken met de basisprincipes van de taal en essentiële best practices.

“Er zijn maar twee soorten programmeertalen: de talen waar mensen over klagen en de talen die niemand gebruikt.” Dit is een beroemde uitspraak van Bjarne Stroustrup, de bedenker van C++. Er zitten een paar waarheden in verborgen.

Ten eerste en meest voor de hand liggend: geen enkele programmeertaal is perfect voor het oplossen van elk probleem in elk domein. Vooral wanneer een taal wordt aangeprezen als “universeel”, zoals C++, kan deze bijna overal worden toegepast, maar de kans is groot dat er een mismatch is tussen het gebruikte gereedschap en het vereiste gereedschap. Het is bijvoorbeeld heel goed mogelijk om een complete webapplicatie in C++ te schrijven, maar is het ook het juiste gereedschap voor deze taak? Persoonlijk zou ik zeggen van niet.

Dan, als een taal evolueert en veroudert, is het erg belangrijk dat er een duidelijk proces is om om te gaan met (brekende?) veranderingen. Een conservatieve en veilige aanpak is het handhaven van achterwaartse compatibiliteit vanaf de eerste stabiele release. Dit is de aanpak die C++ al tientallen jaren volgt en naleeft – wat helaas ook de adoptie van sommige taalverbeteringen blokkeert.

Nog een verborgen waarheid uit het openingscitaat: de gebruikersbasis is extreem belangrijk. Je kunt de mooiste, veiligste, veiligste en prettigste programmeertaal ooit ontwerpen. Maar wat heb je daaraan als maar een paar mensen het gebruiken?

Goede kanshebbers

Een goed model voor het belang van programmeertaal is een mechanisch vliegwiel; hoe groter de gebruikersbasis, hoe groter het vliegwiel en de rotatiesnelheid. De grootte van de gebruikersbasis wordt bepaald door het aantal actieve ontwikkelaars, bestaande codebases, onderlinge afhankelijkheid van afzonderlijke codebases en andere factoren zoals integratieondersteuning door derden. Voor C++ heeft dit vliegwiel tenminste nog een enorm momentum. Toch zijn er krachten aan het werk die dit momentum langzaam wegvreten. Andere talen op het gebied van systeemprogrammering zijn delen van de C++ gebruikersbasis aan het overnemen.

Eerder schreef ik over de aankondiging van de programmeertaal Carbon, een C++ opvolger gestart door Google, maar er zijn veel meer alternatieven. Sommige daarvan, zoals Zig, Odin en Go, zijn meer gericht op C dan op C++ – die ga ik hier niet behandelen. Verder sla ik, om pragmatisch te zijn, talen over die te klein of experimenteel zijn, zoals Nim, Val, Vale, Cpp2 en Jakt. Dan blijft er slechts een handvol ‘serieuze’ alternatieven over, waaronder Rust, Swift, D en Circle.

''A good model for programming language significance is a mechanical flywheel.''

Wat maakt een taal een goede kanshebber voor grootschalige adoptie door gebruikers van C++? We kunnen beginnen met te kijken naar de eigenschappen waar C++ over het algemeen tekortschiet. Heeft het alternatief bijvoorbeeld een ‘moderne syntaxis’? Heeft het een soort ingebouwde gegarandeerde veiligheid, zoals veiligheid van geheugen of wiskundige bewerkingen? Wordt het geleverd met een tooling/packaging ecosysteem? C++ interoperabiliteit is een ander zeer belangrijk aspect. Een C-stijl foreign function interface (FFI) is leuk, maar het voelt als een downgrade als we onze C++ interfaces daaraan moeten aanpassen.

Het hebben van één van deze eigenschappen is echter niet genoeg. Een moderne en schone syntax is erg mooi, maar is op zichzelf niet genoeg. Een geweldig tooling ecosysteem is fantastisch maar, nogmaals, niet goed genoeg op zichzelf. Naar mijn mening, als je enige kans van slagen wilt hebben in C++, heb je op zijn minst de volgende drie ingrediënten nodig: een 10x verbetering op een bepaald aspect van de taal, gegarandeerde geheugenveiligheid en goede interoperabiliteit met bestaande C++ code.

De vakjes aanvinken

Als we kijken naar onze serieuze alternatieven, dan mist een taal als D de 10x verbetering. Daarom denk ik dat het nooit echt van de grond is gekomen, ook al is het al 20 jaar oud. Het eenmansproject Circle is erg indrukwekkend, vooral vanwege de experimenteermogelijkheden op het gebied van taalontwikkeling. En bovenal, met uitzondering van het nemen van feature flags om taalverbeteringen mogelijk te maken, is het volledig compatibel met C++. Helaas is Circle niet openlijk bestuurd en mist het gegarandeerde geheugenveiligheid. Swift wordt geleverd met uitstekende tooling, maar het is te veel gericht op het Apple-platform en het heeft slechts gedeeltelijke/werk-in-uitvoering interoperabiliteit met C++.

Rust voldoet aan de meeste eisen. Het heeft zelfs al een behoorlijke gebruikersbasis. Hoewel het ook echte, volwassen C++ interoperabiliteit mist, is het vandaag de dag de meest veelbelovende mededinger. Meer over Rust in mijn volgende bijdrage.

Uw codebasis moderniseren met C++20

Je codebasis moderniseren

Gratis webinar 2 februari 2023

Op 2 februari 2023, van 16.00 – 17.00 uur, organiseerde High Tech Institute een gratis webinar over ‘Moderniseren van uw code base met C++20’. Het webinar werd gegeven door Kris van Rens, trainer van de nieuwe C++ Fundamentals training.

Klik hier om de opname van dit webinar te bekijken.

Om direct naar de presentatiedia’s te gaan:
Kris van Rens – HTI – Je codebase moderniseren met cpp20.

Objective

Nu veel productietoolketens C++20 gebruiken, wordt het potentieel van deze taalversie ontsloten. Welke voordelen kunnen recente versies zoals C++20 bieden voor uw codebase? In deze sessie kijken we naar de grote verbeteringen die C++ de laatste tijd heeft doorgemaakt en bekijken we hoe functies zoals concepten en bereiken uw code kunnen transformeren.

Bestemd voor

Professionals in software engineering, niveau beginner tot gevorderd, geïnteresseerd in C++.

Webinarprogramma ‘Uw codebasis moderniseren met C++20’

  • Intro
  • Algemeen overzicht van C++20 functies
  • Diepgaande voorbeelden van concepten
  • Diepgaande voorbeelden van bereiken
  • Conclusie

Trainers

Kris van Rens