André: C Programmierung - wie anfangen?

Hallo zusammen,

ich habe bisher hauptsächlich Inter-/Intranetorientierte Anwendungen entwickelt. Also beherrsche ich recht gut die dazu nötigen "Programmiersprachen" (HTML, JS, Perl, PHP). Auch mit SQL (MySQL) arbeite ich viel und habe entsprechende Erfarhungen.

Nun möchte ich mich an Windows-Anwendungen versuchen. Ich denke, da sollte ich wohl C bzw. C++ benutzen. Die Anwendungen sollen auf jeden Fall mit MySQL-Datenbanken arbeiten.

Nun weiß ich aber nicht, wie ich am besten anfangen soll? Meine bisherigen Kenntnisse habe ich mir im laufe der Jahre sämtlichst autodidaktisch angeeignet ... es gibt ja jede Menge gute Doku im Netz (siehe SelfHTML).
Wie fange ich aber mit C/C++ an? Gibt es überhaupt kostenlose Entwicklungsumgebungen dafür? Gibt es gute (deutschsprachige) Doku dafür im Netz? Ist C überhaupt das richtige?

Ich hoffe, ihr könnt mir ein paar gute Tips geben. Aber bitte nicht den: "lerne lieber erst mal englisch". Mir ist schon klar, dass man mit gutem Englisch viel weiter kommt, aber so leicht ich mich auch mit Programmieren tue, so schwer tue ich mich mit Fremdsprachen. Es reicht, um Dinge nachzuschlagen, aber um etwas ganz neues zu erlernen bin ich schon auf deutsche Dokus angewiesen.

Gruß, André

  1. Hallo

    Nun möchte ich mich an Windows-Anwendungen versuchen. Ich denke, da sollte ich wohl C bzw. C++ benutzen. Die Anwendungen sollen auf jeden Fall mit MySQL-Datenbanken arbeiten.

    Wie fange ich aber mit C/C++ an? Gibt es überhaupt kostenlose Entwicklungsumgebungen dafür?

    Ja, sogar mehrere z.B:
    Visual C++ Express Edition.

    bzw. die Liste unter
    http://www.uni-bayreuth.de/departments/math/~rbaier/lectures/ws2001-02/comp_geom/help/c_cpp.html, da findest Du auch Links zu Tutorials. Was die taugen, weiß ich nicht.

    Freundliche Grüße

    Vinzenz

  2. Hallo André ;~)

    Du sprichst hier ein "weites Feld" [1] an, deshalb werde ich mich zügeln, was die Größe meines Beitrags betrifft (und somit auch den Gehalt).

    ich habe bisher hauptsächlich Inter-/Intranetorientierte Anwendungen entwickelt. Also beherrsche ich recht gut die dazu nötigen "Programmiersprachen" (HTML, JS, Perl, PHP). Auch mit SQL (MySQL) arbeite ich viel und habe entsprechende Erfarhungen.

    Das kann sich durchaus als problematisch erweisen, denn Scriptsprachen wie PHP und Perl nehmen einem viel Arbeit ab, damit spreche ich speziell die nahezu vollständig "versteckte" Handhabung der nativen Datentypen an (Integer und Co.). Hochsprachen wie C und C++ verlangen eine sehr sensible Handhabung, was die Datentypen betrifft. Du wirst hier sicherlich noch auf so manches Problem stoßen.

    Nun möchte ich mich an Windows-Anwendungen versuchen. Ich denke, da sollte ich wohl C bzw. C++ benutzen.

    Hier muss man abwägen:
    Einerseits kann ich es Dir nicht empfehlen, solche veralteten Sprachen zu lernen (Vergleich: zu den Entwicklungszeiten von C/C++ gab es nicht einmal das Internet), andererseits übernehmen nahezu alle neueren Sprachen die C++-Syntax.

    Vielleicht solltest Du es so betrachten:
    Willst Du möglichst tiefen Eingriff in das darunter liegende System (= mehr lernen und mehr Arbeit), oder ein eher einfacheres System?

    Meine persönliche Empfehlung weicht jedoch völlig ab:
    Java oder C#

    Denn hiermit hast Du topmoderne und vor allen Dingen plattformunabhängige Sprachen. Ich breche hier mal ab...

    Gibt es überhaupt kostenlose Entwicklungsumgebungen dafür?

    Z.B. Dev-C++ (http://www.bloodshed.net/devcpp.html)
    P.s.: Kostenlos ist relativ ;~)

    Gibt es gute (deutschsprachige) Doku dafür im Netz?

    Google ist Dein Freund.

    Ich persönlich bevorzuge jedoch ein ordentliches Buch.
    Ich kann Dir z.B. folgendes empfehlen:
    "C++ Programmierung lernen" von André Willms
    ISBN 3 8273 1342 2

    Ist C überhaupt das richtige?

    Siehe oben.

    Freundliche Grüße
    Stefano Albrecht

    [1] Ich zitiere liebend gerne aus "Effi Briest". Zitat von Effis Vater.

    1. Hallo,

      Einerseits kann ich es Dir nicht empfehlen, solche veralteten Sprachen zu lernen

      Andererseits habe ich schon sehr oft gelesen: "Wer C gut kann, der braucht nie wieder einen Job zu suchen." Und bei den ganzen Stellengesuchen nach C-Programmierern fange ich das auch langsam zu glauben an.

      Grüße
      Jeena Paradies

      1. Hallo.

        "Wer C gut kann, der braucht nie wieder einen Job zu suchen."

        Wer C gut kann, hat in aller Regel auch bereits das Rentenalter erreicht.
        MfG, at

        1. 你好 at,

          "Wer C gut kann, der braucht nie wieder einen Job zu suchen."

          Wer C gut kann, hat in aller Regel auch bereits das Rentenalter erreicht.

          Schön wärs, dann hätt ich das schon hinter mir ;)

          再见,
           克里斯蒂安

          --
          Das Malheur mit dem Open Source | Frühling
          Auf der ganzen Welt gibt es nichts Weicheres und Schwaecheres als Wasser. Doch in der Art, wie es dem Harten zusetzt, kommt nichts ihm gleich.
          http://wwwtech.de/
          1. Hallo.

            "Wer C gut kann, der braucht nie wieder einen Job zu suchen."

            Wer C gut kann, hat in aller Regel auch bereits das Rentenalter erreicht.

            Schön wärs, dann hätt ich das schon hinter mir ;)

            Bist du denn schon gut oder noch nicht bescheiden?
            MfG, at

            1. 你好 at,

              "Wer C gut kann, der braucht nie wieder einen Job zu suchen."

              Wer C gut kann, hat in aller Regel auch bereits das Rentenalter erreicht.

              Schön wärs, dann hätt ich das schon hinter mir ;)

              Bist du denn schon gut oder noch nicht bescheiden?

              Das zu beurteilen bleibt dir selbst überlassen ;)

              再见,
               克里斯蒂安

              --
              Das Malheur mit dem Open Source | Frühling
              Die Stärke des Geistes ist unendlich, die Muskelkraft dagegen ist begrenzt.
              http://wwwtech.de/
    2. Hi,

      Einerseits kann ich es Dir nicht empfehlen, solche veralteten Sprachen zu lernen (Vergleich: zu den Entwicklungszeiten von C/C++ gab es nicht einmal das Internet), andererseits übernehmen nahezu alle neueren Sprachen die C++-Syntax.

      Ist jetzt ein BMW M3 auch ein Oldtimer, nur weil es ihn schon seit über 20 Jahren gibt? Nur weil etwas vor langer Zeit entwickelt wurde, ist es nicht alt, immerhin wird C und C++ immer weiterentwickelt. Deine Aussage halte ich daher für völlig falsch, das diese Programmiersprachen alt sind.

      Meine persönliche Empfehlung weicht jedoch völlig ab:
      Java oder C#

      Java ist in deinen Augen also nicht alt? Du weisst aber, wielange es Java schon gibt? Und C# ist momentan noch auf WIndows beschränkt, ich halte es für falsch, wenn sich ein Programmierer auf ein einziges BS fixiert, wärend er bei C/C++ ca. 75% der Sprache auf allen Plattformen anwenden kann

      Denn hiermit hast Du topmoderne und vor allen Dingen plattformunabhängige Sprachen. Ich breche hier mal ab...

      Zähl mal auf, für welche Plattformen es C# unterstüztung gibt. Und zwar keine Experimentellen.
      Dann wirst du sehen, das deine Aussage absolut nicht haltbar ist.

      Und wie gesagt, das du C/C++ als alt bezeichnest, Java aber als Topmodern, zeigt mir, das du von der Materie wohl wenig Ahnung hast.

      1. Abend,

        Zähl mal auf, für welche Plattformen es C# unterstüztung gibt. Und zwar keine Experimentellen.
        Dann wirst du sehen, das deine Aussage absolut nicht haltbar ist.

        Alle Windows mit .NET:
        Windows 2000
        Windows 2000 Server
        Windows 2000 Professional
        Windows 2003
        Windows 2003 Hot
        Windows XP Professional
        Windows Xp Home
        Windows Vista (32 Bit)
        Windows Vista (64 Bit)

        ... und vermutlich sämtliche künftige Windows, oder wie sie dann auch heißen mögen.

        Dann ist in Betracht zu ziehen, dass evtl. Kompatiblitäten zur JVM bestehen. Zudem gibt es eben die zahlreichen "experimentellen" Plattformen, die du bereits angesprochen hast.

        Gruß
        Sebastian

      2. Und wie gesagt, das du C/C++ als alt bezeichnest, Java aber als Topmodern, zeigt mir, das du von der Materie wohl wenig Ahnung hast.

        Dass du die Entwicklung im Bereich Maschinenbau mit der Entwicklung im Bereich Datenverarbeitung vergleichst, zeigt mir, dass du von der Materie wohl wenig Ahnung hast.
        Dass Du nicht weißt, dass der Termini "plattformunabhängig" in der Datenverarbeitung ein System über virtuelle Maschinen bezeichnet, zeigt mir, dass du von der Materie wohl wenig Ahnung hast.

        Damit verstoße ich wahrscheinlich gegen die Charta des Forums, aber:
        Du bist ein Prachtexemplar von einem Korrinthen-Scheißer.

        1. hi,

          Dass Du nicht weißt, dass der Termini "plattformunabhängig" in der Datenverarbeitung ein System über virtuelle Maschinen bezeichnet, zeigt mir, dass du von der Materie wohl wenig Ahnung hast.

          Und dass du nicht weißt, dass der Singular von Termini Terminus lautet, ...

          Damit verstoße ich wahrscheinlich gegen die Charta des Forums

          Nein, eine IQ-Untergrenze ist dort nicht definiert.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hallo,

            Nein, eine IQ-Untergrenze ist dort nicht definiert.

            lol, nice :-D

          2. Hallo ;~)

            Und dass du nicht weißt, dass der Singular von Termini Terminus lautet, ...

            Allerdings...

            Ich hoffe, es fängt jetzt niemand an, diesen Eintrag auf mich zu beziehen. Trotz allem finde ich ihn legitimiert.

            Überraschte Grüße
            Stefano Albrecht

            1. Hallo,

              Ich hoffe, es fängt jetzt niemand an, diesen Eintrag auf mich zu beziehen.

              Auf wen denn sonst?

              Trotz allem finde ich ihn legitimiert.

              Aber das Lateinwörterbuch nicht.

              Viele Grüße

              --
              "Guck mal nach, ob der Blinker funktioniert!" - "Geht, geht nicht, geht, geht nicht, ..."
              Das beste Freeware-Programm der Welt
              Selfcode: ie:( fl:| br:^ va:| ls:[ fo:) rl:( n4:| ss:| de:[ js:| ch:? sh:( mo:) zu:|
              1. Hallo,

                Auf wen denn sonst?

                auf "Korrinthenalarm"

                1. Hallo,

                  Auf wen denn sonst?

                  auf "Korrinthenalarm"

                  Genau.

        2. Dass du die Entwicklung im Bereich Maschinenbau mit der Entwicklung im Bereich Datenverarbeitung vergleichst, zeigt mir, dass du von der Materie wohl wenig Ahnung hast.

          Gerade der Vergleich mit Maschinenbau ist völlig zulässig, denn eben hier wird meistens noch KEIN Java eingesetzt, weil auf den meisten Prozessoren, mit denen man es da zu tun hat, keine JVM läuft. Man kann von Glück sagen, wenn man eine FPU hat.

          Und für i386-Architekturen gilt: Ich kenne bisher wenig komplexe Anwendungsprogramme, die in Java geschrieben sind - Eclipse und Openffice fiele mir ein. Für alles was hardwarenäher ist, bedient man sich C++ unter Windows oder C unter Linux.

          Dass Du nicht weißt, dass der Termini "plattformunabhängig" in der Datenverarbeitung ein System über virtuelle Maschinen bezeichnet, zeigt mir, dass du von der Materie wohl wenig Ahnung hast.

          Und dass Du plattform-unabhängig mit virtuellen Maschinen gleichsetzt, zeigt, dass es mit Deiner Fachkenntnis auch nicht so weit her ist:
          Interpreter-Sprachen (Perl,PHP und Co) sind auch plattformunabhängig, trotzdem laufen sie nicht auf einer VM sondern werden zur Laufzeit interpretiert.
          Man könnte einen Interpreter zwar mit viel Wohlwollen als VM sehen, aber das tut keiner.

          Ihr seid alle raus!!!

          So.

          Schönen sonntag,

          Jörg

          Damit verstoße ich wahrscheinlich gegen die Charta des Forums, aber:
          Du bist ein Prachtexemplar von einem Korrinthen-Scheißer.

          1. Hallo Jörg.

            Für alles was hardwarenäher ist, bedient man sich C++ unter Windows oder C unter Linux.

            Oder C++ unter Windows und GNU/Linux und C unter Windows und GNU/Linux.

            Einen schönen Sonntag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
          2. Gerade der Vergleich mit Maschinenbau ist völlig zulässig, denn eben hier wird meistens noch KEIN Java eingesetzt...

            Vielleicht verstehe ich die Ironie oder die Pointe Deiner
            Bemerkung nicht, falls denn eine Vorhanden ist, aber:

            Ich glaube hier wurde die zeitliche Entwicklung gemeint.
            Was sich in der Maschinen-Industrie gut 50 Jahre bewährt,
            ist in der Datenverarbeitung vergleichsweise bereits nach
            wenigen Jahren "depricated" oder total überholt.

            Und für i386-Architekturen gilt: Ich kenne bisher wenig komplexe Anwendungsprogramme, die in Java geschrieben sind - Eclipse und Openffice fiele mir ein.

            Mir fällt da noch Puzzle-Piraten ein :~)

            Für alles was hardwarenäher ist, bedient man sich C++ unter Windows oder C unter Linux.

            Oder gar Assembler?

            Man könnte einen Interpreter zwar mit viel Wohlwollen als VM sehen, aber das tut keiner.

            Wirklich nicht?
            Siehe hier.

            Freundliche Grüße
            Stefano Albrecht

            1. Hi,

              Ich glaube hier wurde die zeitliche Entwicklung gemeint.
              Was sich in der Maschinen-Industrie gut 50 Jahre bewährt,
              ist in der Datenverarbeitung vergleichsweise bereits nach
              wenigen Jahren "depricated" oder total überholt.

              Das wäre dann aber mit alle nProgrammiersprachen so, denn es gibt keine, die erst ein paar Wochen alt ist. Deshalb irgendeine davon als "alt" oder "unmodern" zu bezeichenen, wäre immer noch blödsinn.

            2. Hallo,

              Ich glaube hier wurde die zeitliche Entwicklung gemeint.
              Was sich in der Maschinen-Industrie gut 50 Jahre bewährt,
              ist in der Datenverarbeitung vergleichsweise bereits nach
              wenigen Jahren "depricated" oder total überholt.

              Das hab ich wohl verstanden. Allein, mein Vor-Redner, Pardon -Vorschreiber - kritisierte den Vergleich mit einem BMW, mit der Begründung, dass das in der Datenverarbeitung was anderes sei, weil ja da alles so irre schnell überholt ist (wie eben angeblich C/C++).
              Die meistverkauftesten Prozessoren sind aber nach wie vor  die Teile, die in eingebetteten Systemen (daher meine Parallele zum Maschinenbau) verbaut werden.
              Und diese Dinger programmiert man hauptsächlich in gutem, "veralteten" C(++) oder Assembler (okay, na schön, es gibt auch embeded Java, vereinzelt).
              Wenn man meint, C und C++ sei in der "Datenverarbeitung" überholt, weil man in einem winzigen Teilbereich (Anwendungsentwicklung/Webentwicklung) jetzt JAVA einsetzt/einsetzen kann, verzerrt einfach die Realität etwas. Das wollte ich eigentlich sagen.

              Für alles was hardwarenäher ist, bedient man sich C++ unter Windows oder C unter Linux.

              Oder gar Assembler?

              korrekt (s.o.)

              Wirklich nicht?
              Siehe hier.

              Wie ich schon schrieb, man KÖNNTE die JVM mit bestimmten Einschränkungen als Interpreter sehen, weil sie Bytecode "interpretiert".
              Trotzdem ist Java IMO keine Interpreter-Sprache, weil sämtliche typischen "Compiler-Jobs" (Syntax-Checking, Optimierung, ...) durch den Java-Compiler getätigt werden, nicht durch die JVM.
              Nur dass das Ergebnis des Compilers eben kein Maschinencode für eine real existierende Architektur, sondern für eine erdachte ist, die auf den meisten Plattformen effizient emuliert werden kann.

      3. Hi Manuel,

        Und C# ist momentan noch auf Windows beschränkt [...]

        Nicht wirklich, siehe mono.

        Liebe Grüße

        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        Sie haben Tiere? Sie haben Fragen?
        Sie möchten einem Tier ein neues zu Hause geben?
        1. Hi romy,

          Nicht wirklich, siehe mono.

          Ich kannte das Projekt noch als Beta. Muss ich mir mal ansehen, obs jetzt einsetzbar ist. Immerhin will ich schon lange C# lernen, da mir in C/C++ einige Dinge fehlen.

          1. hi

            Immerhin will ich schon lange C# lernen, da mir in C/C++ einige Dinge fehlen.

            liegt das etwa daran das c und c++ veraltet sind?

            1. Hi,

              liegt das etwa daran das c und c++ veraltet sind?

              Nein, da ich C/C++ immer noch für die flexibelsten Sprachen halte. Dennoch hat C# einiges, was mir gut gefällt, wobei ich mit Sicherheit nicht auf C/C++ verzichten werde, da diese Sprachen in vielen Bereichen unverzichtbar sind.

              Zumindest hab ich noch von keinem Treiber unter Linux gehört, der in C# oder Java programmiert wurde ;)

    3. Hallo

      Einerseits kann ich es Dir nicht empfehlen, solche veralteten Sprachen zu lernen (Vergleich: zu den Entwicklungszeiten von C/C++ gab es nicht einmal das Internet), andererseits übernehmen nahezu alle neueren Sprachen die C++-Syntax.

      C++ und C sind topmoderne Sprachen. Und dann gibt es noch den wunderschönen Satz in "Java ist auch eine Insel": [1]

      "Jede Programmiersprache hat ihren Platz – ja, auch Perl."

      Freundliche Grüße

      Vinzenz

      [1] Diese Seite möchte ich ganz besonders Richard empfehlen :-)

      1. Hallo,

        [1] Diese Seite möchte ich ganz besonders Richard empfehlen :-)

        Ich habe das Buch gelesen und mich damals auch über eben diesen Satz amüsiert.

        Java ist nicht für systemnahe Programme geeignet, aber das will https://forum.selfhtml.org/?t=130210&m=841826 ja auch gar nicht. Ich kenne mich mit C bzw. C++ nicht aus, deswegen kann ich darüber nichts sagen. Aber die (auch heute noch) weite Verbreitung dieser Sprachen wird sicherlich nicht unberechtigt sein.

        Viele Grüße

        --
        Wer ist eigentlich LAN und warum macht er so viele Partys?
        Das beste Freeware-Programm der Welt
        Selfcode: ie:( fl:| br:^ va:| ls:[ fo:) rl:( n4:| ss:| de:[ js:| ch:? sh:( mo:) zu:|
    4. Heißa, Stefano,

      Meine persönliche Empfehlung weicht jedoch völlig ab:
      Java oder C#

      Java mag zwar von der Sprache und vom Konzept eine wunderbare Sprache sein, aber die Programme, die dabei herauskommen, halte ich für unbrauchbar. Ich habe schon viele Java-Programme benutzt, aber wirklich alle davon haben spätestens nach zwei Tagen 50% meines Hauptspeichers gesaugt, egal, wieviel Hauptspeicher ich habe. Ich kann mir nicht vorstellen, dass das an der Unfähigkeit der Programmierer der Programme liegen soll. Weiterhin macht man es dem Benutzer nicht leicht, wenn er ständig hin- und herwechseln muss zwischen verschiedenen Javaausgaben (Blackdown und Sun zum Beispiel), ohne überhaupt zu wissen wie das geht, nur weil die eine Ausgabe das eine nicht unterstützt und die andere das andere.

      Gautera!
      Grüße aus Biberach Riss,
      Candid Dauth

      --
      Ein Fußball-Fan? Noch auf der Suche eine Schlafmöglichkeit im Großraum Stuttgart für die WM 2006? Wie wäre es mit Herrenberg, einer gemütlichen Kleinstadt am Rande des Schönbuchs – von der Lage her ideal, auch für andere Vorhaben im Urlaub. Ferienwohnungen-Herrenberg.com.
      http://cdauth.de/
      1. Hallo Candid ;~)

        Java mag zwar von der Sprache und vom Konzept eine wunderbare Sprache sein...

        Hier sind wir einer Meinung :~)
        Ist momentan auch meine bevorzugte Sprache.

        ...aber die Programme, die dabei herauskommen, halte ich für unbrauchbar.

        Ich würde sagen "unbrauchbar" ist ein sehr hartes Urteil.
        Wenn man davon ausgeht, dass verschiedenen Statistiken zur Folge etwa 60% aller an dem Umfragen teilnehmenden Programmierer u.a. Java verwenden, muss schon etwas mehr dahinter stecken.
        Als Beweis der Brauchbarkeit könnte man beispielsweise das Java SDK/IDE Eclispe nennen, welches vollständig in Java geschrieben wurde, und wirklich ein Paradis unter den IDEs darstellt...

        Ich persönlich benutze Java, um anspruchsvolle Client/Server-Programme zu entwickeln, da ich finde, dass einem hier viele Möglichkeiten in einer vergleichsweise einfachen Anwendung geboten werden (Beispiel Datagramm-Sockets und Datagramm-Packets für UDP usw.). Damit will ich allerdings nicht sagen, dass Winsock und Co. nicht einfach währen.

        Ich habe schon viele Java-Programme benutzt, aber wirklich alle davon haben spätestens nach zwei Tagen 50% meines Hauptspeichers gesaugt

        Das ist eine allgemein bekannte Tatsache, dass VMs nun mal speicherfressend sind, aber was mir neu ist, ist, dass das Phänomen erst nach einigen Tagen auftritt. Hast Du die Programme etwa Tage lang laufen lassen? Wenn die JVM nicht mal 2 Millisekunden frei hat, um den Garbage-Collector anzustoßen, hat der Programmierer immerhin noch die Möglichkeit, dies selbst zu erledigen, wobei das jedoch lediglich eine so genannte "Empfehlung" an die JVM, also nicht binden ist.

        Ich kann mir nicht vorstellen, dass das an der Unfähigkeit der Programmierer der Programme liegen soll.

        Ist aber trotz allem ein primäres Bewertungs-Kriterium, was die Leistungsfähigkeit eines Programmes angeht.

        Weiterhin macht man es dem Benutzer nicht leicht, wenn er ständig hin- und herwechseln muss zwischen verschiedenen Javaausgaben (Blackdown und Sun zum Beispiel)

        Mir ist neu, dass man Javaprogramme sogar auf Blackdown ausrichten muss. Ich finde die Existenz von Blackdown jedoch ohnehin schon überflüssig, da man ebensogut die original JVM laufen lassen kann. Das Argument des Open-Source ist hier fraglich, da SUN selbst die Patches von Blackdown verwendet, und somit Einschränkungen in der Benutzung des Codes entstehen (siehe u.a. Blackdown Wikipedia).

        Allerdings hast Du recht, was das Hin-und-Her mit den ganzen Java-Versionen betrifft. Der Programmierer hat jedoch die Möglichkeit, die Version der JVM während der Laufzeit zu überprüfen (System-Properties), und ggf. verschiedene Meldungen zu machen, angepasste Klassen aus dem Netz zu laden und zu installieren, oder einfach auf die kritischen Funktionen zu verzichten.

        Java ist sicherlich kein Ansatz für Programmierer, die Leistung brauchen (Leistung ist Arbeit durch Zeit, nicht Arbeit), aber dennoch ist es eine willkommene Alternative für Programme, bei denen die Leistung nicht im Vordergrund steht, und deshab bleibe ich bei meiner Empfehlung.

        So, nun muss ich aber los... ;~)

        Freundliche Grüße
        Stefano Albrecht

        1. hi,

          Wenn man davon ausgeht, dass verschiedenen Statistiken zur Folge etwa 60% aller an dem Umfragen teilnehmenden Programmierer u.a. Java verwenden, muss schon etwas mehr dahinter stecken.

          Lässt höchstens die Vermutung zu, dass Java-Programmierer häufiger an solchen Umfragen teilnehmen.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
        2. Hallo,

          Eclipse braucht doch ewig um mal Codeblöcke ein- und auszublenden. Generell sind in Java geschrieben Proramme minderschön und langsamer gegenüber mit c++ oder visual basic.
          Gut designed sollen allerdings die Frameworks sein...

          1. Hallo Markus,

            Eclipse braucht doch ewig um mal Codeblöcke ein- und auszublenden.

            Hierfür gibt es unterschiedliche Ursachen, darunter:
            1.) Mit Deiner Software stimmt was nicht.
            2.) Du hast eine veraltete Eclipse-Version.
            3.) Du Hast in einer Quellcode-Datei mehr als 100.000 Zeilen Code.
            4.) Dein Rechner ist einfach zu lahm! :~)

            ...

            Generell sind in Java geschrieben Proramme minderschön und langsamer gegenüber mit c++ oder visual basic.

            Oder besser: Genrerell sind Anwendungen über VM-Systeme langsamer.
            Du solltest die Effizienz von Byte-Code nicht mit derjenigen des nativen Codes vergleichen.
            Abgesehen davon gibt es auch Java Native Compiler. Dann sieht die Sache wieder anders aus.

            Laut Sun sind Java-Programme rund 10% langsamer, als Programme in nativem Code.
            Allerdings wird diese Kluft immer geringer, so zumindest Sun.

            Und abgesehen davon:
            BASIC ist auch nicht gerade ein Sternchen, was die Geschwindigkeit betrifft, und zwar auch, wenn es Visual BASIC ist ;~)

            Es ist spät, ich bin müde, daher:
            Keine Haftung für Schreibfehler, oder Nonsense...

            Freundlichen Grüße
            Stefano Albrecht

            P.s.: Wenn ich in diesen Einträgen Java als eine würdige Sprache verteidige, heißt das nicht, dass ich anderen Sprachen abegneigt bin, denn ich programmiere sehrwohl auch in C/C++ usw. Java wird diese Urväter auf keinen Fall ablösen können... oder vielleicht doch??

            1. Hallo,

              Java wird diese Urväter auf keinen Fall ablösen können... oder vielleicht doch??

              solange ich noch keine Implementation eines Multithreaded Servers (ist mir Wurst, ob HTTP, SMTP, POP, IMAP oder sonstwas) gesehen habe, würde ich das strikt verneinen.

              Gruß aus Berlin!
              eddi

              1. Morgen Eddi,

                solange ich noch keine Implementation eines Multithreaded Servers (ist mir Wurst, ob HTTP, SMTP, POP, IMAP oder sonstwas) gesehen habe, würde ich das strikt verneinen.

                Java ist eine Sprache, in der Server- und Thread-Angelegenheiten sehr elegant gelöst sind.
                Ich schreibe Dir hier mal einen multithreaded Server rein:

                ...

                try{
                  ServerSocket serverSocket = new ServerSocket(12345);
                }catch(Exception ex){
                  System.exit(1);
                }

                while(true){
                  try{
                    Socket socket = serverSocket.accept();
                    ClientThread clientThread = new ClientThread(socket);
                    clientThread.start();
                  }catch(Exception ex){
                    /* ... */
                  }
                }

                ...

                Dies ist eine Minimal-Implementation des Servers. Der Server läuft auf TCP-Port 12345.
                ClientThread ist eine von Thread abgeleitete Klasse, die den neuen Socket durch "serverSocket.accept();"
                übernimmt und damit arbeitet, nachdem der Thread mit "clientThread.start();" gestartet wurde, wobei dieses
                Statement auch noch in den Konstruktor von ClientThread gesetzt werden könnte.

                Weiterhin:
                1.
                2.
                3.
                ...[infinite]

                Freundliche Grüße
                Stefano Albrecht

        3. Hallo Stefano,

          Als Beweis der Brauchbarkeit könnte man beispielsweise das Java SDK/IDE Eclispe nennen, welches vollständig in Java geschrieben wurde, und wirklich ein Paradis unter den IDEs darstellt...

          Wobei genau diese auf meinem alten Rechner komplett unbrauchbar ist. Ein schönes Beispiel für den Resourcenverbrauch von Java also.

          Schöne Grüße,

          Johannes

          --
          WM-Tippspiel: http://zeller-johannes.de/wmtipp/
          ie:% fl:( br:< va:| ls:[ fo:) rl:) n4:? ss:| de:] js:| ch:} sh:) mo:| zu:)
  3. Hallo,

    Ist C überhaupt das richtige?

    Naja, seit es Java gibt nicht mehr ;)

    Viele Grüße

    --
    Wer ist eigentlich LAN und warum macht er so viele Partys?
    Das beste Freeware-Programm der Welt
    Selfcode: ie:( fl:| br:^ va:| ls:[ fo:) rl:( n4:| ss:| de:[ js:| ch:? sh:( mo:) zu:|
    1. Ist C überhaupt das richtige?

      Naja, seit es Java gibt nicht mehr ;)

      Du isst auch keine Äpfel mehr, seit es Birnen gibt, oder? Käme deinem Vergleich in etwa nah.

      1. Hallo,

        Ist C überhaupt das richtige?

        Naja, seit es Java gibt nicht mehr ;)

        Du isst auch keine Äpfel mehr, seit es Birnen gibt, oder? Käme deinem Vergleich in etwa nah.

        Doch. Mit Äpfeln _und_ Birnen schmeckt der Obstsalat viel besser.

        Viele Grüße

        --
        Wer ist eigentlich LAN und warum macht er so viele Partys?
        Das beste Freeware-Programm der Welt
        Selfcode: ie:( fl:| br:^ va:| ls:[ fo:) rl:( n4:| ss:| de:[ js:| ch:? sh:( mo:) zu:|
        1. Hallo,

          Doch. Mit Äpfeln _und_ Birnen schmeckt der Obstsalat viel besser.

          na da haben wir ja den Salat ;-)

  4. Sup!

    Am besten fängst Du nicht gleich damit an, eine datenbankgestützte grafische Anwendung schreiben zu wollen. Je nach Plattform, die Du benutzt, sind vielleicht kleine Tools oder Nachprogrammierungen von schon bestehenden Programmen eine gute Idee.

    Ganz einfache Sachen wie ein Kommandozeilenprogramm für Dezimal-in-Hex Umrechnung, oder eine eigene Variante vom dir/ls-Befehl (unter Benutzung von OS-Funktionen), oder ein primitiver Web-Server sind schöne und praktische und lehrreiche Dinge zum Anfangen.

    C/C++ zu lernen ist immer eine gute Idee, da C die Mutter einer ganzen Reihe von C-ähnlichen Sprachen ist, z.B. ECMA-Skript, Java und C#.

    Sofern man nicht den ganzen Tag nur daran arbeitet, jeden Aspekt der Sprache zu beherrschen, wird man mit dem Lernen natürlich nie fertig.

    Gruesse,

    Bio

    --
    Never give up, never surrender!!!