CircleCI-Daten geben Aufschluss über Sprachtrends 3 Programmiersprachen für agile Development-Teams
Anbieter zum Thema
Moderne und agil aufgestellte Development-Teams nutzen mitunter ganz andere Werkzeuge und Programmiersprachen als traditionelle Abteilungen. Drei Sprachen-Trends hat CircleCI-CTO Rob Zuber aus den Daten seines Arbeitgebers abgeleitet.

Die Bereitstellung von Software gestaltet sich für Unternehmen branchenweit zunehmend komplex und wird dadurch zum entscheidenden Erfolgsfaktor. Verschiedene Tools, zahlreiche Prozesse und auch die größer werdende Zahl an Programmiersprachen tragen zur Komplexität bei. Es gilt, schnell agieren, automatisieren und skalieren zu können.
Wie also arbeiten leistungsstarke Softwareentwicklungsteams? Welche Tools und Praktiken setzen sie ein, um Reibungsverluste für Entwicklerinnen und Entwickler sowie Manager und Managerinnen zu beseitigen? Darüber Aufschluss geben die Nutzungsdaten der CircleCI-Entwicklungsplattform aus zwei Jahren – darunter mehr als einer Viertelmilliarde Workflows von fast 50.000 Unternehmen weltweit, die für den CircleCI-Bericht „2022 State of Software Delivery“ untersucht wurden.
Trend No. 1: TypeScript
TypeScript ist eine Obermenge der sehr beliebten JavaScript-Programmiersprache, die eine optionale statische Typisierung ermöglicht. Seit ihrer Einführung durch Microsoft im Jahr 2012 wurde sie von Developern schnell als skalierbare, von Menschen lesbare Sprache angenommen, die die Zusammenarbeit erleichtert und die Entwicklung beschleunigt. Mittlerweile ist TypeScript zur beliebtesten Programmiersprache aufgestiegen und hat damit JavaScript abgelöst. Doch warum?
In erster Linie ermöglicht die Typsicherheit von TypeScript, Fehler direkt in ihrer IDE (integrierten Entwicklungsumgebung) oder zur Kompilierzeit zu entdecken – und nicht erst zur Laufzeit. Sie verringert damit das Risiko, Fehler an die Produktion weiterzugeben. Außerdem unterstützt TypeScript auch den schnellen Einstieg und die projektübergreifende Zusammenarbeit, indem es das Lesen, Refactoring und die gemeinsame Nutzung von Code erleichtert.
Diese produktivitäts- und vertrauenssteigernden Vorteile sind ausschlaggebend für die Akzeptanz von TypeScript in Unternehmen; und sie ergänzen die allgemein verbesserte Entwicklererfahrung, die die kontinuierliche Integration von Software bietet. TypeScript-Projekte, die auf CircleCI erstellt werden, haben eine höhere Erfolgsrate und einen höheren Durchsatz als JavaScript-Projekte. Das deutet darauf hin, dass TypeScript den Entwickelnden dabei hilft, kleinere Fehler lokal zu finden, sodass sie häufiger und zuverlässiger als JavaScript-Developer funktionierenden Code einchecken können.
Da es sich bei JavaScript-Code um gültiges TypeScript handelt, ist die Migration einer JavaScript-Codebasis zu TypeScript relativ problemlos für Unternehmen und kann von ihnen zeitlich flexibel durchgeführt werden. Zu den Teams, die kürzlich umfangreiche Migrationen von JavaScript zu TypeScript durchgeführt haben, gehören Stripe, Airbnb und Etsy.
Trend No. 2: HashiCorp Configuration Language
Die HashiCorp Configuration Language (HCL) ist eine deklarative Konfigurationssprache, die mit den Cloud-Infrastruktur-Automatisierungstools von HashiCorp verwendet wird, insbesondere mit Terraform. Als Obermenge von JSON (JavaScript Object Notation) soll HCL eine von Menschen lesbare Konfigurationssprache bereitstellen, die nicht nur Kommentare, Variablen und Funktionen unterstützt, sondern auch mit maschinell erzeugtem JSON interoperabel ist. Dies bietet DevOps-Teams die Flexibilität, die sie für die Bereitstellung und Verwaltung von Cloud-Umgebungen in großem Umfang benötigen.
Die Nutzung der HashiCorp Configuration Language (HCL) ist auf CircleCI in den vergangenen Jahren stetig gewachsen. Die Programmiersprache hat sich seit 2019 um drei Plätze verbessert und steht nun auf Platz 9. HCL wurde auch als eine der am schnellsten wachsenden Sprachen in den GitHub-Berichten 2018 und 2019 „State of the Octoverse“ gelistet. Den Ansatz von Infrastructure-as-Code (IaC) scheinen demzufolge nicht mehr nur einzelne Fachkräfte sondern auch Unternehmen zu verwenden, die Software in großem Umfang bereitstellen.
HCL ist nicht nur die neuntbeliebteste Sprache, sondern hat auch die zweitschnellste Mean Time To Recover (MTTR) hinter Gherkin und die achtkürzeste Dauer. Die Kombination der entwicklerfreundlichen Syntax von HCL mit den bekannten Geschwindigkeits- und Standardisierungsvorteilen von IaC-Tools führt zu blitzschnellen Bereitstellungsworkflows und noch schnellerem Debugging.
Infrastructure-as-Code erhöht die Geschwindigkeit, mit der die IT auf veränderte Geschäftsanforderungen reagieren kann. Developer-Teams, die beim Einsatz von IaC gängige Programmiersprachen wie HCL nutzen, können den DevOps-Prozess durch die klare und präzise Aufzeichnung manueller Prozesse lesbarer machen. Das führt zu kürzeren Vorlaufzeiten bei der Entwicklung von Features und Bugfixes sowie zu einer größeren Agilität bei Änderungen von Entwicklungsprioritäten.
Trend No. 3: Gherkin
Wie HCL ist auch Gherkin eine domänenspezifische Sprache, die zur Definition von Testszenarien in Cucumber verwendet wird – einem Open-Source-Testwerkzeug, das die verhaltensgesteuerte Entwicklung (BDD) unterstützt. Gherkin folgt einer leicht verständlichen Given-When-Then-Syntax. Sie ermöglicht auch technisch nicht versierten Beteiligten, das erwartete Verhalten in der Planungsphase des Entwicklungszyklus zu definieren und während der Abnahmetests zu überprüfen, ob die Anforderungen an das Verhalten erfüllt wurden.
Als Ableger der testgetriebenen Entwicklung (TDD) baut BDD die traditionellen Barrieren zwischen Produktverantwortlichen und Entwicklern ab, indem es gemeinsame Erwartungen an das Produktverhalten festlegt, ohne zu spezifizieren, wie die Funktionen unter der Haube implementiert werden sollen. Der Aufstieg von Gherkin deutet darauf hin, dass Unternehmen schon gleich vom Beginn eines Entwicklungsprozesses der teamübergreifenden Zusammenarbeit und der Benutzererfahrung zunehmend Priorität einräumen.
Bemerkenswert ist, dass unter allen von CircleCI gemessenen Sprachen Gherkin-Projekte die schnellste durchschnittliche Zeit bis zur Wiederherstellung hatten (MTTR). Die detaillierte Fehlerberichterstattung von Cucumber liefert den Entwicklerinnen und Entwicklern demnach äußerst verwertbare Informationen, auf die sie ihre Debugging-Bemühungen konzentrieren können. Da automatisierte Akzeptanztests an der Spitze der Testpyramide stehen, kann davon ausgehen werden, dass umfassendere Unit- und Integrationstests in früheren Phasen der Pipeline bedeutendere Code-Fehler abfangen. Die Behebung in solchen Phasen ist dann ebenfalls recht einfach.
* Rob Zuber ist Chief Technology Officer von CircleCI, einer Entwicklungsplattform für die kontinuierliche Integration und Bereitstellung von Software-Innovationen. CircleCI gilt als wachstumsstarkes Einhorn mit einer Bewertung von 1,7 Milliarden Dollar. In seiner Funktion als CTO ist Rob Zuber für den Aufbau eines leistungsstarken Entwicklerteams verantwortlich und leitet mehr als 200 Softwareingenieure weltweit. Mit seinem Team trägt er dazu bei, Herausforderungen bei der Softwarebereitstellung zu lösen und die mehr als zwei Millionen Entwicklerinnen und Entwickler der Plattform von Marken wie American Express, Peloton und Spotify zu unterstützen.
(ID:48612827)