PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Programmiersprache soll ich jetzt lernen?


Gast
2006-09-05, 20:54:36
Hallo ,
Ich weiß das es solche oder so ähnliche Fragen schon genug auf diesem board giebt aber mir helven die anderen Threads nicht wirklich, also wollte ich mal selber fragen .
Ich hab mir vor einiger Zeit C++ beigebracht und mich damit relatief ausgiebig beschäftigt . Als ich mir einen netten Virus zugezogen hatte , musste ich leider meine komplete Festplatte vormatieren und alle meine Projeckte waren weg . Das hat mich total frustrirt, und ich hatte ganz lange keinen Bock mehr zu prokramieren .
In letzter Zeit hab ich aber irgentwie wieder richtig lust dazu .

Ich hab mir erst überlegt in Java zu programmieren ( und es auch versucht ) aber mich stört daran total das ich keine compilierte exe-Datei habe sondern nur den Quellcod . Zu C++ möchte ich aber , wenn es nicht umbedinkt sein muss , auch nicht wider zurück . Mich stören daran die H-Dateien die man immer einbinten muss wenn ma n eine Klasse verwenden will , damit hate ich den meisten Ärger .

Ich würde gerne wissen welche Programmiersprache ihr mir emfpehlen würdet .

- Sie sollte ohne Hether (mit sicherheit falschgeschrieben :D ) auskommen
- Sie sollte kompilierbar sein , also keine Interpretersprache
- Sie sollte alle Möglichkeiten haben wie C++

Ich höffe meine ansprüche sind nicht zu hoch ;)
Ich freu mich auf die andworten

urpils
2006-09-05, 21:03:44
wie wärs zunächst mal mit einer richtigen Sprachen wie Deutsch? ;)

ich weiß nicht, wie oft diese Frage schon da war... es kommt immer drauf an, was du machen willst... wenn du einfach nur "programmierst" um zu programmieren, dann ist es eigentlich relativ egal welche Sprache du nimmst...

wenn du Spiele erstellen willst oder Zeug um deine Mathehausaufgaben schneller zu erledigen (hab ich gemacht *g*), dann schau dir mal Blitzbasic, Darkbasic oder Delphi an.

Wie schauts mit C# aus?

Mike1
2006-09-05, 21:21:12
...
wenn du Spiele erstellen willst oder Zeug um deine Mathehausaufgaben schneller zu erledigen (hab ich gemacht *g*), dann schau dir mal Blitzbasic, Darkbasic oder Delphi an.
...

jau, Mathe schafft man überaschend leicht mit Programmieren;)

urpils
2006-09-05, 21:23:51
jau, Mathe schafft man überaschend leicht mit Programmieren;)

damit verbinde ich einige der wenigen schönen Erinnerungen an meine Schulzeit *g* Wenn ich z.B. als "Strafarbeit" sätmliche 3er Potenzen von 1-100 aufschreiben sollte (oder was weiß ich *G*) hat mich das keine 10 Minuten gekostet (inkl. Druck *g*)

Monger
2006-09-05, 22:27:46
damit verbinde ich einige der wenigen schönen Erinnerungen an meine Schulzeit *g* Wenn ich z.B. als "Strafarbeit" sätmliche 3er Potenzen von 1-100 aufschreiben sollte (oder was weiß ich *G*) hat mich das keine 10 Minuten gekostet (inkl. Druck *g*)
Simple Algebra kann der PC relativ gut, alles andere eher ziemlich schlecht. Ich bin immer wieder erstaunt, wie unheimlich schwer sich der Computer mit Mathematik tut. Kein Wunder, dass es gerade mal eine Hand voll brauchbarer Mathematiksoftwares gibt...


Aber @topic: deine Anforderungen scheinen mir ziemlich wirr zu sein. Einerseits willst du eine Sprache die alles kann was C++ kann, aber keine Header (also auch wahrscheinlich keinen Präprozessor) kennt? Widerspricht sich das nicht irgendwie?

btw, Java ist KEINE interpretierte Sprache! Sie wird compiliert. Dass der Code in der Regel von einer Virtual Machine gelesen wird, ist ein anderes Thema.

RMC
2006-09-05, 23:05:53
Wie kommt es dass du einmal "programmieren" vollkommen falsch schreibst und sogar zweimal komplett richtig? :| Fake anyone?

Btw...Java wird nicht "interpretiert" sondern ebenfalls compiliert wie mein Vorposter gesagt hat, und es ist auch möglich Java Programme mit einem einfachen Doppelklick auszuführen (wie bei deiner schönen hochgelobten exe).

Soviel dazu..

Gast
2006-09-05, 23:57:25
Sieht für mich nach dilettantischem Troll-Versuch aus...

Awesomo
2006-09-06, 00:52:23
ganz klar c sharp

Chris Lux
2006-09-06, 08:16:33
brainfuck... ganz klar die sprache für den threadstarter. ich hab sogar nen link für ihn parat:
http://www.muppetlabs.com/~breadbox/bf/

Kabelsalat
2006-09-06, 08:22:02
Kleine Korrektur: Java oder vielmehr der prekompilierte Zwischencode wird von der standard JRE sehr wohl interpretiert und nicht etwa gejittet (-> just in time compilation).

mbee
2006-09-06, 08:30:57
[x] deutsch

Bzw. falls Du Legastheniker sein solltest (was ich kaum glaube), strenge Dich bitte ein wenig an. Das dies auch funktioniert sieht man z.B. an Thowes Postings. Allerdings denke ich auch, dass es sich hier um einen recht offensichtlichen Trollversuch handelt.
Falls es ernst gemeint war:
Ich denke, mit Java oder C# kann man wenig falsch machen. Was die Geschichte mit den Header-Dateien angeht, frage ich mich, was Dich daran stört? Aus Java-Dateien lassen sich übrigens auch (dann eben plattformabhängige) EXE-Dateien erstellen. Allerdings geht damit natürlich einer der großen Vorteile flöten.

TheGamer
2006-09-06, 08:33:56
Das ist doch ein Fake, schaut euch die Fehler an die mit Absicht entstanden sind, oder die lächerliche Geschichte mit den Header Files ;D:rolleyes:


sonst C#

Kabelsalat
2006-09-06, 08:39:18
Header-Dateien... grausig :rolleyes: Ich finde die Aufteilung überflüssig und unübersichtlich. Außerdem kommt man desöfteren ins Grübeln was den nun worein gehört.

Senior Sanchez
2006-09-06, 10:00:12
Header-Dateien... grausig :rolleyes: Ich finde die Aufteilung überflüssig und unübersichtlich. Außerdem kommt man desöfteren ins Grübeln was den nun worein gehört.

Naja, ansich ist das Konzept ja ganz okay, eben die Trennung von Schnittstelle und Implementierung, was ja zweifelsohne richtig ist.
Aber ich finds auch unübersichtlich.

RoKo
2006-09-06, 11:31:39
Kleine Korrektur: Java oder vielmehr der prekompilierte Zwischencode wird von der standard JRE sehr wohl interpretiert und nicht etwa gejittet (-> just in time compilation).
Nö, es wird gejittet. Nicht immer, aber immer öfter (wenn Code oft genug abgearbeitet wird, ansonsten wird interpretiert, weil's schneller ist).

MadMan2k
2006-09-06, 17:02:02
Naja, ansich ist das Konzept ja ganz okay, eben die Trennung von Schnittstelle und Implementierung, was ja zweifelsohne richtig ist.
Aber ich finds auch unübersichtlich.
hm? also ich findes außerhalb von plain C überflüssig (und dort auch nur um den private status zu simulieren) - soviel introspektion sollte eine Sprache schon mitbringen.
Es gibt ja auch D, weches das kann, das ist aber ungerechtfertigterweise nicht so populär wie C++.

Arokh
2006-09-06, 17:59:39
ich weiß nicht was ihr mit diesen Header-Dateien habt. Die hat man zwar in anderen Sprachen nicht, dafür muß man dann was anderes machen (uses in Delphi, in Java und C# heißt es glaube ich import(?)), was im Endeffekt auf's selbe rauskommt.
Bei den Headern aus C/C++ weiß ich wenigstens, was da eigentlich passiert (einfach der Sourcecode aus dem Header in die zu kompilierende includende Datei eingefügt), so daß ich, z.B. wenn da mal was kollidiert, zumindest einen Anhaltspunkt habe wo ich mit der Fehlerlösung ansetzen soll. Bei dieser uses-Geschichte z.B. aus Pascal/Delphi habe ich nicht einmal das.

Senior Sanchez
2006-09-06, 18:07:01
ich weiß nicht was ihr mit diesen Header-Dateien habt. Die hat man zwar in anderen Sprachen nicht, dafür muß man dann was anderes machen (uses in Delphi, in Java und C# heißt es glaube ich import(?)), was im Endeffekt auf's selbe rauskommt.
Bei den Headern aus C/C++ weiß ich wenigstens, was da eigentlich passiert (einfach der Sourcecode aus dem Header in die zu kompilierende includende Datei eingefügt), so daß ich, z.B. wenn da mal was kollidiert, zumindest einen Anhaltspunkt habe wo ich mit der Fehlerlösung ansetzen soll. Bei dieser uses-Geschichte z.B. aus Pascal/Delphi habe ich nicht einmal das.

Nee, da verwechselste was, zumindest bei Java.

Import dient dazu um Klassen aus anderen packages für die eigene Klasse verfügbar zu machen, sodass man dann direkt über den Klassennamen statt über den vollqualifizierenden Klassennamen (eben package + klassenname) daraufzugreifen kann.

Was hier aber gemeint ist, ist nicht das include ansich, sondern dass man zuerst in der Header-Datei einen Prototypen erstellen "muss" um anschließend diesen in ner C++ Datei entsprechend zu implementieren.

Monger
2006-09-06, 19:30:01
ich weiß nicht was ihr mit diesen Header-Dateien habt. Die hat man zwar in anderen Sprachen nicht, dafür muß man dann was anderes machen (uses in Delphi, in Java und C# heißt es glaube ich import(?)), was im Endeffekt auf's selbe rauskommt.
Bei den Headern aus C/C++ weiß ich wenigstens, was da eigentlich passiert (einfach der Sourcecode aus dem Header in die zu kompilierende includende Datei eingefügt), so daß ich, z.B. wenn da mal was kollidiert, zumindest einen Anhaltspunkt habe wo ich mit der Fehlerlösung ansetzen soll. Bei dieser uses-Geschichte z.B. aus Pascal/Delphi habe ich nicht einmal das.

Genau das stimmt halt nicht. "Import" in Java ist eine reine Namespace Geschichte, das Linken der einzelnen Klassen passiert erst zur Laufzeit. Du KANNST unmöglich Kollisionen in Java haben, weil der Namespace immer eindeutig ist!

Gerade in Java ist "import" nun wirklich GANZ weit weg von irgendwelchen Präprozessor Geschichten...

Gast
2006-09-06, 23:32:47
Header-Dateien... grausig :rolleyes: Ich finde die Aufteilung überflüssig und unübersichtlich. Außerdem kommt man desöfteren ins Grübeln was den nun worein gehört.
Sicher ist es übersichtlicher zwischen der Implementierung der Algorithmen sich die Methodennamen suchen zu müssen.
So ein Quatsch....

In die Headerdatei gehören die ausführlich dokumentierten Definitionen, in die Implementierungsdateien die Deklarationen. Da ist nicht viel zu überlegen.
Wer dadurch nicht wesentlich mehr Übersichtlichkeit bekommt ist schlicht unfähig.

Neomi
2006-09-06, 23:40:27
Sicher ist es übersichtlicher zwischen der Implementierung der Algorithmen sich die Methodennamen suchen zu müssen.
So ein Quatsch....

Eine gute Entwicklungsumgebung (also nicht Notepad + Kommandozeile, obwohl das für manche Sachen natürlich auch reicht) sollte diese Aufgabe schon übernehmen können, also ist das schonmal kein Problem.

In die Headerdatei gehören die ausführlich dokumentierten Definitionen, in die Implementierungsdateien die Deklarationen. Da ist nicht viel zu überlegen.
Wer dadurch nicht wesentlich mehr Übersichtlichkeit bekommt ist schlicht unfähig.

Leute mit anderen Vorlieben als unfähig zu bezeichnen, ist nicht nett. Vor allem sollte man das dann nicht machen, wenn man selbst Definitionen und Deklarationen verwechselt. ;)

Kabelsalat
2006-09-07, 02:01:19
In der heutigen Zeit mit modernen IDEs haben Header Dateien wie bereits angemerkt keine besondere Berechtigung mehr. Nunmehr dienen sie eigentlich einzig und allein dem Compilerbauer. Generell ist C++ bzw. gerade C eine Sprache, die insbesondere dem Entwickler des Compilers sehr entgegen kommt. In meinen Augen sollte es aber genau umgekehrt sein: Der Compiler sollte dem Anwendungsentwickler entgegen kommen.

Gast
2006-09-07, 10:18:53
Generell ist C++ ... eine Sprache, die insbesondere dem Entwickler des Compilers sehr entgegen kommt.

WTF? König-Lookup? Partial Template Specialization? Export?

Nur zur Info: Es hat 6 Jahre gedauert bis die ersten halbwegs C++-98-konformen Compiler auf dem Markt waren.

Also das ist ja mal wirklich starker Tobak. Java ist um Lichtjahre einfacher zu parsen und zu kompilieren als C++.