Brainstorming Programmiersprache
Verfasst: 21.06.2012, 12:57
Hallo liebe ZFX-Developia-Community,
wie in diesem Thread angesprochen, möchte ich hiermit alle aufrufen mal einige Gedanken, Ideen, Anregungen und Vorschläge zum Thema "Neue Programmiersprache" niederzuschreiben.
Ich gebe hier mal ein paar Themen vor, die mich zum Beispiel interessieren, aber jeder kann natürlich weitere Themen ansprechen. Damit das ganze übersichtlich bleibt bitte ich um folgende Dinge:
1. Bitte lasst das Thema nicht in einen Dialog ausarten oder vom Thema zu sehr abschweifen (z.B. Welche-Programmiersprache-ist-die-Beste-Diskussionen).
2. Bezieht euch bitte immer auf Themenpunkte. Vielleicht immer den jeweiligen Abschnitt mit fetter oder unterstrichener Überschrift beginnen, die sagt um was es geht. Wie gesagt könnt ihr auch neue Themen ansprechen.
Was ist das Ziel?
Das Ziel ist zunächst der Austausch von Know-How und Ideen im Bezug auf eine mögliche neue Programmiersprache. Ob diese jemals umgesetzt wird sei einmal dahingestellt. Aber ich denke jeder kann von dem Wissen aller profitieren. Und vielleicht wird ja irgendwann sogar mal ein ernstes Projekt draus.
Um es etwas zu präzisieren: Es soll darüber diskutiert werden, was man in einer neuen Programmiersprache besser machen könnte im Vergleich zu bestehenden. Oder aber welche neuen Features man noch hinzunehmen könnte. Auch Entscheidungsfragen wie "Mit oder ohne Garbage Collection" usw. sind natürlich erwünschenswert. Das ganze sollte aber sachlich bleiben und jeder sollte auch seine Sichtweisen begründen und die Meinungen anderer respektieren. Also bitte keine Glaubenskriege lostreten.
Vorauswahl Themen:
wie in diesem Thread angesprochen, möchte ich hiermit alle aufrufen mal einige Gedanken, Ideen, Anregungen und Vorschläge zum Thema "Neue Programmiersprache" niederzuschreiben.
Ich gebe hier mal ein paar Themen vor, die mich zum Beispiel interessieren, aber jeder kann natürlich weitere Themen ansprechen. Damit das ganze übersichtlich bleibt bitte ich um folgende Dinge:
1. Bitte lasst das Thema nicht in einen Dialog ausarten oder vom Thema zu sehr abschweifen (z.B. Welche-Programmiersprache-ist-die-Beste-Diskussionen).
2. Bezieht euch bitte immer auf Themenpunkte. Vielleicht immer den jeweiligen Abschnitt mit fetter oder unterstrichener Überschrift beginnen, die sagt um was es geht. Wie gesagt könnt ihr auch neue Themen ansprechen.
Was ist das Ziel?
Das Ziel ist zunächst der Austausch von Know-How und Ideen im Bezug auf eine mögliche neue Programmiersprache. Ob diese jemals umgesetzt wird sei einmal dahingestellt. Aber ich denke jeder kann von dem Wissen aller profitieren. Und vielleicht wird ja irgendwann sogar mal ein ernstes Projekt draus.
Um es etwas zu präzisieren: Es soll darüber diskutiert werden, was man in einer neuen Programmiersprache besser machen könnte im Vergleich zu bestehenden. Oder aber welche neuen Features man noch hinzunehmen könnte. Auch Entscheidungsfragen wie "Mit oder ohne Garbage Collection" usw. sind natürlich erwünschenswert. Das ganze sollte aber sachlich bleiben und jeder sollte auch seine Sichtweisen begründen und die Meinungen anderer respektieren. Also bitte keine Glaubenskriege lostreten.
Vorauswahl Themen:
- Welche Paradigmen und vorallem welche Art Programmiersprache (imperativ, funktional, was ganz anderes)
- Reduktion von Nebenwirkungen (z.B. pure Funktionen)
- Konventionen für Namen (Datentypen, Bezeichner, Schlüsselwörter, usw)
- Klassenkonzept (Interfaces, Vererbung, Polymorphie, Daten außerhalb von Klassen möglich, usw)
- Templates, Variadic Templates/Parameter, Macros, Präprozessor, usw
- Interpretierbar oder kompilierbar, Zwischen- bzw. Zielsprache, VM, usw
- Speichermanagement (statisch, dynamisch, Garbage Collector, usw)
- Support für Prozesse, Threads, parallele Verarbeitung, verteilte Systeme/Applikationen, usw
- Syntaxvorschläge, Einrückungen als Sprachmittel, Operatoren und deren Überladung, Schlüsselwörter, usw
- Zugriff auf I/O-Daten (separat von Sprache, Streams, Netzwerkdaten, Pipes, usw)
- Funktionszeiger, Delegaten (eigene Datentypen?, überhaupt notwendig/unterstützt?)
- Closures, Lambda-Expressions, usw
- Grundlegende Sprachkonstrukte wie Verzweigungen, Schleifen usw.
- Exception-Handling, Assertions, Debugging
- Zeichen und Zeichenketten (Teil der Sprache?, Encodings, Literale)
- Arrays (1-dimensionale, n-dimensionale) und Zeiger
- Referenzen, const, lvalues, rvalues, usw
- Modulkonzept, Namensräume, Scope, Deklarationsreihenfolge, usw
- Alias- und Ersetzungskonstrukte wie using, alias, typedef, auto
- Type-Traits/Builtin-Funktionen: z.B. int.size(), float.nan oder int.parse(string)