Hans Vermeulen und Kees Verbaan werden zu den „Lehrern des Jahres“ des High Tech Institute gewählt

Hans Vermeulen und Kees Verbaan wurden zu den „Lehrern des Jahres“ des High Tech Institute ernannt. Ihre innerbetriebliche Ausbildung wurde hoch gelobt und mit einer Gesamtnote von 9,7 bewertet, während das Duo als Dozenten eine 9,9 erhielt.

Im Oktober 2022 wurde das Duo nach Wilton in den USA gebeten, um dort eine firmeninterne Ausgabe der Schulung Passive Dämpfung für High-Tech-Systeme für eine Gruppe von 17 Mitarbeitern zu halten. Auf die Frage nach einer Empfehlungsnote antworteten die Teilnehmer mit 9,7 von 10 möglichen Punkten und gaben den Dozenten eine Note von 9,9. Die Befragten gaben auch mehrere lobende Kommentare ab. „Der ganze Kurs hat mir sehr gut gefallen“, sagte einer der Teilnehmer. Ein anderer wies darauf hin, dass es eine gute Mischung aus Theorie und praktischen Fallstudien gab. Andere positive Kommentare: „Ein ausgezeichneter Kurs. Ich bin froh, dass ich daran teilnehmen konnte“ und „Tolle praktische Übungen und großes Engagement mit dem Publikum und Interaktion.“

Prof. Hans Vermeulen ist Senior Principal Architect EUV-Optik bei ASML und Teilzeit-Professor an der Technischen Universität Eindhoven. Dr. Kees Verbaan ist Systemarchitekt bei der NTS Group, einem First-Tier-Lieferanten für High-Tech-Maschinenbau. Beide sind Teil des Dozententeams für die Schulung „Passive Dämpfung für Hightech-Systeme“ der Mechatronics Academy. Der 3-tägige Kurs richtet sich an alle Ingenieure, die sich mit hochpräzisen Bewegungssystemen befassen und mehr Einblick in die Möglichkeiten und Grenzen der Anwendungen passiver Dämpfung erhalten möchten.

Die Auswahl des „Lehrers des Jahres“ erfolgt auf der Grundlage aller Bewertungsbögen für die Ausbildung in einem bestimmten Jahr.

Dieser Artikel wurde verfasst von René Raaijmakers, technischer Redakteur von Bits&Chips.

Anspruchsvolles C++

Trotz einer Vielzahl aufstrebender Alternativen ist C++ immer noch eine Macht, mit der man rechnen muss, vor allem in der von Altlasten geplagten High-Tech-Branche. In einer Reihe von Artikeln stellt der Trainer des High Tech Institute, Kris van Rens, die Sprache in eine moderne Perspektive. In unserem neuen 4-tägigen Trainingskurs führt Kris van Rens die Teilnehmer in die Grundlagen der Sprache und die wichtigsten Best Practices ein.

„Es gibt nur zwei Arten von Programmiersprachen: die, über die man sich beschwert, und die, die niemand benutzt. Dies ist ein berühmtes Zitat, das Bjarne Stroustrup, dem Erfinder von C++, zugeschrieben wird. Darin sind ein paar Wahrheiten versteckt.

Erstens und am offensichtlichsten: Keine einzige Programmiersprache ist perfekt, um jedes Problem in jedem Bereich zu lösen. Vor allem, wenn eine Sprache als „Allzwecksprache“ angepriesen wird, wie C++, kann sie fast überall eingesetzt werden, aber wahrscheinlich gibt es eine Diskrepanz zwischen dem verwendeten Werkzeug und dem benötigten Werkzeug. Es ist zum Beispiel durchaus möglich, eine komplette Webanwendung in C++ zu schreiben, aber ist es auch das richtige Werkzeug für diese Aufgabe? Persönlich würde ich das nicht sagen.

Wenn sich eine Sprache weiterentwickelt und altert, ist es sehr wichtig, dass es einen klaren Prozess für den Umgang mit (fehlerhaften?) Änderungen gibt. Ein konservativer und sicherer Ansatz besteht darin, die Abwärtskompatibilität ab der ersten stabilen Version aufrechtzuerhalten. Dies ist der Ansatz, den C++ seit Jahrzehnten verfolgt und an den es sich gehalten hat – was leider auch die Übernahme einiger Sprachverbesserungen verhindert.

Eine weitere versteckte Wahrheit aus dem Eingangszitat: Die Benutzerbasis ist extrem wichtig. Sie könnten die schönste, sicherste und angenehmste Programmiersprache aller Zeiten entwickeln. Aber was nützt Ihnen das, wenn sie nur von wenigen Menschen benutzt wird?

Gute Anwärter

Ein gutes Modell für die Bedeutung von Programmiersprachen ist ein mechanisches Schwungrad. Je größer die Benutzerbasis, desto größer das Schwungrad und die Rotationsgeschwindigkeit. Die Größe der Benutzerbasis wird durch die Anzahl der aktiven Entwickler, die vorhandenen Codebasen, die Abhängigkeiten zwischen den einzelnen Codebasen und andere Faktoren wie die Unterstützung der Integration durch Dritte bestimmt. Zumindest für C++ hat dieses Schwungrad noch eine enorme Dynamik. Dennoch gibt es Kräfte, die diese Dynamik langsam aufzehren. Andere Sprachen im Bereich der Systemprogrammierung gewinnen Teile der C++-Benutzerbasis für sich.

Zuvor habe ich über die Ankündigung der Programmiersprache Carbon geschrieben, einem C++-Nachfolger, der von Google ins Leben gerufen wurde, aber es gibt noch viele weitere Alternativen. Einige von ihnen, wie Zig, Odin und Go, sind eher auf C als auf C++ ausgerichtet – diese werde ich hier nicht behandeln. Um pragmatisch zu sein, werde ich Sprachen, die zu klein oder experimentell sind, wie Nim, Val, Vale, Cpp2 und Jakt, auslassen. Damit bleibt nur eine Handvoll „ernsthafter“ Alternativen übrig, darunter Rust, Swift, D und Circle.

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

Was macht eine Sprache zu einem guten Anwärter für eine große C++-Benutzerbasis? Wir können damit beginnen, die Eigenschaften zu betrachten, bei denen C++ im Allgemeinen versagt. Verfügt die Alternative beispielsweise über eine durchgängig ‚moderne Syntax‘? Verfügt sie über eine eingebaute garantierte Sicherheit, z.B. für Speicher oder mathematische Operationen? Verfügt sie über ein Tooling/Packaging-Ökosystem? Die Interoperabilität von C++ ist ein weiterer sehr wichtiger Aspekt. Eine Schnittstelle für Fremdfunktionen (FFI) im Stil von C ist zwar schön, aber es ist eine Verschlechterung, wenn wir unsere C++-Schnittstellen an diese Schnittstelle anpassen müssen.

Eine dieser Eigenschaften zu haben, reicht jedoch nicht aus. Eine moderne und saubere Syntax ist sehr schön, aber sie allein reicht nicht aus. Ein großartiges Tooling-Ökosystem ist fantastisch, aber auch hier reicht es allein nicht aus. Wenn Sie eine Chance haben wollen, mit C++ erfolgreich zu sein, brauchen Sie meiner Meinung nach mindestens die folgenden drei Zutaten: eine 10-fache Verbesserung irgendeines Aspekts der Sprache, garantierte Speichersicherheit und gute Interoperabilität mit bestehendem C++-Code.

Ankreuzen der Kästchen

Wenn man sich unsere ernsthaften Alternativen ansieht, fehlt einer Sprache wie D die 10-fache Verbesserung. Deshalb denke ich, dass sie sich nie wirklich durchgesetzt hat, obwohl sie schon 20 Jahre alt ist. Das Ein-Mann-Projekt Circle ist sehr beeindruckend, vor allem wegen seiner Möglichkeiten, mit der Sprache zu experimentieren. Und vor allem ist es, abgesehen von der Entnahme von Feature-Flags, um Sprachverbesserungen zu ermöglichen, vollständig kompatibel mit C++. Leider ist Circle nicht offen geregelt und es fehlt ihm an garantierter Speichersicherheit. Swift verfügt über hervorragende Werkzeuge, ist aber zu sehr auf die Apple-Plattform ausgerichtet und bietet nur eine teilweise bzw. in Arbeit befindliche Interoperabilität mit C++.

Rust erfüllt die meisten Kriterien. Es hat sogar schon eine recht anständige Benutzerbasis. Obwohl es auch an echter, ausgereifter C++-Interoperabilität mangelt, ist es heute der vielversprechendste Anwärter. Mehr zu Rust in meinem nächsten Beitrag.

Modernisieren Sie Ihre Codebasis mit C++20

Modernisierung Ihrer Codebasis

Kostenloses Webinar 2 Februar 2023

Am 2. Februar 2023, von 16 – 17 Uhr, veranstaltete das High Tech Institute ein kostenloses Webinar zum Thema ‚Modernisieren Sie Ihre Codebasis mit C++20‘. Das Webinar wurde von Kris van Rens, Trainer der neuen C++ Grundlagenschulung, gehalten.

Klicken Sie hier, um die Aufzeichnung dieses Webinars anzusehen.

Um direkt zu den Präsentationsfolien zu gelangen:
Kris van Rens – HTI – Modernisieren Sie Ihre Codebasis mit cpp20.

Objective

Da viele Produktions-Toolketten jetzt C++20-Funktionen übernehmen, wird das Potenzial dieser Sprachversion erschlossen. Welche Vorteile können aktuelle Versionen wie C++20 für Ihre Codebasis bieten? In dieser Sitzung werden wir einen Blick auf die großen Verbesserungen werfen, die C++ in letzter Zeit erfahren hat, und uns ansehen, wie Funktionen wie Konzepte und Bereiche Ihren Code verändern können.

Bestimmt für

Fachleute im Bereich Softwareentwicklung, Anfänger bis Fortgeschrittene, die sich für C++ interessieren.

Webinar-Programm ‚Modernisieren Sie Ihre Code-Basis mit C++20‘.

  • Intro
  • Globaler Überblick über die Funktionen von C++20
  • Ausführliche Beispiele für Konzepte
  • Ausführliche Beispiele für Bereiche
  • Fazit

Trainer

Kris van Rens