Frage von NoNameNoFace, 123

Ist Java tod?

Hallo Leute,

ich möchte unbedingt eine Programmiersprache lernen, die für mein zukünftiges Studium also Informatik nützlich wird. Ich hatte mich für Java entschieden und habe das Buch 'Java, eine Einführung in die Programmierung' von Hanser gekauft. Ich hatte ein Gespräch mit meinen Freunden und sie bestanden darauf, dass Java fast eine tote Sprache ist und sie schlugen vor, dass ich C# oder C++, Python oder Java Script lernen soll. Wollte deswegen wissen, was eure Meinung ist.

Antwort
von hypergerd, 17
Also wer ernsthaft Informatik studieren will, sollte nie auf nur 1 Sprache setzen!

Jede Sprache hat ihre Vor- & Nachteile!

Zwar stimmt es, dass alle guten Browser JAVA (nicht verwechseln mit JavaScript!) nicht mehr unterstützen, da es eine Vermischung aus "Sicherheitsbereich Browser" und "alles können und dürfen Java" ist (wer will schon gern auf fremde Seiten gehen, die im Hintergrund Schreib- & Löschrechte auf die lokale Festplatte einholen können).

Aber JAVA ist in der Verbreitung weiterhin weit vorn!

Bei der Berechnungs-Geschwindigkeit extrem großer Zahlen liegt natürlich c++ unschlagbar vorn (AVX-Befehle bis 256 Bit, Hardware-nah...; der Weltrekord an Pi-Nachkommastellen auf einem Home-PC wäre ohne c++ undenkbar gewesen!)

Aber lokales JAVA ist im direkten Vergleich mit c# und Zahlen mit mehr als 2000 Stellen bei vielen Befehlen (pow, Java.math.BigInteger.nextProbablePrime() ) schneller als c# !

Was viele nicht wissen: es gibt auch JAVA-Compiler die eine EXE erzeugen.

c# ist dann gut, wenn man mal schnell Programme schreiben will, die viel mit wenigen Befehlen können sollen (Datenbank, Sprachausgabe, bunte Flächen, schräge Schrift, Abfangen von möglichen Fehlern) aber nicht besonders schnell sein müssen. Setzt aber viel voraus (Windows Betriebssystem, wo alles fertig eingerichtet ist). Wer weit in die Zukunft schaut, darf die totale Abhängigkeit nicht vergessen: GB weise .Net (Framework usw.) ständige Updates, sich ständig ändernde Sicherheitsregeln und ständig ändernde Schnittstellen. Man weiß nie, was alles nach einem Update oder einer neuen Framework-Version noch funktioniert und was bei welchem Befehl über das Internet läuft! (viele Befehle funktionieren nicht mehr, wenn man eine EXE aus einem Netzwerkpfad aufruft; ActiveX, was wieder ein ActiveX aufruft, zeigt anderes Verhalten...)

Ich nutze auch gern c# als Rumpf, wobei schnelle Funktionen in eine DLL ausgegliedert werden, die mit c++ optimiert sind. So hat man beides: schnell mal einfach was an der Oberfläche oder Sprachausgabe ändern und komplizierte Berechnungen an die superschnelle DLL übergeben.

Für Homepage ist das Zusammenspiel von JavaScript (sehr sicher) und php (Serverseitige Teile wie Datenbanken; bcmath für extrem große Zahlen) ideal.

Oft hat man auch den bereits fertigen Code vorliegen und will nur eine winzige Änderung -> dann ist es einfacher die Originalsprache zu verwenden als das ganze Projekt komplett umzuschreiben.

Antwort
von dan030, 28

Im Bereich der Programmierung für mobile Endgeräte ist Java nach wie vor seit weit oben. Und es ist auf Sicht der nächsten Jahre auch nicht davon auszugehen, dass sich das ändert. Denn gerade in diesem Bereich spielt Java seine Stärken aus, nämlich plattformunabhängig ausführbarer Code und gute Kapselung von Aufgaben.

Im Bereich der Serverprogrammierung scheint mir Java tatsächlich auf dem Rückzug zu sein, und das ist auch gut so. Denn in diesem Bereich bringt die Abstraktionsebene mit interpretiertem Bytecode nicht viel, und die diversen Frameworks, mit denen gern gearbeitet wird/wurde, sind völlig überzüchtet. Ergebnis waren unglaublich viele schlechte, überladene Programme, und sehr viele gescheierte Projekte, weil den Entwicklern die Komplexität über den Kopf gewachsen ist.

Dementsprechend scheint im Serverbereich der Trend derzeit in zwei Richtungen zu gehen: 1. für rechenintensive/performancehungrige Software geht man (wieder) verstärkt auf C++ und ähnliches, und 2. für "einfache" Aufgaben, wo schnelle Wartbarkeit ein Kriterium ist und Transaktionsaufwände nachrangig sind, setzen immer mehr Leute auf Skriptsprachen. Das ist zwar auch alles andere als unproblematisch, weil da gern ziemlicher Spaghetticode bei rauskommt, aber wenigstens gehen die Entwicklungskosten runter, weil man schnell was zusammenschmeißen kann. Etliche Unternehmen stellen sich da nun auf den Standpunkt "schnell und billig bauen, und sobald es Ärger macht, wird's halt eingerissen, war dann ja nicht allzu teuer".


Expertenantwort
von TeeTier, Community-Experte für programmieren, 38

Meine Freunde haben mir genau das gleiche gesagt! Das war allerdings schon 1998, kurz nachdem ich mit Java angefangen hatte.

Im Nachhinein muss man wohl sagen, dass sich meine Freunde geirrt haben. Und ich vermute, dass das auch für deine Freunde gilt. :)

So, wie es im Moment aussieht, wird uns Java wohl noch locker einige Jahrzehnte erhalten bleiben. Also lerne diese Sprache ruhig.

Und, ohne deinen Freunden nahe treten zu wollen, muss man leider sagen, dass ihre Aussagen so klingen, als seien sie selber noch blutige Anfänger. Das ist natürlich an sich überhaupt nichts Schlimmes (jeder hat schließlich mal irgendwo angefangen), aber auf diesem Level sollte man sich normalerweise mit "Ratschlägen" zurück halten. :)

Also dann, viel Erfolg! ;)

PS: Da eine Sprache nur ein Werkzeug ist, wählt man diese normalerweise anhand der Anforderungen, und nicht nach dem Geschmack der Kumpels, aus. :)

PPS: C++, Python, JavaScript und C# sind auch sehr schöne Sprachen! Du kannst du ja zusätzlich auch irgendwann mal lernen, aber im Moment spricht wirklich GAR NICHTS dagegen, dass du mit Java anfängst. Lass dich von deinen Freunden nicht verunsichern ... die kochen auch nur mit Wasser. :)

Antwort
von triopasi, 37

Java ist noch lang nicht tot. Java ist unter den top 3 Programmiersprachen so weit ich das im Kopf hab.

Java ist so extrem weit verbreitet, das glaubst du kaum (Android aber auch am PC und auf diversen anderen elektronischen Geräten).

Antwort
von BigReddy, 37

Lustig, das er dir C# vorgeschlagen hat... Das ist nichts anderes, als der Microsoft Klon von Java, womit es WEIT unter Java in der Anwendung liegt.

Java ist definitiv nicht Tod. Wenn es um den Einstieg in die objektorientierte Programmierung geht, nutzen viele Unis Java, z.B. die TU Darmstadt.
Java ist plattformunabhängich, wodurch es sich durchaus eignet mal einen näheren Blick drauf zu werfen.

Außerdem, wie der Herr unter mir schon sagt ist Java sehr beliebt und du weist ja: Never change a running system!

Kommentar von Palladin007 ,

C# wurde nicht nur von Java inspiriert, sondern auch von Haskell, C/C++ und Delphi.

Übrigens hat C# Java mittlerweile überholt, was Features und Flexibilität angeht. Und C# ist auch auf dem Weg platformunabhängig zu werden - wobei, nicht C# sondern das .NET-Framework. Das ganze nennt sich .NET Core, wird bei ASP.NET bereits eingesetzt

Was die Unis angeht:
Mir hat mal ein Berufsschullehrer gesagt, dass er kaum Zeit hat, sich in neue Technologien einzuarbeiten. Er muss sich ja um die Schüler kümmern und der Job hört nach Schluss-Klingeln nicht auf. Und dann will er noch Zeit für seine Familie haben.
Das dürfte bei Professoren nicht viel anders sein.
Meine Theorie daher: Die können größtenteils Java einfach besser als C# was natürlich auch positiv für die Studenten ist, weshalb die Unis da Rücksicht nehmen. Mein Mitbewohner hat in der Uni Java gelernt, ist mittlerweile aber auch auf C# umgestiegen.

Antwort
von user6363, 39

Finde ich nicht, ich finde Java immer noch relevant und es wird immer noch überall gelehrt. Java gibt auch einen guten Grundbaustein für all diese Sprachen, außerdem ist Java universeller. 

Antwort
von SergeantPinpack, 59

Nach dem TIOBE-Index ist Java nach wie vor die Nummer 1: http://www.tiobe.com/tiobe-index/

Was in 20 Jahren ist, kann dir natürlich niemand sagen.

Antwort
von Ungedacht, 39

Das würde ich weniger meinen ...

Momentan ist Java die Programmiersprache, mit der man in den meisten Bereich weiterkommt.

LG Ungedacht

Antwort
von Palladin007, 38

Laut Index ist Java noch ganz weit oben

Meine Meinung ist aber, dass das eher ein Nachhall ist. Viele Unternehmen haben Software, die in Java geschrieben wurde, die kann natürlich nicht mal eben portiert werden. Diese Unternehmen haben auch ein Entwickler-Team, das sich mit Java auskennt, für andere SPrachen sind eventuell Schulungen nötig, die Geld kosten.

Ich denke, aber dass sich das in den nächsten Jahren immer mehr auflösen wird, besonders da Java seinen größten Vorteil gegenüber C#, die Platformunabhängigkeit, verliert. Das ist bei C#.NET zwar noch in in den Kinderschuhen, aber viel fehlt da nicht mehr.

C# hat einfach eine ganze Reihe Vorteile gegenüber Java, deshalb setzen viele Unternehmen, die das nötige Knowhow haben oder es sich leisten können, auch auf C#.

Wenn Du C++ lernst, dann bist Du damit wahrscheinlich genauso zukunftssicher wie mit C#. C++ ist zwar alt und hat viele Nachteile, aber die extreme Flexibilität, die vielen Möglichkeiten sehr fein zu optimieren und das enorme Angebot an Frameworks, Engines, und anderer Software, machen C++ einfach unschlagbar für Projekte wie Spiele oder sehr systemnahe Anwendungen. Außerdem sind Windows und Linux mit C++ entwickelt, das schießt jede andere Sprache ins Aus.
Allerdings musst Du auch sehr viel selber machen, beachten und kannst sehr viel kaputt machen.

Wie das bei Python aussieht, weiß ich nicht.

JavaScript bringt dir alleine nichts.
Da brauchst Du noch HTML/CSS und sehr wahrscheinlich auch noch PHP. Diese Sprachen findest Du praktisch immer zusammen.
Und es ist Webdesign, das liegt nicht jedem. Ich mags zumindest nicht

Kommentar von DreiGegengifts ,

JavaScript bringt dir alleine nichts. Da brauchst Du noch HTML/CSS und sehr wahrscheinlich auch noch PHP. Diese Sprachen findest Du praktisch immer zusammen. Und es ist Webdesign, das liegt nicht jedem. Ich mags zumindest nicht

JavaScript Programmierung hat nichts mit Webdesign zu tun. Es muss nicht mal viel mit "Webseiten" zu tun haben. Viele Anwendungen verlagern sich in das Netz, weil es hier universal verstandene Schnittstellen gibt. Und mit JavaScript kann man Webanwendungen, Webservices, Webserver, Apps usw. schreiben.

Kommentar von Palladin007 ,

Können kann man viel

JavaScript wird aber trotzdem am meisten in der Webentwicklung eingesetzt und da reicht JavaScript alleine eben nicht aus.

Die meisten Projekte, die von Unternehmen umgesetzt werden, brauchen daher noch HTML/CSS und irgendeine Sprache, mit der die Anwendung auf der Server-Seite umgesetzt wird. Diese Sprache ist meistens PHP, kann aber auch Perl oder C# sein.

Kommentar von DreiGegengifts ,

Webentwicklung != Webdesign.


JavaScript wird aber trotzdem am meisten in der Webentwicklung eingesetzt

"Webentwicklung" beinhaltet doch all das: Webanwendungen, Webservices, Webserver .. Und das ist wohl der am stärksten wachsende Markt.


Server-Seite umgesetzt wird. Diese Sprache ist meistens PHP, kann aber auch Perl oder C#

C# - aha. Also vor allem aber doch Java! Denn Java und Web ist schon fast unzertrennlich. Die meisten Java-Anwendungen sind keine Desktopanwendungen sondern arbeiten in einer Client Server Architektur.

Kommentar von Palladin007 ,

Stimmt, Webdesign ist keine Webentwicklung. Aber Beides ist dennoch sehr verschieden zur Entwicklung von Desktop-Anwendungen.
Und genau das wollte ich ausdrücken, weil ich perslnlich mag lieber Desktop-Wendungen entwickeln. Zumindest wenn ich an meine Zeit mit PHP und Perl im selben chaotischen System zurück denke.

Ja, C#, es gibt ASP.NET, was genau das ermöglicht. Ich hab selber nicht damit gearbeitet, aber es soll sehr gut sein und mit der neusten Version auch auf Linux laufen.

Java in der Webentwicklung - Sicher dass Du das nicht mit PHP verwechselst?
Ja, Java kann das zwar auch, ist aber bei Weitem nicht so verbreitet wie PHP. Egal was von Beidem nun "besser" oder "schlechter" ist.

Kommentar von TeeTier ,

Ich denke, aber dass sich das in den nächsten Jahren immer mehr auflösen wird, besonders da Java seinen größten Vorteil gegenüber C#, die Platformunabhängigkeit, verliert. Das ist bei C#.NET zwar noch in in den Kinderschuhen, aber viel fehlt da nicht mehr.

Das höre ich jetzt seit den Anfangstagen von Mono und das ist jetzt schon weit über 10 Jahre her!

Inzwischen gab es unendlich viele Neuerungen, Lizenzänderungen, MS hat Quelltext beigesteuert, und und und ...

Aber sind wir mal ehrlich: .Net hinkt auf Nicht-Windows-Plattformen meilenweit hinterher. Wichtige Features sind nur halbherzig implementiert, wenn überhaupt vorhanden.

Wer ernsthaft modernes C# mit grafischem Schnickschnack entwickeln will, der hat gar keine andere Wahl, als sich ein Windows zu installieren. Business-Anwendungen haben eben doch andere Anforderungen als "Hello World" und "Proof-Of-Concept-Progrämmchen".

Deine Aussage habe ich schon vor 10 Jahren gehört, und man wird sie auch zukünftig in 10 Jahren noch hören, aber das macht sie dadurch leider nicht richtiger.

.Net unter z. B. Linux ist und bleibt (mindestens mittelfristig) eine halbgare Bastel-Lösung.

.Net ist nun mal exakt auf Windows zugeschnitten, und man wird es nicht optimal portieren können. Es wird immer Ecken und Kanten geben, an denen man sich Splitter einreißen wird.

Aus diesem Grunde wird man C# unter Linux auch in den nächsten 10 Jahren nicht wirklich ernst nehmen können.

Andere Sprachen sind bei portabler Entwicklung einfach viel viel viel geeigneter! Und dabei nimmt gerade Java einen Spitzenplatz ein.

Eine Plattform, die seit 2003 die ganze Zeit als "fast fertig" gilt, trocken betrachtet aber pausenlos auf allen Gebieten hinterherhinkt, wird Java nicht verdrängen können. :)

Kommentar von Palladin007 ,

Du verwechselst Mono mit .NET Core

Mono war ein eigenständiges Projekt, .NET Core wird von Microsoft entwickelt und ist noch ganz neu.

Und .NET Core wird auch nicht nur entwickelt, sondern läuft schon. ASP.NET zum Beispiel, die neue Version baut auf .NET Core auf.

Nur weil Mono ein Fehlschlag war, heißt das nicht, dass .NET Core das auch sein wird. Diese Spezialisierungen, die bei Mono vermutlich Probleme gemacht haben, hat Microsoft daher entweder umgebaut. damit es auf allen Platformen funktioniert oder raus genommen.
Daher auch der Name Core, es ist eben nicht für ein Betriebssystem optimiert und dafür hat man auch tiefgreifende breaking changes in Kauf genommen.

Mag sein, dass es noch eine Weile dauert, aber das ist nur verständlich bei einem Projekt dieses Umfangs. Aber das ASP.NET Core schon läuft, lässt hoffen, dass auch die anderen Technologien nach gezogen werden. Das Entity Framework wurde ja auch schon zusammen mit ASP.NET portiert

Antwort
von BeerRush, 3

Wichtiger ist, dass du aus jeder "Gruppe" mindestens eine Sprache kennst. Für OOP z.B. Java, oder besser c++, funktionale Programmierung z.B. Haskel, systemnahe Programmierung asm/c.

Antwort
von DreiGegengifts, 26

Ich hatte ein Gespräch mit meinen Freunden und sie bestanden darauf, dass Java fast eine tote Sprache ist

Immerhin weißt du jetzt, dass deine Freunde zumindest in der Ahnungslosigkeit Professur erlangt haben.

Antwort
von BeerenFischer, 22

Also mit Java geht es schon bergab meiner Meinung nach. C# ist ähnlich aber eben moderner. Um Android-Apps zu programmieren ist Java nützlich.

Warum sie dir JavaScript empfehlen weiß ich nicht, ist ja hauptsächlich für die clientseitige Webentwicklung gedacht. (Mit node.js jedoch auch schon serverseitig)

Python kann ich dir selber auch nur empfehlen.

Antwort
von BobbyBackblech, 30

Java ist nicht tot, ganz im Gegenteil. Es gibt viele offene hochbezahlte Java Stellen. Java wird hier auch als "Highend" Programmier Sprache bezeichnet.

Dann haben deine Freunde einfach keine Ahnung.

Schau bspw. mal auf Stackoverflow, hier hat Java mit die meisten offenen gut bezahlten Stellen:

http://stackoverflow.com/jobs?sort=i&searchTerm=java

Und Javascript ist keine Programmiersprache, sondern eine Skriptsprache.

Jedoch werden Fullstack Javascript Entwickler sicher sehr gefragt sein auch in der Zukunft im Bezug auf Single Page Applications, Realtime Applications auf Basis von Node.js, Sockets, Angular / React / Vue usw.

Eine Auswahl wären hier im Prinzip Java, C++, Python, Ruby, PHP usw.

Jedoch hat das Informatik Studium in der Regel erst einmal nichts mit der Programmierung zu tun, sondern ist sehr theoretisch.

Und um eine Sprache zu lernen benötige ich kein Studium, die wahren Entwickler sind die Autodidakten ;)

Kommentar von Mikkey ,

Und Javascript ist keine Programmiersprache, sondern eine Skriptsprache.
Eine Auswahl wären hier im Prinzip Java, C++, Python, Ruby, PHP usw.

Ach ja, Python und PHP sind keine Skriptsprachen?

Kommentar von BobbyBackblech ,

Geht jetzt wieder das PHP Hating los?
Und nein - PHP ist schon lange keine Hacky Skriptsprache mehr.

Wenn es dich aber glücklich macht, nenn es Skriptsprache.

Kommentar von TeeTier ,

Definition "Skriptsprache": Eine interpretierte Programmiersprache. Punkt.

Und jetzt rate mal, was PHP ist? ;)

Natürlich sind PHP, Python und Ruby Programmiersprachen. Aber anders als die kompilierten Programmiersprachen C++, Java, Pascal, usw. werden diese eben interpretiert, sind demnach also Skriptsprachen. So einfach ist das.

Im Übrigen ist "interpretiert" und "kompiliert" doch überhaupt keine Wertung! Du scheinst da völlig falsche Vorstellungen zu haben. Weder das eine, noch das andere, ist in irgendeiner Form schlecht oder gut. :)

PS: Und um nochmal etwas Öl ins Feuer zu gießen ... mir ist KEINE andere Programmiersprache außer PHP bekannt, die so extrem viele Inkonsistenzen im API Design und so viele Fehler in der Dokumentation hat. Der PHP-Interpreter an sich ist in einem grauenvollen Stil programmiert. Ich habe zu dem Thema hier vor längerem schon mal etwas detaillierter geschrieben und wiederhole mich jetzt nicht nochmal.

Aber du musst berechtigte Kritik nicht als Bashing abtun. Ich habe in meiner Laufbahn alle Jahre halbwegs Regelmäßig mit ca. 50 verschiedenen Programmiersprachen zu tun, und PHP ist mit Abstand die unsauberste und am schlechtesten Durchdachte.

Allein schon die wirren Namenskonventionen "strcmp" vs "str_pad" oder "asort" vs. "array_fill".

Oder "file_put_contents" hat einen $flags-Parameter und erlaubt damit Blocking. "file_get_contents" hat das nicht. Es ist damit also unter PHP überhaupt nicht möglich, synchronisiert Dateien zu schreiben und zu lesen, ohne dabei Datensalat zu riskieren. Man muss "file_get_contents" selber neu implementieren, um diesen "Bug" zu umgehen.

Aber egal, lassen wir das. :)

Auf jeden Fall gibt es bei PHP deutlich mehr zu kritisieren, als in allen anderen Sprachen. Die Betonung liegt hier auf "mehr", da ja alle Sprachen irgendwelche Knickeier beinhalten. Aber PHP schießt den Vogel ab! Und das ist kein Bashing, sondern ein harter Fakt. :)

Kommentar von BobbyBackblech ,

Das es bei PHP eine Menge zu kritisieren gibt, dass dementiere ich auch nicht. Ich denke mit der Version 7 wurde vieles besser gemacht. Alles unter 5.3 war tatsächlich grauenhaft und man kann vieles besser machen. Ruby gefällt mir auch 10 mal besser als Mr. Hacky.

Man kann aber kein PHP, Java & Co mit Javascript vergleichen.

Das war warum ich sagte, dass Javascript eine Skriptsprache sei.

Kommentar von BobbyBackblech ,

PS: Ruby ist übrigens in beiden Lagern. Du kannst Ruby zwar ohne Kompilierung nutzen, aber der Main Part ( CPython ) bedarf einer Kompilierung.

Es wird meiner Meinung nach immer mehr verschwommen, auch gerade durch die on-the-fly compiler.

Kommentar von TeeTier ,

Was nun "on-the-fly" durch einen JIT-Compiler kompiliert wird, wann ein Kompilat im RAM gehalten oder in einem Plattencache abgelegt wird, ist irrelevant für die Definition.

Es geht NUR darum, was du im Normalfall (!) startest!

Startest du eine Textdatei: Interpretiert

Startest du eine Binärdatei: Kompiliert

Bei Ruby, Python und PHP startest du eine Textdatei (ggf. über einen HTTP-Request), es sind somit Skriptsprachen. Bei Java, C++ oder C# startest du einen Binärblob. Ergo: Keine Skriptsprachen.

Das einzige, wo man mit viel zugedrückten Hühneraugen beide Begriffe verwenden könnte, wären solche Sprachen wie z. B. Google Go.

Allderdings bedeutet "Skriptsprache" eigentlich "nicht kompiliert", wäre also bei Google Go falsch, auch wenn man sein Go-Skript nur durch den Interpreter nudelt, ohne den Compiler zu starten.

Auch wenn CPython deine Python-Skripte als PYC-Dateien zwischenspeichert, benötigst du a) trotzdem immer noch den Originalsource und b) macht man das eigentlich nur bei Modulen der Standardbibliothek. Den Normalfall (!) stellt nun mal die Ausführung einer Textdatei dar. :)

Kommentar von TeeTier ,

Man kann aber kein PHP, Java & Co mit Javascript vergleichen.

Warum nicht? Nimmt man "node.js", "JSP", "Django", "Rails" und "mod_php", dann hat man Technologien, die auf exakt demselben Gebiet miteinander konkurieren, wobei einmal in JS, einmal in Java, einmal in Python, einmal in Ruby und einmal in PHP entwickelt wird.

Ein Vergleich ist also sehr sinnvoll. :)

Kommentar von Mikkey ,

Ich habe nur auf den Widerspruch hingewiesen, das war nicht mit einer Wertung verbunden.

Und - ja, man kann durchaus PHP mit Javascript vergleichen, denn in der Verwendung mit ASP (ja, ich weiß, dass da vorwiegend VBScript benutzt wird, aber Javascript geht auch) ist sogar der Anwendungsfall fast derselbe und die Quellen sind sich sehr ähnlich.

Kommentar von kingbongo ,

"Natürlich sind PHP, Python und RubyProgrammiersprachen. Aber anders als diekompilierten Programmiersprachen C++, Java, Pascal, usw. werden diese eben interpretiert,sind demnach also Skriptsprachen. So einfach ist das." 

Leider nicht teetier, zB wird ActionScript (Flash) kompiliert, Adobe bezeichnet es aber selbst als Skriptsprache (ist sogar strikt, nicht dynamisch), in Wikipedia steht dazu auch dass hier ein objekt orientiertes scripting Paradigma verwendet wird. Ich weiß nicht ob der Unterschied kompiliert oder interpretiert für die Einordnung entscheidend ist und ob man es dementsprechend so sagen kann. Wenn man das o.g. Beispiel anschaut so trifft die Definition eigtl nicht zu. Ich glaube dass eine Abgrenzung heutzutage aufgrund der enormen vielfalt an Programmiersprache und Ausnahmefälle nicht mehr möglich ist. 

Kommentar von TeeTier ,

Der Actionscript Kompiliervorgang besteht darin, Bezeichner durch binäre IDs zu ersetzen. Am Ende befindet sich in einer SWF-Datei der optimierte und nicht mehr so ganz lesbare Quelltext.

Das ist auch der Grund, warum es bei Actionscript eine eval() Funktion geben kann. Wäre alles "richtig" kompiliert, wie z. B. bei C++, wäre das nicht mehr möglich. :)

Wie du schon sagst, verschwimmen hier die Grenzen, und ich bin mir nicht sicher, ob man Adobes "Umfummeln" des Quelltextes schon als "Kompilieren" bezeichnen sollte. :)

Ich denke, Adobes Actionscript ist so ein ähnlicher Grenzfall wie Googles Go. :)

PS: Früher war Flash wirklich zu 100% interpretiert. Dabei wurden sogar Integerewerte intern als Strings auf dem Stack abgelegt, weil Flash unter der Haube keine anderen Typen als Strings kannte. Die Rechenoperationen (z. B. Addition) arbeiteten auch auf Strings, so wie Grundschüler schriftlich rechnen! Das Ergebnis lag dann ebenfalls als String wieder auf einer Art Stack.

Seit ActionScript 3 kennt Flash intern auch andere "richtige" Datentypen, was zu dieser Zeit für den Performance-Boost gesorgt hat. Das war kurz vor dem Zeitpunkt, als sie die "Filter" und "Video" eingeführt haben. :)

Kommentar von SirNik ,

Auch eine Skriptsprache ist eine Programmiersprache, sei hier noch angedeutet/verbessert

Keine passende Antwort gefunden?

Fragen Sie die Community