• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eine neue Programmiersprache.. doch welche?

D

DiVaO

Guest
Hallo,

ich arbeite vorrangig in der Web-Entwicklung mit HTML, CSS, Javascript (jQuery) und PHP. Nun möchte ich meinen Horizont erweitern mit einer neuen Sprache. Das Internet überschwemmt mich mit Meinungen, die sich oft gegenseitig widersprechen und ein Fazit kaum möglich machen. Deshalb würde ich gerne eure Meinung hören.

Eine neue Programmiersprache für das Web - unnötig?
Wie gesagt ich beherrsche bereits PHP und konnte damit bisher alle Anwendungen und Probleme gut lösen. Ich muss jedoch dazu sagen, dass ich bisher kaum objekt-orientiert gearbeitet habe, da es in PHP nicht nötig war. Dies ist deshalb Neuland für mich. Neben PHP gibt es ja noch Python und Ruby on Rails. Wobei Ruby im Moment sehr angesagt zu sein scheint. Ein einheitliches Fazit kann man hier jedoch nicht finden - beide Sprachen haben viele Anhänger und oft wird von beiden abgeraten und PHP genannt. Die Frage ist, ob es dann überhaupt sinnvoll ist, eine der beiden Sprachen zu lernen.
Ich nutze PHP übrigens für Web-Anwendungen mit MySQL Datenbank, bspw. Communities, Blogs, Foren.

Vielleicht also doch eher etwas für Desktop-Anwendungen?
Prinzipiell möchte ich mich nicht auf's Web beschränken, auch Desktop-Anwendungen interessieren mich. Hier habe ich bislang noch keine Erfahrung. Was hier für mich in Frage kommt wären JAVA, C++ oder C#. Mit .NET möchte ich mich nicht anfreunden, da ich kein Fan von Microsoft bin und mich auch nicht auf Windows beschränken möchte. Ich denke deshalb würde ich dann auch C++ über C# bevorzugen. Doch ist C++ noch zeitgemäß?
JAVA spricht mich persönlich nicht wirklich an - habe bereits ein Paar Erfahrungen damit gemacht im Informatikunterricht vor einigen Jahren und es hat mich nicht umgehauen, außerdem vergeht kein Tag, an dem keine neuen JAVA-Lücken die Titelseite von Tech-Seiten schmücken.
Oder gibt es vielleicht sogar eine sehr empfehlenswerte C++ Alternative, mit der man plattformunabhängig ordentliche Anwendungen entwickeln kann? Oder lohnt es sich durch den zunehmenden Einsatz von HTML5, CSS und Javascript für Desktopanwendungen garnicht mehr, eine dieser Sprachen zu lernen?

Außerdem bin ich auf zwei neue Programmiersprachen von Google gestoßen, nämlich "Go" als C/C++ Alternative und "Dart", als Konkurrenz zu Javascript. Dart ist außerdem auch server-seitig nutzbar, was also zwei Scriptsprachen überflüssig machen würde. Hat jemand mit diesen beiden denn schon Erfahrungen gemacht? Man soll sowas ja mit Vorsicht genießen, da sich die Sprachen bisher noch nicht durchgesetzt haben und man sie womöglich umsonst lernt.

Um vielleicht noch ein Paar Kleinigkeiten im Vorraus zu klären: Mich interessieren plattformunabhängige Desktop-Anwendungen (jeder Art), Webanwendungen (Linux-Server) und auch mobile Anwendungen. Was mich nicht interessiert sind iOS und Microsoft- oder Apple-Sprachen. Außerdem möchte ich nichts zu ausgefallenes, sondern etwas, das auch von vielen Unternehmen eingesetzt wird und womit ich bei Bewerbungen punkten kann.

Vielen Dank schonmal für eure Vorschläge! ;)
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Schon mal über Perl nachgedacht?
Für Linux fast schon ein Muss und kann eben auch Webseitig verwendet werden.
 
Schon mal über Perl nachgedacht?
Für Linux fast schon ein Muss und kann eben auch Webseitig verwendet werden.

Ist Perl nicht sozusagen der Vorgänger von Sprachen wie Ruby? Ich habe bisher ein Paar Sachen über Perl gelesen und oft wird darauf hingewiesen, dass die Sprache längst von PHP, Ruby, Python abgelöst wurde.
Natürlich kenn ich mich nicht genau damit aus, aber Perl wirkt eher altbacken und im Gegensatz zu Java, C++, PHP usw. habe ich Perl noch sogut wie nie im Profil einer Stellenausschreibung gesehen. ;)

Ist nicht z.B. C++ auch einwandfrei für die Linux-Entwicklung?
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Huch, da vermischst du aber viele Sachen!
Erstmal: Wenn du weiterhin nur im Web arbeiten willst, kannst du getrost auf alternative Sprachen verzichten. Ich rate dir an, deinen Horizont in PHP zu erweitern und saubere, einfach erweiterbare und moderne PHP-Programme zu schreiben, das heißt objektorientiert nach dem MVC-Pattern. Dafür rate ich dir an, dich gründlich in Symfony 2 oder das Zend Framework 2 einzuarbeiten. Wenn du nur prozeduralen Müll produzierst, wird deine Bewerbung sofort in den Papierkorb landen, da das seit Jahren nicht mehr zeitgemäß ist.
Perl ist zwar nicht ausgestorben, aber bei weitem nicht mehr so verbreitet wie mittlerweile Python. Ich kann mich persönlich aber weder mit Python noch mit Perl anfreunden. Deswegen schreibe ich meine komplizierteren Unix-Scripts in PHP.

Was Desktop-Anwendungen angeht: Java ist nicht unsicher. Meist sind Browser-Erweiterungen, die Angriffe ermöglichen. Es ist nicht ein Programm, das unsicher wird, nur weil es Java verwendet. Es sind eher Programmierer, die Lücken selbst in Java ausnutzen, indem sie Java-Programme schreiben. Java ist so ziemlich die Sprache, in der man sich in Zukunft orientieren sollte, wenn man nicht die Performance von C braucht. C++ und C haben Zukunft, selbstverständlich. Allerdings ist Java moderner und bereitet durch den GC viel weniger "unnötigen" Aufwand. Glaube aber nicht, das C oder Java nötigerweise plattformunabhängig funktioniert. Sobald es etwas komplizierter wird, muss auch plattformabhängiger Code her.

Welche Sprache du letztlich lernen willst, solltest du selber wissen und hängt ganz davon ab, was du entwickeln willst.

Was diese exotischen Sprachen wie Go oder Dart angeht: Lass die Finger davon, solange die Kindheitskrankheiten noch nicht erkannt wurden. Wenn du JavaScript auf einem Webserver laufen lassen willst, gibt es dafür node.js, das wirklich super gut skaliert und performancetechnisch besser als PHP abschneidet.
 
Hallo Asterixus,

erstmal Danke für die ausfürhliche Antwort. Was das Web angeht muss ich sagen, dass ich mit PHP alleine bisher ja ganz gut gefahren bin, aber da ich im Moment viel gutes vorallem über Ruby on Rails höre, dachte ich mir dass man sich das mal näher ansehen könnte. Aber du hast sicher recht, wenn du sagst dass icu meine Kenntnisse in PHP vertiefen sollte, denn es ist ja eine sehr vielseitige Sprache, von der ich noch bei weitem nicht alles gesehen habe. Vielleicht sollte ich einfach dabei bleiben.

Aus gegebem Anlass ist es aber so, dass ich trotzdem gerne eine Sprache wie C++ oder Java zu meinem Wissensschatz hinzufügen will, da ich eventuell ein Studium im Bereich Informatik in Betracht ziehe, in dem ich um solche Sprachen garnicht herum komme. Java ließt man hier am häufigsten, bisher war ich jedoch sehr skeptisch wegen dem zunehmend schlechten Ruf.
Prinzipiell habe ich noch keine Pläne, was ich mit so einer Sprache anfangen würde. Vermutlich würde es sich auf keline Tools beschränken, die mir das Leben einfacher machen. Ich sollte mir vorallem Java wohl mal etwas genauer angucken.

Ich bin weiterhin für alle Anregungen offen. :)
 
Deswegen habe ich Web und Desktop auseinandergehalten.
Daher ist es effektiv eine gute Idee, dich für C (ich halte von C++ nicht sonderlich viel) oder Java zu interessieren. Ich rate dir bei beiden aber eher zu Java.

Ich selbst bin Informatikwissenschaftsstudent und kann bestätigen, dass diese Sprachen an unserer Uni effektiv erstrangig sind (die ersten zwei Semester C und ab dann vor allem Java). Bevor du 'ne Hochschule oder 'ne Uni besuchst, solltest du dich aber dafür interessieren, mit welchen Programmiersprachen gearbeitet wird. In Aachen zum Beispiel hatte ich mich zuerst informiert. Dort wurde allerdings damals Fortran und so ein Scheiß benutzt. Das ist heutzutage allerdings lächerlich. Daher habe ich mich für die Uni Lüttich entschieden.
 
Werbung:
Ich habe mir die aktuellen Lehrpläne und Module der Uni, die ich besuchen möchte angesehen und konnte dort nur C und Java entdecken, die konkret Thema sind. Wobei ich bei C eigentlich dachte, dass es weitestgehend durch C++ ersetzt wurde, da C++ ja praktisch eine Weiterentwicklung ist.

Jedenfalls scheint Java in jedem Fall am relevantesten zu sein. Außerdem kann man damit Web-, Desktop- und Mobile-Anwendungen abdecken und da sich die Syntax an JavaScript anlehnt, sollte der Einstieg nicht so schwer sein. Hatte ja bisher so einen bitteren Beigeschmack, scheint aber garnicht so schlecht zu sein. ;)

Wofür wird Java denn beim Informatikstudium genutzt? Sind Kenntnisse in der Linux-Entwicklung von Vorteil oder ist die Plattform eher egal?
 
Java ist so ziemlich die Sprache, mit denen man so ziemlich die sauberersten Applikationstrukturen erstellen kann, da die Syntax modern ist und die Objektorientierung ausschlaggebend ist. Daneben ist Java kompiliert, was es konkurrenzfähig macht, was Geschwindigkeit angeht. Deswegen ist Java die Sprache, die man benutzen sollte und die Sprache, die für diverse Lehrzwecke gut benutzt werden kann. Plattformunabhängigkeit ist eine theoretische Sache; ein Java-Programm wird nämlich nicht direkt ausgeführt, da sie in einer virtuellen Maschine ausgeführt wird (die neben dem Garbage Collector die nötige Abstraktionsschichten enthält). Allerdings versteht man den Begriff Plattformunabhängigkeit oft falsch: Ein Programm wird auf Windows möglicherweise nicht das anzeigen, was auf Linux angezeigt wird. Diese Unabhängigkeit garantiert nur, dass eine kompiliert Version auf egal welcher Plattform ausgeführt werden kann, solange die richtige Java-VM-Version installiert ist (zum Beispiel auf 'ner Java-kompatiblen Waschmaschine oder im Board-Computer deines BMWs ^^).

Was die letzte Frage angeht: Jegliche Erfahrung ist immer von Vorteil. Theoretisch geht man aber in Informatikstudien immer vom 0-Punkt aus und lehrt mit Unix-Systemen umzugehen. Du solltest dir aber jetzt schon klar darüber werden, dass Linux nur ein kleiner Teil von Unix ist. Unser Informatikprof ist ein Apple-Fanatiker, was beispielsweise auch ein Unix-System ist.

C++ ist C mit Klassen. Ich habe mit C++ nicht viel Erfahrung gemacht, aber ich finde es nicht angenehm und multiple Vererbung ist alles andere als intuitiv. Meistens wird aber bei C++ eigentlich wenig C++ benutzt. Oft wird es nur für die vereinfachte Form der Vererbung benutzt.
 
Ich denke ich habe meine Entscheidung getroffen. Java scheint vielseitig einsetzbar zu sein und es zu lernen dürfte später definitiv von Vorteil sein. Außerdem klingt die Android-Entwicklung auch ganz interessant ;)
Vorher werde ich wohl meine PHP Kenntnisse noch etwas aufstocken, mich in die objekt-orientierte Programmierung einarbeiten und die Frameworks wie CodeIgniter, Laravel oder symfony wollte ich mir sowieso schon lange mal genauer ansehen.
Bis zum Studium habe ich noch etwas Zeit, im Moment bin ich in der Ausbildung und habe die Gelegenheit ein Paar Grundlagen zu schaffen, damit mich das nicht alles auf einmal vom Hocker haut. :D

Mal sehen wie lang es dauert, bis die Kombo HTML5, CSS, Javascript ein ernsthafter Konkurrent für Java und co. wird, im Moment tut sich da ja einiges. Und dann bin ich sowieso dabei.

Vielen Dank Asterixus und gute Nacht ;)
 
Werbung:
Zurück
Oben