- Go: Man scheint in Go ziemlich gut Webanwendungen schreiben zu können, es ist merklich von C und Python inspiriert. Von letzterer Sprache hat es leider auch die Unsitte übernommen, dass es genau eine einzige gültige Codeformatierung gibt. Jede andere ist ein Syntaxfehler. Muss echt nicht sein. - Ansonsten gilt: Go ist C für Leute, die kein C können. Man kann mit ihm aber nur statisch linken, d.h. jedes Go-Programm ist vergleichsweise groß. Das war der wesentliche Grund für mich, ymarks in C statt Go zu schreiben. Dass Go außerdem schnell kompiliert: Sei's drum. Das tut Pascal auch seit Jahrzehnten.
Webanwendungen? Sowas wie Ruby on Rails ist eher verpönt in der Community, wg. Magie und so. Heißt nicht, dass es nicht trotzdem gemacht wird. Oder meintest du eher Backend/"API" Server. Dann stimmt's. Ich nehme an das meintest du? Oder hast du generell Netzwerkanwendungen gemeint?
Das mit der Codeformatierung stimmt so nicht. Es gibt go fmt, aber das zu nutzen ist nicht Pflicht. Bin mir aber nicht sicher, was du meinst, weil die Python erwähnt hast. Übrigens werden Python und Go finde ich etwas zu oft verglichen. Den einzigen gemeinsamen Nenner, denn ich da sehe (außer der Verwendung von Arrays) ist dass man die Sprache möglichst simpel halten will, wobei Python finde ich vielleicht simpel im Vergleich zu Perl, Ruby und JavaScript ist, aber Python glaube ich selbst nicht gerade eine simple Sprache ist. Oder anders gesagt, bei den Vergleichen mit Python müsste fast nahezu alles was nicht wie Python ist wie C oder LISP sein. Ist kein Weltuntergang, aber ein paar syntaktische Ähnlichkeiten und dass man den Weg einer simplen Sprache geht macht das nicht zu sonderlich ähnlichen Sprachen. In anderen Bereichen (Concurrency, OO, Type System, Umgang mit Fehlern, etc.) gibt es teils recht große Unterschiede.
C für Leute, die kein C können trifft's wohl eher. Ist ja auch von den selben Entwicklern.
Go hat ein wenig den Vorteil, dass es schwierig ist zu groben Unfug zu machen, ohne dabei vielleicht so viel zu bremsen wie sagen wir Java.
Eine Sprache, die wie ich finde immer zu kurz kommt ist
D. Als jemand der D gelernt, damit eine Weile experimentiert hat, aber selbst nicht verwendet würde ich sagen, dass das vielleicht die Sprache ist um die es wirklich schade ist, dass da nicht Google oder andere dahinter stehen. Wobei die ja bei Facebook (oder war's Netflix?) angeblich ein wenig Beliebtheit erfahren hat.
Wie dem auch sei. D hat viele von den guten Eigenschaften von Rust was wohl damit zusammen hängt, dass beide C++ ersetzen wollten. Was für viele Leute sicher sehr nett ist, ist dass man mit D deutlich weniger Verwirrung abbekommt. Rust hat ein paar neue Konzepte und sich sehr viel von funktionalen Sprachen abgeschaut. Es ist sehr strikt und hat eine hohe Lernkurve. D ist etwas flexibler und geht mehr in eine Richtung, wo du dir aussuchen kannst wie wichtig dir bestimmte Garantien im Einzelfall sind. Du kannst Funktionen entsprechend dieser Eigenschaften mittels Keyword "markieren".
Was ich an D als ich damit ein wenig experimentiert habe waren diese kleinen "Nettigkeiten", die Dinge einfacher machen, ohne jetzt gleich in Richtung Skriptsprache zu gehen. Das sind so Dinge, die bei vielen anderen Sprachen, aber vor allem bei sowas wo man C++ oder Java nutzen würde nervend sind. Die Sprache hat ironischerweise gerade wegen Rust, welche in die selbe Richtung geht gerade ein wenig Aufwind. Das ist vielleicht die Sprache, die man wirklich mit Rust vergleichen sollte, nicht Go, welches sehr anders ist und nur zu einer ähnlichen Zeit populär wurde. Jedenfalls schauen sich die beiden Communities vieles voneinander ab.
Die Community ist nicht groß, aber größer als man meist annimmt. Ein großer Vorteil gegenüber anderen neuen Sprachen ist, dass sie schon etwas mehr Zeit zum heranreifen hatte. Am Anfang hatte sie außerdem einen schweren Start, weil da ein Unternehmen mit eigenen Interessen dahinter steht (eigentlich nichts schlimmes, aber Leute haben halt ein gesundes Maß an Skepsis wenn eine Sprache stark an ein Unternehmen gebunden ist - vor allem wenn die Sprache ein Produkt und nicht einfach ein (Seiten-)Projekt ist). Diverse Entwicklungen haben allerdings dafür gesorgt, dass es diese starke Bindung nicht mehr gibt.
Ich möchte jetzt keine einzelnen Features herausgreifen, aber wenn man mit Anwendungsfällen konfrontiert ist wo man vielleicht Java oder C++ nutzen würde, man damit nicht glücklich ist und einem auch Rust nicht bekommt, oder wenn einem Rust und Co. einfach zu neumodisch oder jung sind, dann ist D sicherlich einen Blick wert.