Die mächtigste Programmiersprache

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von SilentDeath, 23. Juli 2005 .

  1. 23. Juli 2005
    Hi ich hätte gerne mal eure Meinung welche eure Meinung nach die mächtigste also auch ein bissl mit die beste Programmiersprache ist?

    Denkt da nicht nur an den Umfang sondern auch an die Handhabung verschiedener Sachen. Also nicht nur die mit den meißten Funktionen wählen!
     
  2. 23. Juli 2005
    Ganz klar das ist JAVA. Da braucht man echt nen großen "Wortschatz". Leute die JAVA ganz können sind sehr selten.

    Meine Ordnung wär.


    • * 1. Java
      * 2. c#/c++

    Natürlich ist Java nicht die beste, da man erst eine 15 MB Große Engine saugen muss um Java Programme starten zu können.

    Zu Asm: Wenn du wissen willst wie ein Computer denkt dann lerne ASM..
     
  3. 23. Juli 2005
    IMHO ist JAVA die mächtigste/beste
    Vorallem wegen dem Multiplatforming ;]

    dazu noch unzählige möglichkeiten.
    Dicht gefolgt von C/++/# würde ich sagen

    1.JAVA
    2.C Reihe
    3.Delphi
    ;]
     
  4. 23. Juli 2005
    Titel lautet: "Die mächtigste Programmiersprache"

    Eindeutig C/C++ (darunter fällt auch VC++ und VC++.NET). Java hat einige interessante Aspekte. Geht es aber um Performance und darum volle Kontrolle über seine Anwendungen zu haben, was wirkliche Macht über die eigenen Programme darstellt, kommt man um C++ nicht herum. Zudem ist die C++ STL einfach unerreicht. Die in Java kürzlich mit der 5.0 Version eingeführten Generics sind nur ein erster Schritt. Weit entfernt von den Möglichkeiten die einem C++ bietet.

    Nachteilig ist die enorme Komplexität, da allein die Einarbeitungszeit in die MFC Monate dauert. Und das trotz sehr guten Kenntnissen in C++.

    Selbst der kleine Bruder von C++, C wird immer noch für große Projekte verwendet. Der Linux Kernel, MySQL und die Sprache PHP sind in C geschrieben. Windows, Firefox, die komplette 3D Engine und Doom selbst sind in C/C++ geschrieben.

    De Facto ist es Tatsache das C/C++ in der Industrie als Standard für große Softwareprojekte verwendet wird. Sämtliche High-End Spiele und Anwendungen sind in dieser Sprache geschrieben. Und sie werden es auch weiterhin .

    C++ Rulezzz...

    cu
     
  5. 23. Juli 2005
    ich würd au sagen dass es eher java is, wobei c auch endlos gut is, hm, java is halt "einfach" und plattformunabhängig und deswegen is es auch so krass.
     
  6. 23. Juli 2005
    sagt alles!
     
  7. 23. Juli 2005
    Bin auch der Meinung das C++ die mächtigste ist. Denn man kann mit einer Sprache sozusagen alles Programmieren. Von einfachen DOS Anwendungen bis hin zu Direct3D oder OpenGL Spielen ist alles möglich. Einziger wirklich Vorteil von JAVA sehe ich in der Handyprogrammierung doch dort wird C++ in nächster Zeit sicher auch nachstoßen.

    Und ich kann mich irren ist Assembler nicht zur Chip Programmierung gedacht? Ich dachte das jedenfalls immer.
     
  8. 23. Juli 2005
    Nein, davon ist nicht auszugehen. Der ANSI Standard wird sicher noch vereinheitlicht, aber C++ ist aus den großen Entwicklungsjahren herausgewachsen. Java zielt auf eine andere Marktnische ab als C++ und ist bis auf die Entwicklung der generischen Programmierung auch am Ende der Entwicklung angekommen. Beide Sprachen haben ihre Existenzberechtigung. Mir persönlich gefallen beide Programmiersprachen. Jede hat sowohl Vorteile als auch Nachteile. Obwohl mir C/C++ besser gefallen.


    Assembler ist die hardwarenaheste Sprache die es gibt. Sie wird z.B. für die Programmierung von Steuer-Chips verwendet. Jedoch werden heute auch Mikrocontroller, die praktisch überall zu finden sind in C/C++ programmiert. Der Infineon C166 ist ein Beispiel dafür.

    Kommt es auf absolute Performance und spezielle mathematische Algorithmen an ist Assembler immer noch die Sprache. Jedoch ist diese sehr aufwendig, nicht schwierig, aber aufwendig. Selbst für kleine Projekte ist der Code extrem lang.

    Letztlich ist ASM noch für Cracker interessant. Sie zerlegen das kompilierte Programm auf Hexcodeebene wodurch sie praktisch jedes Programm knacken können. Ist oft bloß eine Frage der Zeit und des Wissens.

    Einfach nochmal meine Postings lesen ! C/C++ sind ebenfalls plattformunabhängig solange bestimmte Regeln eingehalten werden.
    Dazu vielleicht noch ein Auszug aus Wikipedia:

    cu
     
  9. 23. Juli 2005
    Jeder Kernel eines Betriebssystems ist in ASM geschrieben, auch der Windows-Kernel. Mit C++ kann man gar nich so hardwarnah programmieren.

    Die GUI ist dann in C++ geschrieben

    Achja: Ich denke die C-reihe ist die mächtigste Sprache, vor allem C#
     
  10. 23. Juli 2005
    FALSCH! Sowohl der Linux als auch der Windows Kernel sind in C geschrieben! Siehe Wikipedia EN

    Wie ich schrieb sind Prozesse bei denen spezielle Algorithmen durchlaufen werden in ASM geschreiben. Einige Routinen des Kernels werden sicher in ASM geschrieben sein. Jeder C/C++ Programmierer verwendet den sogenannten Inline Asembler. Der MD4 Hashalgorithmus im eMule ist ebenfalls so programmiert.

    Die GUI in C++??? C ist eine Untermenge von C++. Firefox ist in C++ geschrieben, geanu wie alle anderen großen Anwendungen. Sowohl die GUI als auch der CORE!

    Wenn man keine Ahnung hat...

    cu
     
  11. 25. Juli 2005
    JAVA ROCKT!!!
    Ich muss mich hier mal als Java-Anhänger outen.. Java ist von den Möglichkeiten meiner Meinung nach am Besten.. Nachteile von Java sind z.B. das man nicht auf die Hardware zugreifen kann, dass kann man aber dann wieder ausbügeln, da man C++-Dlls laden kann (und da kann dann auch Assembler Code drin sein ).
    Den größten Vorteil von Java sehe ich aber in der Grafik. Ich finde die ist wesentlich intuitiver als die bei C++. Ich hab das bei C++ immer noch nicht geblickt wie das läuft.. (Wenn mit jemand erklären möchte wie das geht -> PM an mich -> Vor allem die Frage: Kann man das Layout von Fenstern während der Laufzeit verändern? Oder braucht man immer Ressourcen?)
    Das ist in Java gut gelöst.. einfach fenster.add(button) und dann packt der da einen Button hin

    Natürlich ist Assembler und C++ wesentlich schneller aber ich bin trotzdem von Java überzeugt
     
  12. 26. Juli 2005
    So, dann werde ich auch mal meinen Senf dazugeben

    Anscheinend fristet Assembler immer noch sein Leben als unantastbarer Mhytos ^^

    keine Schwein in der normalen Computerwelt schreibt heute mehr ASM Programme von Hand! Ist ja auch vollkommen unnütz, da der Compiler die Hochsprache (C++, VB,etc.) ja eh für mich in ASM übersetzt. Direkte ASM Programmierung wird da nur noch zur Performancesteigerung an Bottle-Necks benutzt.

    Java ist schon ne feine Sache, einfach, bequem usw.
    Aber keiner kann mir sagen Java ist geil aber C braucht doch keiner.
    Schaut euch z.b. in der Java Doku die mathematischen Bibliotheken an und geht in deren Funktionsimplementierung: und siehe da, was steht da: "included in native c" 8o

    ich denke C insgesamt (C,C++,C#...) ist eine gute und sehr mächtige Sprache, allerdings haben die sich mit ihren Konzepten teilweise selbst versucht "elitär" zu machen, wenn man sieht, was da schon alles für Spagetti-Code raus gekommen ist mit 80.000 Zeigern und so weiter, aber viele dieser Konzepte wurden ja in C# vereinfacht bzw. abgeschafft.

    Ich denke es gibt nicht "die" Programmiersprache! Es ist immer vom Programm abhängig. Wenn du möglichst flexibel bei Plattformen etc. sein willst und eine normale Anwendung schreibst, benutzt du halt Java. Geht es um Systemnahe oder leistungsorientierte Programmierung z.b. Treiber nimmste halt C usw usw...
     
  13. 26. Juli 2005
    Hast du schonmal probiert einen kleines Betriebssystem zu schreiben...Ganz einfach muss nicht viel können und reicht auch ein Kommandozeilen Betriebssystem.

    Das Grundgerüst ist/muss auf alle Fälle in ASM geschrieben sein, da es sonst der PC beim booten etc. nicht wüsste was er machen soll. Der PC kann doch nicht einfach so eine Hochsprache verstehen und verarbeiten. Wäre doch so, als wenn deine Eltern beide Deutsche sind, die die ganze Zeit deutsch sprechen und deine ersten Wörter und Sätze auf Englisch sind.

    Es kann schon sein das Kernel in C++ geschrieben ist, aber das Grundgerüst ist auf alle Fälle in ASM.

    Zurück zum Thema ASM ist meiner Meinung nach die mächtigste Programmiersprache "der Welt"^^
    Man kann so Systemnah und genau programmieren wie keiner anderen Sprache. Außerdem hat man die geringsten Performanceverluste durch das Systemnahe programmieren und man kann damit die kleinsten kompilierten EXE-Dateien mit dem größten nutzen erstellen, oder habt ihr schonmal ne richtig geile 10min 64k-Demo in C++ oder sonst wo gesehen...?!?

    Das würde ich nicht so sehen. In der Crackerwelt wird fast nur ASM geschrieben (Keygens, Cracks, Unpacker, Packer,...). Na gut hat zwar auch den Sinn das bei ner dekompilierten EXE immer der ASM Code vor einem liegt und man ihn nur noch benutzen muss und nicht erst in eine Hochsprache umsetzten muss, aber trotzdem verwende ich für kleine Tools auch lieber ASM da die Performance steigt. Ich kenne viele Leute die fast nur ASM programmieren von daher ist ASM noch längst nicht ausgestorben.

    Mächtigste Sprachen:
    - ASM
    - Java
    - C/C++


    PS: Ich als Delphi-Freak muss leider zugeben, dass Delphi kaum Chancen hat jemals die "mächtigeste" Sprache zu werden, da sie...

    1. ...nicht von Microsoft ist und daher nie sehr Systemnah sein wird und immer eine Version später die neusten Funktionen beinhalten wird, die die Microsoftprodukte schon eine Version vorher "können"
    2. ...einfach so konzipiert ist, dass es zu viele Einschränkung gibt
     
  14. 26. Juli 2005
    C# ist etwas ganz anderes. Es beruht wie Java auf sogenanten managed Code, nämlich dem .NET Framework. C/C++ ist eine Sprache die nach ASM entwickelt wurde und schon insgesamt über 20 Jahre existiert. Sie ist ebenfalls sehr hardwarenah wie ASM und deshalb in der Industrie und überhaupt überall das A und O.

    Ich finde es immer wieder lustig wie über Zeiger gesprochen wird. Zeiger sind Adressen im Speicher. Wenn du in Java ein Array deklarierst arbeitet die JVM ebenfalls mit Pointern, aslo der Addresse des Array's. Das ist nunmal die Funktionsweise eines Computers. Nur weil in C# und Java dem Benutzer Zeiger verwehrt werden, weil man verhindern will das Computerunerfahrene eben solchen Spaghetticode produzieren, ist es dennoch so dass das Arbeiten mit Zeigern das effizienteste überhaupt ist. Leider fängt heute jeder an zu programmieren ohne überhaupt irgendetwas vom Neumann Rechenmodell oder dem Steuer- bzw. Rechenwerk gehört zu haben. Geschweige den überhaupt zu wissen wie ein Rechner arbeitet. Das und nicht die Zeiger ist das Problem!

    Beim ersten Statement kann ich dir zustimmen. Es gibt nicht die Programmiersprache. Aber es ist nicht vom Programm abhängig, sondern von den Anforderungen. Niemand wird ein Newsscript für das Internet in C/C++ programmieren. Dafür braucht man in Java wenige Codezeilen während es in C/C++ wesentlich aufwendiger ist.

    Plattformabhängigkeit wird auch immer wieder angeführt. Um es nochmal zu sagen. Mit C/C++ kann man auch plattformunabhängig programmieren. Siehe QT oder OpenGL.


    Tut mir leid. Ich galube du verstehst selber nicht was du schreibst. Der Computer verwendet keinen C/C++ Code beim starten. Und auch keinen ASM Code! Er verarbeitet Binärcode (Hexadezimalcode) - Transistor an, Transistor aus. Kapiert?!

    Sowohl Assembler als auch C/C++ und auch jede andere Programiersprache wird in diese Maschinensprache umgewandelt. Es ist einzig und allein vom Compiler abhängig wie effizient er das macht. Oder kompilierst du deinen ASM Code nicht?

    Die C/C++ Compiler sind heute schon sehr sehr gut und produzieren guten Maschinencode. Dennoch gibt es Routinen in denen ASM Code von Vorteil ist, eben weil der Compiler dort nicht so gut ist und ASM Code besser übersetzt wird.

    Wie du siehst macht dein obiger Satz deshalb überhaupt keinen Sinn!

    Langsam verstehst du es glaube ich . Beim Dekompilieren von Programmen, gibt es einfach keinen Dekompiler der aus Maschinencode wieder eine Hochsprache erzeugen kann. Selbst für viele Programmierer ist es schwer guten Code in einer Hochsprache zu schreiben. Es gibt Ansätze für Dekompiler die einige Sätze C Code produzieren können, aber auf einen richtigen Dekompiler der wieder eine Hochprache erzeugt wird man noch einige Jahre warten können. Deshalb wird ASM unter anderem von Crackern verwendet. Und in dem Punkt stimme ich dir aus den oben von mir gennanten Gründen voll zu. ASM wird auch in Zukunt nicht wegzudenken sein.

    Wie du siehst ergibt sich nur eine realle Reihenfolge wenn man nach den mächtigsten Programmiersprachen frägt!

    1. Maschinencode (kann leider so gut wie niemand)
    2. Assembler
    3. Fortran für Nummerik
    4. C/C++
    5. Java, C# ... (alle interpretierten Sprachen)

    Ich habe fertig
     
  15. 29. Juli 2005
    C find ich auch obwohl das nicht davon abhängt was man damit machen kann. Denn da kann Java genauso viel. C hat vor allem den Vorteil der Geschwindigkeit es gibt keine Dinge wo Java schneller als C ist und kaum welche wo in etwa gleice erreicht wird. Der angesprochene Vorteil der Plattformunabhängigkeit ist natürlich klar auf java-Seite da es darin nicht nur um Windows-Linux etc geht. Wenn deine waschmaschine nen jre hat kannte das Java-Programm ja auch auf deiner Waschmaschine laufen lassen
     
  16. 29. Juli 2005
    die wohl mächtigste is java, allerdings kannst mit c in verbindung mit assembler mehr lustige sachen anstellen. man bedenke, dass fast alle exploits in c/assembler gecodet sind
     
  17. 29. Juli 2005
    Warum?
     
  18. 29. Juli 2005
    weil se sehr umfangreich is und übelst viele funktionen hat, dass sich keiner mehr auskennt ^^ gibt auch nur wenige, die das richtig gut können.
     
  19. 29. Juli 2005
    Hmm, ist nicht C++ mit seinen unzähligen Klassenbibliotheken inklusive der STL die Programmiersprache die die meisten Funktionen bereitstellt?! .

    Zumindest ist das der entscheidende Grund warum C++ von den großen Herstellern favorisiert wird. Der Codebestand ist dermaßen riesig, genau wie die generischen Funktionen, das Java wohl noch eine Weile brauchen wird um das aufzuholen. :]

    PS: Mir persönlich gefällt Java wegen der einfachen klar strukturierten Syntax und der echten Plattformunabhängigkeit. Die Sprache ist verhältnissmäßig leicht zu erlernen. Die Funktionen muss man nicht alle kennen. Schließlich gibt es dafür Bibliotheken...

    cu
     
  20. 29. Juli 2005
    java ist zwar schön, das es relativ plattformunabhängig ist (auch nur relativ, ohne die sun progs läuft auch kein java) aber ich finde das ist sehr ressourcenlastig..

    wenn ich mit simplen programmen schon einige ressourcen aufbrauche will ich garnet wissen wies dann mit komplexen sachen aussieht :O

    aber java is schon toll ;D
     
  21. 29. Juli 2005
    obwohl ich relativ wenig ahnung vom thema habe(nqc rulet, jaa legoroboter) möchte ich nur mal erwähnen, dass wikipedia, meines erachtens, nicht 100%ig glauben zu ist, da es keine kontrollen von mitarbeitern mit der nötigen fachkompetenz gibt. jeder kann was eintragen.
    wenn ich falsch liege: beweise
     
  22. 29. Juli 2005
    @iKan

    das scheint anscheinend jeder hier zu denken, obwohl anscheinend nicht viele die Definition des Wortes "mächtig" in diesem Zusammenhang kennen! ASM ist NICHT mächtig...ganz und gar nicht! ABER natürlich kann man jeden Befehl in Maschinensprache darstellen (muss ja, anders gehts gar nicht) aber ein einziger C Befehl kann dann locker 10 ASM Befehle beinhalten...
    Außer bei Intel...die hauen mit einer neuen Prozessorversion 100 neue Befehle raus *rofl*

    Von Stefan_$:
    "Tut mir leid. Ich galube du verstehst selber nicht was du schreibst. Der Computer verwendet keinen C/C++ Code beim starten. Und auch keinen ASM Code! Er verarbeitet Binärcode (Hexadezimalcode) - Transistor an, Transistor aus. Kapiert?!"

    1. Wenn du schon so penibel bist, dann sag mir mal wie ich einen Transistor "an" und "aus" schalte?

    2. Hexadezimalcode <-- welche CPU kann denn bitte mit HEX arbeiten?

    3. Die CPU verarbeitet direkt ASM Befehle! Das diese schon alleine durch die Möglichkeiten der Speicherung binär übersetzt werden ist vollkommen klar. das diese Befehle nicht binär sind, liegt daran, dass es für den Menschen schlecht zu verstehen und merken ist, aber sie werden 1 zu 1 übersetzt und von der Dekodiereinheit interpretiert!
     
  23. 30. Juli 2005
    Das hat nichts mit penibel sein zu tun, sondern mit Tatsachen. Ich kann Dinge einfach nicht stehen lassen wenn sie nicht der Wahrheit entsprechen. Es gibt so manche Foren in denen laufen Leute rum die erzählen Geschichten die selbst den Gebrüdern Grimm nicht eingefallen wären. Auf dem Gulli Board oder auf CodeGuru werden solche Desinformations Postings sofort gelöscht. Damit meine ich jetzt aber nicht deine Postings. Nicht dass du das falsch verstehst. Nun aber zu deinen Punkten, ...

    zu 1: Du bist ein cleveres Kerlchen. Ich denke du weißt wie ein Transistor geschalten wird, und ich weiß es auch, schließlich hatte ich erst vor 2 Wochen eine Prüfung über Feldeffekt- und Bipolartransistoren

    zu 2: Jeder Mikroprozessor, speziell die komplexen CPU's, besitzen ihren eigenen sogenannten Befehlssatz und auch ihre eigene Maschinensprache. Bei Intel kannst du dir für jede CPU den Befehlssatz herunterladen.

    Dieser Befehlssatz und die daraus resultierenden Instruktionen werden normalerweise Hexadezimal angegeben. Also 4Ah was Binär 1001010 entspricht. Mittels Hexcode wird also die CPU Kodierungstabelle direkt angesprochen. Und genau das, und keinen Assemblercode verarbeitet der Prozessor.

    zu 3: Nö, wie ich schrieb verarbeitet der Prozessor kein ASM. Es sieht vielleicht auf den ersten Blick wie ASM aus, aber das ist es nicht! Warum? Ganz einfach. Im Gegensatz zu ASM besitzt die Machinensprache keine Strings. Sie besteht nur aus Binäranweisungen.
    Wenn der Prozessor reinen ASM Code verarbeiten würde, wieso muß ASM Code dann noch kompiliert werden?

    Die ASM ähnlichen Instruktionen werden im Prozessor in 4 Phasen zerlegt. Zuerst wird der Instruktionscode einschließlich aller Operanden geladen. Normalerweise geschieht das in einem Takt. Dann wird noch vor dem Dekodierungsprozess ein Predecode durchgeführt und der Befehl in ein einheitliches Befehlsformat gebracht. Erst dann kommt die von dir genannte Dekodiereinheit, wandelt die Instruktionen, lädt sie in die internen Register und nimmt gegebenenfalls weitere Zerlegungschritte vor. Anschließend erfolgt das Executen und Memory Loaden sowie letztenendes das zurückschrieben in die Zielregister.

    Das hat mit ASM gar nichts zu tun. Und das Maschinencode vom Menschen nicht lesbar ist, hatt ich auch schon geschrieben. 1 zu 1 wird Assembler jedenfalls nicht übersetzt, sonst wäre der MASM für die x86 ja nur ein Fake Programm genau wie alle anderen ASM Compiler. Und irgendwie mag ich nicht so recht daran glauben, zumal die kompilierte Datei ein wenig anders als der ASM Source aussieht

    Gruß
    Stefan
     
  24. 30. Juli 2005
    mächtigste: c / c++
    die schönste (wenn auch nicht ganz pr.spr.): php+html
    gefährlichste: visual basic
    achtung script kiddies (auch vbscript)
     
  25. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.