Ein Vergleich der Programmiersprachen?

...komplette Frage anzeigen

3 Antworten

J++, J# dürften jetzt auch keine Verbesserung für Dich sein. Mit den C- und Pascal-Dialekten hast Du ja einen Rundumschlag gemacht. Basic-Dialekte sind ja kein Fortschritt. Bei C++ gibt es ja verschiedene Wege wie MFC etc., man kann auch sehr direkt die einzelnen Objektevorlagen ansprechen oder grundlegende Objekte selbst modifizieren, um das Verständnisproblem zu lösen. Aber ansonsten kommt das mit der Zeit (MFC: ein halbes Jahr :-).

Alternativen wie Prolog, Cobol sind ja leider eher Geschichte bzw. Nische. Mit den C-Dialekten fährst Du am besten.

C# ist .NET und damit pseudo-plattformunabhängig, faktisch aber nur Windows.

Stärken und Schwächen:

  • C#: .NET-abhängig, dafür sehr entgegenkommend, objektorientiert

  • C/C++: eigentlich komplette Freiheit, dafür muss man sehr genau programmieren und man braucht lange.

  • Basic-Dialekte: Sehr einfach, Fehler werden vermieden, aber eingeschränkte Möglichkeiten

  • Delphi/O-Pascal: In etwa wie C++, jedoch etwas mehr Einschränkungen, dafür weniger fehlerträchtig, im Prinzip ein freieres C#.

Also wird jeweils Einfachheit mit Einschränkung der Möglichkeiten gekauft. Ich persönlich empfehle C++, man muss "nur" äußerst sorgfältig und in der Fehlersuche geduldig sein.

Vielen Dank! Das gibt mir schon einiges an Übersicht^^

Du hast jetzt Java gar nicht angesprochen. Was würdest du denn dazu sagen? Denn ich habe gehört, dass das ebenfalls später im Berufsleben nützlich sein wird.

Und welche Sprache würdest du denn für Anwendungs-Programmierung und welche für Spiele-Programmierung? Weil bei den Punkten kann ich mich auch nie zwischen den Sprachen entscheiden...

0
@Mastersmile

Java war ja mal der Hype, aber ist in meinen Augen deutlich schwächer als C# ohne dass mir jetzt ein Vorteil einfiele (außer noch einfacher, aber dennoch kein besonders gutes Fehlerabfangen). Für Kleinkrust (Apps, Webbased etc.) immer noch ein Thema. Die Microsoft-Versionen J++, J# sind auch nicht mehr so unterschiedlich zu den C-Dialekten.

  • Anwendungsprogrammierung: C++, C# oder Delphi (wenn ganz klein auch Java)
  • Spieleprogrammierung: Ganz klar C++ wegen der Geschwindigkeit und der Hardwarenähe. Schnittstellen würde ich nicht mit C# ansteuern wollen.
0
@nobytree

Ok Super Antwort!:) Dann bleibe ich, wenn ich Anwendungen programmiere erstmal mit C#, da ich damit echt gut zurecht komme...

Bei Spielen werde ich mich wohl für C++ entscheiden. Zumindest bei FPS spielen^^ Mich interessiert vor allem auch die 3D Programmierung...nur hatte ich mein bisheriges Problem bereits beschrieben. Was und vor allem welche Komponenten (z.B. OpenGl oder Direct X usw...) sollte ich da benutzen? Und vor allem: kannst du da eine bestimmte IDE empfehlen? Da ich (noch) Schüler bin kann ich mir jetzt zum Beispiel nicht die Vollversion von Visual Studio usw. kaufen. Daher wäre eine gratis IDE gut, die man im besten Falle sogar für Kommerzielle Programme benutzen darf. (z.B. Visual Studio Express oder CodeBlocks usw...)

Vielen Dank für alle deine bisherigen Antworten!

0
@Mastersmile

Die Profi-IDE brauchst Du sowie so nicht. Da ist mir ein Superinformatiker genannt worden, der programmierte auf einem alten 486, schwarz-weiß mit MS-DOS und der hat gezaubert.

Wichtig ist vor allem, dass Du es verstehst, die Algos, die Logik, Mathe, die Technik, was dazugehört. Also am Anfang auch nicht zu viel von den O-Bibliotheken machen lassen, lieber erst mal selber werkeln.

0
@nobytree

Dev Bloodsheed C++ oder das Microsoft Visual Studio Express. Ist gleichgültig im Ergebnis. Wichtig ist, dass man den Algorithmus versteht.

0
@nobytree

ok dann meine aller letzte Frage:

was ist dein Favorit? OpenGl oder Direct X?:D

0
@Mastersmile

Bislang bin ich nur mit DirectX in Berührung gekommen, so der Spieleprogrammierer bin ich auch nicht. Ich wüsste auch nicht, wo der Vorteil von OpenGL sein soll. Mit DirectX bleibt man bei Microsoft, was die Sache bisweilen vereinfacht.

0
@nobytree

Vielen Dank:) Solche Antworten würde ich ab und zu gerne mal öfters sehen...

0
@Mastersmile

Danke, die hilfreichste Antwort-Funktion gibt es allerdings erst bei zwei Antworten ...

0

Wer C++ nutzt, erzeugt Code, der durch andere schwer zu verstehen ist, dessen Wartbarkeit also deutlich geringer ist als die von Code, der in C# oder Java geschrieben ist.

Zudem gilt: Viele Flüchtigkeitsfehler, die man in C oder C++ machen kann -- und dann lange zu suchen hat, wenn das Programm deswegen abstürzt --, sind in C# und Java gar nicht erst möglich.

Zu bedenken ist auch, dass nur wer C# oder Java nutzt, auf riesig große Bibliotheken von Hilfsfunktionalität fast jeder Art Zugriff hat - und so selbst kaum noch applika-tionsunabhängige Hilfsfunktionen zu implementieren (und dann natürlich auch auszutesten und zu pflegen) hat.

Siehe auch http://greiterweb.de/spw/Wahl-einer-Programmiersprache.htm

0

Es sind zunächst grundlegende Fragen zu beantworten:

  1. Was willst du programmieren? Spiele, Anwendungsapps oder Pluginsß
  2. Für welche Betriebssysteme willst du programmieren? OS X, iOS, Windows, Android, Linux?

Danach kann man sich auch um eine geeignete Programmiersprache kümmern …

Prinzipiell kann man mit jeder Programmiersprache alles programmieren. Manchmal ist es eben umständlicher … Von daher solltest du erst einmal wissen und für dich klaren, was du willst. alles andere ergibt sich …

Ich weiß, dass man jede Programmiersprache für so gut wie alles benutzen könnte. Doch meine Frage war ja, welche Sprache man denn am besten für was benutzen sollte. Und genau das hat mir nobytree geantwortet. Trotzdem vielen Dank für deine Antwort! :)

0
@Mastersmile

Allgemein dienen Sprachen dem Gedankenaustausch zwischen Menschen. Welche Sprache wäre denn hier die „beste“? Es gibt weder eine beste Programmiersprache noch sonst eine beste Sprache!

Programmiersprachen sind künstliche Konstrukte, die einem Programmierer bei seiner täglichen Arbeit (Programm[teil]e erstellen) helfen. Geschmacksfragen kann man eben nicht mit gut/schlecht, +/– oder schwarz/weiss beurteilen … Es gibt wie bei Speisen viel zu viele Geschmacksnuancen, die man zwar schmecken kann aber eben nicht eindeutig beurteilen würde.

Den dritten Punkt habe ich leider vergessen: Programmierparadigma – auch hier musst du entscheiden, was dir am besten liegt: Assembler-Ebene, imperativ, aspekt- oder objekt-orientiert oder auch „esoterisch“ … Auch das sind zunächst Geschmacksfragen.

In der Wikipedia gibt es eine Liste von locker 100 und mehr Programmiersprachen, die hier noch nicht einmal erwähnt wurden. M.a.W. der sprachlichen Vielfalt die eigene Einfalt entgegenzusetzen ist wohl eher naiv …

http://de.wikipedia.org/wiki/Liste_von_Programmiersprachen

1
@wolfgang1956

Nicht so philosophisch. Z.B. ist Basic nicht ganz so mächtig, das ist nicht nur Geschmack. Basic hat ja auch eine ganz andere Geschichte und das, was heute Visual Basic ist, hat mit z.B. GW-Basic nur noch wenig am Hut. Die Wikipedia-Liste hilft wenig, da darin auch viele Sprachen mit spezifischem Fokus, nach denen der Fragesteller wohl kaum fragt, enthalten sind! Er will ja z.B. nicht nur mathematische Gleichungen "algorithmitisieren". Die Vormachtstellung von C++ ist ja nicht nur eine Geschmacksfrage (jetzt bitte nicht mit Microsoft kommen).

0
@nobytree

Genau deswegen beschreibe ich es andauenrd so,, dass man erst wissen muß, was man will und sich erst dann entsprechende Sprachkenntnisse aneignen sollte …

Es gibt eben keine!! beste Sprache – nur „andere“ Sprachen …

1

Schau Dich mal hier um:

http://rosettacode.org/

da werden Lösungen zu hunderten verschiedener Aufgaben in 545 verschiedenen Programmiersprachen gezeigt.

Und schau mal hier rein:

http://benchmarksgame.alioth.debian.org/

Da wird von verschiedenen Programmiersprachen um die Wette gerechnet. Die benötigte Zeit und der Speicherplatzbedarf bei einer Reihe unterschiedlicher Programmieraufgaben wird verglichen.

0
@Franz1957

Wenn Du Sprachen kennenlernen möchtest, die sich von den schon genannten (einander doch recht ähnlichen) Sprachen etwas deutlcher unterscheiden, dann schau Dir z.B. mal Scala und und Clojure an. Beide laufen auf der Java-Engine und können daher mit Programmbausteinen in anderen darauf laufenden Sprachen zusammenarbeiten.

Scala ist dafür gedacht, das Schreiben von Parallelprogrammen für Multi-Prozessor- oder Multi-Kern-Rechnern zu vereinfachen.

http://www.heise.de/developer/artikel/Scala-pragmatische-Kombination-aus-funktionaler-und-objektorientierter-Programmierung-227200.html

0

Was möchtest Du wissen?