Welche Programmiersprache als nächstes?

  • Ersteller Ersteller Snowi
  • Erstellt am Erstellt am
S

Snowi

Gast
Hey,
hab mal eine Frage: Welche Programmiersprache würde sich lohnen als nächstes zu lernen, bzw. sollte ich meine Bisherigen Kenntnisse lieber vertiefen?

Atm. sehen meine Kenntnisse wie folgt aus:
C#: Fortgeschritten (Chat-Systeme, Programme zur Verwaltung von Datenbanken o.ä.)
Visual Basic: Anfänger/Fortgeschritten (Gleiche wie C#, ist aber schon ca 1 1/2 Jahre her dass ich das letzte mal VB angerührt hab)
PHP: Anfänger/Fortgeschritten (Vollständig Dynamische Website (Im Sinne von Navigation usw. in Datenbank) zum Verwalten von Adressen, Blog-Einträgen u.ä. als letztes Projekt)
HTML (Ohne HTML5): Fortgeschritten (Oben genannte Website)
CSS: Anfänger/Fortgeschritten (Oben genannte Website)
C++: Anfänger (Damals mal was mit WoW-P-Servern gemacht (Eigene Scripts für Bosse etc unter Trinity Core))

Hintergrund:
Mache grade ein Auslandspraktikum, und habe auf der Arbeit als auch Zuhause recht viel Zeit, da das Wetter echt mies ist + auf der Arbeit nie was zu tun. Daher würd ich gerne was Sinnvolles für die Zukunft tun, zB neue Programmiersprache lernen, da ich später recht gerne was in die Richtung machen würde.
Bin 19 gewirdeb & mache atm. Schulische Ausbildung zum Informationstechnischen Assistenten (2 von 3 Jahren jetzt bald vorbei). In der Schule lernen wir C#, daher wollt ich das erstmal liegen lassen, da ich da konstant eine 1 habe.


Ich würde spontan in Richtung C++ oder HTML/CSS/Javascript/PHP tendieren, wirklich sicher bin ich mir da aber nicht.
Was sind denn eher im Prof. Bereich eingesetzte Programmiersprachen? Bin für jeden Tipp dankbar :)
 
Stur Programmiersprachen lernen ist eigentlich nicht Sinn der Sache - da bist Du ganz schnell austauschbarer als der Inder in der T-Shirt-Fabrik ;)

Wenn Du weiterkommen möchtest, solltest Du Paradigmen und Konzepte lernen, diese sind zunächst unabhängig von der Sprache.
Beispielsweise könntest Du dich in die funktionale Programmierung anhand von Haskell o.ä. einarbeiten.
 
Kanibal schrieb:
Beispielsweise könntest Du dich in die funktionale Programmierung anhand von Haskell o.ä. einarbeiten.
Würde ich auch vorschlagen. Ist mal eine nette Abwechslung zu den normalen imperativen Sprachen.

Konzepte und Möglichkeiten, welche in funktionalen Programmiersprachen seit Jahrzehnten schon selbstverständlich sind, erhalten in den letzten Jahren auch Einzug in den klassischen objektorientierten Sprachen (C#, Java, C++). Als prominente Beispiele kann man hier Lambdas und Closures nennen. ;-) Daher: Ruhig mal den Ursprung der "neuen" Features ansehen.
 
Java wäre eine Möglichkeit sollte für dich ,da du schon ein paar sprachen kennst , nicht all zu schwer zu erlernen sein und wird auch meines Wissens viel in Unternehmen eingesetzt.
Aber auch Kanibals Vorschlag ist durchaus sinvoll da du dadurch, sich immer wiederholende Konzepte lehrnst die du garantiert brauchen wirst .
 
Zuletzt bearbeitet:
willste eine nische füllen, dann lern die gefragten sap module bis zum expertenstatus.
glaub in sap bi ist gerade n mangel.
 
Sprachen mit unmanaged Code und Pointern (C, Cpp) Pascal) wenn du Interesse an Betriebssystemen und Low Level hast, sonst plädiere ich für keine Sprache, sondern moderne Frameworks und "Paradigmen" wie node.js + noSQL. Super spannendes Feld und mal etwas anders als sich nur stumpf in die Syntax einer Sprache einzulesen.

Ansonsten zitiere ich mich selber...
Elcrian schrieb:
Hallo Jack159,
ich glaube, dazu kann man objektiv gesehen geteilter Meinung sein.

Den großen Vorteil den du persönlich hast wenn du eine unmanaged Sprache wie C/Cpp beherrscht ist jener, dass du ein tieferes Verständnis für eher klassische Konzepte der Informatik lernst. Ich bin vor einiger Zeit (als jemand, der früher gegen Entgelt Java getipselt hat) an unmanaged Code geraten und hatte so meine Probleme. Ein grundsätzliches Verständnis eines anderen Konzeptes (und Cpp ist ein anderes Konzept als Java!) ist definitiv eine sinnige Wissensbasis. Stichwort Pointer, Speicher-Freigabe etc.

Den realen Vorteil von C/Cpp (ergo: Wann brauche ich das im Job?) halte ich dafür extrem abhängig vom Job selber. Aussagen wie "Ein guter Cpp-Programmierer..." halte ich eher für, vorsichtig gesagt, wenig begründet...

Wenn du exakt weißt, warauf du dich einmal spezialisieren musst/willlst, dann macht es Sinn sich in eine Sprache richtig reinzufuchsen. Vorher ist ein breites Verständnis mMn. zielführender. Demnach bin ich übrgens ein grausamer Java-Programmierer - habe damit aber kein Problem, da das nicht mein berufliches Lebensziel sein muss...

Bzw. generell kann ich noch anmerken, dass man nie auslernt. Das klingt ultra-cheesy, ist aber sehr wahr. Beispiel ECMA-Script/JS: Lies mal dieses Buch und sag dann noch, du hast Ahnung von "HTML5". :D

Lesen heißt hier "anlesen" oder "querlesen" - wer das durchließt gehört ins autistische Spektrum.
 
Zuletzt bearbeitet:
Ich bin eher der Meinung, dass es viele Dinge gibt die wichtiger sind als "mehr" Programmiersprachen zu beherrschen.

Ein guter Anfang wäre es auf alle Fälle mal ein paar der klassischen Fachbücher zu lesen.
Beispiele für Bücher die in meinen Augen jeder Entwickler zu Hause stehen haben sollte. (willkürliche Reihenfolge)
- Extreme Programming Explained: Embrace Change
- Martin Fowler: Refactoring
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns
- Chad Fowler: The Passionate Programmer
- Rober C Martin: Clean code

Andere Beispiele sind Programmierwettbewere oder allgemein das Lösen komplexer Aufgabenstellungen. Da lernst man sehr gut wie sich schlechter Code rächen kann. Wenn du dafür Beispiele brauchst kann ich dir gern welche nennen.
 
Snowi schrieb:
HTML (Ohne HTML5): Fortgeschritten (Oben genannte Website)
CSS: Anfänger/Fortgeschritten (Oben genannte Website)
Die beiden bringen, ohne wenigstens Grundkenntnisse in JavaScript zu haben, fast gar nichts. Da hättest du deinen Ansatz....

Was sind denn eher im Prof. Bereich eingesetzte Programmiersprachen? Bin für jeden Tipp dankbar :)
WELCHER professionelle Bereich?

Webseiten werden auch in vielen Jahren noch in HTML(5), CSS(3) und JS dargestellt. es wird keiner mit ner vollkommen neuen Auszeichnungssprache für Webseiten daher kommen. Das Backend dieser Webseiten wird auch in vielen Jahren noch von PHP befeuert... oder Ruby, Perl, Python, Java, ASP.NET, Node.JS,...
Richtig große Backends werden auf lange Sicht weiter oftmals mit speziellen Java - Bibliotheken gefüttert.
Egal was du machst, und egal wie interessant NoSQL-Ansätze auch stellenweise sind, um relationale Datenbanken mit SQL kommt man auch in Zukunft nicht drumrum.
Auch wenn Desktop-Apps inzwischen oft mit JavaScript geschrieben werden (siehe Win8), um C oder C++ kommt man bei High Performance - Anwendungen nicht drum herum, teilweise muss weiterhin der Assembler her halten.
Logische Systeme schreibt niemand in C. Die schreibt man in Sprachen wie ProLog.
Irgendwo dümpelt sicher noch uralter Pascal-Code rum, der irgend eine schweineteure Maschine betreibt und für den dringend jemand gesucht wird, der den alten Mist noch warten kann...

Funart schrieb:
Ich bin eher der Meinung, dass es viele Dinge gibt die wichtiger sind als "mehr" Programmiersprachen zu beherrschen.
Eben. Programmiersprachen (zumindest die imperativen) sind austauschbar. Die Dinger unterscheiden sich etwas in der Syntax. Hier gibts mal keine {}, da werden Befehle nicht mit nem Semikolon sondern nem Zeilenumbruch terminiert. Dort muss ich Speicher manuell zuweisen, da lohnt es sich, manuell ab und zu einen Garbage Collector anzustoßen.
Den Scheiß lernt man in einige Wochen, das ist total egal.

Viel wichtiger ist, dass man die zugrunde liegenden Konzepte begreift. Was ist MVC, wie halte ich mich strikt an DRY, wann machen Singletons Sinn,...?
 
Sehe das ähnlich, lerne nicht neue Sprachen sondern Konzrpte,Methoden oder Frameworks für eine deiner bevorzugten sprachen. Ich empfehle z.B Pattern recognition und machine learning, neuronale netze und genetische Algorithmen. Das würde dir helfen bessere und vor allem intelligentere Lösungen zu entwickeln. Die meisten Programmierer können nur stupide "schiebe daten von a nach b" wobei die Daten noch ein bisschen transformiert werden. Ebenfalls lohnenswert sind parallele algorithmen/programmierung.
 
Programmiersprachen sind nicht nur für die eigentliche Produkterstellung wichtig. Alltagsprobleme bei der Softwareentwicklung löst man meist mit anderen Sprachen, als zum Erstellen des Produkts verwendet werden.

In deiner Liste gibts keine Sprache, mit der man in kurzer Zeit nichttriviale Tools aus dem Boden stampfen kann, die man gerade eben unbedingt benötigt, um mit seiner eigentlichen Arbeit weiterzukommen. Mal sind Daten auseinander zu nehmen und in ein anderes Format zu bringen, mal Testdaten zu generieren, mal muß was im Netz gemacht werden, mal dies und mal jenes. Jeden Tag was komplett anderes. Gesucht sind also kleine Hilfsprogrämmchen, die im Alltag als Entwickler Aufgaben erledigen, für die keine Standardlösungen existieren. Zielgruppe dieser Tools ist man selbst oder der Kollegenkreis.

Womit baut man solche Tools? Am einfachsten mit einer der Skriptsprachen, die mit einer umfangreichen Bibliothek daherkommen oder für die man im Netz umfangreiche Bibliotheken findet. Top-Kandidaten sind Perl und Python. Betrachte diese Sprachen als Werkzeug, um dir selbst Werkzeuge bauen zu können.
 
Zuletzt bearbeitet:
Jede Turing-vollständige Sprache sollte diese Anforderungen erfüllen...
Außerdem: PHP... Scriptsprache? Check. Umfangreiche Bibliothek? Check. Kompakt n Rudel Testdaten oder sowas erzeugen? Check.
 
Wie wäre es, wenn du dich in deinem Lieblings OpenSource Projekt einarbeitest, und deine Zeit da rein investierst?
Da lernst du alles über verteilte Software Entwicklung.
MFG.
 

Ähnliche Themen

Zurück
Oben