1. Foren
  2. Kommentare
  3. OpenSource-Forum
  4. Alle Kommentare zum Artikel
  5. › Schwere Sicherheitslücke in X…

Eine Klammer???

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Eine Klammer???

    Autor: micha_der_erste 03.05.06 - 09:57

    Was ist das für eine Sprache, die risige Lücken in das System reißt, wenn man eine KLAMMER vergisst???

    Sorry, aber für C++ sollte man einen Waffenschein brauchen!

  2. Re: Eine Klammer???

    Autor: Uni 03.05.06 - 10:00

    micha_der_erste schrieb:
    -------------------------------------------------------
    > Was ist das für eine Sprache, die risige Lücken in
    > das System reißt, wenn man eine KLAMMER
    > vergisst???
    >
    > Sorry, aber für C++ sollte man einen Waffenschein
    > brauchen!


    Genau - Überraschung pur, dass der Compiler macht was man ihm sagt, nicht? Lasst uns X.org auf Ada umschreiben!

  3. Re: Eine Klammer???

    Autor: widersprecher 03.05.06 - 10:07

    Uni schrieb:
    -------------------------------------------------------

    > Lasst uns X.org auf Ada umschreiben!

    Nein, wirklich übersichtlich wird es nur hiermit:
    http://people.csa.iisc.ernet.in/sreejith/frontends/spl/


  4. Re: Eine Klammer???

    Autor: BF 03.05.06 - 10:57

    http://de.wikipedia.org/wiki/Brainfuck


  5. Re: Eine Klammer???

    Autor: XP55T2P4 03.05.06 - 10:57

    micha_der_erste schrieb:
    -------------------------------------------------------
    > Was ist das für eine Sprache, die riesige Lücken in
    > das System reißt, wenn man eine KLAMMER
    > vergisst???

    Och - zu meiner Codezeilenzeit da lief bei einer fehlenden Klammer dann meistens garnichts mehr. Oder es kam nur noch Müll raus. Frage bitte nicht, mit wievielen Augen wir damals solche Kleinigkeiten gesucht haben. Bis wir dann auch diese Suche mit Programmen optimiert haben.

    MfG
    XP55T2P4

  6. Re: Eine Klammer???

    Autor: Fred3 03.05.06 - 11:03

    Was ist denn das für ein Produkt, das anfängt zu brennen, wenn man einen Kondensator falsch dimensioniert?
    Autos sollten verboten werden!

    Aber wenigstens hat heute schon jemand mit dir geredet, du kannst also stolz auf dich sein.

  7. Re: Eine Klammer???

    Autor: nurimvorbeigehen 03.05.06 - 11:15

    micha_der_erste schrieb:
    -------------------------------------------------------
    > Was ist das für eine Sprache, die risige Lücken in
    > das System reißt, wenn man eine KLAMMER
    > vergisst???
    >
    > Sorry, aber für C++ sollte man einen Waffenschein
    > brauchen!

    der fehler liegt beim coder, nicht bei c++. solche sicherheitslücken kann man mit fast allen sprachen erzeugen. geht auch wunderbar mit java, perl, python etc...

    wäre allerdings schön zu wissen, WAS für eine klammer es war, ([{...}])...dann könnte man etwas genauer sagen, warum diese eine fehlende klammer so ein nettes leck erzeugen kann.

  8. Re: Eine Klammer???

    Autor: Amüsierter Leser 03.05.06 - 11:50

    Hier tut Aufklärung not...

    micha_der_erste schrieb:
    -------------------------------------------------------
    > Was ist das für eine Sprache, die risige Lücken in
    > das System reißt, wenn man eine KLAMMER
    > vergisst???

    Ich glaube die Meldung so nicht. Ich gehe davon aus, dass es sich um eine falsch positionierte Klammer handelt. Eine fehlende Klammer würde von einem C/C++ Compiler bemängelt.

    Klammern braucht man, um Ausdrücke zu priorisieren,
    z.B. wert = ( 4 + 5 ) * 3

    Ohne Klammern geht es nicht und Mathematik wird auch ohne Waffenschein in der Grundschule unterrichtet. Alle Sprachen benötigen genaue Angaben, welche Aussage hervorgehoben wird, denn ungeklammerte Sprachen (z.B. Deutsch) sind entweder nicht exakt genug oder Klammer auf unaussprechlich und schwer verständlich Klammer zu. Ohne die Klammerung könnte es auch (nicht exakt genug und unaussprechlich) ODER (schwer verständlich) heißen.
    Wir interpretieren(!) das aus der Betonung, soweit möglich. Manchmal interpretieren wir falsch. Ein Compiler kann nicht interpretieren und darf nicht interpretieren, also muss die Sprache exakt sein.

    Eine falsch positionierte Klammer kann schnell passieren, davor sind andere Sprachen, wie Java, C#, PHP, Lisp(!) nicht verschont und derartige Fehler sind schwer zu finden, da der Mensch sie schnell überliest.

    > Sorry, aber für C++ sollte man einen Waffenschein
    > brauchen!

    Das ist Unsinn. Eher für Leute, die irgendetwas lesen, daraus etwas interpretieren und daraufhin unwissend unsinnige Forderungen stellen. Das würde uns das politische Sommerloch ersparen.

    C++ gehört zu den effektivsten Sprachen und ist in meinen Augen die zur Zeit leistungsfähigste und ebenfalls als eine der _sichersten_ Sprachen, wenn man in der Lage ist, sie _richtig_ zu benutzen. Referenzen (sind in C++ eben KEINE Zeiger!) sind sicherer als in Java oder C# - sie halten nämlich das, was Java und C# nur versprechen. Der geschickte Umgang mit Templates bedeutet in C++ typsicherheit zur Übersetzungszeit und nicht erst zur Laufzeit.

    Mit C++ kann man viel machen, aber wo ich Dir recht gebe ist, dass man wissen sollte, was man tut. Jemand, der grade programmieren lernt, sollte das nicht unterschätzen und die Programmierausbildung in D'land leider nicht ausreichend. Referenzen z.B. kamen in meinem Informatik-Studium nicht vor.
    Wenn selbst Informatiker teils nicht die Fähigkeiten von C++ nicht kennen, so kann ich es niemanden vorwerfen, dass er C++ für eine schlechte Sprache hält.

    Was mich tröstet ist, dass die Ausbildung in Indien auch nicht besser erscheint erscheint, eher im Gegenteil. ^^

    C++ ist (in meinen Augen) das mächtigste Werkzeug, dass die Informatik zur Zeit zu bieten hat und wer in der Oberliga spielen will braucht eine gute Ausbildung und Erfahrung.
    Würde ich ein F1 Auto fahren, wäre ich - trotz KFZ-Diplom (Führerschein) - auch überfordert. Hier ist es aber selbstverständlich, dass ich keinen F1-Boliden fahre.
    An einen C++ Compiler kommt jeder ran und jeder Depp darf ein schlechtes Programm gegen die Wand setzen. Dann ist der Depp nicht schuld, die Programmiersprache hätte ausweichen sollen... würde der Depp in einem F1-Auto sitzen, würde niemand das Auto verantwortlich machen.

    Versagt hat nicht die Sprache, sondern die Ausbildung, die Sprache bietet mehr Sicherheitkonzepte als allgemein bekannt sind.

    Der Fehler, der die Meldung hervorrief ist ein Programmierfehler, der in jeder anderen Sprache genauso möglich ist und hat überhaupt nichts mit der Sicherheit von C oder C++ zu tun.

    Diese Meinung mit dem Hintergrund als Informatiker, Compiler- und Programmiersprachenentwickler.

  9. Re: Eine Klammer???

    Autor: Michael - alt 03.05.06 - 11:57

    Du hast ja soooooo Recht. Aber Du kannst mit Sicherheit davon ausgehen, daß Dein Text kaum einer der Kiddies begriffen hat, die ihr Betriebssystem zum dritten Mal installiert haben und bei der Kompilierung von "Hello World" feuchte Augen bekommen haben.


    Amüsierter Leser schrieb:
    -------------------------------------------------------
    > Hier tut Aufklärung not...
    >
    > micha_der_erste schrieb:
    > --------------------------------------------------
    > -----
    > > Was ist das für eine Sprache, die risige
    > Lücken in
    > das System reißt, wenn man eine
    > KLAMMER
    > vergisst???
    >
    > Ich glaube die Meldung so nicht. Ich gehe davon
    > aus, dass es sich um eine falsch positionierte
    > Klammer handelt. Eine fehlende Klammer würde von
    > einem C/C++ Compiler bemängelt.
    >
    > Klammern braucht man, um Ausdrücke zu
    > priorisieren,
    > z.B. wert = ( 4 + 5 ) * 3
    >
    > Ohne Klammern geht es nicht und Mathematik wird
    > auch ohne Waffenschein in der Grundschule
    > unterrichtet. Alle Sprachen benötigen genaue
    > Angaben, welche Aussage hervorgehoben wird, denn
    > ungeklammerte Sprachen (z.B. Deutsch) sind
    > entweder nicht exakt genug oder Klammer auf
    > unaussprechlich und schwer verständlich Klammer
    > zu. Ohne die Klammerung könnte es auch (nicht
    > exakt genug und unaussprechlich) ODER (schwer
    > verständlich) heißen.
    > Wir interpretieren(!) das aus der Betonung, soweit
    > möglich. Manchmal interpretieren wir falsch. Ein
    > Compiler kann nicht interpretieren und darf nicht
    > interpretieren, also muss die Sprache exakt sein.
    >
    > Eine falsch positionierte Klammer kann schnell
    > passieren, davor sind andere Sprachen, wie Java,
    > C#, PHP, Lisp(!) nicht verschont und derartige
    > Fehler sind schwer zu finden, da der Mensch sie
    > schnell überliest.
    >
    > > Sorry, aber für C++ sollte man einen
    > Waffenschein
    > brauchen!
    >
    > Das ist Unsinn. Eher für Leute, die irgendetwas
    > lesen, daraus etwas interpretieren und daraufhin
    > unwissend unsinnige Forderungen stellen. Das würde
    > uns das politische Sommerloch ersparen.
    >
    > C++ gehört zu den effektivsten Sprachen und ist in
    > meinen Augen die zur Zeit leistungsfähigste und
    > ebenfalls als eine der _sichersten_ Sprachen, wenn
    > man in der Lage ist, sie _richtig_ zu benutzen.
    > Referenzen (sind in C++ eben KEINE Zeiger!) sind
    > sicherer als in Java oder C# - sie halten nämlich
    > das, was Java und C# nur versprechen. Der
    > geschickte Umgang mit Templates bedeutet in C++
    > typsicherheit zur Übersetzungszeit und nicht erst
    > zur Laufzeit.
    >
    > Mit C++ kann man viel machen, aber wo ich Dir
    > recht gebe ist, dass man wissen sollte, was man
    > tut. Jemand, der grade programmieren lernt, sollte
    > das nicht unterschätzen und die
    > Programmierausbildung in D'land leider nicht
    > ausreichend. Referenzen z.B. kamen in meinem
    > Informatik-Studium nicht vor.
    > Wenn selbst Informatiker teils nicht die
    > Fähigkeiten von C++ nicht kennen, so kann ich es
    > niemanden vorwerfen, dass er C++ für eine
    > schlechte Sprache hält.
    >
    > Was mich tröstet ist, dass die Ausbildung in
    > Indien auch nicht besser erscheint erscheint, eher
    > im Gegenteil. ^^
    >
    > C++ ist (in meinen Augen) das mächtigste Werkzeug,
    > dass die Informatik zur Zeit zu bieten hat und wer
    > in der Oberliga spielen will braucht eine gute
    > Ausbildung und Erfahrung.
    > Würde ich ein F1 Auto fahren, wäre ich - trotz
    > KFZ-Diplom (Führerschein) - auch überfordert. Hier
    > ist es aber selbstverständlich, dass ich keinen
    > F1-Boliden fahre.
    > An einen C++ Compiler kommt jeder ran und jeder
    > Depp darf ein schlechtes Programm gegen die Wand
    > setzen. Dann ist der Depp nicht schuld, die
    > Programmiersprache hätte ausweichen sollen...
    > würde der Depp in einem F1-Auto sitzen, würde
    > niemand das Auto verantwortlich machen.
    >
    > Versagt hat nicht die Sprache, sondern die
    > Ausbildung, die Sprache bietet mehr
    > Sicherheitkonzepte als allgemein bekannt sind.
    >
    > Der Fehler, der die Meldung hervorrief ist ein
    > Programmierfehler, der in jeder anderen Sprache
    > genauso möglich ist und hat überhaupt nichts mit
    > der Sicherheit von C oder C++ zu tun.
    >
    > Diese Meinung mit dem Hintergrund als
    > Informatiker, Compiler- und
    > Programmiersprachenentwickler.


  10. Re: Eine Klammer???

    Autor: Nope 03.05.06 - 12:09


    C++ gehoert DEFINITIV NICHT zu den effektivsten Sprachen - zu den performantesten vielleicht. Ich liebe auch C++ und es macht mir immer wieder Spass, damit zu basteln. Aber es ist alles andere als effektiv. Ruby z.B. ist effektiv. Es gibt Dinge die ich in Ruby sofort umsetze, fuer die braucht man Tage in C++ (klar, ganz pauschal kann man es nicht sagen, aber Du weisst was ich meine). DAS ist effektiv; vielleicht nicht performant, aber effektiv.

  11. Re: Eine Klammer???

    Autor: Nope 03.05.06 - 12:11


    ARGH! Sollte als Antwort zum "Amuesierten Leser" sein. Sorry...

  12. Re: Eine Klammer???

    Autor: Nope 03.05.06 - 12:13

    Also, zweiter Versuch:

    C++ gehoert DEFINITIV NICHT zu den effektivsten Sprachen - zu den performantesten vielleicht. Ich liebe auch C++ und es macht mir immer wieder Spass, damit zu basteln. Aber es ist alles andere als effektiv. Ruby z.B. ist effektiv. Es gibt Dinge die ich in Ruby sofort umsetze, fuer die braucht man Tage in C++ (klar, ganz pauschal kann man es nicht sagen, aber Du weisst was ich meine). DAS ist effektiv; vielleicht nicht performant, aber effektiv.

  13. Re: Eine Klammer???

    Autor: Hmm.... 03.05.06 - 12:15


    X.org ist in C geschrieben.

  14. Re: Eine Klammer???

    Autor: Amüsierter Leser 03.05.06 - 12:57

    Nope schrieb:
    -------------------------------------------------------
    > C++ gehoert DEFINITIV NICHT zu den effektivsten
    > Sprachen - zu den performantesten vielleicht.
    > [...] Ruby z.B. ist effektiv. Es gibt
    > Dinge die ich in Ruby sofort umsetze, fuer die
    > braucht man Tage in C++ [...]
    > DAS ist effektiv; vielleicht nicht performant,
    > aber effektiv.

    Die Frage ist hier auch, wieviel Du bei Ruby standardmäßig installiert hast und was bei C++.

    Als nächstes kommt die Frage, was Du überhaupt programmierst. Eine Scriptsprache, die viel Funktionalität mitberingt, ist einer nackten C++ Installation natürlich überlegen, solange man nur ein kleines Projekt umsetzen möchte. Sobald man etwas größeres oder auch etwas detailierter beschreiben möchte, steigt der Aufwand häufig wenn man sich spezialisierten Sprachen/Klassen bewegt.

    Bei etwas größeren Projekten zeigt sich allerdings meiner Erfahrung nach, dass C++ die Nase vorn hat - nicht nur bzgl. der Performance, sondern auch bei der Effektivität.
    Bei kleineren Projekten ist es also eher die Frage, ob eine Sprache viel spezialisierte Funktionalität mitbringt und ob man für C++ eine entsprechend spezialisierte Lib zur Verfügung hat.

  15. Re: Eine Klammer???

    Autor: Michael - alt 03.05.06 - 13:19

    Das ist doch eine Frage dessen, was man mit Effizienz erreichen will. Ich bin selbst leidenschaftlicher Assemblerprogrammierer und finde diese Sprache für meine Zwecke unter Gebrauch von Macros einfach super. Allerdings kann ich damit nicht garantieren, daß ich irgendwo eine Speicherverletzung einbaue. Zudem wird es äusserst schwierig im Umgang mit Schnittstellen. Darüberhinaus ist der Einsatz von Assembler in grafischen Oberflächen total bescheuert, da völlig ineffizient, da man eine Pseudoinstantiierung betreiben müsste; all diese Dinge nimmt einem C++ exzellent ab. Allerdings wäre das Schreiben eines Treibers für spezielle Hardware unter C++ wiederum völliger Unsinn, alleine schon aus Performance-Gründen.

    Der Einsatz von JAVA ist aus anderen Gründen wiederum abzulehnen, da man nie weiß, was das Zeug so zwischendrin alles verbricht. Stichwort Garbage-Collection.

    Allerdings wäre das Schreiben eines Servlets in Assembler: Dummheit, in C++ unangemessen usw.....

    Für den Großteil der Anwendungen ist C++ sicherlich die Effektivste Sprache. Aber es kommt auf den Einzelfall an. Daher stimme ich meinem Vorredner weiterhin zu 100% zu.

    Nope schrieb:
    -------------------------------------------------------
    > > C++ gehoert DEFINITIV NICHT zu den effektivsten
    > Sprachen - zu den performantesten vielleicht. Ich
    > liebe auch C++ und es macht mir immer wieder
    > Spass, damit zu basteln. Aber es ist alles andere
    > als effektiv. Ruby z.B. ist effektiv. Es gibt
    > Dinge die ich in Ruby sofort umsetze, fuer die
    > braucht man Tage in C++ (klar, ganz pauschal kann
    > man es nicht sagen, aber Du weisst was ich meine).
    > DAS ist effektiv; vielleicht nicht performant,
    > aber effektiv.
    >


  16. Re: Eine Klammer???

    Autor: Nope 03.05.06 - 13:21


    > Die Frage ist hier auch, wieviel Du bei Ruby
    > standardmäßig installiert hast und was bei C++.

    Darum geht es aber ja erstmal. Was bringt mir eine Sprache, bei der ich JEDES Rad neu erfinden muss. Gut, hier hat C++ dank HP und ISO nauterlich gewaltig aufgeholt: STL...
    Aber genau das ist ja z.B. einer der gewaltigen Vorteile von Java gegenueber C++. Der Werkzeugkasten der einem von Haus aus geliefert wird ist nunmal einfach mit mehr Werkzeug voll -> ergo effektiver. ;)


    > Als nächstes kommt die Frage, was Du überhaupt
    > programmierst. Eine Scriptsprache, die viel
    > Funktionalität mitberingt, ist einer nackten C++
    > Installation natürlich überlegen, solange man nur
    > ein kleines Projekt umsetzen möchte. Sobald man
    > etwas größeres oder auch etwas detailierter
    > beschreiben möchte, steigt der Aufwand häufig wenn
    > man sich spezialisierten Sprachen/Klassen bewegt.

    Das stimmt oft schon, verallgemeinern kann man es aber nicht. Dies haengt ja nicht davon ab ob Skriptsprache oder nicht, oder ob der Standardlib Umfang gross oder klein ist. Dies haengt von der Sprache ansich ab und da ist Ruby (nur als ein Beispiel) halt schon genial. Und auch grosse Projekte sollte damit _erstrecht_ kein Problem darstellen.


    > Bei etwas größeren Projekten zeigt sich allerdings
    > meiner Erfahrung nach, dass C++ die Nase vorn hat
    > - nicht nur bzgl. der Performance, sondern auch
    > bei der Effektivität.

    Da wuerde ich Dir wohl ebenfalls widersprechen. C++ ist sehr gut fuer grosse Projekte geeignet, aber effektiv wuerde ich es trotzdem nicht bezeichnen. Das faengt beim Kompilieren (und dessen Zeit) an (und das ist gerade bei C++ oft "a pain in the ass") - und wo es aufhoert weiss ich gar nicht. ;) Aber mit C++ kann man halt viele Schweinereien machen (was ich auch gerade liebe an der Sprache), was auch viele Fehler verursachen kann ('n guter Garbage Collector ist hier schonmal nicht verkehrt). Dies traegt ebenfalls nicht zur Effektivitaet bei.

    Zugegeben, all dies zu verhindern kostet Performance. Aber das ist in 85% der Faelle wurscht. Bei einer grossen Enterprise Applikation kommt es in den weiten Teilen nicht darauf an, wie schnell die Laufzeitperformance ist, sondern wie schnell entwickelt werden kann (und mit wie wenigen Fehlern). Und da kommt C++ leider nicht gut weg. Nicht umsonst hat Java (was ich komischerweise gar nicht mag) _gerade_ in diesem Bereich C++ oft weitestgehend abgeloest...

    Zum Abschluss: schau Dir Ruby an. Ich war lange nicht mehr von einer Sprache so begeistert. Und es bringt vorallem neue Denkansetze beim Programmieren (viele Einfluesse von funktionaler Programmierung z.B.). Und nichts ist wichtiger fuer einen Programmierer, als seinen Horizont zu erweitern (nicht im Sinne von anderen Sprachen lernen, sondern andere Ansaetze: Funktionaler gegenueber imperativer Programmierung etc...)

  17. C++ Compiler Kiddies?

    Autor: Amüsierter Leser 03.05.06 - 13:21

    Michael - alt schrieb:
    -------------------------------------------------------
    > Du hast ja soooooo Recht. Aber Du kannst mit
    > Sicherheit davon ausgehen, daß Dein Text kaum
    > einer der Kiddies begriffen hat[...]

    Das ist auch nicht erforderlich.
    Solche Kiddies lernen. Ich halte es auch für wichtig, dass man eine Sprache klar gegen die Wand fahren kann, denn nur so sieht man, was man da tut und begreift, warum man es besser läßt.

    In Java gibt es keine Zeiger - aber in den meinen damaligen Tutorien dafür die Frage, was eigentlich genau eine Null-Pointer-Exception ist. Pointer heißt doch Zeiger und die gibt's doch gar nicht?! Was bedeutet das dann eigentlich und wie passt sowas in das beschränkte Java-Universum?

    Wichtiger wäre mir, wenn sich Entscheidungsträger erst informieren würde, bevor man dem Java-Hype ohne weitere Gedanken folgt und stattdessen vielleicht ihre Entwickler in den Techniken guter C++ Programmierung schulen. Portabilität geht auch mit C++ Libs. Hätte man die Energie der Java-Imports in C++ Libs gesteckt, wären wir heute weiter. Boost.org geht da einen interessanten Weg.

    Die Kunst ist es eben nicht auf vier Seiten einen Algorithmus zu schreiben, der möglichst alle Fehler abfängt, die auftreten könnten, sondern auf 4 Zeilen einen Algorithmus zu schreiben, der so durchdacht ist, dass er nicht fehlschlägt.

  18. Re: Eine Klammer???

    Autor: GastHier 03.05.06 - 13:21

    Schon mal dran gedacht das die mit Klammer auch sowas meinen könnten:

    statt:

    if (a)
    {
    // Codezeile1
    // Codezeile2
    // Codezeile3
    }

    könnte das der Fehler sein:

    if (a)
    // Codezeile1
    // Codezeile2
    // Codezeile3

    Eine einzelne vergessene Klammer müsste nämlich selbst der c Compiler anmeckern.
    Amüsierter Leser schrieb:
    -------------------------------------------------------
    > Hier tut Aufklärung not...
    >
    > micha_der_erste schrieb:
    > --------------------------------------------------
    > -----
    > > Was ist das für eine Sprache, die risige
    > Lücken in
    > das System reißt, wenn man eine
    > KLAMMER
    > vergisst???
    >
    > Ich glaube die Meldung so nicht. Ich gehe davon
    > aus, dass es sich um eine falsch positionierte
    > Klammer handelt. Eine fehlende Klammer würde von
    > einem C/C++ Compiler bemängelt.
    >
    > Klammern braucht man, um Ausdrücke zu
    > priorisieren,
    > z.B. wert = ( 4 + 5 ) * 3
    >
    > Ohne Klammern geht es nicht und Mathematik wird
    > auch ohne Waffenschein in der Grundschule
    > unterrichtet. Alle Sprachen benötigen genaue
    > Angaben, welche Aussage hervorgehoben wird, denn
    > ungeklammerte Sprachen (z.B. Deutsch) sind
    > entweder nicht exakt genug oder Klammer auf
    > unaussprechlich und schwer verständlich Klammer
    > zu. Ohne die Klammerung könnte es auch (nicht
    > exakt genug und unaussprechlich) ODER (schwer
    > verständlich) heißen.
    > Wir interpretieren(!) das aus der Betonung, soweit
    > möglich. Manchmal interpretieren wir falsch. Ein
    > Compiler kann nicht interpretieren und darf nicht
    > interpretieren, also muss die Sprache exakt sein.
    >
    > Eine falsch positionierte Klammer kann schnell
    > passieren, davor sind andere Sprachen, wie Java,
    > C#, PHP, Lisp(!) nicht verschont und derartige
    > Fehler sind schwer zu finden, da der Mensch sie
    > schnell überliest.
    >
    > > Sorry, aber für C++ sollte man einen
    > Waffenschein
    > brauchen!
    >
    > Das ist Unsinn. Eher für Leute, die irgendetwas
    > lesen, daraus etwas interpretieren und daraufhin
    > unwissend unsinnige Forderungen stellen. Das würde
    > uns das politische Sommerloch ersparen.
    >
    > C++ gehört zu den effektivsten Sprachen und ist in
    > meinen Augen die zur Zeit leistungsfähigste und
    > ebenfalls als eine der _sichersten_ Sprachen, wenn
    > man in der Lage ist, sie _richtig_ zu benutzen.
    > Referenzen (sind in C++ eben KEINE Zeiger!) sind
    > sicherer als in Java oder C# - sie halten nämlich
    > das, was Java und C# nur versprechen. Der
    > geschickte Umgang mit Templates bedeutet in C++
    > typsicherheit zur Übersetzungszeit und nicht erst
    > zur Laufzeit.
    >
    > Mit C++ kann man viel machen, aber wo ich Dir
    > recht gebe ist, dass man wissen sollte, was man
    > tut. Jemand, der grade programmieren lernt, sollte
    > das nicht unterschätzen und die
    > Programmierausbildung in D'land leider nicht
    > ausreichend. Referenzen z.B. kamen in meinem
    > Informatik-Studium nicht vor.
    > Wenn selbst Informatiker teils nicht die
    > Fähigkeiten von C++ nicht kennen, so kann ich es
    > niemanden vorwerfen, dass er C++ für eine
    > schlechte Sprache hält.
    >
    > Was mich tröstet ist, dass die Ausbildung in
    > Indien auch nicht besser erscheint erscheint, eher
    > im Gegenteil. ^^
    >
    > C++ ist (in meinen Augen) das mächtigste Werkzeug,
    > dass die Informatik zur Zeit zu bieten hat und wer
    > in der Oberliga spielen will braucht eine gute
    > Ausbildung und Erfahrung.
    > Würde ich ein F1 Auto fahren, wäre ich - trotz
    > KFZ-Diplom (Führerschein) - auch überfordert. Hier
    > ist es aber selbstverständlich, dass ich keinen
    > F1-Boliden fahre.
    > An einen C++ Compiler kommt jeder ran und jeder
    > Depp darf ein schlechtes Programm gegen die Wand
    > setzen. Dann ist der Depp nicht schuld, die
    > Programmiersprache hätte ausweichen sollen...
    > würde der Depp in einem F1-Auto sitzen, würde
    > niemand das Auto verantwortlich machen.
    >
    > Versagt hat nicht die Sprache, sondern die
    > Ausbildung, die Sprache bietet mehr
    > Sicherheitkonzepte als allgemein bekannt sind.
    >
    > Der Fehler, der die Meldung hervorrief ist ein
    > Programmierfehler, der in jeder anderen Sprache
    > genauso möglich ist und hat überhaupt nichts mit
    > der Sicherheit von C oder C++ zu tun.
    >
    > Diese Meinung mit dem Hintergrund als
    > Informatiker, Compiler- und
    > Programmiersprachenentwickler.


  19. Re: Eine Klammer???

    Autor: Nope 03.05.06 - 13:22


    siehe Beitrag von mir weiter unten...

  20. Re: Eine Klammer???

    Autor: Amüsierter Leser 03.05.06 - 13:52

    Nope schrieb:
    -------------------------------------------------------
    > Darum geht es aber ja erstmal. Was bringt mir eine
    > Sprache, bei der ich JEDES Rad neu erfinden muss.

    Ganz ehrlich...? Who cares?
    Wer eine Liste erzeugt ohne jemals eine Liste programmiert zu haben, den will ich eh nicht als Kollegen haben.
    Ansonsten sind Felgen und Bereifung für das Rad in allen gängigen Geschmacksrichtungen verfügbar.

    > Aber genau das ist ja z.B. einer der gewaltigen
    > Vorteile von Java gegenueber C++. Der
    > Werkzeugkasten der einem von Haus aus geliefert
    > wird ist nunmal einfach mit mehr Werkzeug voll
    > -> ergo effektiver. ;)

    Jow... und mehrdeutig. Zwei Programmierer schreiben unterschiedliche Dialog. Der eine in Swing, der andere in SWT. Okay, sie haben sich abgesprochen. Also schreibt der eine in Java 1.4, der andere in Java 1.5.
    Leider erwischen wir wieder ein paar Klassen, die in 1.5 eigentlich verschwinden sollten... als 1.5 rauskam, war ich dankbar C++ zu programmieren. Das sah echt unheimlich effektiv aus, als auf einmal nix mehr ging, die eine Hälfte auf 1.4 downgradete und der Rest versuchte die vorhandenen Codes auf 1.5 anzupassen. :->

    Dann kamen Kompatiblitätslibs raus und alles ging wieder. Da fehlte nur die Flasche Sekt. Warten wir auf 1.6...

    Java Produkte mit kompatibler JavaVM auszuliefern finde ich auch witzig. Man weiß ja nicht, was die da grade installiert haben... also packen wir mal 50MB dazu... dann läuft's auf jeden Fall. 1MB Programm + 50MB Anhang.

    > Das stimmt oft schon, verallgemeinern kann man es
    > aber nicht. Dies haengt ja nicht davon ab ob
    > Skriptsprache oder nicht, oder ob der Standardlib
    > Umfang gross oder klein ist. Dies haengt von der
    > Sprache ansich ab und da ist Ruby (nur als ein
    > Beispiel) halt schon genial.

    Python steht auf meiner "ToLearn"-Liste oben.

    > Und auch grosse Projekte sollte damit _erstrecht_
    > kein Problem darstellen.

    sollten? Das ist eine Aussage im Sinne von "es ist nicht auszuschließen, dass große Projekte kein Problem darstellen."

    > Da wuerde ich Dir wohl ebenfalls widersprechen.
    > C++ ist sehr gut fuer grosse Projekte geeignet,
    > aber effektiv wuerde ich es trotzdem nicht
    > bezeichnen. Das faengt beim Kompilieren (und
    > dessen Zeit) an (und das ist gerade bei C++ oft "a
    > pain in the ass")

    Wenn das ein Pain in the Ass is, dann komme ich noch nicht dazu mich zu da kratzen. make kompiliert nur brav, was geändert wurde. Ich habe in der Regel unter zwei Sekunde Kompilierzeit.
    Sehr schön war auch der SAS-Compiler mit seiner GlobalSymbolTable. Die zeitraubenden Header waren bereits vorkompiliert und sofort verfügbar.

    > - und wo es aufhoert weiss ich gar nicht. ;)

    Ich auch nicht. C++ hat seine Makel, aber in der Ecke sehe ich keine nennenswerten Probleme.

    > Aber mit C++ kann man halt viele
    > Schweinereien machen (was ich auch gerade liebe an
    > der Sprache), was auch viele Fehler verursachen
    > kann ('n guter Garbage Collector ist hier schonmal
    > nicht verkehrt). Dies traegt ebenfalls nicht zur
    > Effektivitaet bei.

    "Referenz auf bereits gelöschtes Objekt" war eine meiner Lieblingsmeldungen zum Thema Garbage Collection. Da steht man nämlich etwas dumm da, denn ich habe das Löschen nicht beauftragt und die Referenz ist offensichtlich noch da.
    Garbage Collections sind in meinen Augen nicht überflüssig, aber die Nachteile überwiegen.
    Auch dann, wenn ich ein Objekt JETZT zerstören will oder eben noch nicht weiß, ob ich 5kB RAM brauche oder 1G. Ist die VM mit den falschen Werten gestartet, verbrauche ich entweder zuviel RAM oder kann meinen Job nicht ausführen.

    Ich bin dafür, wir sollten alles in Java schreiben, für Infinion wären das goldene Zeiten. ;->

    > Zugegeben, all dies zu verhindern kostet
    > Performance. Aber das ist in 85% der Faelle
    > wurscht. Bei einer grossen Enterprise Applikation
    > kommt es in den weiten Teilen nicht darauf an, wie
    > schnell die Laufzeitperformance ist, sondern wie
    > schnell entwickelt werden kann (und mit wie
    > wenigen Fehlern). Und da kommt C++ leider nicht
    > gut weg.

    Wie ich das sehe ist der Zug für Java abgefahren. Wer nicht im Hype aufgesprungen ist, wird entweder durch bestehende Software mitgerissen oder schaut sich inzwischen etwas gemütlicher um.

    > Zum Abschluss: schau Dir Ruby an.

    Ich habe von Ruby bisher eher positives gehört. Der Ruf von Python erscheint mir allerdings besser. Ich lerne gelegentlich neue Sprachen, einfach um Alternativen kennen zu lernen. Ruby steht auch auf der Liste, nicht oben, aber nicht weit von der Spitze entfernt.

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Frontend-Entwickler:in
    LBD-Beratungsgesellschaft mbH, Berlin (Home-Office möglich)
  2. Microsoft 365 Cloud Engineer (m/w/d)
    BUCS IT, Wuppertal
  3. Solution Architekt PLM (w/m/d)
    Dassault Systèmes Deutschland GmbH, München, Stuttgart, Düsseldorf, Hamburg, Berlin (Home-Office)
  4. IT Business Partner (m/w/d)
    Energiedienst Holding AG, Rheinfelden (Baden)

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. Acer Chromebook 14 Zoll FHD Touch-Display 4GB 64GB eMMC für 219€, Lenovo IdeaPad Flex 5i...
  2. 479€ (Bestpreis)
  3. (u. a. Team Group Cardea Zero Z440 1TB PCIe-4.0-SSD für 152,90€, Dicota Skin Base Notebookhülle...
  4. Rabatte auf Monitore, Tablets, Notebooks uvm.


Haben wir etwas übersehen?

E-Mail an news@golem.de