Was ist eure Lieblibgsprogrammiersprache?

5 Antworten

Als Sprache vom Konzept her finde ich Java sehr gut, ist aber oft aus anderen Gründen nicht praktikabel.

Am häufigsten verwende ich PHP, JavaScript, Perl und Bash-Scripte.

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
Ramazan79 
Fragesteller
 31.10.2023, 14:04

Hi, weißt du eigentlich, ob man mit JavaScript einen Youtube Converter programmieren kann?

0
iQa1x  31.10.2023, 14:16
@Ramazan79

Könnte mir einfacheres vorstellen, aber das funktioniert mit node.js als Umgebung wahrscheinlich auch. Clientseiitig im Browser wird das mangels passender Bibliotheken eher nicht gehen.

1

Hängt halt davon ab was ich machen will, für Webentwicklung PHP, für Spiele mit Unity C#, wenns nötig ist Hardware nah zu Programmieren kommt c++ zum einsatz... Kommt halt ganz auf den Einsatzbereich an. Ich glaube am angenehmsten zu schreiben finde ich aber Python

Woher ich das weiß:Studium / Ausbildung

Ich finde, man sollte da genauer sein: JavaScript ist eine Skriptsprache (ein spezieller Typ einer Programmiersprache).

Bei mir

Programmiersprache: C
Programmiersprache OOP: Java
Scriptsprache: PHP

Edit (aufgrund Kommentarspaltendiskussion):

Erste Zeile genauer formuliert. Alte Version war "JavaScript ist eine Scriptsprache und keine Programmiersprache."

Ramazan79 
Fragesteller
 31.10.2023, 11:30

Natürlich ist JavaScript eine Programmiersprache.

1
verreisterNutzer  31.10.2023, 11:32
@Ramazan79

"JavaScript (kurz JS) ist eine Skriptsprache", Wikipedia

Aber ja, eine Skriptsprache ist theoretisch eine Programmiersprache. Nur finde ich die genaue Differenzierung besser. Schließlich ist es ein großer Unterschied, ob der Code durch Interpreter oder Compiler geschoben wird.

0
Ramazan79 
Fragesteller
 31.10.2023, 11:33
@verreisterNutzer

Ja, gut. Eine Programmiersprache mit einem Interpreter halt. Nicht wie bei C mit einem COmpiler.

0
geheim007b  31.10.2023, 11:36
@verreisterNutzer

Wo genau ist der Unterschied? Das eine wird zur Laufzeit gewandelt, das andere nicht. Es gibt auch genug andere Interpretersprachen (PHP z.B.), und auch dort gibt es OOP.

0
verreisterNutzer  31.10.2023, 11:36
@Ramazan79

Naja der Unterschied ist nicht marginal. Das ist ja etwa wie imperative Sprachen zu objektorientierten Sprachen.

Wobei, in Zeiten wo die Leute nicht wirklich programmieren können, sondern nur Code aus ChatGPT oder YouTube abtippen, macht das vermutlich eh keinen Unterschied

0
Ramazan79 
Fragesteller
 31.10.2023, 11:39
@verreisterNutzer

Es ist am Ende egal. JavaScript ist eine Programmiersprache. Mir ist schon bewusst, dass eine Programmiersprache mit einen Compiler schwerer zu lernen ist, wie z.B bei C++, als jetzt irgendwie JavaScript.

0
verreisterNutzer  31.10.2023, 11:39
@geheim007b

So ganz kurz angerissen:

  • Interpreter ist flexibler in Bezug auf die Zielplattform
  • Compiler ist schneller (am Zielsystem)
  • Compiler ist effizienter
  • Interpreter ermöglicht agilere Entwicklung, gerade im Kontext von Änderungen
  • Ein Interpreter kann ein stärkeres Zielsystem benötigen
0
verreisterNutzer  31.10.2023, 11:40
@Ramazan79

Es ist nicht egal. Beide Typen sind für verschiedene Anforderungen, Anwendungen und Zielsetzungen gut.

Evaluiert man, in welcher Sprache man ein Projekt umsetzt, sollte das auf jeden Fall mit eine Rolle spielen.

0
verreisterNutzer  31.10.2023, 11:43
@Ramazan79

Und nein, eine Programmiersprache ist nicht schwerer zu erlernen. Warum auch? Inzwischen erreichen JS oder auch PHP enormen Umfang. Siehe, wie komplex allein die Frameworks heute sind. Auch sind viele Sprachen objektorientiert.

Deine Aussage würde ja heißen, dass eine Sprache wie C schwerer zu erlernen ist als JavaScript. Dast muss man sich mal überlegen lol

0
Ramazan79 
Fragesteller
 31.10.2023, 11:43
@verreisterNutzer

Es ist eine Programmiersprache mit einem Interpreter. Perfekt zum Programmieren von Webseiten, wo man die Nutzerfreundlichkeit einer Webseite steigert.

0
verreisterNutzer  31.10.2023, 11:44
@Ramazan79

Man muss da differenzieren. Wenn du sowas in einer Klausur schreibst wirst du halbiert xD

0
Lamanini  31.10.2023, 11:56
@verreisterNutzer

Wenn man schon einen auf Besserwisser macht sollte man wenigstens recht haben.

Scriptsprachen sind Programmiersprachen, Punkt, Fakt. Da gibt es keine Diskussion, oder „da würdest du in einer Klausur zernommen werden“.

Man kann für jede Sprache sowohl einen Compiler als auch einen Interpreter schreiben, das ist kein Problem.

0
verreisterNutzer  31.10.2023, 12:18
@Lamanini

Also bei mir wurde es als Fehler gewertet.

Aber warum macht man dass dann nicht? Genau, weil es keinen Sinn ergibt. Meine Güte, es geht mir nicht um theoretische Konstrukte. In der Realität unterscheidet man. Punkt. Warum. Weil es sinnvoll ist. Daher wird es in der Klausur als Fehler gewertet. Gut, in der Entwicklung ändert sich alle fünf Minuten was. Insofern, eventuell ist das heute anders. Sichtweisen und Bewertungen sind nicht in Stein gemeißelt. Schließlich arbeite ich nicht mehr in der Entwicklung, sondern im Netzwerk- und Hardware-Umfeld.

0
verreisterNutzer  31.10.2023, 12:19
@geheim007b

Ja und nein. Verdammt nochmal, hat man hier nur mit YouTube-Programmier-Idioten zutun. Das ist ja fast so schlimm, wie bei stackoverflow...

0
geheim007b  31.10.2023, 12:22
@verreisterNutzer

Oder du irrst schlichtweg. Ich programmiere, seit bald 25 Jahren hauptberuflich und programmieren ist die Entwicklung logischer Abläufe und hat streng genommen genauso wie "Hacken" nicht mal was mit Computern zu tun. Was du evt. meinst ist das HTML kein Programmieren ist, JavaScript hingegen ist es.

1
verreisterNutzer  31.10.2023, 12:31
@geheim007b

Da bist du der erste Berufskollege, den ich erlebe, der das so betrachtet. Ich finde, dass es eine zu oberflächliche Sichtweise ist. Am Ende ist es eigentlich kein Diskussionsthema.

Hacken hat für mich durchaus etwas mit Computern zutun. Die Schwachstellen sucht man schließlich am Gerät. Und wenn ein Pentester eine Software schreibt, um eine Lücke zu nutzen, ist das schon sehr nah an Computern. Ich vermute, dass du auf das stark zunehmende Social Engineering hinaus willst

0
Lamanini  31.10.2023, 12:33
@verreisterNutzer
Also bei mir wurde es als Fehler gewertet.

Dann kannst du dagegen Einspruch erheben. Das ist absolut korrekt, geb ich dir mein Wort drauf.

Aber warum macht man dass dann nicht?

Was? Sowohl Interpreter als auch Compiler für Sprachen schreiben? Machen einige.

Hier ein C++-Interpreter: https://github.com/root-project/cling

Oder ein Ruby-Compiler: https://github.com/sadiqmmm/ruby-compiler

Es ist aber natürlich so, das viel von der Design-Philosophie zu Entscheidungen geführt hat, die sowas dann nur in Nischen sinnvoll machen, ja.

Meine Güte, es geht mir nicht um theoretische Konstrukte

Es ist nicht theoretisch. Scriptsprachen sind ein Teilbereich von allen Programmiersprachen, jede Scriptsprache ist per Definition auch eine Programmiersprache. Du hast ja gerade eben Wikipeida zitiert, von daher lesen wir doch mal ein bisschen weiter:

Skriptsprachen (auch Scriptsprachen) sind Programmiersprachen, die über einen Interpreter ausgeführt werden. - https://de.wikipedia.org/wiki/Skriptsprache

Da gibt es keine Diskussion, oder unterschiedliche Sichtweisen, wirklich nicht.

Daher wird es in der Klausur als Fehler gewertet

Das ist dann ein Fehler des Prüfers, und das ist auch nicht fair den Prüfenden gegenüber.

Gut, in der Entwicklung ändert sich alle fünf Minuten was. Insofern, eventuell ist das heute anders.

Diese Konzepte sind älter als du und ich. Es gibt Programmcode, und dieser unterscheidet sich in zur Laufzeit ausgeführter Code (Scriptsprachen), vorab kompilierter Code, oder diesen Misch-Masch was C# und Java z.B. machen mit ihrem Bytecode.

Programmiersprachen bieten dir einfach nur eine abstrakte, klar definierte Art, Vorgänge zu beschreiben. Keine einzige Programmiersprache der Welt besitzt Eigenschaften, die den Code nur kompilierbar oder nur interpretierbar machen.

Ich möchte das jetzt einmal ohne Blatt vorm Mund sagen: Du benimmst dich hier echt doof, beleidigst Leute, stellst sie als dumm da, und dabei bist es doch eigentlich du, der so ein ganz einfaches grundlegendes Konzept wie "Was ist eine Programmiersprache" definitiv nicht verstanden hat. Sich so anderen gegenüber zu benehmen ist doof, und wenn man dann auch noch falsch liegt ist das nur umso doofer.

0
verreisterNutzer  31.10.2023, 12:41
@Lamanini

Das ist nun leider ein paar Jahre her. Und der Prüfer war nicht der Einzige, der das so sah.

Natürlich gibt es Interpreter für Sprachen, für die es auch Compiler gibt. Es ist trotzdem ein theoretisches Konstrukt. In der Praxis, in größeren Projekten, da nutzt das nämlich niemand. Zumindest wäre mir keiner bekannt...Ich habe nie behautet, dass das nicht möglich wäre.

Selbstverständlich kann man darüber streiten und es ist ein Diskussionsthema (wenn auch ein absolut sinnfreies). Ich habe entsprechend aber oben die Antwort angepasst, damit es "korrekter" ist. Ich poche ja selbst auf mehr Differenzierung, also sollte ich die auch selbst durchführen.

Also entschuldige bitte, du wirst mir vor, mich doof zu benehmen und nutzt selbst ein Scheinargument der schwarzen Rhetorik. Im gleichen Satz. Das ist mal wieder gf-Community at its best.

0
geheim007b  31.10.2023, 12:42
@verreisterNutzer

es heißt sogar "Batch-Programmierung" obwohl das dann extrem rudimentär ist. Script kommt eher von "einfachen Programmen" was bei PHP in v1 ja durchaus zutraf. Programmieren ist wie gesagt das vordefinieren logischer Abläufe, nicht mehr und nicht weniger.

Und auch Hacking hat erstmal nichts mit Computern zu tun, hacken ist der kreative Umgang mit Technik. Es gibt heute ja auch den schönen begriff "Lifehack". Wenn man etwas das ursprünglich nicht dazu gedacht war verwendet um erfolgreich dies oder das zu tun, das ist hacking.

0
Lamanini  31.10.2023, 12:45
@verreisterNutzer

Ja? Dann nenn doch bitte mein Scheinargument. Dann möchte ich das doch gern genauer erklären.

0
verreisterNutzer  31.10.2023, 12:51
@Lamanini
und dabei bist es doch eigentlich du, der so ein ganz einfaches grundlegendes Konzept wie "Was ist eine Programmiersprache" definitiv nicht verstanden hat
0
verreisterNutzer  31.10.2023, 12:52
@Lamanini

Wobei man dir da sogar unterstellen könnte, dass das ein gewolltes Argument war und du mit der Frage die Situation wieder nur verarschen willst.

Aber gut, ich glaube mal an das Gute im Menschen und deine Unwissenheit.

0
Lamanini  31.10.2023, 13:11
@verreisterNutzer
du mit der Frage die Situation wieder nur verarschen willst

Was soll das überhaupt heißen? Ich versteh nicht mal was du mir da genau vorwirfst?

Was ich meine:

Programmiersprachen sind komplett unabhängig von Implementierungen. Bei der Erstellung einer neuen Sprache legst du die Konstrukte fest, ohne das diese in irgendeiner Form an konkrete Implementierungen von Interpretern oder Compilern gebunden sind.

Beispiel C#:

Du legst fest, was wir unter einer "class" verstehen, was overwrite und new bedeuten, wie der Syntax für Variablendeklarationen aussieht, oder ob du überhaupt Variablen in deiner Sprache haben möchtest. Soll deine Sprache objektorientiert sein, oder vielleicht funktional? Erlauben wir es, Funktionen miteinander zu verbinden? Und so weiter und so weiter.

Am Ende hast du dann eine Liste an Regeln und Definitionen, die deine Sprache zusammensetzen. Fertig. Deine Sprache ist fertig. Es ist eine Programmiersprache. Jetzt kannst du dir Gedanken machen, was diese von dir definierten Regeln eigentlich alles erlauben. Kann diese Sprache alle berechenbaren Vorgänge beschreiben? Wenn nein warum nicht? Wenn ja warum? Wo liegen die Vorteile anderen Sprachen gegenüber?

Erst danach, nachdem du alle diese Sachen festgelegt hast, setzt du dich daran, und schreibst in einer anderen Sprache einen Compiler oder einen Interpreter, welcher die vorhin definierten Regeln verstehen und für die Maschine verständlich übersetzen kann.

Und das verwechselst du hier: Die Programmiersprache mit konkreten Implementationen von Compilern und Interpretern.

Gucken wir uns doch mal dein Beispiel "Javascript" an. Was die Sprache ist, ist auch hier vollkommen unabhängig von jeglicher Ausführung.

Was die Sprache ist, ist hier definiert: https://262.ecma-international.org/14.0/

Da findest du dann solche Sachen wie "Object behaviours", "Execution contexts", "Lexical Grammar", "Expressions", "Statements", "Notational Convertions", etc.

Und Code, welcher nach diesen Annahmen geschrieben wurde, auszuführen, das machen dann z.B. solche Engines wie V8 (von Google), Nitro (von Apple) oder Spidermonkey (Mozilla). V8 ist nicht die Sprache, V8 ist nur ein Tool, welches den Code dann ausführen kann. Vielleicht fragst du dich hier ja, warum ich das ganze gerade als Engine bezeichnet habe, und nicht als Intepreter: Weil es das schon lange nicht mehr ist. Unsere Browser, mit denen wir jetzt hier gerade chatten, entscheiden nach eigenen Regeln, welche Teile von Javascript sie interpretieren, und welche sie compilieren wollen. Das hängt von einer Vielzahl an Faktoren ab, wie etwa, wie oft er schätzt, das wir diesen Code ausführen.

Aber es ist genau das, was du vorhin als "nicht in der Realität zu finden" und "in keinem Projekt eingesetzt" bezeichnet hast: Compiler für eine Scriptsprache. Javascript ist nicht dran gebunden, interpretiert zu werden, es wird es nur meistens. Aber selbst unsere beiden Browser kompilieren es wann es ihnen gerade passt.

0

Mojo ist so einfach wie python und so schnell wie reines c#

Rust finde ich nice.