Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Programmiersprachen Vor-/Nachteile & Vorurteile

Diskussion: Programmiersprachen Vor-/Nachteile & Vorurteile im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo Leute, als ich vor geraumer Zeit so in den Threads stöberte fingen meine kleinen Grauen Zellen an zu ...

Antwort
Alt 01.02.05, 19:17   #1 (permalink)
Schlaflos
Guest
 
Likes:
Post Programmiersprachen Vor-/Nachteile & Vorurteile

Anzeige

Hallo Leute,

als ich vor geraumer Zeit so in den Threads stöberte fingen meine kleinen Grauen Zellen an zu arbeiten und dabei ist mir so einiges sauer aufgestoßen:

Einige hier sind ganz gewiss sehr fit was das Programmiertechnische angeht, das macht aber die Unwissenheit über Alternativen wieder wett. Soweit ich es mitbekommen habe ist der Großteil hier doch schon sehr vernarrt in C++. Die Frage warum dies so ist bleibe zumindest ich selbst mir nicht schuldig.

Da ich selber Programmierer bin sehe ich nun ein das man bei Hardware naher Programmierung um Sprachen wie Assembler, aber vor allen Dingen auch C bzw. C++ nicht herum kommt. Doch heutzutage ist C++ bei weitem nicht mehr zwangsläufig das non plus ultra in Sachen moderner Programmiersprache.

Hier gehen vor allen Dingen andere Sprachen wie C# und Java allen anderen voran, welche Sprachelemente hier nun in wie weit voneinander abgekupfert sind sei mal total dahingestellt. Dieser Thread soll nicht dem Kampf Borland vs. Microsoft oder Sun vs. Microsoft dienen.

Gerade in der heutigen Zeit mit immer mehr Rechenleistung werden virtuelle Maschinen wohl immer bedeutungsvoller da der Code bzw. die Sicherheit des selbigen hier doch ganz anders umgesetzt wird. Gerade mit ManagedDirect X hat Microsoft diesmal einen großen Schritt getan, aber auch die neuen alternativen IO Klassen in Java zeigen große Vorzüge auf, vor allen Dingen in Sachen Geschwindigkeit.

Nun ist es ja nun so das viele hier immer noch der Meinung sind das C++ der unangefochtene Herrscher der Ausführungsgeschwindigkeit bei Programmen ist. Das aber gerade dem nicht so ist sind sich die meisten nicht bewusst.

Ich stellte mir die Frage wieso das so ist. Der eigentliche Grund der mir dazu einviel war der Folgende:
Bis heute gibt es wohl kein nennenswerters Spiel mit state of the art 3D Optik das in einem C# oder gar Java geschrieben wurde. Daraus resultiert wohl schnell das Vorurteil das diese Sprachen für eine solche Mammutanwendung schlicht zu langsam sind. Dabei geht es doch nur um Hardwarezugriffe die gerade nur oder besonders gut in C++ oder anderen niederen (obgleich C++ schon eine Hochsprache ist) Sprachen möglich sind.

Wie ich es bereits einmal in einem anderen Thread angeschnitten habe sind Sprachen die in virtuellen Maschinen ablaufen heute durchaus in bestimmten Anwendungsszenarien sehr viel schneller als native Sprachen.

Wieso ist das so? Nun, das liegt ja nun vor allem daran das die nativen Sprachen schon ein paar Jahre auf dem Buckel haben. Gerade C++ ist ja auch "nur" eine Hybride sprache und halt nunmal keine "echte" objektorientierte Sprache.

Lieblinge und Vorurteile hin oder her: Es ist es nunmal absolut bewiesen das Sprachen wie C# oder Java durchaus schneller sein können als native Anwendungen. Es gibt in mehr als einem Fachmagazin dazu immer wieder mal Benchmarks in bestimmten Zeitabständen.

Ein beliebtes Beispiel war schon immer und bleibt es auch heute noch das sortieren einer Liste. Hier wurden vor längerer Zeit mal ein paar Messungen gemacht. Das Programm wurde soweit es jede Sprache erlaubte komplett objektorientiert umgesetzt und siehe da: tatsächlich waren Delphi und C++ um längen langsamer als Java. Allen voran Stand C# an der Spitze.

Das lag nun daran das hier keine Hardwarezugriffe nötig waren und dies ist auch gerade in Unternehmensapplikation meist der Fall wo diese Sprachen heute kaum noch wegzudenken sind.

Ich selber habe bereits Erfahrungen mit Applikationsservern und verteilten Objekten sammeln dürfen (Enterprise Java Beans), kann dies also nur aus eigener Erfahrung bestätigen.

Gerade Sprachen von denen man es nicht erahnt bergen oft ungeahntes Potenzial. Das schwarze Schaaf bleibt definitv Java. Zum einen mag die Namensgebung Leute irritieren, Java ist und bleibt halt ewig etwas anderes als JavsScript und man kann damit weitaus mehr machen. Ebenfalls mehr als nur Applets in Websiten einzubetten. Die Performance und Möglichkeiten von Java an Applets zu messen wäre das selbe als würde man etwa C++ auf ActiveX Steuerelemente reduzieren.

Zum anderen leidet diese Sprache noch heute an Performance Problemen neuerer Bibliotheken, SWT/Swing allen voran.

Dabei stellt Sun schon seit Ewigkeiten andere Alternativen bereit.

Die Verwendung des Abstract Window Toolkit. Nagut, zugegeben, hier schwindet Schönheit zu gunsten von Performance, aber was jeder einzelne nun aus diesen Möglichkeiten herausholt ist eine andere Sache.

Zudem steigert die Verwendung von StringBuffer anstelle von String die Geschwindigkeit enorm.

Andere Tricks die sich auch übertragen lassen sind Konstrukte wie:

Code:
for(int i = 0; ; i++){
try{
// etwas tun
} catch(ArrayIndexOutOfBoundsException e){
// Ausnahme verarbeiten
}
}
Nun ist diese Art der Programmierung bei vielen Leuten verpöhnt, mag dies doch nicht die elegante Art und Weise sein eine Schleife zu beenden. Dies rührt daher das sie entweder die Lesbarkeit nicht annehmen oder aber eine Exception immernoch mit Fehlern in Verbindung bringen. Dabei ist dies ja gerade nicht der Fall. Exceptions sind Ausnahmen die eine weitere Verarbeitung in bestimmten Situation ermöglichen, so wie in obigen Beispiel.

Durch verzicht auf die Abbruchbedingungbedingung muss nicht jedesmal geprüft werden ob jene erreicht ist, was Ausführungszeit spart. Der Einstieg in den try Block kostet ebenfalls keine Zeit, lediglich der Einstieg in den catch Block wird einmalig zur Last.


Lange Rede, kurzer Sinn: Wie steht ihr zu all diesen Fragen? C++ oder Java? PHP oder JSP? Oder doch liebe etwas ganz anderes? Warum ist das bei euch so? Keine Erfahrung mit alternativen Sprachen? Keine Zeit in diese reinzuschnuppern oder nur schlichte Vorurteile?

Los gehts

P.S.: Das ich sehr viele Beispiele gebe anhand von Java liegt hauptsächlich daran das ich diese Sprache heute nicht mehr hergeben möchte. Ich habe selber lange Zeit viel in C++ gemacht, bin dann aber irgendwann ausgestiegen. Das heißt ganz und gar nicht das ich diese Sprachen irgendwie miteinander in Konkurrenz stelle. Es hat lange persönliche Gründe.
  Mit Zitat antworten
Alt 01.02.05, 21:54   #2 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

also wenn ich irgendwas für mich selber programmiere, dann nutze ich entweder java oder C# (letzteres meistens für GUI sachen). diese sprachen sind echt klasse.
Kann nich schaden wenn man C++ kann, aber freiwillig mach ich damit gar nichts.

das liegt daran dass man mit C/C++ viel zu schnell fehler macht, die bei java/c# gar nicht möglich sind (keine zeiger, typensicherheit). außerdem stört mich bei C/C++ diese ganze header geschichte und die vorwärtsdeklarationen.
desweiteren kann man bei java/c# aufgrund eines vernünftigen package-systems, auch als anfänger leicht die benötigten klassen und funktionen finden ohne erst groß suchen zu müssen welche library ich benötige, denn die packages sind hierarchisch aufgebaut und haben vernünftige namen (bei c# besser als bei java). es gibt halt viele sachen, die einem den programmierer alltag enorm erleichtern.
kurz gesagt komm ich mit java/c# schneller, sicherer und einfacher ans ziel als mit C/C++.

zum thema geschwindigkeit: das starten der programme und der damit verbundenen virtual machine, dauert natürlich länger als bei nativen anwendungen. sobald die programme aber laufen ist kaum ein geschwindigkeitsunterschied zu merken (wenn man wie du schon sagst, bei java zB auf sachen wie string/stringbuffer achtet oder nicht gerade swing benutzt). das haben die benchmarks mit der JVM 1.5 ja auch gezeigt, wo java teillweise sogar schneller als c++ war.

zu der 3d geschichte:
es gibt ne firma die haben quake2 auf c++ .net portiert (ohne performanceeinbusen).
Zitat:
Now, in July 2003, Vertigo Software, Inc. is releasing Quake II .NET, a port of the C-language based engine to Visual C++ with a .NET managed heads-up display. We did this to illustrate a point: one can easily port a large amount of C code to C++, and then run the whole application as a managed .NET application using the Microsoft Common Language Runtime (CLR) without noticeable performance delays.
http://www.vertigosoftware.com/Quake2.htm
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 02.02.05, 20:35   #3 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von ivegotmail
zum thema geschwindigkeit: das starten der programme und der damit verbundenen virtual machine, dauert natürlich länger als bei nativen anwendungen. sobald die programme aber laufen ist kaum ein geschwindigkeitsunterschied zu merken (wenn man wie du schon sagst, bei java zB auf sachen wie string/stringbuffer achtet oder nicht gerade swing benutzt). das haben die benchmarks mit der JVM 1.5 ja auch gezeigt, wo java teillweise sogar schneller als c++ war.
wo bleiben die 3d games, datenbanken, webserver, betriebsysteme...in java? HIER kommt es wirklich auf speed an...solange es solche software nicht in java gibt, glaube ich immer noch nicht an die obige aussage......getrue nach dem motto "traue keiner statistik/test welche du nicht selbst gefaelscht hast"
bei java wird der bytecode interpretiert, dieser kann niemals schneller sein als eine native anwendung (da eine zwischenschicht, welche das ganze langsam macht existiert)....es sei denn, der c code wurde schlecht programiert bzw der compiler kommt damit nicht zurecht.

Zitat:
Original von ivegotmail
zu der 3d geschichte:
es gibt ne firma die haben quake2 auf c++ .net portiert (ohne performanceeinbusen).
ist ja auch kein wunder, da jeder rechner heutzutage dies mit dem kleinen finger macht.

also ich selbst arbeite eigentlich mit php. jedoch gibt es zig sachen welche mich an dieser scriptsprache nerven....aber eben es ist und bleibt eine SCRIPTSPRACHE mit all den nachteilen welche so eine sprache meist hat.
java sollte ich eigentlich momentan in der schule lernen....gefaellt mir von a bis z ueberhaupt nicht....man haette denken koennen, dass die schlauer geworden sind als bei c/c++ aber nein, sie haben nochmals ein gebastel kreiert, welche KEINEN DURCHGEHENDEN klar strukturierten aufbau hat. man sieht an diversen orten, dass gewisse sachen in das objektorientierte 'hineinvergewaltigt' wurden.
ok bei c ist das nicht anders, jedoch ist c ein 'wenig' aelter als java und bei c++ haben sie den murks gemacht, dass der ganze c teil nicht weggestrichen werden konnte/durfte (bzw aus welchen gruenden das auch immer nicht gemacht wurde).
was man aber leider nicht abstreiten kann ist, dass man mit java vielfach schneller am ziehl ist.

c# ist fuer mich schon aus dem grund unbrauchbar, da man auf ms-produkte angewiesen ist. (ja da gibts mono...)


zusammenfassung: es gibt in meinen augen noch keine wirklich schlaue programiersprache....zur zeit bin ich bei den webanwendungen mit php5 mehr oder weniger gluecklich. sofern ich was fuer ein system schreibe ist das in c/c++ (unter unix ist c der quasi standard)
soox ist offline   Mit Zitat antworten
Alt 03.02.05, 10:32   #4 (permalink)
Schlaflos
Guest
 
Likes:
Standard

Hallo soox,

das ganze hört sich sehr aufgebracht an. Deshalb solten wir wieder etwas runterkommen und sachlich bleiben.

Zitat:
wo bleiben die 3d games, datenbanken, webserver, betriebsysteme...in java? HIER kommt es wirklich auf speed an...solange es solche software nicht in java gibt, glaube ich immer noch nicht an die obige aussage......getrue nach dem motto "traue keiner statistik/test welche du nicht selbst gefaelscht hast"
Da hast du natürlich recht. Aber wieso sollten mehrere voneinander total unabhängige Zeitschriften Benchmarks fälschen? Es ist nunmal Tatsache das rein objektorientierte Sprachen die eben in Programmen die man aus solchen Elementen zusammensetzen kann sehr viel schneller sind.

Die Frage mit den 3D Games kannst du Dir beantworten, genau wie die mit den Betriebssystemen. Java oder C# beherrschen solche Hardwarezugriffe nun einmal nicht und sind gänzlich unbrauchbar für diesen Zweck.

Zumal mit zunehmender Geschwindigkeit der CPUs das interpretieren des Bytecode "FAST" keine Unterschiede mehr macht. Sei es auch noch lange nicht so weit, der Trend geht alleine schon in Sachen Codesicherheit zu interpretierten Sprachen.

Eine Datenbank in Java hätten wir und sie schloss in Benchmarks ebenfalls als eine der schnellsten ab: http://www.developer.com/db/print.php/629261

Zitat:
was man aber leider nicht abstreiten kann ist, dass man mit java vielfach schneller am ziehl ist.
An dem "leider" in diesem Satz erkennt man ja schon das du nur Vorurteile hast. Ich hoffte man könnte die Leute hiermit anregen auch mal andere Sachen zu probieren oder sich schlau zu machen.

Wenn dies Deine persönliche Meinung ist, nagut. Schade ist es trotzalledem.

Wo bleiben die anderen. Das kann doch noch nicht alles sein? Wer traut sich?
  Mit Zitat antworten
Alt 03.02.05, 16:08   #5 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard

sorry...wegen dem 'aufgebracht'....war gestern gerade nach ner java vorlesung (und heute gerade eben wieder).
das mit dem leider ist falsch ruebergekommen....sollte eigentlich bedeuten, dass die anderen sprachen leider noch einiges an nachholbedarf haben.


wuerde gerne den benchmakr mit der datenbank sehen...weil im text eigentlich genau das gegenteil den anschein macht
Zitat:
Don't throw away your Oracle, DB2, Sybase, or SQL Server, however. For all its qualities, Hypersonic SQL is not multithreaded so it is not appropriate for server-side developments. Also, it is limited to a subset of SQL (most notably, no foreign keys). Perhaps more significantly, it lacks the backup and management tools required for mission-critical applications.


To summarize, Hypersonic SQL is well adapted for standalone desktop applications written in Java. It is also useful for testing and prototyping. The Web site further recommends using it with databases stored on CD-ROMs, although I have not tested this feature. I think it may also be useful for embedded applications.
meine interpretation aus diesem textabschnit.
1. logisch funktioniert das ganze doppelt so schnell mit einem kleinen anteil an features (siehe myisam).
2. es ist nicht multithreaded, was schon bedeuted, dass sehr sehr ausgekluegelten code braucht, um mit anderen systemen mitzuhalten (sofern sie schlau programiert sind).
3. es ist auf desktop systeme optimiert, was unter server bedingungen UNBRAUCHBAR bedeuted.


zu den tests...(hab leider noch keinen link von euch gesehen)....als desktop sprache, glaube ich euch schon, dass es den anschein macht, dass eine c applikation nicht schneller ist. aber bei solcher software wird meist auf user anweisungen gewartet, und somit nicht wirklich die ganze zeit gerechnet.
soox ist offline   Mit Zitat antworten
Alt 04.02.05, 09:50   #6 (permalink)
Schlaflos
Guest
 
Likes:
Standard

Zitat:
2. es ist nicht multithreaded, was schon bedeuted, dass sehr sehr ausgekluegelten code braucht, um mit anderen systemen mitzuhalten (sofern sie schlau programiert sind).
Das stimmt schon. Ich habe gestern beim posten auch nach den Benchmarks gesucht, aber nicht gefunden. Bei dem Benchmark ging es aber um die Zusammenarbeit mit dem JBoss Application Server bei dem Hypersonic SQL seit geraumer Zeit fest integriert. Nur in diesem Zusammenspiel kann die Datenbank andere Datenbanken wie Sybase sogar übertrumpfen. Wie sie sich aber schlägt wenn eine Applikation "gewöhnlich" darauf aufsetzt kann ich nicht beurteilen.
  Mit Zitat antworten
Alt 20.05.07, 18:01   #7 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Hallo.Ich kann "leider" nur java.Ich möchte in letzter Zeit viele mathematischen Sachen machen.
Aus diesem Grund eine Menge fragen:
Eigentlich wollte ich deshalb C++ umsteigen.Jetzt lese ich aber das.Meinem Anschein nach ist Java aber eben nur bei Objektorientierung schnelller.Aber wie sieht es mit einfachen, aber zeitintensiven Programmen aus (wie zB ein MandelBrot Fraktal oä).Ist java da nicht eher langsamer als andere Sprachen ?Und das mit dem Interpretieren- braucht das wirklich fast keine Zeit ? Und Kompilieren JIT Compiler nicht ohnehin alles Beim Start ?Achja, zu allem Überfluss: Ist in Java 6 schon ein JIT Compiler enthalten, oder muss man sich den erst zusätzlich holen ?
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 20.05.07, 18:30   #8 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
also Java kann man bei solchen Sachen eigentlich vergessen. Wenn es an das "Hochleistungsrechnen" geht, sollte man entweder C (C++) oder Assembler können.

Bsp: Mit C# (recht ähnlich wie Java, aber mit JIT anstatt Interpreter) habe ich es geschafft, ca. 400 000 mal pro Sekunde einen MD5-Hash zu berechnen. Mit einer C-Version davon komm ich auf ca. 3,4 Millionen Hashs/Sekunde (wobei MdCrack z.B. 7,4 Mio./Sec auf diesem PC schafft).


Wenn du also sehr aufwendige Rechnungen hast, oder irgendwelche Simulationen durchführen musst, sollte dies schon in C/C++/Assembler passieren.

Da aber ein Programm die CPU nur recht selten zu 100% auslastet, merkt man bei normalen Programmen (z.B. Email Clients, Browser, etc) keinen Unterschied zwischen Java und C.
Elderan ist offline   Mit Zitat antworten
Alt 20.05.07, 20:18   #9 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Wenn es gerade um MD5 geht, so entsinne ich mich an eine MASM Implementierung, die den "Referenz C-Code" um Faktor 10 schlug (auch wenn es nicht mehr wirklich verfügbar ist )http://www.asmcommunity.net/board/in...?topic=19976.0

Allerdings hat man dann mit steigender Optimierung das Problem, dass es immer aufwändiger und plattformabhängiger wird. Und eine simple Rechnung wie
r:=Round(128.0 + 127 * sin(3.1415 * i / 32.0));
g:=Round(128.0 + 127 * sin(3.1415 * i / 64.0));
b:=Round(128.0 + 127 * sin(3.1415 * i / 128.0)) ;
palette[i]:=b*$10000+g*$100+r;
(Plasma-muster ) in Asm erstmal umzusetzen ist kein Spass - vor allem wenn man mit den Parametern spielen möchte, um verschiedene Auswirkungen zu sehen.

Anderseits, wenn man schnell eine Netzwerkgeschichte testen möchte oder eine größere Rechnung, möchte ich persönlich Java (mit den Netzwerkmodulen und "3 Zeilen Code - schon habe ich einen HTTPS Clien/SSL Verbindung " oder den ganzen BigInteger Klassen) einfach nicht missen. Sowas in C/Asm umzusetzen ist eine Qual. Und imho wird die Perfomancefrage oft überschätzt. Wenn ich z.B auf die aktuelle c't DVD schaue, so sehe doch recht viele Java-Programme, manche auch Video/Audio/Serverbereich (Server für PDA oder sowas ähnliches ). Dass jetzt niemand einer Oracledatenbank mit Java konkurenz macht, könnte auch daran liegen, dass es keinen Sinn macht. Oftmals wird zwar die Perfomance von C++ hochgelobt - gebraucht wird sie aber nur selten.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 21.05.07, 16:39   #10 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Gut zu wissen.Hab jetzt noch zusätzlich ein paar Fragen:

WIe sieht es mit Java Compilern aus ? Kompilierte Programme sollten doch um einiges schneller sein, oder ? Und weiß jemand einen (guten) Java Compiler ?
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 21.05.07, 17:13   #11 (permalink)
 
Registriert seit: 11.02.07
dietox Leistung: Facit NTK
dietox eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von pi()
Gut zu wissen.Hab jetzt noch zusätzlich ein paar Fragen:

WIe sieht es mit Java Compilern aus ? Kompilierte Programme sollten doch um einiges schneller sein, oder ? Und weiß jemand einen (guten) Java Compiler ?
http://sourceforge.net/search/?type_...=Java+Compiler
Die Seite ist allgemein sehr nützlich, wenn's um OS-Programme geht :>

Mein Senf zu dem Thema:
Man sollte, wie schon gesagt, die richtige Sprache am richtigen Einsatzgebiet benutzen.
Und _afaik_ ist C/C++ schneller als Java oder war es zumindest eine lange Zeit doch das ist/war gänzlich normal, wegen den genannten Umständen (VM, etc.)

Netzwerktechnische Applikationen löse ich persönlich gern mit Java, Hardware bezogene Dinge mit C/C++.
dietox ist offline   Mit Zitat antworten
Alt 21.05.07, 17:46   #12 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Danke danke.Habe es grade mit GCJ als Compiler probiert.Mein Pi - Programm rechnet doch einbisschen schneller (~23 %) als Kompilat.Ich werde aber lieber doch früher oder später C/C++ lernen-hat noch keinem geschadet.
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 21.05.07, 19:23   #13 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Oftmals wird zwar die Perfomance von C++ hochgelobt - gebraucht wird sie aber nur selten.
Ich progge am liebsten mit C++, aber nicht aus Performance-Gründen. Ehrlichgesagt würden meine Programme auf jedem halbwegs modernen Rechner als Basic-Spgetthi-Code gut laufen xD.
Mir geht's bei C++ mehr um die Möglichkeiten gegenüber einer Basic-Sprache.
Ein kleines Beispiel Spiel:
Ich will ein Harvest moon Spiel programmieren (für die die's nicht wissen, man spielt da einen Bauern, muss Felder bestellen etc.). Nun will ich für die Felder ein gut geordnetes System anlegen.
In einem RPG-maker is das undenkbar schwierig, da keine Array's vorhanden.
Sonst benutze ich noch Dark Basic. Da gibt es nur Array's, wobei ich eine größe Festlegen müsste und Speicher unbenutzt bleibt, bzw die Gefahr besteht, außerhalb des Speichers zu schreiben. Das könnte z.B. bei dynamisch generierten Karten passieren... (darum hasse ich array's)
In C++ kann ich das mit Vectoren machen. Ganz dynamisch evtl sogar einen Vector im Vector anlegen, womit kartenzahl, Größe etc generiert werden können. Problemlos.

Naja, ein simples Beispiel von vielen 100ten...

Allerdings ist C++ 1000mal schwerer als all die Andern. Aber wo bleibt sonst der Reiz?
Ich persönlich progge ja aus Spaß, nicht weil ich was programmieren will

(mein Post mal um C++ Vorzüge zu nennen, ihr Java-Fanatiker xD)
Extinction ist offline   Mit Zitat antworten
Alt 21.05.07, 20:55   #14 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Hm.Ich bin zB absolut kein Java fanatiker, und ich würde am liebsten jetzt schon C/C++ und ASM fließed können.Aber was anderes:Was sind Vectoren in C++?Wenn das so ne Art Liste ist-sowas bekommst du in Java auch.....
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 21.05.07, 22:16   #15 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard

Ich hab von Java keine Ahnung. Werd ich wohl ab September lernen müssen, weil das ab der 11 im Fachgym aufn Plan steht ^^

Vectoren präprozessor:
#include <vector.h> (is bei c++6.0 dabei)

Also, das is so ne art Array, nur dass der Vector nicht begrenzt ist. Beim array sinds ja max. 200 Variablen (z.B.).

Beim vector kann man mit
xyz.push_back(var);
eine Variable an den Vector anhängen. xyz is der vector, var die Variable. Strings gehen auch, selbst wenn der Compiler warnt.
xyz.pop_back; -> entfernt den letzten
man kann das auch an ner bestimmten Stelle einfügen.
xyz.size(); is wohl klar, was das zurückgibt...
xyz[x]; eine var verwenden
Ist halt einem Array ähnlich...
Das sollte n grober Überblick über die Funktion sein.
Ich liebe Vectoren
Bin grad n bischen müde, also Rechtschreibung verzeihen :baby:
Extinction ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programmiersprachen Vor-/Nachteile & Vorurteile
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
vorurteile gegen dicke -= pillepalle =- Fun Section 3 03.12.05 18:07
Nachteile von Workaholism/Schlaflosigkeit ghostdog HaBo Lounge 3 22.11.05 00:37
Vor- und Nachteile von Lan/Wlan YEAH Network · LAN, WAN, Firewalls 4 13.02.05 18:59
19" oder 20" TFT Vor- & Nachteile ??? stuarrdo Hardware Probleme 7 28.08.04 13:50
DVI VGA Vor- Nachteile, Unterschiede Ph0eNiX Hardware Probleme 3 13.07.04 12:15


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61