Welche Programmiersprachen sind genormt?



  • funcoder schrieb:

    @Tim: Son Müll ist nicht dein Ernst, das kannst du doch besser.

    Eh? 😕



  • funcoder schrieb:

    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.

    Vielleicht mal von Anfang an die Beleidigungen sein lassen. Oder überhaupt 🙂



  • funcoder schrieb:

    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.

    Ich glaube Stroustup war auch der, der behauptet hatte, dass die Verteilung der Nutzer auf C++ und Python proportional zum IQ ist. Warum sollten bekannte Leute, die etwas großes geleistet haben plötzlich mit Allem was sie sagen Recht haben? Da hätten wir schnell ein großes Dilemma. Es gibt bestimmt auch großartige Leute in der Branche, die nicht Stroustrups Meinung in allen Bereichen teilen.

    Engstirnig und dumm ist es aber, Andere als engstirnig zu bezeichnen, nur weil sie anderer Meinung sind. Ganz nach dem Motto: "Wenn sie nicht engstirnung wären, dann müssten sie mich doch verstehen und mir zustimmen." Das kann man auf jede Diskussion anwenden, aber willst du wirklich auf dieser Stufe ernsthaft diskutieren? Ich nicht.



  • Stourop or schrieb:

    Ich glaube Stroustup war auch der, der behauptet hatte, dass die Verteilung der Nutzer auf C++ und Python proportional zum IQ ist.

    Addiert sich der IQ, wem man beides nutzt? 🤡



  • Zeus schrieb:

    Stourop or schrieb:

    Ich glaube Stroustup war auch der, der behauptet hatte, dass die Verteilung der Nutzer auf C++ und Python proportional zum IQ ist.

    Addiert sich der IQ, wem man beides nutzt? 🤡

    Wenn du beides gleichzeitig erfolgreich einsetzt, dann ja.


  • Administrator

    Ehm, um mal eines klar zu machen:
    Standard ist ungleich offizielle Normierung.

    Es gibt auch viele defacto Standards oder einfach Standards, welche ausgehandelt wurden. Grundsätzlich reicht es ja, wenn jemand eine Spezifikation erstellt und alle sich daran halten. Ob da noch ein ISO oder sonst was daneben steht, ist grundsätzlich ziemlich egal. Dass ein Kompiler besser verkauft werden kann, welcher sich genau an den Standard hält, ist auch völliger Unsinn. Der MSVC verkauft sich sehr gut, hält sich aber nicht vollständig an den ISO Standard.
    Es braucht auch gar nicht unbedingt offizielle Standardisierungsstellen, denn Standards haben für die Firmen meistens Vorteile, weshalb sie sich gerne selber dafür einsetzen.

    funcoder schrieb:

    Jemand der auf den Namen aufpasst, also privatisiert. Tut mir leid, nein danke!!!

    Das ist auch so ein Unsinn von dir. Wieso sollte dies schlecht sein? Sowas gibt es sehr oft und heisst auch nicht unbedingt, dass da jetzt Gebühren oder sowas darauf erhoben wird. Es ist ja oft nicht einmal eine Privatisierung eines Namens, sondern irgendeine Gesellschaft hat die Rechte darauf. Dass müssen nicht einmal Gewinn bringende Gesellschaften sein, sondern eben irgendwelche Vereinigungen oder eine Universität oder sonstwas.

    Apropo Universität, ich verwende gerade in einem Projekt Lua. Lua hat keine offizielle Normierung und gehört der Pontifícia Universidade Católica do Rio de Janeiro (Päpstliche Katholische Universität von Rio de Janeiro). Lua hat aber eine vollständige Spezifikation und es gibt unterschiedliche Implementierungen von dieser Spezifikation. Man hält sich an diese Spezifkation und hat einen geschützten Namen, alles ohne ISO Normierung ...

    Gut, vielleicht könnte man hier argumentieren, dass dies eben ein Wunder ist. Schliesslich ist es eine päpstliche katholische Universität ... 🤡

    Deine Argumente sind einfach nicht korrekt und die Realität zeigt es auch auf. Offizielle Standards sind nicht unbedingt nötig und wie es bereits erwähnt wurde, sind offizielle Standards meistens recht viel träger, als defacto Standards oder einfach durch die Firmen selber ausgehandelte Standards. Viele Standard entstehen schliesslich auch bevor ISO diese aufnimmt. Allerdings muss halt eben auch jemand den Schritt machen und auf ISO zugehen. Nur wieso sollte man dies tun, wenn es auch ohne geht? Wieso sollte man für diesen Prozess Geld zahlen und wer, wenn es auch ohne geht?

    Grüssli



  • @Funcoder
    naja, du solltest Zeus Argumente nicht so ignorant wegwerfen, wie du es gerade tust. Insbesondere wenn du die ganze zeit von "Akademiker" und "Wissenschaftler" redest. Ich wette, du hast noch nie ein Mathe oder Informatikpaper gelesen. Ich habe hier ein Paper über Verstärkungslernen liegen, dass im ersten Abschnitt erstmal angibt, welche Definition mit welcher Nomenklatur überhaupt verwendet wird. Dann kommt eine mathematische Definition und dadrunter: "<x,y> ist unsere Notation für das Skalarprodukt", und so geht das weiter. Und wenn das in der Mathematik als formalste aller Sprachen vorkommt, dann gibt das schon zu denken. Der Grund ist, dass viele Wissenschaftler aus verschiedenen theoretischen Lehren kommen. Sie alle kennen das Skalarprodukt, aber für die einen ist das ein statistisches Werkzeug und wollen deshalb die Nähe zu der Notation für die Covarianz (<xy>) während die anderen es als Lineare Algebra ansehen.

    Zuerst klingt das, als ob es ein Argument für die Standartisierung ist. Aber in der Praxis ist es kein Problem, weil sich in jedem mathematischen Zweig die Nomenklatur ausprägt, die am sinnvollsten ist. Und genauso sieht das mit Programmiersprachen aus. Eventuell macht es einen Sinn, viele Dialekte einer Sprache zu haben, wenn die einzelnen Dialekte so besser auf ihr Anwendungsgebiet zugeschitten sind.



  • Das Akademiker-Argument ist in der Tat lustig. Ich glaube, es gibt kaum etwas so unspezifiziertes wie irgendwelche wissenschaftlichen Dinge. Notationen sind überall anders, Begriffe sind nicht einheitlich definiert und so weiter. 😃

    @Funcoder: Viele Leute in diesem Forum beobachten den Standardisierungsprozess von C++ seit langer Zeit. Und ich glaube, dass es in diesem Zusammenhang bei einigen zu einer Desillusionierung gekommen ist. Klar, es hört sich erstmal sehr gut an, wenn es zu einer Programmiersprache eine offizielle Norm gibt, aber irgendwann hinterfragt man das auch. Und dann kommen eben auch einige negative Aspekte heraus, von denen hier schon einiges gesagt wurde. Und es wird auch gesehen, dass andere Sprachen, zum Beispiel Java, auch ohne eine offizielle Norm bei einer Standardisierungsorganisation auskommen.

    Offizielle Normen sind aus meiner Sicht vor allem dann wichtig, wenn irgendetwas eine Schnittstellenfunktion hat, die von der Industrie vielfach verwendet wird. Eine Programmiersprache ist aber in erster Linie keine Schnittstelle, sondern ein Werkzeug.



  • Hi,

    Teilweise sind aber auch Standardisierungen extrem unflexibel.
    Ich habe jetzt nur ein paar Beispiele aus Delphi da:
    http://de.wikibooks.org/wiki/Programmierkurs:_Delphi:_Programmierstil
    Rechten Rand auf 80: wer druckt heute noch seitenweise Quelltext aus? In Zeiten von Widescreen mit Horizontalauflösungen von 1920 und mehr nicht mehr wirklich zu rechtfertigen. Wenn wirklich mal was gedruckt werden muss, dann eben Querformat.

    if a > b then...
    

    für mich, der ich von C komme gehört um JEDEN Vergleich eine Klammer ->

    if ( a > b ) then...
    

    keine Lerzeichen nach öffnenden und vor schleißenden Klammern und vor Doppelpunkt:

    procedure Hilfe(Text: string);
    

    -> ist für mich wesentlich unübersichtlihcer als

    procedure Hilfe( Text : string );
    

    Anordnung der Case-elemente:

    case Wert of
      Bedingung:
        begin
          ...
        end;
    else  { case }
      ...
    end;
    

    Warum den Else-Zweig vorziehen und hinten in Klammern angeben dass es das Else von case ist? Else ist auch nur ein besonderer Wert, nämlich der von allen verschiedene, also gehört er bei mir auf die Höhe der Bedingungen.

    case Wert of
      Bedingung:
        begin
          ...
        end;
      else 
      ...
    end;
    

    Warum soll man nicht die einzelnen Anweisung pro Bedingung auch mal wenn es passt hntereinander schreiben?

    case a of
      1 : begin Meckern( 'Eins' ); Wegschmeissen( 1  ); end;
      2 : begin Meckern( 'Zwei' ); Wegschmeissen( 2  ); end;
      3 : begin Meckern( 'Drei' ); Wegschmeissen( 3  ); end;
    end;
    

    Hier würde ein auseinanderziehen das ganze nur verkomplizieren...

    All das sind Freiheiten, auf die ich nicht verzichten möchte, weil sie den Quelltext für mich übersichtlich machen.
    Eine starre Normung (Es gibt Quelltextprüftools die sowas anmeckern würden) würde mich da doch sehr einschränken. Bis sich solche Normen an die reale Existenz moderner überbreiter Bildschirme wo es nicht mehr auf jeden Millimeter ankommt anpassen können bei so schnellen gremien wie der ISO Jahre vergehen.

    Gruß Mümmel


  • Administrator

    muemmel schrieb:

    Teilweise sind aber auch Standardisierungen extrem unflexibel.
    Ich habe jetzt nur ein paar Beispiele aus Delphi da:
    http://de.wikibooks.org/wiki/Programmierkurs:_Delphi:_Programmierstil

    Ehm, ist das nicht einfach nur eine Richtlinie? Eine Richtlinie ist wohl was anderes als eine Normierung. C# hat auch Code-Richtlinien. Und es lohnt sich oft, wenn man sich daran hält, da man dann konsistenten Code erzeugt, welcher zum Beispiel auch mit der Standardbibliothek übereinstimmt.

    Programmierstile sind in erster Linie eine Gewöhnungsfrage. Das Argument "Ich komme aus C, daher verwende ich in allen Programmiersprachen den C Stil" halte ich für sehr verkehrt. Es lohnt sich durchaus für alle Programmiersprachen, sich einen anderen Stil anzugewöhnen, bzw. einfach einigermasen der Richtlinie der Sprache zu folgen. Das hilft beim Umschalten bei der Denkweise, wie man programmieren muss. Anderes Werkzeug, andere Handhabung.

    Grüssli



  • Jetzt will ich doch auch mal meinen Senf dazu geben.

    Also C++ ist genormt. Und das finde ich gut so. Das bedeutet sicher nicht, dass jedes C++ Programm überall läuft. Aber das bedeutet immerhin, dass der allergrösste Teil des existierenden C++-Codes auf vielen Plattformen mit unterschiedlichsten Compilern lauffähig ist.

    Man schaue sich doch mal in der Open-Source-Welt um. Da gibt es viele Programme, die in C++ geschrieben wurden. In aller Regel wurden sie aber nicht für eine bestimmte Plattform geschrieben.

    Nehmen wir beispielsweise KDE. Das ist ein sehr grosses System, welches sowohl auf x86 unter Linux mit gcc als auch auf Sparc unter Solaris mit dem Sun Workshop compiler übersetzbar ist und dann auch läuft. Oder wie wäre es mit Firefox?

    Danke 👍 an die Leute, die sich um eine Standardisierung von C++ bemüht haben. Sicher ist nicht alles perfekt und das eine oder andere #ifdef ist notwendig, aber im grossen und ganzen läuft das.



  • sei hier bloss nicht für Standarisierung oder Normen und versuche das dann nicht auch noch zu begründen. Mich haben die bis zum Schluß nicht verstanden und dachten ich wollte gleich jede Kleinigkeit oder jede Sprache einer Norm unterziehen. Entweder können die hier nicht verstehen, lesen oder nicht abstrahieren. 🙄



  • tntnet schrieb:

    Jetzt will ich doch auch mal meinen Senf dazu geben ....

    Danke 👍 an die Leute, die sich um eine Standardisierung von C++ bemüht haben. Sicher ist nicht alles perfekt und das eine oder andere #ifdef ist notwendig, aber im grossen und ganzen läuft das.

    👍 So ist es! In den Zeiten vor C und C++ gab es sinnvoll nur FORTRAN. Dafür gab es auch standardisierte Normen, nur wurden sie allgemein als erfüllbares Minimum angesehen und beliebig erweitert. Wer Software entwickeln wollte, musste dies auf dem System A tun und beim Anwender auf dem System B installieren. Man tat also sich selbst einen grossen Gefallen, nur gesicherte Standards einzusetzen.

    Jede Programmiersprache kommt mit einem gesicherten Standard gut aus. Allen Rest packt man in Funktionsbibliotheken, die austauschbar sind. C und C++ haben das in vorbildlicher Weise gemacht.



  • Ich finde Standard und Normen auch gut. Ich mag es nicht wenn jeder machen kann was und wie er will, das hat was von Anarchie und um dieses Chaos halbwegs in den Griff zu bekommen bedarf es viel Energie, Zeit, Geld und Nerven. Die beiden Extreme sind Freiheit und Chaos auf der einen und Normen und Ordnung auf der anderen Seite. Man sollte da einen guten Mittelweg finden und das ist bestimmt nicht einfach, aber beide Extreme sind kein akzeptabler Zustand für gute Projektarbeit.

    G hibbes



  • In den Zeiten vor C und C++ gab es sinnvoll nur FORTRAN.

    Jaja ja, was fuer ein Bullshit. Und bevor es den Elektroherd gab, hat man sein Fleisch noch ueber offenes Feuer gebraten.



  • Warum kommen eigentlich immer so viele schwachsinnige "Argumente", wenn es um Programmiersprachen geht?



  • Weil sich einige persönlich angegriffen fühlen wenn ihre Entscheidung für eine Technologie oder sonst etwas kritisiert wird. Für denjenigen fühlt es sich dann so an als wenn er als Mensch was falsch macht und je nach Ego geht das gut oder auch nicht.

    Mit dem Alter ist einem dann so ziemlich egal was Andere denken und man macht das was einem Spaß macht auch wenn es in den Augen anderer keinen Sinn macht.

    Hier habe ich oft gelesen:
    "Das macht man heute anders, schneller, besser?" "Dafür gibt es andere Sprachen?""Das gibt es aber schon in einer Lib!" "Keiner schriebt heute mehr seine kompletten Programme in Assembler!" "Warum willst du eine eigene 3D-Engine nur mit Software-Renderer schreiben?" "Warum willst du das Rad neu erfinden?" usw. Die Antwort auf all diese Fragen ist:"Weil ich es machen will und es mir einen heiden Spaß macht." und das ist der Sinn der dahinter steckt und auch was bringt, nämlich die Befriedigung des eigenen Wissensdurstes und somit Entspannung in der Freizeit.

    Gruß blue-tec



  • muemmel schrieb:

    Rechten Rand auf 80: wer druckt heute noch seitenweise Quelltext aus? In Zeiten von Widescreen mit Horizontalauflösungen von 1920 und mehr nicht mehr wirklich zu rechtfertigen.

    Vielleicht will nicht jeder seinen Editor im Vollbild haben. Vielleicht hat es seine Gründe, warum in Zeitschriften der Text in mehreren Spalten gedruckt wird...



  • Exakt, bei zu vielen Zeichen ist es für das Auge schwer die nächste Zeile zu finden deswegen werden die Texte auch in Zeitschriften und auf guten Internetseiten in Spalten unterteilt. Ich nutze eine höhere Auflösung auch nicht dazu etwas in Vollbild zu machen ausser wenn ich in Qt-Creator beispielsweise 2 Quelltexte nebeneinander habe. Ansonsten habe ich meistens ein PDF auf der einen Seite und meine IDE auf der anderen. Ich mag auch Internetseite sehr die nicht eine hohe Auflösung verlangen, weil ich dadurch auch meinen Browser nicht maximieren muss und somit auch mal nebenbei mit VLC einen Film laufen lassen kann.

    Also ich halte mich immer noch an die 80 Zeichen Regel da es einfach lesbarer ist und man auch mehrere Quelltexte nebeneinander haben kann.



  • In Xaml wirds da mit den 80 Zeichen schon extrem schwer ^^
    Also ich finde Code hässlich wo alles auf 80 Zeichen gezwungen wird, da hat man dann links so Code Klötze und viel unbenutzten Platz.
    Man sollte es schon nicht übertreiben, das ist klar, aber ein höheren durchschnitt als gerade mal 80 schadet nicht.

    Kann man irgendwie seine durchschnittszeilenlänge messen lassen?


Anmelden zum Antworten