C ein Rückschritt in der Computerentwicklung?



  • Hallo CommunitY!

    Ich habe gerade etwas angst, da ich seit 4 Wochen C lerne und jetzt habe ich mal ein paar Seiten von diesem netten Herrn durchgelesen, und bin leicht geschockt!

    http://www.bernd-leitenberger.de/programmiersprachen-artikel.shtml

    ER meinte das C eigentlich nur ein Aprilscherz von den Entwicklern war, und extra "zugemüllt" wurde mit viel Sonderzeichen, komplizierten Strukturen, unleserlichkeit usw. Und das viele Firmen C/C++ Programmierer bei großen Projekten meist Feuern und die Programme in Delphi nachschreiben lassen etc.

    Weiß jemand dazu mehr? Und ob Pascal und Delphi wirklich das "bessere" C ist. Ehrlich gesagt finde ich C mit den wenig "grenzen" eigentlich ganz angenehm... aber wenn es garnichtmehr ernst genommen wird bzw wenn andere Sprachen mit abstand viel größere Vorteile haben, verunsichert mich das!

    Mich würde mal interessieren ob das wirklich so ist, das C ziemlich "Unsicher" sein soll und mit absicht "schlecht" Entworfen wurde.

    Hier ein Zitat von den Erfindern von C, hoffe mal das es nicht wahr ist 😕

    Erfinder von UNIX und C geben zu: Alles Quatsch
    In einer Ankündigung, welche die Computerindustrie verblüffte, haben Ken Thompson, Dennis Ritchie und Brian Kerningham
    zugegeben, dass das von ihnen geschaffene Betriebssystem UNIX und die Programmiersprache C ein raffinierter Aprilscherz
    sind, der sich über 20 Jahre am Leben erhalten hat. Bei einem Vortrag vor dem letzten UnixWorld-Software-Entwicklungsforum
    enthüllte Thompson:

    "1969 hatte AT&T gerade die Arbeit am GE/Honeywell/AT&T-Multics-Projekt beendet. Brian und ich
    experimentierten zu dem Zeitpunkt mit einer frühen Pascal-Version von Professor Niklaus Wirth vom
    ETH-Laboratorium in der Schweiz und waren beeindruckt von seiner Einfachheit und Mächtigkeit. Dennis hatte
    gerade 'Der Herr der Klinge' gelesen, eine spöttische Parodie auf Tolkiens große Triologie 'Der Herr der Ringe'.

    Im Übermut beschlossen wir, Parodien zur Multics-Umgebung und zu Pascal zu verfassen. Dennis und ich waren
    für die Betriebssystemumgebung verantwortlich. Wir sahen uns Multics an und entwarfen ein neues System,
    das so komplex und kryptisch wie möglich sein sollte, um die Frustration der gelegentlichen Nutzer zu maximieren.
    Wir nannten es Unix in Anspielung auf Multics und fanden es auch nicht gewagter als andere Verballhornungen.
    Danach entwickelten Dennis und Brian eine wirklich perverse Pascal-Version namens 'A'. Als wir bemerkten, dass
    einige Leute tatsächlich versuchen, in A zu programmieren, fügten wir schnell einige zusätzliche Fallstricke hinzu
    und nannten es B, BCPL und schließlich C. Wir hörten damit auf, als wir eine saubere Übersetzung der folgenden
    Konstruktion erhielten:

    for(;P("\n"),R--;P("!"))for((e=C;e--;P("_"+(*u++/8)%2))P(" | "+(*u/4)%2);

    Der Gedanke, dass moderne Programmierer eine Sprache benutzen würden, die solch eine Anweisung zuließ, lag
    jenseits unseres Vorstellungsvermögens. Wir dachten allerdings daran, alles den Sowjets zu verkaufen, um ihren
    Computerfortschritt 20 Jahre und mehr zu behindern. Unsere Überraschung war groß, als dann AT&T und andere
    US-Unternehmen tatsächlich begannen, Unix und C zu verwenden! Sie haben 20 weitere Jahre gebraucht,
    genügend Erfahrungen zu sammeln um einige bedeutungslose Programme in C zu entwickeln, und das mit einer
    Parodie auf die Technik der 60er Jahre! Dennoch sind wir beeindruckt von der Hartnäckigkeit (falls nicht doch
    Gemeinsinn) des gewöhnlichen Unix- und C-Anwenders. Jedenfalls haben Brian, Dennis und ich in den letzten
    Jahren nur in Pascal auf einem Apple Macintosh programmiert, und wir fühlen uns echt schuldig an dem Chaos,
    der Verwirrung und dem wirklich schlechten Programmierstil, der von unserem verrückten Einfall vor so langer
    Zeit ausging."

    Namhafte Unix- und C-Anbieter und Benutzer, einschließlich AT&T, Microsoft, Hewlett-Packard, GTE, NCR und DEC
    haben vorläufig jede Stellungnahme abgelehnt. Borland International [...] meinte, sie hätten diesen Verdacht schon seit
    Jahren gehegt und würden nun dazu übergehen, ihre Pascal-Produkte zu verbessern, und weitere Bemühungen um die
    C-Entwicklung stoppen. Ein IBM-Sprecher brach in unkontrolliertes Gelächter aus.

    (Quelle: Bernhard L. Hayes, NetNews-Gruppe)



  • In der Originalsprache findest du das ganze hier: http://www.gnu.org/fun/jokes/unix-hoax.html

    Sieh dir die URL mal genau an.



  • Wenn C so schlecht wäre wie manche immer behaupten, wäre es mit Sicherheit kaum so weit verbreitet. Dass C/C++ im Vergleich zu anderen Sprachen schwerer zu lernen ist, stimmt - aber wenn man es erst einmal vernünftig beherrscht sind einem kaum noch Grenzen gesetzt.
    Die Wahl der richtigen Programmiersprache ist so etwas wie eine Glaubensfrage: Die einen mögen Java, andere C# oder eben Pascal. Jede Sprache hat ihre Eigenarten. Jeder soll mit der Sprache arbeiten, mit der er/sie am besten zurecht kommt.

    C ist übrigens nicht unsicher - man muss nur gewissenhaft den Code schreiben. Es gibt keine automatische Speicherbereinigung - das hat natürlich Vor- und Nachteile. Ich sehe es aber nicht als Nachteil, denn wie gesagt: Wenn man die Sprache sicher beherrscht, macht man in der Hinsicht nur noch wenige bis gar keine Fehler mehr.



  • ...
    Lies kein Müll!



  • die meißten librarys kommen in c daher und werden dann in die verschiedenen "script" sprachen über wrapper eingebunden...



  • Ich glaube ich muss dann meinen Glauben noch stärken...

    danke das ihr mir wenigstens bestätigt habt das der Pascal liebhaber anscheinend nur kein C leiden kann oder schreiben kann und deshalb darüber "herzieht"..

    Schade, aber ihr habt mir wenigstens gezeigt das C doch so gut ist wie ich es erwartet habe *gg*.



  • danke das ihr mir wenigstens bestätigt habt das der Pascal liebhaber anscheinend nur kein C leiden kann oder schreiben kann und deshalb darüber "herzieht"..

    Du hast es noch nicht ganz...

    Den "Bericht" haben wir auch hier: http://magazin.c-plusplus.net/artikel/(Humor) Die Entstehungsgeschichte von C

    Und jetzt sieh dir mal unten den Punkt "Quelle" an. Alles klar? 😃



  • C ist halt ne mächtige Sprache, hab sie mir selbst beigebracht - aber
    wie alles, was viel kann, kann es auch viel kaputt machen.
    Man sollte generell bei mächtigen Werkzeugen, und das ist eine Programmier-
    sprache, wissen, was man tut. Ähnlich wie im Z/OS Assembler - der auch
    viel (kaputtmachen) kann.
    Aber wenn du unter Linux nicht als Root programmierst - keine Angst -
    immer feste druff...



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Neuigkeiten aus der realen Welt verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • pferdefreund schrieb:

    ...kaputtmachen...

    ich hör das nicht so gern, mit dem kaputtmachen, klar, wo gehobelt wird fallen späne, aber die leute haben so viel angst was kaputt zu machen, das sie es dann lieber gar nicht machen...
    es schützt dich keiner davor, unter linux||windows||mac als std. user in egal welcher programmier sprache eine datei zu öffnen und den inhalt zu löschen, an der du ein jahr gearbeitet hast...
    ein bischen normaler menschen verstand wird eben auch beim programmieren benötigt, wenn auch nicht viel 😉

    lg lolo



  • zYield schrieb:

    ...Weiß jemand dazu mehr? Und ob Pascal und Delphi wirklich das "bessere" C ist...

    Das Pentagon hat mal mit nem Supercomputer ausgerechnet welche Programmiersprache die beste ist und da kam "Turbo Pascal" raus. Lass dir bloss nichts einreden, von den verrückten C Programmierern hier! 😡



  • Das man seine wichtigen Daten extern gesichert hat, setze ich einfach
    voraus, so wie man normalerweise auch nen Führerschein beim
    Autofahren voraussetzt.



  • qcc schrieb:

    Wenn C so schlecht wäre wie manche immer behaupten, wäre es mit Sicherheit kaum so weit verbreitet.

    Qualität und Popularität korrelieren nicht notwendigerweise. Man denke an VB.



  • audacia schrieb:

    qcc schrieb:

    Wenn C so schlecht wäre wie manche immer behaupten, wäre es mit Sicherheit kaum so weit verbreitet.

    Qualität und Popularität korrelieren nicht notwendigerweise. Man denke an VB.

    VB(6) hat seine Popularität ja auch gewonnen, lange bevor es C# o.ä. gab. Und damals war VB für viele (inkl. mir) eine gute Möglichkeit, in der Windows-Programmierung schnell Erfolge zu erzielen. Die Beliebtheit kann ich also ganz gut verstehen. Trotzdem kann ich eine Programmiersprache nicht ernstnehmen, die sowas wie die "Option Base" Anweisung erlaubt. 😉



  • Basic war immer schon sehr beliebt. Anno Windows95 hatte quasi jeder Win95 Rechner auch eine QBasic "IDE" vorinstalliert (War bei irgendeiner DOS Version dabei). Ein grossteil dieser "DOS-Basic" Leute wird sich später mit VB beschäftigt haben.


  • Mod

    In den 90ern war eine VB6-GUI mit in C++ realisierten COM-Objekten auch ein echter Bringer. Hat bereits eine schöne Tier-Trennung bewirkt, die GUI-Entwicklung ging rasch von der Hand, es gab gute Tools dafür und man konnte GUI-Effekte auch leicht erweitern. Durch die Realisierung des App-Layers in C++ mit COM als Schnittstelle hatte man trotzdem die volle Mächtigkeit der Sprache, Performance, und die Möglichkeit zur Architekturentwicklung, sowie getrennte Testbarkeit (da man die COM-Objekte auch mit Test-Wrappern füttern konnte). Und mußte sich nicht mit der MFC herumärgern.

    Insofern ist C# sogar ein bißchen ein Rückschritt, da die Leute jetzt wieder Applikationslogik in die GUI frickeln können, da alles ein großer Kuchen ist. [Sieht man ja an Fragen - wie ruft ein Form ein Form ein Form auf?]



  • audacia schrieb:

    qcc schrieb:

    Wenn C so schlecht wäre wie manche immer behaupten, wäre es mit Sicherheit kaum so weit verbreitet.

    Qualität und Popularität korrelieren nicht notwendigerweise. Man denke an VB.

    Ohman ... wahre worte ... 😃



  • Ich finde Vala sehr interessant. Bietet schöne Sprachfeatures, wie closures, foreach, usw. aber wird direkt nach C übersetzt. Damit kann sicher gut Treiber und sonstiges Systemnahes programmieren.



  • Sicher war VB trotz aller Sprachdefekte eine Innovation und hatte Existenzberechtigung. (Das sieht sogar Linus so.) Aber es gab fast immer bessere Alternativen. Dafür, daß Borland 1995 Delphi und 1997 C++Builder veröffentlicht hatte, Microsoft seit 1998 Visual Basic nicht mehr angerührt, 2000 .NET angekündigt und zu Anfang 2002 die erste Version sowie C# und VB.NET ausgeliefert hat, hat sich VB6 erstaunlich lange gehalten.

    Marc++us schrieb:

    In den 90ern war eine VB6-GUI mit in C++ realisierten COM-Objekten auch ein echter Bringer. Hat bereits eine schöne Tier-Trennung bewirkt

    Das C++-Backend ist in der Theorie nett, aber in der Praxis meist ein Krampf (so eine Anwendungsschnittstelle durch den COM-Interface-Flaschenhals zu bekommen ist nicht immer schön), und derart common practice war es auch nicht. Wer fähige C++-Entwickler hatte, mag es so gemacht haben, aber der Pulk hat wenig Aufwand gescheut, um möglichst alles in VB zu schreiben.

    Marc++us schrieb:

    Insofern ist C# sogar ein bißchen ein Rückschritt, da die Leute jetzt wieder Applikationslogik in die GUI frickeln können, da alles ein großer Kuchen ist. [Sieht man ja an Fragen - wie ruft ein Form ein Form ein Form auf?]

    Das ist alles ganz richtig, jedoch unterstellt dein Statement, daß der durchschnittliche C#- oder VB-DAU seine Anwendung ordentlich in Schichten aufteilen würde, wenn das Framework, so wie seinerzeit VB/C++, ihm diese Option nahegelegt bis sanft aufgedrängt hätte. Und das glaube ich nicht.

    Der Mensch ist fett, faul und gefräßig, und der durchschnittliche VB-Frickler ist da keine Ausnahme. Wie war das noch mit der Umerziehung? 😉


  • Mod

    audacia schrieb:

    und derart common practice war es auch nicht. Wer fähige C++-Entwickler hatte, mag es so gemacht haben, aber der Pulk hat wenig Aufwand gescheut, um möglichst alles in VB zu schreiben.

    Das ist schon klar. Die Leute frickeln heute halt in C# auch alles wieder in einen Brei rein.

    audacia schrieb:

    Das ist alles ganz richtig, jedoch unterstellt dein Statement, daß der durchschnittliche C#- oder VB-DAU seine Anwendung ordentlich in Schichten aufteilen würde, wenn das Framework, so wie seinerzeit VB/C++, ihm diese Option nahegelegt bis sanft aufgedrängt hätte. Und das glaube ich nicht.

    Der Mensch ist fett, faul und gefräßig, und der durchschnittliche VB-Frickler ist da keine Ausnahme. Wie war das noch mit der Umerziehung? 😉

    Naja, die Trennung C++/VB kam der Faulheit ja entgegen und bewirkte daher eine Umerziehung durch Layertrennung, weil es wirklich extrem bequem war in VB mal eine C++-COM-Anwendung einzubinden. Man konnte sich den Aufwand mit der MFC sparen (z.B. sowas wie unterschiedliche Icons in einem Kontrollelement, Horror), und in VB mal kurz bißchen GUI machen. Auch umgekehrt: MFC-Anwendung mit C++, und komplexe Controlelemente in VB und dann einfach einbinden in den MFC-Dialog.

    Umerziehung ist möglich, wenn der neue Weg einfacher ist als der alte. 😉 Du mußt die Faulheit der Leute dazu nutzen, daß der neue Betriebspunkt für sie einfacher ist und für Dich praktischer. Win-Win und so...


Log in to reply