Welche Programmiersprachen sind genormt?
-
Nur aendert sich Elektrik im Haus nicht mehr bzw. ist schwer zu aendern, waehrend Sprache sich entwickelt. Dein Vergleich ist an den Haaren herbeigezogen.
Danke an alle die ne ernsthafte Antwort gegeben haben.
Das meinte ich ernst.
Sind denn alle Programmierer, die keine genormte Programmiersprache benutzen, Fuscher?
-
Wieso ist der Vergleich an den Haaren herbeigezogen, nur weil Dynamik bei der Elektrik niedriger ist? Deine Aussage ist unlogisch, da es ja wohl einige Sprachen auch schaffen genormt zu werden, so wie z.B. C++ auch wenn sie sich stetig ändern.
Dynamik != Normierung ist also schwachfug
Und sicherlich sind Programmierung die die Wahl haben mit einer normierten Sprache zu arbeiten mehr des Fuschs zu betiteln als jenes die dies nicht tun. Wenn es für das Anwendungsgebiet diese Wahl nicht gibt gilt dieser Vergleich logischerweise nicht.
Tut mir leid ich habe in der Industrie gelernt und hassen nun einmal Leute die sich nicht an Normen halten weil sie allen das Leben schwerer machen als nötig.
Beim Programmieren ist es ja schon mal schön das es in einigen Sprache Ambitionen gibt den Sumpf an Technologie zu standardisieren. Würde man andere technische Berufe so ausüben wie es die meisten Programmierer tun dann wäre das dort lebensgefährlich.
-
Huch? Fuscher?? Die Semantik einer Programmiersprache muss doch nur spezifiziert sein. Das muss nicht einmal in einer zusammenhängenden Doku sein, sondern darf ruhig über viele Paper verteilt sein.
Ansonsten kann der Name der Programmiersprache auch markenrechtlich geschützt sein. Das ist nichts Besonderes und bei deiner Nachimplementierung, die du dann "XYZ Implementation" nennst, kannst du Probleme bekommen. Genau so bekommst du Probleme, wenn du ein OS "Windows Remake" nennst oder deine Pommesbude "McFonalds".
Du hast natürlich Recht, dass Normierungen zum Teil von sehr hohem Nutzen sind - auch im IT-Bereich. Aber, wieso nun die Millionen Programmiersprache, inklusiver meine, die ich entwickel, eine ISO oder ECMA Norm bekommen sollte, ist mir vollkommen fraglich. Das Wichtige daran ist, dass die Semantik genau angegeben ist. Und ich kann doch die Nutzer meiner Sprache nicht als "Fuscher" bezeichnen.
Auch Leute, die sich nicht an Standards halten - wie z.B. Youtube, die Flashvideos anzeigen - kann man auch nicht als Fuscher bezeichnen. Auch Microsoft nicht, die mit ihrem IE öfters mal etwas anderes machen als im Standard festgeschrieben. Die Macher hinter dem GNU C++ Compiler auch nicht, wenn sie Erweiterungen in die Sprache einbauen. Das ist doch alles okay. Manchmal nervig, aber deine Einheitsbreilösung, die du fordest, finde ich absurd.
-
funcoder schrieb:
Fuscher
Die deutsche Rechtschreibung ist auch genormt, Pfuscher.
-
funcoder schrieb:
@Gregor: Jemand der auf den Namen aufpasst, also privatisiert. Tut mir leid, nein danke!!!
Naja, aber so ist das eben. Dadurch, dass eine Sprache bei einer großen Standardisierungsorganisation als Norm vorliegt, wird in keinster Weise gewährleistet, dass Compiler sich entsprechend verhalten. Für C++ gab es nach dem Standard von 1998 zum Beispiel eine lange Zeit (einige Jahre), in der fast kein Compiler standardkonform war.
Also was soll die Standardisierung von Programmiersprachen, wenn man so etwas dadurch nicht gewährleisten kann?
-
funcoder schrieb:
Manche von euch fänden es anscheinend toll wenn z.B. die Elektrik im Haus verlegt wird wie es einem passt. Mir ist sowas nicht egal und ich bin froh es Normen gibt und da gibt es tausende von Beispielen wo eine Norm in der Industrie und Handwerk wichtig ist.
Ein Problem dabei ist, dass der Kern einer Sprache ein organischer Entwurf ist, in dem jeder Teil die meisten anderen voraussetzt, mit einem Wort: ein Kunstwerk. Das ist in den meisten anderen technischen Norm-Gebieten nicht so sehr der Fall.
Die guten Sprachen sind von Einzelpersonen oder kleinen Gruppen entworfen worden. Sobald sich später eine Kommission an die Normierung gemacht hat, sind Kompromisse gemacht worden, die oft zu Lasten der Eleganz gegangen sind. Common Lisp ist ein oft zitiertes Beispiel dafür. Common Lisp is politics, not art.
-
Gregor schrieb:
funcoder schrieb:
@Gregor: Jemand der auf den Namen aufpasst, also privatisiert. Tut mir leid, nein danke!!!
Naja, aber so ist das eben. Dadurch, dass eine Sprache bei einer großen Standardisierungsorganisation als Norm vorliegt, wird in keinster Weise gewährleistet, dass Compiler sich entsprechend verhalten. Für C++ gab es nach dem Standard von 1998 zum Beispiel eine lange Zeit (einige Jahre), in der fast kein Compiler standardkonform war.
Also was soll die Standardisierung von Programmiersprachen, wenn man so etwas dadurch nicht gewährleisten kann?
Nein natürlich müssen sich die Compilerherstellen nicht daran halten, aber dann können sie auch nicht mit dem Zusatz ISO auf dem Markt und jeder nimmt dann aber lieber den der sich an die Norm hält. Es wird halt ein definiertes Verhalten garantiert.
µngbd schrieb:
Ein Problem dabei ist, dass der Kern einer Sprache ein organischer Entwurf ist, in dem jeder Teil die meisten anderen voraussetzt, mit einem Wort: ein Kunstwerk. Das ist in den meisten anderen technischen Norm-Gebieten nicht so sehr der Fall.
Die guten Sprachen sind von Einzelpersonen oder kleinen Gruppen entworfen worden. Sobald sich später eine Kommission an die Normierung gemacht hat, sind Kompromisse gemacht worden, die oft zu Lasten der Eleganz gegangen sind. Common Lisp ist ein oft zitiertes Beispiel dafür. Common Lisp is politics, not art.
Und C++ ist ISO und ist mit sicherheit auch ein Kunstwerk und Jemand hat mal als Einzelperson damit angefangen usw. usw. usw.
Bashar schrieb:
Die deutsche Rechtschreibung ist auch genormt, Pfuscher.
Ja ich habe eine Lese-/Rechtschreibschwäche und trotzdem halte ich mich im Beruf an Normen damit es andere leichter habe und es ist ein schönes Gefühl arbeiten zu können mit dem Wissen man macht alles richtig da man nach der gleichen Norm arbeitet wie alles anderen, wenn sie ihren Job gut machen. Alles andere sind eben Pfuscher.
@schuuuuh: Ja na sicher pfuschen bestimmt auch Microsoft und Youtube Google eine Menge. Die haben nur das nötige Geld das dies nicht so sehr ins Gewicht fällt und z.B. das Glück das viele Mängel schon Gesellschaftstauglich geworden sind und die Leute sind schon froh wenn gepatcht wird. Ist wie wenn ich einen Schaltschrank baue und noch 100mal zum Kunden hin muss um nachzubessern weil ich mich nicht an die Normen gehalten habe.
Das dann noch der Kunde zufrieden ist muss man erstmal in einem anderen Industriezweig schaffen.
Man merkt immer wieder das die IT-Branche noch so was wie in den Kinderschuhen steckt. Aber anscheinend wollen das auch nur ganz wenige ändern und fühlen sich wohl im Chaos. Nicht falsch verstehen ich will nicht jeden Pups normieren aber die essentiellen Werkzeuge wäre schonmal ein Anfang, aber selbst hier gibt es schon in einem kleinen Programmiererfroum widerstand.
Jetzt wird mir so einiges klar...Das Thema kann geschlossen werden.
Gruß vom Funcoder
-
funcoder schrieb:
Es wird halt ein definiertes Verhalten garantiert.
Wird es das? Im C++-Standard steht, dass der Compiler bei
int i;
eine Integer-Variable anlegen soll, die in dem entsprechendem Scope miti
anzusprechen ist. Mehr aber auch nicht.
Der Standard schreibt z.B. nicht vor, welchen Maschienencode der Compiler daraus generiern soll, wenn überhaupt Maschienencode. Er garantiert auch nicht, wie dasint i;
in den Compiler rein kommt oder was der Nutzer drücken muss, um daraus ein Kompilat zu machen.Wäre ja auch langweilig, wenn alle standardkonformen Compiler exakt das gleiche Verhalten hätten.
Der Vergleich mit dem Elektronikschrank ist aber wirklich verfehlt, da die entsprechenden Normen für Elektronikschrank und Programmiersprache schon einen ganz anderen Zweck haben.
Beim Elektronikschrank hat man Normen, um z.B. für Sicherheit zu garantieren. Etwa dass bei einem Blitzschlag das Ding nicht um die Ohren fliegt. Oder dass die Leitungen mit einer definiert dicken Isolierung versehen sind. Kurz: die Normen sind da, damit das Ding so funktioniert wie es soll.
Aber bei Programmiersprachen? Die Normen sorgen weder für Sicherheit noch für Funktionalität. Ob im Standard
int i
oderi: int
vorgeschrieben ist, hat darauf keinerlei Einfluss. Die Normen haben nur den Zweck, dass das Programm auf möglichst vielen Compilern/Interpretern ohne Anpassungen ausgeführt werden kann und dass sich die Sprache nicht auseinanderentwickelt.Insofern kan man das so überhaupt nicht vergleichen.
-
Kritische Systeme entwickelt man doch eh für einen bestimmten Compiler in einer bestimmten Version. Allein weil ISO9000 vorschreibt, dass man nach X Jahren noch die Original Entwicklungsumgebung wiederherstellen können muss und die Standards lassen einem ja oft viel Spielraum für eigene Sachen. Gerade die ISO C und C++ Standards sind ja so geschrieben, dass man Compiler für Toaster bis hin zu Supercomputern schreiben kann.
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/index.html#toc_C-Implementation
http://msdn.microsoft.com/en-us/library/ft39hh4x(VS.80).aspxUnd für C und C++ gibt es zB einen ISO Standard, aber kein Gremium, dass die Implementierungen zertifiziert.
-
Pfusch kann man nicht damit begegnen, indem man die Sprache normiert. Es sit nicht mal ein Anfang.
-
Hi,
das beste Negativbeispiel für nicht genormte Sprachen sind die vielen frühen Versionen von Basic. Jeder kannte Basic, und doch kannte jeder was anderes. Es gab so gut wie keine wirkliche Übereinstimmung zwischen den verschiedenen Basic-Versionen. Ein Programm in eine andere Basicversion übernehmen hieß vielfach fast Neuprogrammierung.
Das Gegenstück war ADA. Da waren (zumindest damals) nur Compiler zulässig, die den vollen Ada-Umfang unterstützten. Und auch das Ergebnis war relativ eng vorgegeben. Qualität war in bestimmten Grenzen damit erzwingbar.
Sicher entwickelt man kritische Systeme heute für einen bestimmten Compiler. Aber nicht nur die Steuerung eines Reaktors ist kritisch, sondern auch die Software mit der amn ihn konstruiert und durchrechnet...
Da werden Programme entworfen mit denen Brücken berechnet werden, da werden Klimamodelle gerechnet... Wer sagt, daß die Programme richtig rechnen?
Gruß Mümmel
-
muemmel schrieb:
Da werden Programme entworfen mit denen Brücken berechnet werden, da werden Klimamodelle gerechnet... Wer sagt, daß die Programme richtig rechnen
Da gibst ein handvolle mathematisch hochbegabte Informatikpionier spezialisiert auf Verifikation von komplexen Systeme.
-
muemmel schrieb:
das beste Negativbeispiel für nicht genormte Sprachen sind die vielen frühen Versionen von Basic. Jeder kannte Basic, und doch kannte jeder was anderes. Es gab so gut wie keine wirkliche Übereinstimmung zwischen den verschiedenen Basic-Versionen. Ein Programm in eine andere Basicversion übernehmen hieß vielfach fast Neuprogrammierung.
Und dann kam ANSI-Basic und war so toll, dass es ... vollkommen ignoriert wurde.
Das Gegenstück war ADA. Da waren (zumindest damals) nur Compiler zulässig, die den vollen Ada-Umfang unterstützten. Und auch das Ergebnis war relativ eng vorgegeben. Qualität war in bestimmten Grenzen damit erzwingbar.
BASIC mit ADA zu vergleichen ... du machst ja Späße.
Da werden Programme entworfen mit denen Brücken berechnet werden, da werden Klimamodelle gerechnet... Wer sagt, daß die Programme richtig rechnen?
Es könnte auch sein, dass ein kosmisches Strahlungsteilchen ein Bit kippen lässt. Man sollte einfach mal die Relationen wahren: Die weitaus meisten fehlerhaften Programme entstehen aufgrund von Programmierfehlern. Compilerfehler sind dagegen echt vernachlässigbar.
-
Ich finde die Ausreden gegen eine Normierung mehr als peinlich für Akademiker und auch für die Leute die nur programmieren. Sicher sind meine Beispiele nicht perfekt, aber es sollte klar sein worum es geht. Gerade Wissenschaftler geht es um Genauigkeit, aber von so einer Denkweise sind die Poster hier weit entfernt.
Ich habe hier noch nicht einen Satz gelesen der wirklich gegen eine Normpflicht im professionellen Umfeld sprechen würde.
Das ist echt peinlich für die ganze Branche, erklärt wie gesagt aber auch alles. Kein Wunder dass die Softwareentwicklung nur schwer vorankommt bei der Einstellung.
Jeder kocht sein eigenes Süppchen so wird das was Jungs...blos nix Vereinheitlichen damit es schön alle schwer haben Qualität abzuliefern. Die armen Kunden und die armen Programmierer die von Firma zu Firma immer wieder fast bei Null anfangen dürfen weil sei eben nicht auf Standards zurückgreifen können wie z.B.: Elektriker etc.
Sorry wenn ich so emotional geworden und nicht mehr gerade rational geblieben bin, aber das kotzt mich schon seit Jahren an, aber wahrscheinlich erkennt man in dem Sumpf gar nicht mehr wie andere Bereiche Produktionen meistern und warum da sofort ein neuer Arbeiter die alte Arbeit übernehmen kann ohne gleich super gestresst zu sein weil alles mal wieder anders ist.
Ich klinke mich hier aus sonst platze ich noch...
-
funcoder schrieb:
Ich habe hier noch nicht einen Satz gelesen der wirklich gegen eine Normpflicht im professionellen Umfeld sprechen würde.
Es ist teuer, so ein Produkt zu normieren, wenn man noch nicht mal weiß, wie es genau auf dem Markt ankommen wird. Es killt Innovation. Er verlängert Entwicklungszyklen. Usw.
Warum sollte sich zB. Matlab oder Java einer ISO-Normierung unterziehen? Erst mal muss man dann viele andere Leute ins Boot holen, gibt also Autonomie auf und Wissen an die Konkurrenz heraus und man hat Entwicklungszyklen der Sprache, die 10+ Jahre sind. Wo soll da der Vorteil sein? Daß Du mit einem einmal gelernten Kram 15 Jahre nix neues lernen brauchst? Sorry, das ist kein Argument.
Wenn eine Nachfrage nach Normierung da ist, dann wird das meistens auch gemacht oder es bilden sich halt dezentral Standards heraus, die sich als sinnvoll durchgesetzt haben (die Anordnung der Tasten auf deiner Tastatur ist zB. nicht normiert). Oft braucht man einfach kein Gremium, das sich 7 Jahre darüber streitet, ob man nun eckige oder runde Klammern nehmen soll.
-
Wie schon geschrieben es soll ja nicht jeder Pups normiert werden. Aber bei Java sollte es oft in der Industrie eingesetzt werden würde es in meinen Augen schon Sinn machen. So das man sich bei einem Produkt wie Verschlüsselungssoftware für E-Pass etc einfach auf bestimmte Sachen verlassen kann. Natürlich nicht auf alles, das habe ich aber auch schon dargelegt. Und auch nicht jeder Nischensprache brauch eine ISO-Norm das ist auch klar so eine Sprache muss sich ja auch erstmal entwickeln.
Wenn Karl-Heinz mit seinem Dreamweaver ein bissle CSS mit HTML zusammenkloppt und per PHP-Framework was zusammengeschustert hat, dann ist das was anderes. Mir geht es wirklich nur um Geschichten wo eine gewissen Qualität einfach erforderlich ist . Da haben einfach wichtige Eckpfeiler der Produktion genormt so sein.
-
Sry, du hast keine Ahnung von Softwareentwicklung. Wissenschaft modellieren sich ihre eigene Welt, das ist genau das gleiche wie in der Softwareentwicklung, das ist der Grund, warum weit oben als Kapitel "Begriffdefinition" oder "Grundlagen" steht.
Softwareentwicklung ist mehr als eine Realisierung in eine Programmiersprache einzuhacken. Software fängt in Kopf an und hört als immertielles Produkt im Rechner auf.
In unsere Branche hat man andere Probleme und man kann Sie nicht damit lösen in dem man alles normt. Es würde sorgar Flexibilität kosten. Evtl. die Flexibilität die man braucht um ein Softwareprojekt erfolgreich zu beenden.- Wie soll die Kundenidee analysiert werden? (Anforderungsanalyse)
- Mit welche techniche Basis soll das Fundament errichtet werden? (Softwarearchitektur)
- Wie soll Code erzeugt werden (Softwarequalitätsicherung)
- ...
Dennoch haben wir quasi Standard, die anpassbar und auswählbar sind:
- Datenstrukturen und Algorithmen
- UML, SASD,... (Softwaremodellierung)
- Wasserfallmodell, V-Modell, Agile Softwaremodellierung (Vorgehensmodelle)
- Entwurfsmuster und Architekturmuster
- Blackbox- und Whitebox-Test
- SCM: Subversion, Git
- ...
So besteht eine Kunst die effektivesten Methoden und Konzepte auszuwählen und anzupassen. Eine Normung von Allem - undenkbar, dazu entwickelt sich die Branche viel zu schnell, sie ist auch noch jung und flexible.
-
Zeus schrieb:
In unsere Branche hat man andere Probleme und man kann Sie nicht damit lösen in dem man alles normt.
Oh, ich habe schon das Problem mehrere Plattformen mit dem gleichen ANSI/ISO-C-Code bedienen zu müssen. Das ist aber kein Problem, da C ja genormt ist.
-
Zeus schrieb:
Sry, du hast keine Ahnung von Softwareentwicklung. Wissenschaft modellieren sich ihre eigene Welt, das ist genau das gleiche wie in der Softwareentwicklung, das ist der Grund, warum weit oben als Kapitel "Begriffdefinition" oder "Grundlagen" steht.
Softwareentwicklung ist mehr als eine Realisierung in eine Programmiersprache einzuhacken. Software fängt in Kopf an und hört als immertielles Produkt im Rechner auf.
In unsere Branche hat man andere Probleme und man kann Sie nicht damit lösen in dem man alles normt. Es würde sorgar Flexibilität kosten. Evtl. die Flexibilität die man braucht um ein Softwareprojekt erfolgreich zu beenden.- Wie soll die Kundenidee analysiert werden? (Anforderungsanalyse)
- Mit welche techniche Basis soll das Fundament errichtet werden? (Softwarearchitektur)
- Wie soll Code erzeugt werden (Softwarequalitätsicherung)
- ...
Dennoch haben wir quasi Standard, die anpassbar und auswählbar sind:
- Datenstrukturen und Algorithmen
- UML, SASD,... (Softwaremodellierung)
- Wasserfallmodell, V-Modell, Agile Softwaremodellierung (Vorgehensmodelle)
- Entwurfsmuster und Architekturmuster
- Blackbox- und Whitebox-Test
- SCM: Subversion, Git
- ...
So besteht eine Kunst die effektivesten Methoden und Konzepte auszuwählen und anzupassen. Eine Normung von Allem - undenkbar, dazu entwickelt sich die Branche viel zu schnell, sie ist auch noch jung und flexible.
Sry, und du kannst nicht lesen. Es ging mir nie darum alles zu normen. Aber das werde ich jetzt nicht mehr ausführen. Entweder könnt ihr lesen und verstehen oder auch nicht. Mir jetzt auch egal, vielleicht spreche auch auch nicht eure Sprache keine Ahnung.
@Tim: Son Müll ist nicht dein Ernst, das kannst du doch besser.
Mensch wie kann man so engstirnig sein. Selbst Stroustrup meint dass noch mehr Standards der Softwareindustrie helfen würde. Aber ja ihr seit ja viel besser und habt noch viel mehr Weit- und Durchblick. Ich glaub jetzt reichst, so ein Fass hier aufzumachen nur weil Jemand auch die Normierung von C++ etc. gut findet. Und dann noch nur in Extremen argumentieren und nicht auf die Reihe bekommen meine Beispiele richitg zu abstrahieren....Echt tolle Programmierer, ne wirklich ich verneige mich vor euch. Sone dumme Diskussion habe ich selten erlebt.
Der Thread kann geschlossen werden, es kommen eh nur Antworten die darauf schließen lasse das ich ziemlich missverstanden werde und ich weiß nicht wie einfach ich es noch erklären soll, vielleicht wäre Babysprache besser.
-