Hanno: Zukunftsorientiert programmieren - was ist das Richtige ?

Hallo,

Ich programmiere seit gut 4 1/2 Jahren und habe schon sehr viel ausprobiert. Angefangen mit einem VB HTML Editor über ein C++ DX spiel bis hin zu einem online Shop System in PHP habe ich vieles mal programmiert.
Jetzt geht es mir, auch wenn ich erst 15 bin, darum,
mich endlich zu entscheiden, worauf ich mich konzentrieren will, denn mir geht dieses ständige hin und her ziemlich auf die Nerven, da ich dann nie wirklich
ein Profi in einem bestimmten Bereich werde. Deshalb wollte ich mich jetzt mal entscheiden und euch fragen, was ich machen könnte, um auch für meine Zukunft einen guten Baustein zu haben. Hier die Möglichkeiten:
--> Windows Applikationen ( .NET )
-----> in C++
-----> in C#
-----> in VB
--> Datenbanken
-----> Offline ( VB )
-----> PHP
--> Web mit PHP, HTML, MySQL etc.
Wozu könnt ihr mir raten. ICh will zwar nicht, dass der Spaß zu kurz kommt, dennoch will ich mich hauptsächlich daran orientieren, wovon ich am meisten habe.
Danke
--Hanno--

  1. Ich spezialisiere mich zur Zeit auf Zope (TAL, Python) und Java. Ich denke das diese beiden Systeme auch in Zukunft Marktanteile gewinnen werden.

  2. Hallo,

    Ich programmiere seit gut 4 1/2 Jahren und habe schon sehr viel ausprobiert. Angefangen mit einem VB HTML Editor über ein C++ DX spiel bis hin zu einem online Shop System in PHP habe ich vieles mal programmiert.
    Jetzt geht es mir, auch wenn ich erst 15 bin, darum,
    mich endlich zu entscheiden, worauf ich mich konzentrieren will, denn mir geht dieses ständige hin und her ziemlich auf die Nerven, da ich dann nie wirklich
    ein Profi in einem bestimmten Bereich werde. Deshalb wollte ich mich jetzt mal entscheiden und euch fragen, was ich machen könnte, um auch für meine Zukunft einen guten Baustein zu haben. Hier die Möglichkeiten:
    --> Windows Applikationen ( .NET )
    -----> in C++
    -----> in C#
    -----> in VB
    --> Datenbanken
    -----> Offline ( VB )
    -----> PHP
    --> Web mit PHP, HTML, MySQL etc.
    Wozu könnt ihr mir raten. ICh will zwar nicht, dass der Spaß zu kurz kommt, dennoch will ich mich hauptsächlich daran orientieren, wovon ich am meisten habe.
    Danke
    --Hanno--

    die zukunft liegt in Java und C++!!
    und mysql ist ebenfalls sehr vorteilhaft.

    mike

    1. In MySQL gibt es aber keine Trigger was das erstellen von aufwendigeren Datenbanken erschwert...

  3. Sup!

    Ich will nicht ueberheblich oder vaeterlich wirken, aber ich denke, mit 15 sollte man andere Probleme haben als die Frage, welche Programmiersprachen man mit 20 oder 25 (je nachdem, ob Du studieren willst oder nicht) beherrschen sollte.
    Wer weiss, vielleicht programmiert man 2010 in H4nn0++ oder wieder in Cobol... was nuetzen Dir dann perfekte mySQL-Kenntnisse?
    Gute Programmierer koennen sich in ein paar Monaten in jede Sprache einarbeiten, was soll's also, wenn Du jetzt mit 15 zum totalen Fachidioten fuer VB.NET oder PHP5 mutierst und dann 2010 geifernd rumrennst und allen, die es nicht hoeren wollen "PHP5 ist die beste aller Sprachen, ich habe schon ein Raketensteuerungssystem in PHP5 programmiert" an den Kopf wirfst?

    Aber wie auch immer, das ist ja nur meine Meinung... und im Zweifel wuerde ich Dir empfehlen, C und Assembler perfekt zu beherrschen, das hat am meisten Prestige und man kann Kernel-Hacker und Embedded-Systems-Guru (und embedded systems sind ueberall!) werden - gut ist allerdings auch, ein Lisp-Gott zu sein, denn mit Lisp kann man nachweislich alles machen und Buffer-Overflows koennen ums Verrecken nicht vorkommen; es sieht nur einigermassen chaotisch aus. Wenn es ums chaotische Aussehen geht, ist auch Forth zu empfehlen.

    Gruesse,

    Bio

    --
    Im übrigen bin ich der Meinung, daß der Bereich ASP abgeschafft werden soll!
    1. Hiho,

      Gute Programmierer koennen sich in ein paar Monaten in jede Sprache einarbeiten

      Der Satz regt mich jetzt zum Nachdenken an.
      Soll ich also einfach das machen, wonach mir zu Mute ist, auch wenn ich dann alle 3 Monate die Sprache wechsel ? Klingt verlockend, wenn du recht hast... Bei mir isses leider so, dass ich immer gleich alles verlerne *!?*
      Gruß

      Hanno

      1. Sup!

        Hiho,

        Gute Programmierer koennen sich in ein paar Monaten in jede Sprache einarbeiten

        Der Satz regt mich jetzt zum Nachdenken an.
        Soll ich also einfach das machen, wonach mir zu Mute ist, auch wenn ich dann alle 3 Monate die Sprache wechsel ? Klingt verlockend, wenn du recht hast... Bei mir isses leider so, dass ich immer gleich alles verlerne *!?*

        Was man an einer Sprache beherrschen muss ist ihr Konzept. Die Befehle stehen in der Befehlsreferenz. Kein Programmierer ist ohne Handbuch bzw. Befehlsreferenz wirklich was wert. Wenn ich programmiere, dann ist immer ein Browser offen um mir zu helfen... Buecher von Addison Wesley und O'Reilly bilden einen Wall gegen die Aussenwelt... ich kann doch nicht die ganzen Befehle auswendig, oder kenne alle Modifikatoren fuer regulaere Ausdrucke, oder kann aus dem Gedaechtnis eine monstroese Datenbankabfrage konstruieren (was ich auch schon mal konnte).
        Man kann auch nie alle Bibliotheken / Interfaces / Prozeduren kennen, zumal taeglich irgendwer irgenwelche neuen Dinge programmiert. Es ist schlicht nicht moeglich, alles zu wissen.
        Sicher wissen auch Alan Cox und Linus Torvalds nicht so genau, was dieser oder jener Teil im Linux-Kernel wirklich tut.
        Was von den Sprachen, die man gerade nicht so gut kann, bleibt, ist eine Ahnung von den Konzepten und das Wissen, dass es fuer das Problem, was man hat, irgendeine(n) Methode / Befehl / Trick / Syntax / Bibliothek / Erweiterung gab und wahrscheinlich noch gibt - und darauf aufbauend kann man sich das, was man vergessen hat, schnell wieder aneignen, wenn man ein Handbuch hat.

        Gruesse,

        Bio

        --
        Im übrigen bin ich der Meinung, daß der Bereich ASP abgeschafft werden soll!
      2. Hi Hanno,

        Gute Programmierer koennen sich in ein paar Monaten in jede Sprache einarbeiten
        Der Satz regt mich jetzt zum Nachdenken an.

        das ist gut so!

        Soll ich also einfach das machen, wonach mir zu Mute ist, auch wenn ich dann alle 3 Monate die Sprache wechsel ? Klingt verlockend, wenn du recht hast...

        Man kann den 'Charakter' von Programmiersprachen in gewisser Weise klassifizieren.

        Alle Sprachen, die Du bisher kennst, sind "algorithmische" Sprachen - Du definierst einen _Ablauf_ in Form von Schritten, Schleifen, Bedingungen.
        Ganz anders funktionieren "deskriptive" Sprachen - dort definierst Du _Eigenschaften_ eines Ergebnisses und überläßt es dem Interpreter, Compiler etc., wie er das entsprechende Ergebnis ermittelt. Hierbei mußt Du auf eine ganz andere Art und Weise an das Problem herangehen - Du beschäftigst Dich weniger mit konkreten Berechnungen als mit abstrakten Eigenschaften, und Du konzentrierst sich noch mehr auf das Modellieren von Daten gegenüber dem Verarbeiten derselben.

        Innerhalb einer "Sprachklasse" gibt es viele Gemeinsamkeiten, die Dir aber erst dann so richtig bewußt werden, wenn Du mal eine Sprache einer anderen Klasse gelernt hast.
        Letzteres solltest Du also unbedingt mal tun - am populärsten hierfür dürfte SQL sein, intellektuell interessant wäre vielleicht auch Prolog.
        Im Vergleich zu einem solchen "Paradigmenwechsel" ist das Umlernen zwischen PHP und Perl wirklich einfach.

        Es ist jedoch keineswegs so, daß sich jede Sprache sauber in eine "Klasse" einteilen lassen würde. PHP und Perl sind beispielsweise im Wesentlichen algorithmische Sprachen - aber reguläre Ausdrücke, die von beiden unterstützt werden, sind zweifellos ein rein deskriptives Element ...

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
         => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
  4. Hi,

    Jetzt geht es mir, auch wenn ich erst 15 bin, darum,
    mich endlich zu entscheiden, worauf ich mich konzentrieren will, denn mir geht dieses ständige hin und her ziemlich auf die Nerven, da ich dann nie wirklich

    Mir ging es vor zwei Jahren ähnlich, hatte bis dahin viel mit VB gemacht und auch HTML gepfuscht und stand dann vor der Entscheidung VB.NET oder doch net? ;-)
    Da mir das ständige ge-update kommerzieller Produkte - wie VB - zu teuer fürs Hobby war (war eine ähnliche Altersklasse wie du heute) hab ich mich dann in Perl eingearbeitet und bin damit recht zufrieden. Kannst damit sowohl GUI-Anwendungen als auch Web-Sachen machen und ist eben kostenlos (!)
    IMO liegt die Zukunft in OpenSource Sachen, da dort die Verlässlichkeit und Wartbarkeit von größeren Projekten eher gegeben ist, als bei kommerziellen Sachen.

    Und irgendwann steig ich auch um auf Linux...

    wunderwarzenschwein

    --
    ss:} zu:$ ls:} fo:| de:] va:) ch:? sh:( n4:# rl:? br:> js:| ie:( fl:{ mo:)
  5. Hallo Hanno,

    mach Dir nicht zu viele Gedanken darüber, welche Programmiersprache Du können musst. Programmieren können heißt nicht, irgendeine Programmiersprache zu beherrschen. Du musst in der Lage sein, ein Problem zu verstehen und in einen Algorithmus zu übersetzen, die Programmiersprache ist nebensächlich und hängt dann vom Problem und vom Umfeld ab.
    Wenn Du dich aber jetzt schon auf einen Beruf im IT-Bereich vorbereiten willst, dann arbeite an Deiner naturwissenschaftlichen Ausbildung. Mathematik ist hier unverzichtbar. Hilfreich ist auch eine weitere Naturwissenschaft, z. B. Physik, Biologie oder Chemie. <erhobener Zeigefinger>Also sei in der Schule fleißig, wähle später als LK Mathe und Physik und bei guten Noten ist Deine Zukunft gesichert.</erhobener Zeigefinger> Aber wichtig ist auch, dass Du Deine Freizeit altersgerecht verbringst.

    Gruß,     Jürgen

    --
    <img src="http://www.uni-muenster.de/Physik/AP/Purwins/leute/Berkemeier/Plasmakugel.gif" border="0" alt="">
  6. Hallo Hanno,

    tipp mal in Deinen Browser http://www.arbeitsamt.de und bemüh das SIS. Dort suchst Du einfach nach angebotenen Stellen. Um wirklich eine Aussage treffen zu können, wo was verlangt weid, brauchst Du wohl ca. 2-3 Stunden.

    Danach bist Du (etwas) schlauer.

    Lass Sich nicht demotivieren davon, dass man die meisten Fähigkeiten, die verlangt werden, niemals alleine erwerben kann und selbst auf einer Hochschule nur selten die Gelegenheit dazu hat.

    Die Firmen fragen aber leider selten danach, wie man an das geforderte Spezialwissen gekommen ist und werd das dann bezahlt hat. 5 bis 10 Jahre lernen und ne Menge Equipment, Bücher, Seminare das kann schon leicht 500.000 Euro ergeben.

    Grüße

    Chris (C)

  7. Hallo Hanno,

    klammer Dich blos nicht an irgendeine Technologie fest. Programmiersprachen, Hardware, Systeme... alles ändert sich dauernd. Wenn Du auf Dauer in der IT Branche gut und erfolgreich sein willst, musst Du nach meiner Meinung folgende Eigenschaften haben:

    • immer offen und neugierig sein für Neues, nie Angst vor Neuem haben.

    • Trotzdem eine kritische Distanz zu den IN-Schlagwörtern und dem üblichen Hype und Marketinggefasel bewahren, da musst Du imer die Essenz rausfiltern, und schauen was wirklich dahinter steht (erfahrungsgemäß zwischen 0 und 5% Wahrheit).

    • Grundlagenmethodik erlernen, Sprechen ändern sich, bestimmte Paradigmen im Programmierstil und Grundprinzipien ändern sich aber nur sehr langsam, oder sogar garnicht (Objektorientierung, Modularisierung, Trennung von Aussehen und Daten, saubere Kommentierung...), bzw. sie entwickeln sich vielleicht einfach stetig weiter.

    • Ein weites Grundlagenwissen haben, Du musst nämlich nicht wirklich supertief in einer bestimmten Technik drinstecken, wenn Du vieles kennst, und eine gute Methodik hast, kannst Du Dir die Details in einem konkreten Projekt schnell anlesen und erarbeiten.

    Der größte Fehler ist es wirklich sich an Bekanntem festzuklammern, ich hab Leute gekannt die mit 20 Jahren das Internet vehement abgelehnt haben, weil ihre tollen Mailboxnetze das einzig Wahre sind.
    Auf der anderen Seite habe ich einen 60 jährigen Programmierer kennengelernt, der problemlos Windows Datenbankanwendungen geschrieben hat, angefangen hat er mit dem stanzen von Lochkarten. Glaub blos nicht, dass Du mit 60 noch PHP programmierst :-)

    Gruss

    Marko