Bosque: Neue Programmiersprache von Microsoft ohne Schleifen und Bedingungen
Mit Bosque hat Microsoft eine neue Programmiersprache vorgestellt, die den meisten klassischen Programmierkonzepten entsagt, sich allerdings sprachlich ein wenig an TypeScript anlehnt.
Wie die meisten wissen, basieren klassische Programmiersprachen wie Java und Python auf der Verwendungen von Schleifen, Bedingungen etc. Bei Bosque wird das Schleifen-Konzept größtenteils aufgegeben. So haben die Forscher herausgefunden, dass die meisten Schleifen in der Programmier-Welt sich im Prinzip in relativ wenige Zweck-Gruppen aufteilen lassen: Filtern, Finden, Gruppieren etc. Deshalb verzichtet Bosque auf Schleifen und bietet direkt so genannte Functors an, die die gleichen Funktionen übernehmen, nur weniger komplex und deutlich kompakter. Im Anschluss sehen sie einen Vergleich einer for-Schleife in JavaScript und im Vergleich dazu auf der rechten Seite die selbe Funktion der for-Schleife in Bosque.
Das Resultat nennt der Chefentwickler des Projekt Mark Marron "reguläres Programmieren". Hierbei soll die Sprache wesentlich einfacher zu verstehen und deutlich weniger komplex sein.
Z.B. ist es in klassischen Programmiersprachen häufig der Fall, dass mehrere Verweise auf ein Objekt zeigen, was gerne mal Probleme macht. Ein weiterer Kernpunkt der Programmiersprache ist die Vermeidung von "versehentlicher Komplexität" (accidental complexity), die durch die Struktur von Programmiersprachen in den letzten Jahren ein immer größeres Problem wurde.
Diese Vereinfachung soll es sowohl Menschen, als auch Computern einfacher machen, die Sprache zu lesen bzw. zu kompilieren, wodurch die Effizienz der Programmierung deutlich gesteigert werden soll. Insgesamt soll die Sprache in der Programmierung auch deutlich sicherer sein.
Vertrieben wird die Programmiersprache unter der MIT-Lizenz und ist hierbei öffentlich auf GitHub einsehbar. Allerdings sollte man jetzt nicht damit rechnen, dass mit dieser neuen Sprache demnächst große Software-Projekte gestemmt werden, da sich die Sprache aktuell noch in einem frühen Zeitpunkt der Entwicklung befindet.
Es wird spannend sein zu sehen, wie sich die neue Sprache durchsetzen kann und in wieweit es vielleicht andere Entwickler geben wird, die Sprachen entwickeln, die auf ein ähnliches Konzept setzen. Insgesamt handelt es sich hierbei aber um ein sehr interessantes Konzept, welches allerdings einiges an Eingewöhnungs-Arbeit für traditionelle Programmierer bedeuten sollte.