Kiska Kogtistaya: C++, Java und Internetprogrammierung...?

Hallo,

Fragen über Fragen... Nachdem ich in den Scriptsprachen (JavaScript und PHP) und SQL ziemlich fit geworden bin und die ersten Gehversuche mit Perl/CGI hatte, suche ich neue Herausforderung. Im Moment reizen mich folgende Programmierersprachen: C++ oder/und Java. Dabei tauchen folgende Fragen auf:

1. Womit sollte ich anfangen mit C++ oder Java? Die beste Reihenfolge aus Euren Erfahrungen.

2. Die besten Editor/Compiler Kombinationen für Win2000 (beide Sprachen) und nach Möglichkeit kostenlos?

3. Ganz andere Frage: was sollte der Profi-Internetprogrammierer, Eurer Meinung nach, an Wissen normalerweise mitbringen? Welche Programmiersprachen, Anwendungen, Betriebssysteme und sonstige Kenntnisse sollen vorhanden sein?

Vielen Dank für *das bis ende lesen*
Kiska

  1. hallo ebenfalls,

    1. Womit sollte ich anfangen mit C++ oder Java? Die beste Reihenfolge aus Euren Erfahrungen.

    C/C++ ist "älter" als Java. Java wurde entwickelt, als eine bestimmte Arbeitsgruppe bei Sun fand, daß sie ihre Aufgaben mit C/C++ nicht befriedigend würde lösen können. Vom Konzept her, und von den grundlegenden Features her, unterscheiden sich beide Sprachen erstaunlich wenig. Wenn man eine beherrscht, fällt der Einstieg in die andere sehr leicht. Irgendeine "Reihenfolge" anzugeben, ist aber nicht möglich, du mußt selber sehen, womit du zunächst leichter zurechtkommst.

    1. Die besten Editor/Compiler Kombinationen für Win2000 (beide Sprachen) und nach Möglichkeit kostenlos?

    Falscher Ansatz. Beiden Sprachen ist es ziemlich wurscht, auf welcher Plattform der Programmierer grade arbeitet (dem C-Compiler ist das allerdings keineswegs egal). Für Java bekommst du einen "Compiler" (heißt da allerdings nicht so) kostenlos mitgeliefert, wenn du die entsprechenden Pakete von Sun herunterlädst, für C/C++ gibt es viele verschiedene Compiler (für verschiedene Systemplattformen), davon nur wenige kostenlos. Einer, der sich ganz gut macht, ist bei Borland zu finden (hab jetzt die Adresse nicht hier, findet sich aber mit etwas Suchen in mehreren Archiv-Threads), ein anderer ist der gcc  -  der ist frei, und wird mit jedem LINUX-System mitgeliefert. Sehr gut ist hier  -  ausnahmsweise  -  auch mal ein Microsoft-Produkt, nänlich Visual C++ 6.0. Das Ding kostet aber bißchen.

    1. Ganz andere Frage: was sollte der Profi-Internetprogrammierer, Eurer Meinung nach, an Wissen normalerweise mitbringen? Welche Programmiersprachen, Anwendungen, Betriebssysteme und sonstige Kenntnisse sollen vorhanden sein?

    Das hängt sehr stark vom Chef des Betriebes ab, der diesen "Profi" einstellen will. Der Programmierer sollte ein klein bißchen mehr verstehen als der Personalchef ...

    Christoph S.

    1. hallo ebenfalls,

      Falscher Ansatz. Beiden Sprachen ist es ziemlich wurscht, auf welcher Plattform der Programmierer grade arbeitet

      Sorry, habe mich vielleicht falsch ausgedrückt. Ich suche nach guten Editoren mit zusätzlichen Features. z. B. für HTML gibt's meybohm' Editor mit vielen nützlichen Features. Im Prinzip könnte ich ja auch alles im Editor schreiben, aber es ist ja blöd, wenn es Editoren gibt, die einem das Leben erleichtern...

      Das hängt sehr stark vom Chef des Betriebes ab, der diesen "Profi" einstellen will. Der Programmierer sollte ein klein bißchen mehr verstehen als der Personalchef ...

      Das ist auch klar, ich wollte nur Deine Meinung wissen. Was würdest Du persönlich bei einem Internet-Programmierer voraussetzen, nicht für ein bestimmtes Projekt, sondern allgemein.

      OFF: Lieber Christoph, gibt's in Deinem Leben noch andere Dinge, wie dieses Forum? Ich sehe Dich hier tag und nacht (nicht, dass ich sauer darüber wäre, du bist nun mal kompetent, aber die weibliche Neugier...)

      Danke Kiska

      1. Hi,

        Sorry, habe mich vielleicht falsch ausgedrückt. Ich suche nach guten Editoren mit zusätzlichen Features.

        Wenn du mit JAVA anfangen willst, eignet sich meiner Meinung nach der
        J-Creator ganz gut für kleine und mittlere Projekte. Ich finde ihn gut weil er nicht so aufgeblasen ist, gut anpassbar, umfangreiches Syntax-
        Highlighting, viele frei konfigurierbare shorcuts etc. Die (ausreichende)
        Light version ist frei.
        http://www.jcreator.com
        Es klingt albern, aber das beste und leider unvollständige Tutorial
        für JAVA, dass ich kenne, ist für Schüler geschrieben....
        http://ada.rg16.asn-wien.ac.at/~javafs/indexjfs.html

        Was würdest Du persönlich bei einem Internet-Programmierer voraussetzen, nicht für ein bestimmtes Projekt, sondern allgemein.

        Bereitschaft zum Mitdenken und die Dinge aus der Sicht des Nutzers
        anzugehen. Niemand sollte für schönen Quellcode entwickeln, sondern
        vor allem für intuitive Bedienung. Wie du das erreichst bleibt dir
        überlassen.

        bye eddie

        1. hallo Ed,

          Es klingt albern, aber das beste und leider unvollständige Tutorial
          für JAVA, dass ich kenne, ist für Schüler geschrieben....
          http://ada.rg16.asn-wien.ac.at/~javafs/indexjfs.html

          man darf ja durchaus auch mal auf http://www.selfjava.de hinweisen, gelle ?

          Christoph S.

      2. liebe Kiska ;-)

        OFF: Lieber Christoph, gibt's in Deinem Leben noch andere Dinge, wie dieses Forum?

        na klar. Ab und zu muß ich meine Fische im Aquarium füttern. Und im Spätsommer / Herbst muß ich unbedingt in den Wald und Pilze sammeln und Holunder und Hagebutten ernten, damit ich, wenn ich mich an den Computer setze, auch nen ordentlichen Wein danebenstehen habe ... Manchmal muß ich auch Geld verdienen gehen, und manchmal hab ich auch noch das Bedürfnis, bestimmte zwischenmenschliche Beziehungen zu pflegen ;-)

        Ich sehe Dich hier tag und nacht (nicht, dass ich sauer darüber wäre, du bist nun mal kompetent, aber die weibliche Neugier...)

        tststs. Tagsüber  -  also zwischen 4 Uhr morgens und 20 Uhr abends  -  bin ich in der Regel nicht online. Ausnahmen gibt es, zum Beispiel am Wochenende.
        Und wenn ich abends online bin, schaue ich auch nicht ununterbrochen hier herein, ich hab mir nur ein eigenes "Frühwarnsystem" gebastelt, so daß der Rechner kurz klingelt, wenn ein neues posting auftaucht oder irgendjemand was zu einer meiner Aussagen mitzuteilen hat.

        Im übrigen: ich selber halte mich durchaus für einen "Lernenden", es gibt Themengebiete, bei denen ich mitlese, aber nix dazu sage, es gibt andere Themengebiete, zu denen ich halt das eine oder andre weiß.

        Aber kompetent ist noch eine ganze Reihe anderer Leute hier, und (nur als Beispiel) Sven Rautenberg schreibt häufiger als ich und äußert sich sehr klug zu Dingen, die ich so (noch) nicht aussagen könnte.

        Alles in allem: ich selber habe, als ich vor Jahren als "Newbie" hier ins Forum kam, sehr viel gute und kluge Hinweise erhalten. Einen Teil davon versuche ich "zurückzugeben". Du darfst sicher sein, daß es ein paar Andere gibt, die gegebenenfalls schon heftig dazwischenfahren würden, wenn ich was Verkehrtes oder Ungenauaes aussagen sollte, und genau _das_ mag ich an diesem Forum.

        Grüße aus Berlin

        Christoph S.

        1. OFF: Hi Christoph,

          ich weiß, dass das hier nicht ins Forum gehört, aber ich werde jetzt mal ganz tapfer sein und die Regeln auf einmal brechen :-0! Man kriegt nun mal Angst in SelfForum, wenn man irgendetwas falsch macht, z. B. private Sache bequatschen oder ohne Begrüßung posten. Man wird dann immer wieder auf die <sauer>FAQs</sauer> hingewiesen, wenn nicht gleich „virtuell“ zerstückelt.

          Ich wollte mich nur bei Dir und bei allen anderen Jungs (Sven R., Stefan M. usw.) im Forum für das tolle Support - auch, wenn dieses manchmal herb ausfällt ;) - bedanken.

          Kiska

          1. Hi Kiska,

            Man wird dann immer wieder auf die <sauer>FAQs</sauer>
            hingewiesen, wenn nicht gleich „virtuell“ zerstückelt.
            Ich wollte mich nur bei Dir und bei allen anderen
            Jungs (Sven R., Stefan M. usw.) im Forum für das tolle
            Support - auch, wenn dieses manchmal herb ausfällt ;)

            • bedanken.

            korrigiere mich bitte, falls notwendig - aber wo steht in der FAQ, daß es verboten ist, jemanden zu loben oder sich zu bedanken?

            Viele Grüße
                  Michael

    2. hi!

      Sehr gut ist hier  -  ausnahmsweise  -  auch mal ein Microsoft-
      Produkt, nänlich Visual C++ 6.0. Das Ding kostet aber bißchen.

      Äh, wir reden vom gleichen Visual C++? Und es geht doch auch immer
      noch um den Compiler? Was soll daran gut sein? Die IDE ist ja ganz
      ok, aber der Compiler ist AFAIK einer der am meisten vom C++-Standard
      abweichenden.

      bye, Frank!

      1. hallo Frank,

        ok, aber der Compiler ist AFAIK einer der am meisten vom C++-Standard
        abweichenden.

        Ja, für dich (und für mich auch). Aber wenn du überhaupt erstmal anfängst, ist das Ding nicht zu verachten, viele Distributoren geben ihren Packages sogar die entsprechenden Projektfiles mit  -  manches mag dabei ja mit Stoßseufzern verbunden sein, abwr das ist eine andere Diskussion.

        Wir hatten das Thema ja erst vor ungefähr drei Wochen in einem eigentlich sehr guten Thread ...

        Christoph S.

  2. Hi Kiska,

    Nachdem ich in den Scriptsprachen (JavaScript und
    PHP) und SQL ziemlich fit geworden bin und die
    ersten Gehversuche mit Perl/CGI hatte, suche ich
    neue Herausforderung.
    Im Moment reizen mich folgende
    Programmierersprachen: C++ oder/und Java.

    1. Womit sollte ich anfangen mit C++ oder Java?
      Die beste Reihenfolge aus Euren Erfahrungen.

    weil es wahrscheinlich von den anderen Antworten stark abweichen wird: Ich würde keines von beidem vorschlagen.

    Was Du meiner Meinung nach willst, ist nicht abhängig von irgend einer Sprache. Und es ist m. E. auch gar nicht notwendig, viele Programmsprachen zu können.
    Ich denke sogar, es ist sinnvoller, eine Sprache wirklich gut zu beherrschen, als von vielen Sprachen nur die Oberfläche zu kennen. Ich bin nämlich einer von der letzteren Sorte und werde wahrscheinlich nie richtig Perl lernen, weil ich immer wieder zu viele andere Dinge tun muß.
    (Deshalb poste ich hier auch fast nie konkrete Syntax als Lösung, weil ich immer irgendwo nachschlagen müßte, wie das gerade in dieser Sprache genau funktioniert ... und das können Leute, die nur in dieser einen Sprache denken, viel effizienter als ich.)

    Sicherlich gibt es viele Dinge, die Dir bei den ersten Gehversuchen nicht über den Weg gelaufen sind.

    • Hast Du schon mal ein richtig spannendes rekursives Problem gelöst?
    • Hast Du schon irgendwelche lowlevel-Netzwerkkommunikation gemacht?
    • Hast Du Dir schon den Kopf über die effiziente Speicherung von Daten mit Hilfe von Indexstrukturen zerbrochen? Oder wie der Perl-Interpreter diese hübschen Hashes tatsächlich intern realisiert?

    Mit einer 3GL-Sprache wie Perl und einer 4GL-Sprache wie SQL hast Du m. E. alles, was Du brauchst - den Rest bekommst Du über CPAN.
    Ich würde Dir also raten, an dieser Stelle eher in Informatik zu investieren, nicht in weitere Programmier-Skills. Im Vergleich dazu bringt Dich m. E. eine neue Sprache nicht wirklich weiter.
    Wenn Du in objektorientierte Programmierung hinein schnuppern willst - was spricht dagegen, mit Perl anzufangen?

    1. Ganz andere Frage: was sollte der
      Profi-Internetprogrammierer, Eurer Meinung nach,
      an Wissen normalerweise mitbringen? Welche
      Programmiersprachen, Anwendungen, Betriebssysteme
      und sonstige Kenntnisse sollen vorhanden sein?

    Auch hier gilt: Einige wenige Dinge sehr gut können, die aber weit verbreitet sind, kann auch schon sehr viel sein.
    Wenn jemand Windows-Netzwerke wirklich gut konfigurieren könnte, dann hätte ich vor ihm eine Menge Respekt (womöglich mehr, als vor jemandem, der das mit einer leichter zu beherrschenden Materie tut ;-).

    Neben Deinen bisherigen Kenntnissen bietet sich ein solides Grundwissen über UNIX als nächstes Thema an.
    Dazu gehört beispielsweise, das Dateisystem (streams, devices, mounts, ...) und das Wesen einer Shell (wildcarding, pipes, environment, ... ) verstanden zu haben.
    Auch die Existenz einiger Systemkommandos sollte bekannt sein - viele kleine Probleme lassen sich mit einfacheren Mitteln lösen als mit einem Perl-Skript. (Insofern ist möglicherweise "shell" die Sprache, die ich als nächste empfehlen würde - auch weil Du einiges, was Du in Perl gelernt hast, dort wieder finden wirst). man pages zu lesen ist immer wieder spannend.
    Das ist alles relativ unabhängig von konkreten Programmiersprachen - aber vieles davon läßt sich wiederum in den Programmiersprachen verwenden, typischerweise als Funktions-API.

    Was sich auch lohnen kann, ist, sich ein wenig mit Internet-Standards auseinanderzusetzen.
    Allein im RFC2616 (HTTP) stehen Sachen drin, die Dich auf Wochen hinaus beschäftigen könnten ...

    Und dann wäre da immer noch diejenige Software, die Du nicht selber schreiben mußt.
    Es schadet einfach nichts, wenigstens ungefähr zu wissen, was diese unzähligen Apache-Module alles schon können - es erspart einem möglicherweise, irgendwas davon selbst zu schreiben.

    Es gäbe viel zu lernen, was keine neue Programmiersprache ist.

    Viele Grüße
          Michael

    1. Hallo Michael,

      Nachdem ich in den Scriptsprachen (JavaScript und
      PHP) und SQL ziemlich fit geworden bin und die
      ersten Gehversuche mit Perl/CGI hatte, suche ich
      neue Herausforderung.
      Im Moment reizen mich folgende
      Programmierersprachen: C++ oder/und Java.

      1. Womit sollte ich anfangen mit C++ oder Java?
        Die beste Reihenfolge aus Euren Erfahrungen.

      weil es wahrscheinlich von den anderen Antworten stark abweichen
      wird: Ich würde keines von beidem vorschlagen.

      Dito.

      Was Du meiner Meinung nach willst, ist nicht abhängig von irgend
      einer Sprache. Und es ist m. E. auch gar nicht notwendig, viele
      Programmsprachen zu können.

      Naja, da kann man geteilter Ansicht sein. Viele Programmiersprachen
      zu koennen heisst, flexibel zu sein; manche Probleme lassen sich
      in bestimmten Sprachen einfach leichter loesen als in anderen.

      Ich denke sogar, es ist sinnvoller, eine Sprache wirklich gut zu
      beherrschen, als von vielen Sprachen nur die Oberfläche zu kennen.

      Noch sinnvoller ist es natuerlich, viele Sprachen wirklich gut zu
      beherrschen ;-) aber das kostet viel, viel Zeit, Geduld und Uebung...

      Mit einer 3GL-Sprache wie Perl und einer 4GL-Sprache wie SQL
      hast Du m. E. alles, was Du brauchst - den Rest bekommst Du über
      CPAN.

      IMHO ist Perl fuer z. B. Low-Level-Netzwerk-Programmierung nicht
      sonderlich gut geeignet.

      Ich würde Dir also raten, an dieser Stelle eher in Informatik zu
      investieren, nicht in weitere Programmier-Skills. Im Vergleich
      dazu bringt Dich m. E. eine neue Sprache nicht wirklich weiter.

      Das kommt darauf an. Generell wuerde ich dir sofort zustimmen. Aber,
      wie ich weiter oben schon sagte, eignen sich einige Sprachen fuer
      bestimmte Probleme nicht sonderlich gut.

      Wenn Du in objektorientierte Programmierung hinein schnuppern
      willst - was spricht dagegen, mit Perl anzufangen?

      Genau hier z. B. OO in Perl ist geflickt. Es sieht schoen aus, aber
      Datenkapselung z. B. ist hier einfach nicht moeglich, genau so wenig
      wie einige Design-Patterns (welche, muesste ich erst wieder
      nachschlagen).

      Neben Deinen bisherigen Kenntnissen bietet sich ein solides
      Grundwissen über UNIX als nächstes Thema an.

      Oder ueber den IIS. Das ist eben die Frage, welche Richtung
      eingeschlagen wird.

      Was sich auch lohnen kann, ist, sich ein wenig mit
      Internet-Standards auseinanderzusetzen.

      In der Tat. Das waere fuer einen Web-Programmierer mehr als
      nuetzlich. Allein schon deshalb, weil es verstehen hilft, warum
      einige Dinge so funktionieren, wie sie funktionieren.

      Es gäbe viel zu lernen, was keine neue Programmiersprache ist.

      Full ACK ;-)

      Gruesse,
       CK