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.
- 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?
- 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