newbie frage bzgl. programmiersprachen

Hallo,

ich habe mich mittlerweile schon in ein paar Programmiersprachen umgesehen und damit programmiert (C#, Java, C++, PHP, ...).
Meine Frage ist nun folgende: Es gibt ja 100te Programmiersprachen (ohne zu übertreiben o.O http://de.wikipedia.org/wiki/Liste_der_Programmiersprachen), und (mal abgesehen von den esoterischen Programmiersprachen) jede MUSS doch irgend einen speziellen Nutzen haben, oder?
Wenn C++ wirklich DIE Sprache schlecht hin ist, müsste man ja gar keine andere Sprache mehr erlernen.
Was mich am Programmieren interessiert, ist das Cracken, sich in System einschleußen und Daten vernichten und - kleiner Scherz *g*
Naja, aber damit hat es schon zu tun. Ich weiß nicht wie ich es bezeichnen soll (man sieht was für ein |\|00b ich bin xD ). Systemnahe Programmierung, mit der man sich auf Dinge wie Firewall, OS, etc. spezialisieren kann. Hat nützliche Dinge.^^
Spiele etc. sind auch kuhl, aber dafür lerne ich ja eh C++ ;)
Oder ist C++ tatsächlich für alles zuständig, ein spezialisierter Hybrid sozusagen o.O

Hmm, wisst ihr jetzt wonach ich suche ?(
Am genialsten wäre natürlich ne Liste der wichtigsten Programmiersprachen mit ihren individuellen Fähigkeiten, aber nicht dass ich das jetzt verlange oder so :O *g*

sic!
 
Was sind denn "esoterische Sprachen" ?

Naja egal, Wenn du systemnahe programmieren willst dann solltest du dich mit Assembler beschäftigen. Ist aber etwas anspruchsvoll, daher würde es sich lohnen vorher etwas C++ zu lernen. Um sich wie du es beschrieben hast in Systeme einzuschleußen oder ähnliches wäre eine Scriptsprache wie z.B. Perl interessant.
 
Original von Valentin
Was sind denn "esoterische Sprachen" ?

Naja egal, Wenn du systemnahe programmieren willst dann solltest du dich mit Assembler beschäftigen. Ist aber etwas anspruchsvoll, daher würde es sich lohnen vorher etwas C++ zu lernen. Um sich wie du es beschrieben hast in Systeme einzuschleußen oder ähnliches wäre eine Scriptsprache wie z.B. Perl interessant.

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

Danke, Assembler und Perl habe ich auch schon ins Auge gefasst ;)
Aber ist es nicht so, dass Assembler in gewisser Weise überflüssig ist? Hab ich jedenfalls gelesen, es ist komplex allerdings nicht 'besser' als C++
Ist da was dran?
 
Hallo,
bei systemnaher Programmierung wirst du kaum um Assembler rumkommen.

Aber C++ ist nicht die super Sprache, und persönlich verabscheue ich die Sprache. Für Web-Anwendungen sind andere Sprachen deutlich besser geeignet, wie z.B. PHP (oder ASP oder Perl).
Muss ein Applikation wirklich Systemunabhänig sein, ohne sie immer wieder kompilieren zu müssen, ist wohl Java am besten geeignet. C++ versagt hier oft, denn eine Binary für Linux bekommt eigentlich nicht unter Windows zum laufen, und liefert man die Source Dateien Funktioniert dies meistens auch nicht, denn was kann echtes ANSI C++? Nix (übertrieben). Also verwendet man meistens Libraries wie z.B. MFC, die sind aber wieder Systemabhänig.
Und sobald man eine GUI programmieren möchte, ist die Systemunabhänigkeit mit C++ eh dahin.
Ein weiterer Nachteil von C++ ist, dass es echt schwer zu erlernen ist, die unübersichtliche Struktur der Kassen (wie ich diese Header-Dateien hasse) und es eigentlich kaum eine Funktion bietet, die man bei modernen Programmen so braucht (XML, Web-Request, leichtes Multi-Threading, leichte Socket-Programmierung, verschiedene Daten-Container (Listen, Hashtables etc) usw).
Allerdings programmiert man Treiber oder andere, sehr systemnahe Programme, kommt man kaum um C++ herum.

Mit moderneren Sprachen, wie z.B. C#, gelangt man viel schneller an Ergebnisse, denn das Framework nimmt einem viele Leiden ab, und wenn man mal die Anforderungen an eine Programmiersprache in den 80er Jahren und heute vergleicht, dann kann man auch verstehen warum. C++ bietet einfach nicht mehr das an, was ein "moderner" Programmierer zu im Alltag benötigt, und sofern er nicht gewillt ist, jede kleinste Funktionalität selber zu erstellen, muss er immer auf fremde Libraries zurückgreifen, mit all ihren Nachteilen.

Oder ist C++ tatsächlich für alles zuständig, ein spezialisierter Hybrid sozusagen
Naja möchte mal sehen wie du die Funktionalität von JavaScript in C++ überträgst ;)
 
Was mich am Programmieren interessiert, ist das Cracken, sich in System einschleußen und Daten vernichten und - kleiner Scherz *g*

Zum Cracken zB. _musst_ du (jedenfalls afiak) ASM können!

Außerdem hat (wie teilweise schon gesagt wurde) eben jede Programmiersprache seine Vor- und Nachteile.
Zudem: Was interessiert dich zum Beispiel die plattformunabhängigkeit, wenn du einen Treiber für ein von dir selbst entwickeltes und gebautes Teil programmierst, was es eh nur einmal auf der Welt gibt und nur von dir verwendet wird?
Oder: Wieso muss deine Programmiersprache "systemnah" sein, wenn du eine Homepage gestaltest?
Oder: Wie willst du mit ASM eine Homepage gestalten?

Jede Programmiersprache hat so seinen "eigenen Bereich", wofür sie speziell besonders gut einsetzbar ist.

Desweiteren findet jeder eine Sprache (natürlich auch von seinem "Gebiet" abhängig) auf andere Art und Weise nützlich bzw. sinnlos.
Aber C++ ist nicht die super Sprache, und persönlich verabscheue ich die Sprache.
Als kleines Beispiel ;)
 
Was noch zu den tausenden Programmiersprachen dazu kommt, sind verschiedene Betriebssysteme. Ich habe mal ein Praktikum bei einer Motorenfirma in der Softwareabteilung gemacht dort wurde nur per gcc Programmiert.
Bei einem anderen Praktikum habe ich mit Borland 5 gearbeitet.
Da muss man halt flexibel sein. Wobei die Grundladen überall gleich sind ;)

Ich rate dir fang mit PHP an - da hast du super einfach erfolge und kannst schnell zu C++ umsteigen, weil die Syntax ziemlich gleich ist.
 
Lerne einfach Assembler, C/C++ und Perl oder Python.
Assembler wirst du brauchen, wenn du dich mit Daten- und Programmsicherheit beschäftigen willst. Sicherlich wird dir jeder Anwendungsentwickler sagen, dass man heutzutage kein Assembler mehr braucht, da wohl kaum noch jemand so dumm ist komplexe Anwendungen in Assembler zu schreiben. Aber jeder Systementwickler und jeder, der mal ein klitzekleines Exploit geschrieben hat, wird genau das Gegenteil sagen. Fakt ist, dass du ohne Assembler-Kenntnisse nichtmal einen Shellcode schreiben kannst, geschweige denn ein ganzes Exploit oder einen Crack für ein Programm (na gut, das geht teilweise auch ohne Assembler-Kenntnisse). Das dazu notwendige Hintergrundwissen sollte man natürlich auch lernen, denn was bringen die besten Assembler-Kenntnisse, wenn man nicht weiss wie ein Stack aufgebaut ist und die Speicherverwaltung des genutzten Systems funktioniert, wie Hardware-Signale funktionieren und wozu sie da sind, welche Prozessor-Register es gibt und wofür man sie nutzt und und und... Zum Assembler lernen gehört also noch einiges mehr.
C/C++ kannst du dann nutzen um deine Anwendungen zu schreiben und dank Inline-Assembler kannst du damit Exploits, Cracks usw. in kleine Programme verpacken und einige Abläufe lassen sich mit C/C++ manchmal leichter umsetzen als mit Assembler.
Und zu guter letzt lernst du noch eine Skriptsprache wie Perl oder Python, mit der du dann Abläufe automatisieren kannst. Perl bietet sogar so viele Zusatzmodule, dass man auch damit schnell und unkompliziert kleiner Programme umsetzen kann (Paketsniffer, Scanner usw).
Kurz gesagt: Lerne Assembler, eine höhere Programmiersprache und eine Skriptsprache, dann hast du gute Grundlagen.

@bikmaek: Ja, da liegst du absolut richtig. GCC ist der GNU C Compiler und die zugehörige Sprache ist entsprechend C.
 
Na dann lag ich eh richtig mit Assembler und Perl :-]
Jetzt kommt natürlich die noch newbie-mäßigere Frage (sry), wie ich mich da am besten ranwagen sollte - ist ja ziemlich kompliziert, oder?
Buchempfehlungen?
 
Buchempfehlung Perl: Perl - Das BHV Taschebuch von Dennis Schaaf (Preis inkl. CD 15 Euro)
Bei Assembler schau dir einfach mal die Dokus zu NASM an.
 
Also zu C++: "C++ in 21 Tagen" finde ich eigentlich ganz gut:)

Falls du an PHP denken solltest: Das Buch "PHP und MySQL" aus dem Markt und Technik Verlag kann ich nicht empfelen, da die Code-Beispiele teilweise einfach schlicht und ergreifen falsch sind! Die Erklärungen sind aber gut und auch die Anwendungen an denen alles erklärt wird, sind sinnvoll. Musste halt abwägen...Zusätzliches Plus: kostet nur 7,95 ?
 
Übrigens, großes Lob an dieses Forum - beim registrieren dachte ich schon ihr wärt hier so elitär dass ihr mir gar nicht antwortet *g*

Ja, wird sind schon alle ganz kuhle Säue hier :D Nee Spass bei Seite, das finde ich an diesem Forum auch so toll:)

B2T:

Sieht für mich eher nach einen Nachschlagewerk aus, als nach einem Buch das einen Programmieren beibringt. (bitte sofort hauen, wenns nicht stimmt)
 
Kuhle Säue? Was denn nun, Rind oder schwein? Oder so n Hybrid? O.o

Also ich kann dir noch was zu C++ empfehlen:
http://www.schornboeck.net/ckurs/inhalt.htm
Das ist der alte Kurs. Der hat den Vorteil, dass auch Vectoren und Strings erklärt werden, die ich beide für wichtig halte...

hier der neuere Kurs. Ist nicht ganz vollständig:
http://tutorial.schornboeck.net/

Hier noch ein Tuturial zu strings: (recht nützlich, wenn du viel mit Strings arbeitest)
http://www.uni-bayreuth.de/departments/math/~rbaier/lectures/c/html/node62.html

Wenn du ein paar Übungsaufgaben suchst:
http://projecteuler.net/index.php?section=about

Anbei möchte ich erwähnen, dass ich MSV C++ 6.0 verwende und bislang mit dem Kram super ausgekommen bin.
 
Ich kann ehrlich gesagt nicht empfehlen mit Assembler anzufangen, da es wirklich massives Hintergrundwissen fordert. Ich selber habe es auch probiert und wurde wegen mangelndes Wissens schnell entmutigt und bin davon abgegangen.
Da fände ich es einfacher mit C/++ anzufangen um einen Einstieg in die Programmierung zu gewinnen ( wobei ich C++ auch nicht "zu" einfach finde ;) ).
Und sich nach und nach mehr Wissen anzueignen, denn ich denke als Anfänger ist man schnell mit so vielem Wissen überfordert und verliert Lust am Lesen/Lernen und Weitermachen.
PHP oder ähnliche Websprachen würde ich in diesem Fall garnicht empfehlen, da sie nicht ansatzweiße benötigt werden. ( Oder wollte der Autor eine Hompage machen )

An sich wäre es sonst eventuell Ratsam mit einer Skriptsprache anzufangen.
Jedoch kenne ich mich mit Perl oder Python nicht aus und kann dazu nichts sagen.

Generell: Als Anfänger sollte man sich nicht zuviel aufeinmal zumuten. Alles braucht seine
Zeit, so ist es sogar eventuell möglich, dass du lesen oder lesendes lernen erst lernen musst, um aus Tutorials alle Informationen rauszuziehen und verwenden zu können.
Zusätzlich brauchst du einen eisernden Willen als Anfänger. Später wirds ja zum Glück einfacher :)
Am Besten setzt du dir ein erreichbares Ziel und arbeitest darauf hin. Aber wie gesagt nicht direk übernehmen.

Prometheus hat eine nette Signatur dazu:
Bevor man sich den größeren und vielleicht auch schöneren Dingen widmet, sollte man die Grundlagen beherrschen. Auch wenn sie so unwichtig erscheinen, sie sind der Grundstein der stehen muss, bevor man überhaupt an diese Dinge denken darf.

Mit freundlichen Grüßen

0wnZ

PS: LEARNING BY DOING RULEZ :)
 
porggen

also egal mit was du anfängst such dir einen ruhigen platz schließ dein zimmer\wohnung ab
und lass dir das gesammte wissen einfach mal reinlaufen (kein bier)

und ich würde empfelen alle bücher von markt und technik sind umfangreich und leicht zu verstehen
MfG moE
 
das Galileo Openbook zu PHP könnt ich auch empfehlen, das vermittelt die Grundlagen recht gut :)

Und ich programmier momentan eh am liebsten in Java, das is an sich auch ne recht schöne Programmiersprache, is halt komplett auf Objektorientierung aufgebaut, aber warum nicht? Wir benutzen das halt hier an der Uni ;)

und für PHP:
Brauchste nen Webserver (da PHP ja doch recht auf Webseitenerstellung abgezielt ist (?) ) und dazu halt noch die PHP-Software... und fang dann am besten auch recht bald mit Datenbankprogrammierung (MySQL) an, das is für komplexere Seiten doch recht wichtig... HTML solltest du dafür allerdings schon bissel können ;)

Und wenn dir irgendwann ma ganz langweilig sein sollte, versuch nochn bisschen TeX zu lernen, das hat insofern nicht direkt was mit Programmierung zu tun, aber an der Uni wirstes evtl. brauchen, das is auch nicht wirklich schwer :)

Edit:
Is vielleicht jetzn bisschen ein Informationsoverkill, aber ich habs einfach mal kurzgefasst hingeschrieben, wies mir so ging :)
Da fällt mir noch was ein: www.onlinetutorials.de is zwar ne Seite, die schon seit 5 Jahren nicht mehr aktualisiert wird, aber die Tutorials sind doch noch ganz brauchbar, denk ich...
 
Zurück
Oben