Welche Programmiersprachen sind genormt?
-
Gregor schrieb:
...
chsml, dagrf,dagrfd,dagrfu,dagrr,dagrrd,dagrru,dagrt,
dagrtd,dagrtu,drdr,dzdfs,dzdr,dzdtr,grf,grfd,grfu,grr,
grrd,grru,grt,grtd,grtu,rdf,rdfd,rdff,rdffd,rdffu,rdfu,
rdr,rdrd,rdrf,rdrfd,rdrfu,rdrrd,rdrru,rdrt,rdrtd,rdrtu,
rdru,rdt,rdtd,rdtf,rdtfd,rdtfu,rdtt,rdttd,rdttu,rdtu,
ro,ro2,rod,rou,rv1,rv2,rv3,rvsin1,sint1,sint2,tant1
[/code]
Alles klar?Die 80-Spalten-Regel ist IMHO rein geschichtlich zu begründen und die sollte man sich auch nicht schön reden. IMHO sollte man heutzutage Zeilen so lang schreiben, wie man sie braucht, so lange es halbwegs im Rahmen bleibt. Starre Regeln sind in dem Zusammenhang kontraproduktiv und führen zu schlechtem Code, weil man deshalb an anderen Stellen Abstriche macht.
Die 80-Spalten unter FORTRAN kamen von dem üblichen Eingabemedium der Lochkarten, da war nur Platz für 80 Zeichen pro Lochkarte. Man konnte Code aber beliebig auf Folgezeilen aufteilen. War alles sehr gut durchdacht und Folgezeilen hat man selten gebraucht!
Den mitgeteilten Schrott wegen der Bezeichner kannst du vergessen. Gut, die Namensgebung war oft auf 8 signifikante Zeichen begrenzt. Doch auch damit konnte man gut leben.
Mit der Standardisierung und der Normung des Sprachumfangs hat das nun rein gar nichts zu tun. Dies war auch unter FORTRAN bereits hervorragend gelöst. Standards sind und bleiben gut. Ohne diese setze ich keinen Compiler ein. Ich will mich darauf verlassen, dass morgen alles so läuft wie ich es heute gelöst habe. :p
-
Ich habe mal gesucht ob, z.B. Haskell standardisiert ist. Es gibt zwar ein Komitee und einen offiziellen Report zur Sprache, aber kein ISO, ECMA oder ANSI.
Was ist also Standard? Muss immer eine Organisation dahinter stehen, bevor es als "Standard" akzeptiert wird?
-
knivil schrieb:
Was ist also Standard? Muss immer eine Organisation dahinter stehen, bevor es als "Standard" akzeptiert wird?
Nein, das regeln die Programmierer weltweit schon selbst. Man nimmt einfach das, worauf man sich möglichst überall und lange sicher verlassen kann!
Programmierung ist kein Selbstzweck, sondern ein Hilfsmittel zur Lösung konkreter IT-Aufgaben. Wenn diese Hilfmittel gut sind, nehme ich sie und vergesse die anderen.
-
knivil schrieb:
Ich habe mal gesucht ob, z.B. Haskell standardisiert ist. Es gibt zwar ein Komitee und einen offiziellen Report zur Sprache, aber kein ISO, ECMA oder ANSI.
Was ist also Standard? Muss immer eine Organisation dahinter stehen, bevor es als "Standard" akzeptiert wird?
Wenns eine akzeptierete Instanze gibst, reicht es, meistens durch den Macher unterstützt. Bei Java ist es die JCP.org.
-
Also kann man davon ausgehen, das (fast) alle Sprachen standardisiert sind. (Was diese Diskussion irgendwie ..)
-
muemmel schrieb:
Keine Bange, ich will nicht überall C-Stil reinbringen.
muemmel schrieb:
In C... ist das wesentlich konsequenter gelöst.
Ehm ... ok
muemmel schrieb:
Gerade bei OOP kommen da doch schnell mal recht lange Ausdrücke zusammen.
Das musst du mir mal erklären. OOP sollte meiner Meinung nach gerade das Gegenteil bewirken. Die Funktionalität ist in kleine Teile in die Objekte gekapselt. Funktionsaufrufe sollten zum Beispiel deswegen deutlich kürzer werden, weil man nicht alles an das Objekt übergeben muss, schliesslich hat es selber einen Status.
muemmel schrieb:
Auch Zeilenendkommentare stehen bei mir meist nicht direkt am Quelltext, sondern alle säuberlich untereinander ab Position 80 oder 100.
Ich habe meistens gar keine Kommentare in den Funktionen drin. Alles über die Funktion steht vor der Funktion als Kommentarblock. Da ich die Funktionen kurz halte, ist dies auch kein Problem.
muemmel schrieb:
Das sind alles Gewohnheiten, die sicher jeder anders sieht, aber da mein Quelltext in erster Linie ein Brief an mich selber ist, schreibe ich ihn halt so, wie er für mich am übersichtlichsten ist (und bei Bedarf für andere zumindest mit vertretbarem Aufwand lesbar
).
Meiner Meinung nach sollte man Quellcode immer so schreiben, dass er für andere lesbar ist. Dadurch wird er nämlich automatisch auch für dich lesbar, denn du bist nicht irgendwas anderes als die anderen. Oder bist du kein Mensch? Dann bitte ich vielmals um Entschuldigung
ipsec schrieb:
Natürlich sind sehr lange Zeilen schlecht, aber 80 zeichen ist meiner Meinung nach einfach zu wenig.
Beispiel aus einem meiner Projekte (zwar C#, ist ja aber egal):return new ManagementClass(scope, new ManagementPath(classname), new ObjectGetOptions());
Wie ich schon mal gesagt habe, bin ich auch kein Verfechter der strikten 80 Zeichen Breite, aber dein Code kann man übersichtlicher machen. Und zwar nicht nur wegen der Breite, sondern auch wegen der Verschachtelung.
var managementPath = new ManagementPath(classname); var objectGetOptions = new ObjectGetOptions(); return new ManagementClass(scope, managementPath, objectGetOptions);
80 Zeichen Breite unterschritten und diese ineinander Verschachtelung auseinander genommen. Mit solchen Zwischenergebnissen kann man oft die Lesbarkeit erhöhen und zudem ganz nebenbei die Zeilenbreite reduzieren
TypoTipps schrieb:
Für das Lesen sind lange Zeilen einfach nicht gut, das ist wissenschaftlich erwiesen fertig aus, so ist es und so wird es auch bleiben.
Und wenn du das noch mit Quellen untermauern würdest, hätte der Beitrag fast noch einen Sinn ergeben.
Grüssli
-
knivil schrieb:
Also kann man davon ausgehen, das (fast) alle Sprachen standardisiert sind. (Was diese Diskussion irgendwie ..)
*hüstel*
Dravere schrieb:
Ehm, um mal eines klar zu machen:
Standard ist ungleich offizielle Normierung.Der Threadersteller wollte irgendwie alles offiziell normieren, zumindest gingen seine Argumente darauf hinaus.
Grüssli
-
Ja, ich habe nicht alles gelesen. Ich frage mich gerade, wie man von Normierung von Sprachen auf Anzahl der Zeichen in einer Zeile kommt? Aber: Ich sehe keinen Unterschied zwischen Standard und Normierung.
@Davere: Ich habe mir deinen Post nachtraeglich durchgelesen. Dort gehen de facto Standard und Standard an sich Hand in Hand. Einen Unterschied zur Normierung oder Norm sehe ich trotzdem nicht, wenn sich einfach nur genuegend Leute einig sind. Wenn du magst kannst du antworten, aber irgendwie mag ich nicht ganz so gerne darueber diskutieren, wohl weil sich der OP einfach nur wegen was auskotzen wollte.
zumindest gingen seine Argumente darauf hinaus
Ich habe keine Argumentationsstruktur oder Argumente erkannt.
-
knivil schrieb:
Aber: Ich sehe keinen Unterschied zwischen Standard und Normierung.
Ich habe meinen Beitrag auch nochmals durchgelesen, ich denke, es kommt noch nicht so gut heraus. Habe viel zu wenig strikt zwischen den Begriffen Normierung und Standard unterschieden. Zwar gemeint, aber nicht geschrieben
Ist der Wikipedia Artikel zur Normierung vielleicht verständlicher?
http://de.wikipedia.org/wiki/Normungknivil schrieb:
Dort gehen de facto Standard und Standard an sich Hand in Hand.
Standard und defacto Standard sollen auch Hand in Hand gehen. Der Unterschied besteht zur Normierung. ISO macht Normierungen; eine Spezifikation, an welche sich alle halten, ist einfach "nur" ein Standard.
Grüssli
-
Defacto Standard ist meistens Industriestandard. Z.B. sind MS-Windows und Word-Doc-Format unbestreitbar ein Industriestandard. Nur halt keine Standards.
-
Hi Dravere,
Dravere schrieb:
Ehm ... ok
ich sehe das nicht unbedingt als C-Fanatismus an, wenn ich es für mich als Grundlage ansehe, daß ein in sich abgeschlossener logischer Ausdruck in Klammern gehört.
Das musst du mir mal erklären. OOP sollte meiner Meinung nach gerade das Gegenteil bewirken.
nicht unbedingt bei der VCL.
DatamoduleXYZ->Tabelle123FeldABC->AsInteger = DatamoduleABC->Tabelle321FeldXYZ->AsInteger + IntEditNummer->Asinteger;
Ich habe meistens gar keine Kommentare in den Funktionen drin. Alles über die Funktion steht vor der Funktion als Kommentarblock. Da ich die Funktionen kurz halte, ist dies auch kein Problem.
Bei eigenen Komponenten kommentiere ich da lieber ein wenig mehr, speziell was nicht unbedingt direkt ersichtlich ist, weil es z.B. aus Eigenheiten von Basisklassen resultiert. Außerdem hat der Kommentar da ein wenig qualitätssichernde Funktion. Wenn der logisch und zum Quelltext passend ist hab ich eine höhere Sicherheit daß es OK ist.
Meiner Meinung nach sollte man Quellcode immer so schreiben, dass er für andere lesbar ist. Dadurch wird er nämlich automatisch auch für dich lesbar, denn du bist nicht irgendwas anderes als die anderen. Oder bist du kein Mensch? Dann bitte ich vielmals um Entschuldigung
Nun, mein Vorgesetzter aus meiner Zeit bei VEB-Gleichschritt war da teilweise anderer Meinung was das Menschsein bei mir anbelangt.
Wenn ich ehrlich bin hab ich aber gemerkt, daß ich ne ganze menge an Gewohnheiten noch aus der Zeit mit rübergenommen habe, als ich mir noch nicht richtig dessen bewust war, daß ich eigentlich eine Brille tragen müsste.
Dazu zählt eben auch, daß ich es hasse, wenn Funktionsnamen und erster Argumentnamen und eventuell noch umschließender Funktionsname in einem Aufruf eine einzige zusammengehörende Zeichenkette ist, die nur durch spillrige ( getrennt ist.Gruss Mümmel
-
Anonymous schrieb:
Hallo,
mich würde mal interessieren welche Programmiersprachen denn so genormt sind alla ISO etc..Eine nicht vollständige Liste von normierten Programmiersprachen
- Ada (ISO/IEC 8652)
- C (ISO/IEC 9899)
- C++ (INCITS/ISO/IEC 14822)
- Cobol (INCITS/ISO/IEC 1989)
- Fortran (ISO/IEC 1539-1 bis -3)
- Modula-II (ISO/IEC 10514-1 bis -3)
- Pascal (INCITS/ISO/IEC 7185)
- Prolog (INCITS/ISO/IEC 13211-1 bis -2)
- Smalltalk (ANSI INCITS 319)
- SQL (ISO/IEC 9075-1 bis -14)
-
Anonymous schrieb:
Hallo,
mich würde mal interessieren welche Programmiersprachen denn so genormt sind alla ISO etc..Haben wir nun den Funcoder aus dem Board getrieben, weil wir keine blinde Norminierungsfanboys sind? o.o
-
Nein, das war nicht der Grund. Aber du hast ihn indirekt genannt, ich war nie dafür alles zu normieren und habe das oft genug geschrieben aber das hat keinen interessiert, genauso wenig hat keiner begriffen worum es mir eigentlich ging oder ihr konntet mein Beispiel nicht auf das Programmieren übertragen und das sollte man schon erwarten können, egal wie blöd das Beispiel gewählt ist.
Was soll ich in einem Forum wo mich viele missverstehen, es ist mir ehrlich gesagt zu anstrengend alles immer wieder und immer wieder zu erklären. Und das war ein einfaches Thema.
Entweder konntet oder wolltet ihr nicht verstehen, in beiden Fällen ist das keine Grundlage für eine Kommunikation.
Also macht es schön.
-
Klar, wir sind das Problem.
-
Oder sind die Leute das Problem, die uns den HyperSuberDuper verkaufen wollen - weil damit als Programmiersprache der Zunkunft alles so einfach, sicher und leicht wartbar ist?
Edit: Bereits in den 70er oder 80er Jahren hiess es 'Programmierer braucht man nicht mehr - die Programme schreiben sich ohne Kenntnisse von Normen und Standards selbst'. Ist nicht so richtig etwas daraus geworden. Die Zukunft sieht dann wohl so aus: Der Anwender formuliert sprachgesteuert (in seiner Sprache) die Zielsetzungen für die Leistungen des Programmes. Etwa so: 'Mach mir mal ein Programm ...' Die Aktualisierung des Quellcodes erfolgt dann automatisch via Internet und bleibt damit auf dem jeweils aktuellen Standard. :p
-
Hi berniebutt,
den Softwareentwickler wirds noch auf sher sehr lange Zeit brauchen. Ob es dann noch einer ist, der Quelltext einhackt oder ob er dann eine WünschDirWas-Box beschnattert, das bleibt abzuwarten.
Die zur Verfügung stehenden Entwicklungs-Tools werden immer leistungsfähiger, aber die zu erfüllenden Aufgaben im Gegenzug auch immer umfangreicher. Vor 30 Jahren war ein Fortran-Programm ohne Rekursionsmöglichkeit, das die statische Berechnung einer Welle realisierte der Gipfel des Wünschenswerten. Heute sind Programme zum Teil so kompliziert, das sie kaum noch einer durchblickt. Wer kann schon ALLE (wirklich alle!) Möglichkeiten seines Excel oder Word komplett bedienen?
Die Art wie man dem Rechner beibringt, was man will, die wird vielleicht anders werden. Aber es wird immer einen geben müssen der die Wünsche auf den Punkt bringt und dem Computer in einer für diesen verständlichen Art sagt was gewünscht wird. Diese Art von Substanzdestilation aus der ursprünglichen Wunschwolke ist ja heute schon die eigentliche Programmierarbeit. Schon vor 40 Jahren hat man zwischen dem Problemanalysator, der den eigentlihcen geistigen Background zu schaffen hatte und dem Coder der es einzuhacken hatte unterschieden.
Wenn ich mir die Entwicklung der Sprachen angucke, von den Sprachen der 4. und 5. Generation die damals so favorisiert wurden ist in der praktischen Nutzung auser SQL eigentlchi nichts geblieben. Wer arbeitet heute noch mit Prolog? Wer kann sich überahupt noch daran erinnern, daß Mandala eine Programmiersprache war die als der KI-Überflieger überhaupt angesehen wurde.
Die heutigen Sprachen liegen (fast) alle so in der C++-Richtung. Wobei die eigentliche Entwicklung eigentlich schon wieder von der extrem abstraktionsfähigen C++-Sprache weg hin zu einfacheren beschränkteren wie Java oder C# geht. Derzeit ist noch lange nicht abzusehen, daß es ohne einen Computereinflüsterer gehen wird. Ich bin jedenfalls fest überzeugt, daß ich bis zur Rente meinem jetzigen Broterwerb weiter nachgehen kann.
Gruß Mümmel
-
funcoder schrieb:
Nein, das war nicht der Grund. Aber du hast ihn indirekt genannt, ich war nie dafür alles zu normieren und habe das oft genug geschrieben aber das hat keinen interessiert, genauso wenig hat keiner begriffen worum es mir eigentlich ging oder ihr konntet mein Beispiel nicht auf das Programmieren übertragen und das sollte man schon erwarten können, egal wie blöd das Beispiel gewählt ist.
Was soll ich in einem Forum wo mich viele missverstehen, es ist mir ehrlich gesagt zu anstrengend alles immer wieder und immer wieder zu erklären. Und das war ein einfaches Thema.
Entweder konntet oder wolltet ihr nicht verstehen, in beiden Fällen ist das keine Grundlage für eine Kommunikation.
Also macht es schön.
Entschuldigung, das ist total Kindisch. Es ist eine Diskussion, im ersten Linie geht es um Gedankenaustausch und nicht darum eine Sicht zu durchzusetzen. Das ist was ich dir erstmal unterstelle, was dein eigentliches Ziel ist, in der Ausrede, dass wir dich nicht verstehe (wollen).
-
Ich wollte nie meine Sicht durchboxen, ich bin ja noch nicht mal soweit gekommen als das alle meine Sicht verstanden hätten. Ich kann doch keine Gedanken austauschen wenn meine nicht verstanden werden. Sorry, aber so kann man nicht vernünftig diskutieren.
-
funcoder schrieb:
Sorry, aber so kann man nicht vernünftig diskutieren.
Daran sind natürlich alle anderen schuld außer dir. Wenn dir an einer sachlichen Diskussion gelegen wäre, hättest du nicht alle, die deine Sicht nicht teilen, als Pfuscher bezeichnet.