mit welcher Programmiersprache kann man wirklich alles programmieren?

8 Antworten

Hallo!

Ich habe in meiner Studienzeit (informatik) 2 Beispielprogramme gehabt, die ich immer als Praktikaprogramme geschrieben habe, in allen, damals üblichen Programmiersprachen.

Das eine Programm war ein textbasiertes Programm (Lückentext füllen), das andere eher ein Bildschirmorientiertes/Pixel (für die Bildschirm damals).

Ich habe jedes Programm in jeder Programmiersprache hinbekommen, wobei es klar unterschiede gab. Das Pixel-Progrmm ging am besten in Assembler (da wäre heute wohl C gut), das schwierigste war, das Textprogramm in einer CNC-Programmiersprache (als eine Sprache, die Roboter steuert), aber ich habe es hinbekommen!

Also, du kannst mit jeder Programmiersprache alles machen (selbst mit C objektorientiert!), es kommt auf den Aufwand an, den du reinstecken willst.

Nicht umsonst gibt es Spielengines um Spiele zu programmieren oder auch IDEs für bestimmt Programmiersprachen um das coden einfacher zu gestallten.

Aber ob du jetzt z.B. C++ oder Java nimmst, ist erst mal egal -- beide objektorientier, für KI ist eher LISP da (auch objektorientiert, aber älter als JAVA/C++). Hast du vor, mit deinen Programmen vor allem Dinge der reallen Welt zu steuern, messen usw. ist sicher C++ besser (das Ergebnis ist dann echter Maschinenkode). Willst du eher Benutzerfreundliche Programm für z.B. Verwaltungen/Versicherungen schreiben, würde ich JAVA nehmen -- da dann das selbe Programm auf Linux/Unix oder Windows laufen kann.

Ist eine Datenbank dabei, muss das vernetzt werden, Sicherheit (Banken) -- oder Sicherheit bei Zugverkehr (da muss es schnell gehen, Signale stellen usw.) ....

Im Prinzip kannst du mit jeder Programmiersprache alles machen, nur ob es sinnvoll ist, steht auf einem anderen Blatt. (Ich werde nie mehr ein Textbasiertes Programm in einer CNC-Sprache schreiben).

Gruß

Im Internet gibt es tonnenweise Diskussionen darüber, welche Programmiersprache nun die Beste sei. Vorweg sei gesagt, dass es nur eine korrekte Antwort auf diese Frage gibt und sie lautet: Keine! Wie "gut" eine Sprache ist hängt nämlich vom jeweiligen Andwendungsfall ab und definiert sich dann darüber, wie schnell/leicht/robust diese konkrete Anwendung mit dieser Sprache realisierbar ist. So kann man alleine deshalb keine Sprache zur "besten" Sprache küren, da es ganz unterschiedliche Sprachtypen gibt. Eine auf den Webbrowser ausgerichtete Scriptsprache wie PHP kann niemals eine Datenbanksprache wie SQL ersetzen. Und von diesen beiden wiederum kann keine eine Sprache zur Entwicklung von Desktop Applikationen ersetzen. Denn die Art der Software, die man mit diesen Sprachtypen jeweils erstellt, unterscheidet sich von Grund auf.

Java zählt zu den sogenannten höheren Programmiersprachen zur Entwicklung von "Standalone (Desktop) Applications". Unter dieser Art von Software versteht man das, was umgangssprachlich als "Programm" bezeichnet wird. Also Software, die eigenständig (respektive auf dem Betriebssystem) läuft und nicht nur als Teil einer anderen Software (wie z.B. einem Browser oder einer Datenbanksoftware). Solche Sprachen bieten sich an, wenn man sich nicht bereits im Vorfeld auf einen bestimmten Teilbereich der Software-Entwicklung spezialisieren will oder kann und verschiedenste Applikationen entwerfen möchte. Vor allem für Neueinsteiger in die Programmierwelt trifft dies eigentlich immer zu. Java ist allerdings nicht die einzige Sprache zur Entwicklung von Desktop Applikationen. Die neben Java bekanntesten Sprachen dieser Sprach-Gattung sind die C-Derivate (C, C#, C++, Objective C). Entsprechend oft geht es in diesen "Beste Sprache"-Diskussionen daher um die Gegenüberstellung von Java mit einer (oder allen) der C-Sprachen. Es gibt nun durchaus Unterschiede, aber die meisten lassen sich nicht objektiv bewerten. Sowohl mit Java als auch mit einer C-Sprache ist so gut wie alles möglich. Nur bietet sich für manche Dinge die eine eher an, für andere Dinge die andere. Im Endeffekt nehmen sich all diese Sprachen nichts, es gibt keinen dominierenden Allrounder.

Nun mit reinen Maschinencode. Damit normale Anwendungen zu programmieren wäre allerdings wahnsinn. Letztlich nutzt man das richtige Werkzeug für den Job. Ja C bzw. C++ mietet sehr viele Möglichkeiten, verlangt aber daher auch entsprechende Vorsicht und legt mehr Verantwortung und mehr Aufwand in die Hände der Entwickler.

Andere Sprachen nehmen dir z.B. einige Sachen ab, wie die Garbagecollection aus Java usw. Dafür sind einige Sachen so erstmal nicht möglich und vorgesehen. Dennoch würde kaum jemand C++ für ein normalen Internetblog verwenden, da ist eben PHP auf Serverseite und JavaScript auf Clientseite das Mittel der Wahl.

Wollen wir normale Windowsanwendungen so ist C# oft bequem, während bei zeitkritischen oder hardwarenahen Sachen immernoch Assembler und C/C++ vorn liegen.

Letztlich ist der Hammer ein gutes Werkzeug, nicht jedoch zum Zähne putzen. Das richtige Werkzeug für den Job ist gefragt.

Von der Syntax ist die C Syntax letztlich aber die verbreiteste, so dass du, sofern du C, C++, C#, Java, PHP, JavaScript oder ähnliches beherrscht dich in die anderen Sprachen relativ fix reinarbeiten kannst und den Großteil schon so verstehen wirst. Natürlich gibt es aber auch noch genug spezifische Sachen.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

kann man wirklich alles programmieren?

Wenn man diese Frage ernst nimmt: Mit keiner!

Um Prozessoren nativ zu programmieren, benötigt man eine imperative Sprache. Bei non-nativen Anwendungen (z.B. Web oder Apps) gibt oft das Betriebssystem vor, welche Sprache man verwenden kann (bei einem auf einer JVM basierenden System benötigt man z. B. eine Sprache, die Java Bytecode erzeugen kann; Excel-Makros kann man ausschließlich in VBA schreiben usw.)

Um zum Beispiel programmierbare Logikchips zu programmieren benötigt man hingegen deklarative Sprachen, da diese nicht Befehle in einer bestimmten Reihenfolge abarbeiten...

Man braucht also für jedes Anwendungsgebiet eine andere Programmiersprache.

Hab mich auch schon mal informiert

Bitte suche dir nicht die Sprache raus, mit der man "alles machen" kann. Wenn du Anfänger bist, solltest du dir lieber zuerst eine einfache Sprache raussuchen!

Wenn du Fortgeschrittener bist und für ein bestimmtes Projekt eine bestimmte Sprache lernen willst, dann suche dir diejenige raus, die zum Anwendungsgebiet am besten passt:

Wenn du ein Betriebssystem schreiben willst - mein aktuelles Projekt - wirst du viel C und Assembler brauchen.

Willst du eine Handy-App schreiben, so kannst du weder mit C noch mit Assembler irgend etwas anfangen!

Grundsätzlich kommt es (bei Skriptsprachen) drauf an, was der Interpreter alles so drauf hat. Wenn du wirklich alles programmieren können willst was du mit der Hardware überhaupt programmieren kannst, brauch eine höhere Programmiersprache, wie zum Beispiel c++. Oder du brauchst Assembler, aber da hast du ewig.