Was, keine Sonderzeichenoperatoren? Ich bleibe bei C++, danke.Zitat
Naja, ich bin an die C++-Syntax gewöhnt (und daran Buchstaben wenn möglich nur für Funktionsaufrufe und dergleichen zu benutzen). Ist wohl Geschmackssache.
Obwohl ich es irgendwie zweckmäßig finde, eine Sprache zu benutzen, die es erlaubt, vor Außenseitern über die Performanceunterschiede von ++i und i++ zu diskutieren.
Hm Ineluki, du vergleichst C++ einfach mal mit der Reinen Form von Basic, ohne über die neuen Basicdialekte bescheidzuwissen.
In den Modernen basicdialekten ist Objektorientiertes Programmieren auch inzwischen Standart, jede Grafik, jede Datei hat einen Handler, über den man es ansteuert. Genauso gibt es auch Proceduren, schleifen und alles mögliche, so das man Goto oder Gosub eigentlich niemals benutzen muss. Auch das mit der Schnelligkeit stimmt nicht, Purebasic oder Blitzbasic kommen sehr nahe an C++ ran.
Und was heist irgendwelche Sachen reingestopft? Wo irgendwas mit Basic draufsteht muss nicht unbedingt Basic drin sein. Sie benutzen lediglich den Basic Basissyntax mit sehr vielen eigenen Befehlen erweitert.
Und der Riesige Vorteil von Basicdialekten ist wohl kaum zu übersehen, denn man lernt basic Viel schneller als C++ und man muss um das selbe zu kriegen weit weniger Code schreiben.
Klar das man dadurch auch nicht die selben Möglichkeiten wie in C++ hat.
http://www.purebasic.de/was.shtml
http://www.purebasic.de/features.shtml
Hier ist mal eine gute Zusammenfassung was Purebasic so kann :]
Moment mal. Warum lernt man BASIC schneller als C*? Wegen der Syntax? Nein, für den Uneingeweihten ist Basic genauso unverständlich wie C, die C-Syntax sieht nur etwas abstrakter aus. Ist aber kein Stück schwerer zu lernen.Zitat
Was dann? Das Grundkonzept? Das ist mit dem von Basic identisch. Das trifft auf die meisten Programmiersprachen zu.
Was ist es, das C so kompliziert macht? Einem wird weniger Arbeit abgenommen.
Allerdings gibt es mittlerweile für viele Problemstellungen Lösungen in Form von frei verfügbarem Quellcode. Fenster können mit einem GUI-Toolkit erstellt werden und sowohl für 2D- als auch für 3D-Grafiken gibt es leistungsfähige Engines. Bis zu 90% der Programmierarbeit können mit fertig erhältlichem Code vermieden werden.
Zugegeben, Dinge wie Exceptions und Speichermanagement muß man immer noch lernen... Aber dafür hat man eben diese Möglichkeiten.
*Mit 'C' sind C und alle Dialekte (C++, ObjectiveC...) gemeint.
Wie du schon selber sagst, bei einem Basic Dialekt wird sehr viel der Arbeit abgenommen, oder Manche Befehle ersetzen gleich mehrere. So hat man dann am Ende auch weit weniger Befehle die man zu wissen braucht. Weiterhin muss man sich die ganzen Engines, Quellcodes usw. nicht irgendwoher zusammenschaufeln und gucken dass man sie richtig und ohne Bugs einbaut, da das alles schon dabei und auf den Syntax optimiert ist.Zitat
aaahh, endlich ein Verbündeter^^
Also ich fand Basic schon leichter, weil man die Befehle schon bald so wie sie sind übersetzen könnte. Hingegen gibts bei C auch schonmal ein paar Sonderzeichen oder Vergleiche per == und Zuweisungen per =, und am Ende mal eben ein Semikolon, und außerdem mit { Klammer und ( Klammer, das war mir einfach zu viel was man verdrehen könnte... Da fand ich Basic schon wesentlich einfacher.
Und es sollte wohl jedem eigentlich klar sein, dass C++ keine Einsteigersprache ist, weil es nicht so einfach ist. Hingegen wird Basic öfters verwendet.
Na ja, wollen wir mal nicht streiten, schön dass es hier noch andere PureBasic Leute gibt^^
EDIT: aaaaaaaaaah, ich werd noch Verrückt, ein alter Bekannter.![]()
Wusst ichs doch. Zwar anderer Nick, aber der Blick auf die Homepage hats dann offenbart. Schön das du auch mal wieder reinschaust. Hähä, ich wette die meisten würden dich so einfach nicht erkennen.^^
Ich bezweifle, daß bei *basic eine komplette, portable OpenGL-basierende 3D-Engine, Surround-Sound oder Peer-to-Peer-Funktionalität direkt in der Sprache implementiert sind. Oder die komplette Quake-Engine.Zitat
Das kann man für C++ alles innerhalb weniger Minuten finden, das meiste davon auf SourceForge.
Die C-Syntax ist IMO klarer und übersichtlicher als die von Basic; Zeilen enden nur dann, wenn ich es sage und alle Statements sind schön mit Zeichen (und nicht mit Text) begrenzt. Geschmackssache.
Basic ist sicher angemessen, wenn man keine erweiterte Funktionalität, bzw. große Flexibilität braucht und einfach nur ein GUI-App schreiben will, das nichts Außergewöhnliches tut; wenn man aber etwas Spezielleres will (oder etwas, das vom jeweiligen Konzept des Dialekts weiter entfernt ist) braucht man entweder einen anderen spezialisierten Dialekt oder eine andere, vielseitigere Sprache... Ob das jetzt C oder D oder ASM oder Java ist.
C(++) hat den Vorteil, daß die große Menge an "frei" verfügbarem Code es ermöglichen, komplexe Projekte schneller zu realisieren (da man eine Menge Code nicht selbst schreiben muß).
Wie üblich gilt weder C > Basic noch Basic > C. Es kommt immer auf den Anwender und den Fall an. In meinem Fall sind die Portabilität und der Zugriff auf das riesige Code-Archiv von C++ ausschlaggebend; jemand anders mag die Einfachheit von Basic besser findern. Oder die Systemnähe von ASM. Oder sogar Brainfuck.
Auf Planet-Sourcecode gibts dass alles (bis auf die "Original"-Quake-Source) auch für VB.Zitat
Komplette OpenGL und Direct3D-Engines.
Dieser Thread macht meiner Meinung nach keinen Sinn, Diskussion über Programmiersprechen enden doch immer gleich, wieso sollte man dann ständig welche eröffnen? Jeder sollte bei dem bleiben dass er am liebsten mag.
Grüße,
Zerxes
Du verstehst den Sinn dieses Threads nicht.
Die Basic-User beschweren sich darüber, daß keiner Basic mag und erzählen dann, daß Basic allen anderen Sprachen überlegen ist. Die C-User beharren darauf, daß sie bei C bleiben, weil Basic nicht C ist und stellen klar, daß C allen anderen Sprachen überlegen ist.
Vielleicht kriegen wir hier noch einen MS-DOS-Batchfile-Autor rein, der uns darlegt, warum MS-DOS-Batchfiles allen anderen Programmen überlegen sind.
...Moment mal, du hast auf Planet SourceCode eine portable Engine für Visual Basic gefunden? Meinst du Dotnet oder echte Portabilität?
Anmerkung zwei, wenn du das ganze Zeug von PSC ziehst ist es nicht mehr in der Sprache integriert und wir haben exakt das Gleiche (Fremdcode, der nicht notwendigerweise läuft und erst implementiert werden muß) wie bei C.
Anmerkung drei, natürlich ist der originale Quake-Source nicht erhältlich. Ebensowenig wie der von Quake 2 oder Doom.
Geändert von Jesus_666 (22.12.2003 um 05:38 Uhr)
Es war ja auch eine Übertreibung. Zum Zweck der Ironie.Zitat
Kein ernstzunehmender C-User würde mit "Basic ist nicht C, deshalb mag ich Basic nicht" argumentieren. MS-DOS-Batchfiles sind nicht die ultimative Form der Programmierung.
Ich sollte vielleicht aufpassen, welche Art von Humor ich das nächste Mal verwende. ("Ironie wird nicht von Basic unterstützt" - So, ich hab's mir aufgeschrieben. ^_~)
Also basic als interpreter version mag vielleicht von der Syntax her gefallen und mag eventuell sogar reichen alles moegliche zu schreiben. Aber wer schonmal versucht hat VB projekte fuer eine breite masse zu publizieren der hat noch nie mit VB-runtimes installationen gearbeitet. Das typische microsoft Chaos kommt so richtig schoen zur geltung wenn es von der selben DLL mit der selben versionsnummer unterschiedliche versionen gibt. Oder sich DLL's mal gar nicht erst installieren lassen.
Basic ist fuer Professionelle produktion und vertrieb deshalb ziemlich ungeeignet. (Visual Basic Version von M$, mag sein das das bei anderen Basic fassungen anders ist)
Ah stimmt, das war der große Nachteil von Basic - man braucht meist irgendwelche nervtötenden Runtimedateien.
BTW, Zitat von der PureBasic HP: "Ansonsten kann die Demo aber alles, was die Vollversion auch kann - sogar .EXE Dateien erstellen!"
Auch in der Linux- und MacOS-Version? Können diese Versionen auch was anderes als Win32-Executables erstellen? Vielleicht sogar Linux- bzw. MacOS-Binaries?
Das ist keine Kritik an PureBasic, nur an dem Varantwortlichen für die Homepage.
Hehe, die gibts beim Nachfolgemodell von C++, dem C# auch. Nur dort ist es noch schlimmer, ich hab mir mal das .NET-Runtime runtergeladen, und versucht ein paar C#-Programme auf XP zum Laufen zu bringen, aber keins lief, alles brachen schon beim Laden mit einer Fehlermeldung ab.Zitat
Ich finde ein Runtime runterzuladen dass nicht mal 1MB groß ist, ist selbst für 56k-User kein Problem, aber dass .NET-Runtime ist schon üer 23MB groß.
Grüße,
Zerxes
da lauefts mir schon beim lesen kalt den ruecken runterZitat
Du verstandest mich vieleicht falsch, hier versuchte keiner Basic besser als C hinzustellen, da brauchst du nicht aufzählen was mit C alles möglich ist. (Auch wenn du dein Statement in dem Nachfolgendem Komment mal kurzerhand in Ironie umgetauft hast, das hier ist ja wohl keine Ironie?). Es ging hier Darum, das Ineluki Basic so hinstellte, dass es Garkeine Vorteile hätte, was eben nicht stimmt.Zitat
Deshalb lerne ich C++ und nicht C#.Zitat
BTW, C# ist nicht das "Nachfolgemodell" von C++, es ist nur an C++ angelehnt. Eigentlich ist C# eher eine Kreuzung aus C++, Java und Microsofts obstrusen Vorstellungen von Software.
@Sersch: "Ich bezweifle..." war nicht der ironische Post, ich bezog mich auf "Du verstehst...". In "Du verstehst..." habe ich die ewige Diskussion um die "beste" Programmiersprache ins Lächerliche gezogen.
Mit "Ich bezweifle..." bin ich auf den Hinweis eingegangen, daß man sich mit Basic "die ganzen Engines, Quellcodes usw. nicht irgendwoher zusammenschaufeln" müsse, weil sie schon eingebaut seien. Das hat (bei mir zumindest) den Eindruck erweckt, daß Basic die Funktionalität praktisch aller denkbaren C(++)-Libraries schon fest in der Sprache eingebaut habe, was natürlich unhaltbar ist.
Ich gebe gerne zu, daß Basic seine Vorteile hat und in bestimmten Bereichen wie RAD und Einsteigerfreundlichkeit C(++) oft überlegen ist. Alles, was ich abstreite sind zweideutige Aussagen, die falsch interpretiert werden können (siehe letzter Absatz).
Ich sage es noch einmal: Es gibt keine allgemein beste Programmiersprache. Programmiersprachen haben immer einen gewissen Zweck, für den sie konstruiert wurden. C sollte eine systemnahe Hochsprache sein, nach Einfachheit hat keiner gefragt. C++ sollte objektorientiertes C sein. Basic sollte einfach zu lernen und verstehen sein und Pascal noch einfacher. Fortran sollte mathematische Formeln gut verarbeiten können. Die RPG Maker 2000-Scriptsprache sollte mit einem Minimum an Komplexität das Erstellen eines Spiels ermöglichen.
Jede dieser Sprachen hat einen Bereich, in dem sie allen anderen genannten Sprachen klar voraus ist*. Das macht sie aber nicht generell besser.
In meinem Fall machen die Syntax, die Flexibilität und die gewaltige Menge an GPLtem Code C++ zur Sprache meiner Wahl. Diese Faktoren machen C++ aber nicht besser als alle anderen Sprachen.
*Einzige Ausnahme: Die RPG Maker-Scriptsprache ist unübersichtlicher als C, langsamer als Java, weniger mächtig als eine MS-DOS-Batchdatei und aufgrund ihrer Beschränktheit ist es schwerer, damit nicht-trivialen Code zu erstellen als mit QuickBasic.
Ach jetzt werde ich wieder zum Buhmann und zur hassikone einer ganzen Basicgeneration erklaehrt ^^ ... Ich will nur mal klarstellen, dass ich nie einen davon abgehalten habe, in basic zu programmieren ... ich habe selber in HC-Basic angefangen ... ich habe lediglich aufgezeigt, warum MIR Basic nicht mehr zusagt, da ich eine (od. mehere) Programmiersprachen gefunden habe, die MEINEN Anforderungen um ein vielfaches gerechter werden, so dass ich mich beim Programmieren in Basic wie in einer Zwangsjacke fuehlen wuerde. Ich habe nie objectiv gesagt, BASIC sei die grauenvollste Programmiersprache auf Gottes weiter Erde, ich habe nur meine subjective Meinung gesagt, dass mir die Basic-Syntax zu unuebersichtlich ist, und ich sie mit den gesamten neuen Entwicklungen aus anderen Programmiersprachen unter dem Gesichtspunkt der einfachen Codeerzeugung unvereinbar halte, ohne dass danach dieses "Basic" genau so aussieht, wie die anderen Programmiersprachen. Ich persoenlich halte Basic auch nicht fuer Einsteigerfreundlicher als Pascal, sogar im Gegenteil, denn die einfachen und doch konsequenten Strukturierungsmerkmale von Pascal halte ich fuer aeusserst sinnvoll. Somit spreche ICH in gewisser Weise BASIC seinen Hauptvorteil und ~anwenndungsbereich ab, da ICH keinen Vorteil sehe, den ich haette, wenn ich in Basic statt in anderen Hochsprachen programmieren wuerde. Daher rate ich auch jedem, der nach MEINER Meinung fragt davon ab, Basic zu lernen.Zitat
Schaut euch doch mal euer Basic von heute an ? Was ist denn ausser ein paar rudimentaeren verkrueppelten Ansaetzen noch von der eigentlichen Sprache geblieben ? Mir als einem, der jahrelang noch "echtes" Basic auf 8Bit Computern programmiert hat, dreht sich foermlich der Magen um, wenn ich heutigen Basiccode sehe. Frueher war jede Variable eine Zahl, nur Stringvariablen hatten ein $, Variablen mussten nicht deklariert werden, jede Zeile hatte eine Nummer als vielfaches von 10, damit man noch bei bedarf code einfuegen konnte, es gab weder funktionen noch proceduren, alleine Gosub war als pseudoaequivalent geeignet. Und John George Kemeny sah, dass es gut war. Und nun werft einen Blick auf die heutigen Basicdialekte, Teils muessen Variablen deklariert werden, jetzt haben sie auch Datentyen, aber nicht damit genug, nein jetzt wird der typ auch jedesmal mit cryptischen abkuerzungen wir a.l an den variablennamen angehaengt, statt den einfach mit long a einmal zu definieren. Die Zeilennummern wurden verworfen und labels werden dafuer definiert, Gosubs wurden (fast) abgeschafft und funktionen, Proceduren und objecte eingefuehrt, die genau so aussehen, wie in anderen programmiersprachen, deren abstruser Basicsyntax jedoch die dahinterstehenden Konzepte auch nicht einfacher macht. Das, was Basic grundlegend von anderen Sprachen abhob wurde abgeschafft und ausgemerzt. Die Ganze Individualitaet von Basic wurde eingeplaettet und nur hinderlich-umstaendliche und unzeitgemaesse Syntaces sind davon noch uebriggeblieben, die bestenfalls als Stolpersteine im ohnehin nicht mehr wirklich nach Basic aussehenden Code anzusehen sind. Haette sich Basic seine eigene Identitaet bewahrt und darin die Konzepte eingegliedert, haette ich gesagt, nun gut, diese Sprache ist nicht mein Fall, sie hat aber durchaus berechtigung. Dadurch, das sie aber die anderen Konzepte nicht integriert sondern Kopiert hat, und dabei die Eigenarten von Basic ueberschrieben wurden, ist am Ende ein einzige Groteske einer Programmiersprache erausgekommen, ein abstruser Einheitsbrei und Programmiersprachenmischmasch. Wenn ich eine Programmiersprache habe, die eindeutige Nachteile hat (was wohl keiner bestreiten kann) und die dann auch noch zu 70% wie eine anderen Programmiersprache aussieht, warum sollte ich dann nicht gleich diese andere Programmiersprache lernen, die die Basic-Nachteile nicht hat. Aber wie gesagt, das ist MEINE Meinung, und ich zwinge niemanden selbige zu teilen. Soll sich jeder selber ein Bild davon machen. Ich fuer meinen Teil finde es nur verabschaeuenswuerdig (ok dieses wort ist eine Nuance zu hart) was aus dieser einstmals recht schoenen Sprache gemacht wurde, naemlich ein unfoermiges Behemoth, um das seine Juerger herumtanzen als waere es das Goldene Kalb oder der heilige Graal der modernen Informationsgesellschaft.
Gruss Ineluki, der sich wohl grade etwas in Rage geschrieben hat
Lol, du schreibst die Weiterentwicklung einer Programmiersprache dieser negativ an. Wem nutzt eine Programmiersprache, mit der man vieleicht vor 20 Jahren was anfangen konnte?
Und das mit dem Befehle abschauen ist auch ein Tolles Argument, das ist etwas völlig normales, wofür sollte man das Rad neuerfinden? Ich meine schau dir doch die Syntaxe von anderen Programmiersprachen bzw. Scriptsprachen an? php, Flash and so on, in allen findest du Elemente von C++ oder anderen Programmiersprachen wieder.
Jedoch sind diese einfach auf einen anderen Bereich abgestimmt. So auch die (stark abweichenden) Basic Variationen. Sie sind für den Hobbyprogrammierer entwickelt. Denn zu behaupten Basic wäre so schwehr wie eine Seriose Programmiersprache ist einfach Schwachsinn.
(das kann man nur Behaupten, wenn man über moderneres Basic nicht bescheidweis, was ich dir doch sehr stark ansehe, wenn ich mir so deinen ersten Post angucke) Ich weis ja nicht wie Basic früher aussah, aber von den modernen Basic Variationen könnte ich auf keinen Fall behaupten sie wären schwer. Wenn ich es mit php Vergleiche, was ja einen C ähnlichen Syntax hat, ist es wirklich ein ganzes Stück schneller erlernt und das Programmieren damit geht ebenfalls schneller.
Geändert von Serge (23.12.2003 um 02:51 Uhr)