schnellere Sprachen??

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

schnellere Sprachen??

Beitrag von obbba »

Wie kann es denn sein, dass BASIC langsamer ist als z.B. C#?

Wird der Code nicht sowieso in "Maschinensprache" umgesetzt?

Der Computer müsste doch 3+4 in "seiner" Sprache immer gleich schnell rechnen, egal was ursprünglich mal im Quellcode gestanden hat.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: schnellere Sprachen??

Beitrag von DarkDragon »

obbba hat geschrieben:Wie kann es denn sein, dass BASIC langsamer ist als z.B. C#?

Wird der Code nicht sowieso in "Maschinensprache" umgesetzt?

Der Computer müsste doch 3+4 in "seiner" Sprache immer gleich schnell rechnen, egal was ursprünglich mal im Quellcode gestanden hat.
Wenn du im allgemeinen von BASIC Sprichst, kann ich dir die Frage leicht beantworten: Viele BASIC Dialekte sind Runtime Sprachen, d.h. der Code wird in Bytecode umgewandelt und dann auf jedem PC durch die Runtimes gejagt und in Maschienencode umgewandelt. Dies gilt aber nicht für PureBasic. PureBasic ist lediglich unoptimierter als C.

[EDIT]
Ups, sorry, dachte du redest nur von C. Hab das sharp nicht gesehen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Oder genauer ausgedrückt, es gibt mehrere C/C++ compiler die unterschiedlich gut optimieren.

Es gibt aktuell genau einen PureBasic compiler, der schlechter Optimiert als Visual C/C++/C#, Intel C/C++ oder gcc.
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

Beitrag von obbba »

Sorry ich programmiere noch nicht lange und weiß nicht genau, was du mit optimieren meinst, aber der Typ, der irgendeinen Compiler schreibt, muss ja irgendwie angeben, was genau passiert, wenn da z.B.

Code: Alles auswählen

OpenConsole()
printn("bla")
delay(3000)
End
steht.

Und "bla" auf den Bildschirm zu schreiben oder vieleicht ein Bild von einem Vogel durch den Bildschirm fliegen zu lassen oder eine komplizierte Rechenaufgabe zu lösen, wird den Computer ja nicht abhängig von der Sprache unterschiedlich beanspruchen.
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

??? :?
BildBildBildBild
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

Beitrag von obbba »

Wie gesagt, eigentlich hab ich ja gar keine Ahnung.

Aber ich stell mir das so vor, dass der Computer (welcher Hardwareteil auch immer, Prozessor?) nur Chinesisch versteht.
Und wenn ich jetzt was auch Deutsch schreibe übersetzt er das ins chinesische und tut es.
Und wenn ich Englisch schreibe übersetzt er halt von Englisch nach Chinesisch. Was hat das denn mit der Geschwindigkeit zu tun?
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hmm ok, wenn du das so nimmst: Es gibt verschiedene Arten sich auszudrücken und viele Wege um zum Ziel zu kommen.

Beispiel:

1) Hallo, ich bin Daniel.
2) Hallo, Daniel ist mein Name.

Wobei 1) das optimierteste ist(kürzer). So ist es auch mit Programmiersprachen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
obbba
Beiträge: 53
Registriert: 06.02.2006 17:33

Beitrag von obbba »

Achso. Ja, klingt irgendwie logisch...
Danke.
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

Nö, der Compiler übersetzt nich von Deutsch nach Chinesisch, datt läuft anders:
Der Compiler übersetzt von Deutsch nach Englisch. Es gibt viele unterschiedliche (Programmier-) sprachen, also gibt es Compiler, die Schwedisch ins Englische übersetzen und andere, die Japanisch ins Englische übersetzen. Datt versteht der Computer aber noch nich. Also gibt's noch nen andren: den Assembler. Der übersetzt das Englisch dann ins Chinesische. Natürlich kann man auch gleich Englisch oder gar Chinesisch schreiben, wobei das zweite aber sehr schwierig ist... 8)
//EDIT: DarkDragon hat ja recht, aber den ersten Teil mit meinem unnötigen Senf lass ich...
Zuletzt geändert von Marvin am 11.05.2006 17:47, insgesamt 1-mal geändert.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Marvin: meinst du das hilft einem Anfänger im Hochsprachenprogrammieren?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten