Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 52

Thema: Was spricht eigentlich immer gegen Basic?

  1. #1

    Was spricht eigentlich immer gegen Basic?

    Hallöchen,

    Das hier wollte ich immer schonmal wissen^^. Also, man hört aus 1000en von Ecken, "nimm nicht Basic" oder "Basic ist Mist" oder was auch immer. Dann wird meist auf eine andere Sprache wie Delphi oder C++ hingewiesen.
    Jetzt mal meine Frage dazu: Was genau kritisiert ihr an dieser Sprache? (von Ineluki weiß ich, dass er meist nur negativ über Basic redet)

    Damit meine ich jetzt allerdings nicht qBasic oder gwBasic, sondern eher die moderneren Versionen wie Blitzbasic, Visual Basic, Dark Basic oder Purebasic (letzteres ist mein Favourit, leider sehr unbekannt).

    Gibts denn ganz objektive Fakten die gegen Basic sprechen? Oder vielleicht Dinge die dafür sprechen? Eines wäre sicher, dass der Syntax recht schnell und einfach zu erlernen ist, und das der Preis recht günstig ist (bei den mir bekannten Basicformen).
    Schreibt mal bitte eure Erfahrungen oder Meiunungen zum Thema "Basic, was ist der Nachteil/ Vorteil daran", hier rein. Danke.

  2. #2

    Users Awaiting Email Confirmation

    Ich benutze auch Basic, genauer gesagt Visual Basic
    und ich muss sagen dass ich eigentlich begeistert bin.
    Selbst bei riesigen Code-Mengen behalte ich den vollen Überblick, selbst wenn ich in C++ den überblick längst verloren hätte.
    Das VB etwas langsamer ist als andere Sprachen wie C++ stimmt nur annähernd, es kommt ganz darauf an welche Funktionen man benutzt.
    Gut finde ich an Vb unter anderem dass man seiner Programme beim testen anhalten, und den Code ändern kann.

    Greetz,
    Zerxes

  3. #3
    Nun also, ich habe mich vor langer zeit auf die Suche gemacht nach iner sprache die mich ansricht, und da traf ich Deutsch... ähm mein ^^'''
    Also, ich kenne all diese Sprachen und habe ie meiste nauch angetestet (ach ja, der erste block in dark basic^^) und auch hab ich früher VIEL mit vb gearbeitet aber man hat mir immer wieder gesagt das halt diese ganzen baic anwendungen nicht sehr schnell sind, WAS denn nun wirklich daran wahr ist weiß ich selber auch nicht klar war nur als ich mit DX anfangen wollte (w ich immernoch nicht bin-.-)
    , hatte ich keine lust das auf der VB oberfläche zu machen also bin ich einfach auf c++ umgestiegen.
    Vie lErfolg hatte ich bis jetzt noch nicht, was ich wirklich kan sind die Grundkentnisse...

    Naja das von mir dazu ich habe persönlich gar nix gegen diese anderen Sprachen...

    Ps: Sunny, hast du denn schon was sehenswertes geproggt? ^_~

  4. #4

    Users Awaiting Email Confirmation

    Achja, hab vrgessen zu erwähnen dass sich VB sehr gut für die Server-Programmierung eignet, zuerst habe ich angefangen einen Chat-Server zu programmieren, der schon ganz flott und Fehlerfrei war.
    Danach programmierte ich einen Server für ein Spiel (noch ohne Database), der auch bei fast 200 Usern fehlerfrei und schnell funktionierte wie ein vergleichbarer Server in C++.

  5. #5
    Basic hat drei ganz grosse Nachteile

    A) es ist eine Interpretersprache .. und damit wohl so das langsamste, was man sich vorstellen kann (ausser Java ) Zwar kann man in neueren Basicdialekten auch in Exen compilieren, aber diese sind dann meist nicht so optimiert, wie beispielsweise C++ Programme, da vorher kein so kompakter, maschienennaher code vorlag

    B) Es hat in seiner Grundversion weder Proceduralen Aufbau, noch Objecteigenschaften ... da siese Konzepte erst in neueren Sprachen zum Tragen kommen .. es gibt zwar neuere Versionen, die auch solche Konzepte uebernommen haben, aber diese wurden foermlich in das alte starre Konzept hineingepresst und passen nicht wirklich in die Basic-Syntax, was uns zu Punkt C bringt

    C) Basic hat eine Syntax, die zwar fuer den Anfaenger leicht lernbar ist, jedoch sehr unflexiebel ist, schlecht wartbar und unstrukturiert. Oft haben Basicumsteiger die "umstaendliche" Syntax in anderen Sprachen bemaengelt, z.B. ein ; nach jedem Befehl oder die Klammern um Parameter von Funktionen, oder das Explizite Definieren von Variablen (Worum neue Basic-Varianten auch nicht mehr drum rum kommen) ... aber gerade diese Strukturierungen machen den Code erst wirklich flexiebel und nebenbei auch noch besser lesbar und verstaendlicher

    Basic hat keinerlei Vorteile, die andere Sprachen nicht auch haetten, zudem sind die anderen Sprachen (wie C++ / Delphi) teilweise bis um den Faktor 1000 schneller, uebersichtlicher, flexiebler und hardwarenaeher. Fortschrittliche Konzepte, die nach Basic entwickelt wurde, wie Objectorientierte Programmierung oder COM Schnittstellen, sind entweder nicht in Basic enthalten, oder marginal hineingepresst wurden, ohne das verstaubte Basic-konzept zu ueberholen.

    Was den Preis angeht, so ist C++ nahezu unschlagbar, da es sehr gute Kostenlose Entwicklungsumgebungen und Compiler (uebersetzer) gibt.

    Zudem muessen wegen dem Interpreter immer zusatzdateien bei Basic mitgeschleift werden (die bekannte Run-time-library), was bei den exe-erzeugenden Compilersprachen nicht der Fall ist.

    Basic erlaubt nicht mal wirklich modulare Programmierung (was fuer Teamprojekte aeusserst wichtig ist) .

    Es wurde im Post zuvor die Debugbarkeit abgesprochen ... da stehen die compilersprachen den Interpretern in nichts nach ... sei es Haltepunkte setzen und das Programm bis dahin ablaufen zu lassen, sei es schrittweises oder procedurales Ausfuehren von Code, oder gar das Ansehen und Aendern von Variablen zur Laufzeit ... alles bieten die Compilersprachen auch, wenn nicht sogar komfortabler ...

    Das einzige , was die Compiler nciht koennen, dass man den Code waehrend des Ausfuehrens aendern kann, da der Code ja nicht interpretiert wird. Da dies aber auch bei Basic oftmals nicht funktioniert, wenn groessere Bloecke geaendert werden, ist dies kein wirklicher verlust.

    Zusammenfassend ist zu sagen, warum sollte man eine langsame, veraltete Sprache lernen, in die mutwillig dem Ursprung wiedersprechende Konzepte hineingeschustert wurden, wenn man neuere, modernere Sprachen lernen kann, die genau so einfach zu handhaben sind, mehr Flexibilitaet und Uebersicht bieten und so entwickelt wurden, dass sie den Neuerungen konzeptionell angepasst sind und nicht, wie in basic die Konzepte zu gunsten der Sprache verbogen wurden.

    Gruss Ineluki

    Geändert von Ineluki (05.12.2003 um 05:10 Uhr)

  6. #6

    Users Awaiting Email Confirmation

    Zitat Zitat
    Original geschrieben von Ineluki
    [B]Basic hat drei ganz grosse Nachteile

    A) es ist eine Interpretersprache .. und damit wohl so das langsamste, was man sich vorstellen kann (ausser Java )
    Das stimmt nicht, unter Visual Basic hat man die möglichkleit in p-code (interpreter-code) oder den native-code (normaler assemblercode der direkt ausgeführt werden kann) zu compilieren!

  7. #7
    Zitat Zitat
    Original geschrieben von Zerxes
    Das stimmt nicht, unter Visual Basic hat man die möglichkleit in p-code (interpreter-code) oder den native-code (normaler assemblercode der direkt ausgeführt werden kann) zu compilieren!
    Hm ... hatte ich doch glatt vergessen zu erwaehnen .. na ja .. habs reineditiert ^^

    Geändert von Ineluki (05.12.2003 um 05:11 Uhr)

  8. #8
    Zitat Zitat
    Ps: Sunny, hast du denn schon was sehenswertes geproggt? ^_~
    Mehr oder weniger^^. Ich mach mir gerade einen Map-Editor für ein kleines 2D Spielchen...


    So, zu den externen libraries ist zu sagen, das hab ich über VB auch schon gehört, aber in PureBasic ist dies anders. Dort benötigt man keine externen Libraries mehr uns die Programme sind extrem klein.

    Zitat Zitat
    Es hat in seiner Grundversion weder Proceduralen Aufbau,[...]
    Was genau meinst du damit? Ist das in irgend einem Sinne auf Proceduren Bezogen, oder wie läuft das in Delphi anders ab? Meinst du damit, dass Basic immer so ein großer langer Code am Stück in der Hauptschleife ist? (Du könntest dich vielleicht für die etwas Unwissenden (gehöre wohl auch noch dazu) etwas einfacher ausdrücken^^)


    Dann hab ich gleich noch eine Frage: Was bedeutet eigentlich "Integrierter Inline Assembler"?

    Geändert von Ynnus (05.12.2003 um 05:16 Uhr)

  9. #9
    in basic werden in der regel Unterprogramme geschrieben ..

    es gibt ein grosses hauptprogramm, dadrin wird mit gogo lustig umhergesprungen und man kann unterprogramme mit gosub ansteuern

    in delphi und c++ ist es anders .. dort wird alles in unterprogramme ausgelagert, aber nicht ueber ein Gosub sondern ueber proceduren und funktionen, denen man parameter uebergeben kann und die werte zurueckliefern koennen

    auch ist das goto in den anden sprachen als programmiermittel verpoent, da es als unsauberer programmierstil angesehen wird (was es auch ist) da es wesentlich bessere und logischere schleifenstrukturen gibt, die ein goto absolut ueberfluessig machen

    Delphi und C++ sind somit wesentlich besser dafuer geeignet, grosse Aufgaben in kleinere unteraufgaben zu unterteilen, welche wesentlich einfacher programmiert sind ..

    diese teilaufgaben koennen sogar zu bibliotheken zusammengebunden werden und so in verschiedensten programmen wiederverwendet werden

    solche Konzepte waren im urspruenglichen Basic nicht enthalten, da Basic auf der Linearen Programmierung aufbaut und nicht Procedural bzw Funktional angelegt ist

    Zwar haben auch hier wieder einige Basicdialekte solche konzepte uebernommen, aber dann unterscheiden sie sich kaum noch von anderen hoeheren Programmiersprachen, ausser dass sie (trotz compiler) langsamer und unuebersichtlicher sind, als ihre kollegen, und somit die wahl von basik auch keine Vorteile bringt

    Da Basic keinerlei Vorteile gegenueber anderen Sprachen bringt, spricht also immer noch nichts fuer Basic, auch wenn man versucht, Basic den anderen Sprachen anzugleichen, und so die Nachteile zu minnimieren .... Warum sollte ich eine schlechte Kopie benutzen, wenn ich das Original verwenden kann.

    Im allgemeinen ist allerdings der Trend zu verzeichnen, dass die hoeheren Programmiersprachen immer aehnlicher und leistungsgleicher werden. Pascal bzw Delphi wurde frueher auch immer nachgesagt, dass es viel langsamer als C++ sei, aber mittlerweile stimmt das nicht mehr und es ist praktisch gleichschnell (ausser im vergleich zu hoechstoptimiertem C++, wo die compiler schon mal Tagelang ueber einem Programm brueten, was Delphi innerhalb von Sekunden compiliert ... aber in sachen schnelligkeit kommt sowieso nix ueber handoptimierten ASM-Code) ... wie dem auch sei, es wuerde mich freuen, wenn demnaechst die fuehrenden Hochsprachen wie C++ und Delphi sich weiter annaehren wuerden und ihre jeweils positiven Aspekte unter auslassung der negativen teile miteinander verschmelzen

    Welche Programmiersprache man heute verwendet haengt also nicht mehr primaer vom Problem an, sondern von den Vorlieben des Programmierers .. Theoretisch kann man mit jeder programmiersprache alles machen (solange sie nicht sich selber einschraenkt, wie z.B. java )

    Gruss Ineluki

    [Edit] Ein integrierter Inline Assembler bedeutet, dass du Maschienencodeaequivalente (also ASM-Code) in deinen Quelltext einbauen kannst, der dann direkt so uebernommen wird (als Maschienencode uebersetzt natuerlich), als ob der compiler ihn erzeugt haette ... damit lassen sich z.b. sehr hatdwarenahe aufgaben erledigen oder zeitkritische funktionen per hand auf letzte optimieren

    Beispiel:

    Add eax,0x56 ; Addiert 56 hexadezimal zum EAX-Register des Prozessors
    MOV [EAX],EBX ; Kopiert den Inhalt des EBX-Registers in die Speicherzelle, deren Addresse in EAX steht

    Also wie man sieht... ist das ganze recht kompliziert und nix fuer anfaenger

    Geändert von Ineluki (05.12.2003 um 05:31 Uhr)

  10. #10

    Users Awaiting Email Confirmation

    Ähem, in VB wird normalerweise auch nicht herumgesprungen, da goto eigentlich nie verwenden werden muss, denn in VB lassen sich auch prozeduren (Sub´s) und Funktionen (Functions) benutzen.
    Beide können Parameter in Form von Werten oder Variablen übernehmen:

    Public Sub Textbox1_Click(Parameter as string)
    'Hier ist dann der auszuführende Code

    End Sub

    Genauso läuft das mit den Funktionen:

    Public Function TestFunction(parameter as String)
    'MessageBox mit dem Inhalt des Paramteres wird angezeigt
    MsgBox Paramter

    End Function

    Die prozedur lässt sich dann so nutzen (geht auch ohne call-befehl):

    call TestFunction(432)


    Wegen Objektorientiert, du vergleichst alle Basic-Arten mit basic und qbasic, aber in VB gibt es sehr komfortable obejektorientiert programmierung:

    z.b. Wenn man den Inhalt, oder die Sichtbarkeit einer Textbox ändern will dann:

    Textbox.text = "Hallo1"
    Textbox.visible = 0

  11. #11
    Das mit den proceduren stimmt so nicht ganz. In Purebasic ist alles ebenfalls seeeehr in Proceduren unterteilt, ich für meinen Teil habe keinen wirklichen Code mehr in der Hauptschleife, sondern rufe nur noch Proceduren auf.

    Und diese können genauso Werte zurückgeben, und Parameter enthalten, somit lassen sich selbst eigene Befehle schreiben. Als Beispiel:

    Code:
    ;
    ; by Danilo, 21.07.2003 - german forum
    ;
    ; resize ScrollArea in ScrollAreaGadget at runtime, PB 3.70.
    ;
    
    
    Procedure ResizeScrollArea(gadget,ScrollAreaWidth,ScrollAreaHeight)
      Structure PB_ScrollAreaData
        ScrollAreaChild.l;
        ScrollStep.l;
      EndStructure
      hScrollArea = GadgetID(gadget)
      *SAGdata.PB_ScrollAreaData = GetWindowLong_(hScrollArea,#GWL_USERDATA)
      If *SAGdata
        GetClientRect_(hScrollArea,client.RECT)
        MoveWindow_(*SAGdata\ScrollAreaChild,0,0,ScrollAreaWidth,ScrollAreaHeight,#TRUE)
        SI.SCROLLINFO
        SI\cbSize = SizeOf(SCROLLINFO);
        SI\fMask  = #SIF_PAGE|#SIF_POS|#SIF_RANGE;
        SI\nMin   = 0;
        SI\nMax   = ScrollAreaHeight-1;
        SI\nPage  = client\bottom;
        SI\nPos   = 0;
        SetScrollInfo_(hScrollArea,#SB_VERT,@SI,#TRUE);
        SI\nMax   = ScrollAreaWidth-1;
        SI\nPage  = client\right;
        SetScrollInfo_(hScrollArea,#SB_HORZ,@SI,#TRUE);
      EndIf
    EndProcedure

    Mehr als das hier:
    Code:
      ResizeScrollArea(1,510,510)
    muss nicht aufgerufen werden, um die neue Größe für den Scrollbereich #1 auf die beiden Parameter zu ändern. Somit kann man die Procedure in einer included Datei aufbewahren, dadurch wird alles sehr übersichtlich, und mehr als diese kleine Zeile, wie ein interner Befehl, wird auch nicht benötigt.

    Du siehst also, man kann sich damit durchaus selbst "Befehle" erstellen, mit beliebig vielen Parametern oder daraus Werte zurückliefern.

  12. #12
    jup .. das bestreite ich auch ... aber viele Basic-dialekte sind mittlerweile mehr alles andere, als basic .. und das eigentlich basickonzept sah soetwas nicht vor ....

    Was nietzt es mir, wenn ich aus allen anderen sprachen irgendwo was klaue und irgendwie in meine sprache reinwuerge, nur damit ich am ende sagen kann, es heisst basic ?

    Basic macht die OOP und die Funktionen auch nicht einfacher, als andere Sprachen ...

    Ich dreh den Spiess mal um und frage die Basicler ...

    Was hat Basic fuer unschlagbare Vorteile gegenueber anderen Programmiersprachen, dass ich auf Basic umsteigen sollte ?

  13. #13
    Umsteigen auf Basic sicher nicht, aber wer damit anfängt, der muss sich ständig anhören "Basic ist Mist nimm was anderes". Wobei ich Basic bislang für eine gute Einstiegsmöglichkeit halte.
    Das Basic heutzutage ist eben etwas anderes als das qbasic von damals, und weiter vortgeschritte. Und selbst wenn es von allem ein Stückchen hat, somit einen mix von mehreren Sachen, dann sind es wenigstens die nützlichen und gängigen Sachen alle vereint in einer Sprache^^

    Na ja, und selbst wenn C++ kostenlos ist (bzw der compiler), so ist der EInstieg mit C++ wohl wesentlich schwerer als mit Basic mal schnell etwas zu schreiben.

    Und darin sehe ich den Vorteil, dass man Basic schnell zum Einstieg nutzen kann, damit loslegen kann, und sich dadurch die ersten Erfahrungen in Sachen Programmiersprachen aneignen kann.

  14. #14
    Als einstiegssprache habe ich ja auch nichts dagegen (aber auch nicht viel dafuer) .... nur es wird ja wohl auch seine gruende haben, dass viele nach ein oder 2 jahren Basic auf andere programmiersprachen umsteigen und diese dann fuer alles nutzen ... (und oftmals ihre eigene Basiczeit belaecheln und anderen den tipp geben, etwas anderes zu machen) ... vielleicht liegt es ja dadran, dass basic fuer fortgeschrittene wie meinereins einfach nicht die moeglichkeiten bietet, die ich brauche ....

    die groessten wetterer gegen basic (dazu zaehle ich mich auch) haben meist selber mit basic angefangen

  15. #15

    Users Awaiting Email Confirmation

    Zitat Zitat
    Original geschrieben von Ineluki
    Als einstiegssprache habe ich ja auch nichts dagegen (aber auch nicht viel dafuer) .... nur es wird ja wohl auch seine gruende haben, dass viele nach ein oder 2 jahren Basic auf andere programmiersprachen umsteigen und diese dann fuer alles nutzen ... (und oftmals ihre eigene Basiczeit belaecheln und anderen den tipp geben, etwas anderes zu machen) ... vielleicht liegt es ja dadran, dass basic fuer fortgeschrittene wie meinereins einfach nicht die moeglichkeiten bietet, die ich brauche ....

    die groessten wetterer gegen basic (dazu zaehle ich mich auch) haben meist selber mit basic angefangen
    Ok, dann sag mal etwas was du in VB nicht verwirklichen kannst, aber in anderen Sprachen schon

  16. #16
    Ich erinnere mich noch an eine Fernsehendung vom Bayrischen Rundfunk. Dort wurden verschiedene Versionen des gleichen Programms dargestellt. Sprich, das Programm sah immer genauso aus und tat auch das gleiche. Die Unterschiede waren, dass ein Programm in Basic, eines in Pascal, eines in C++ und eines in Assembler geschrieben. Nur Delphie war glaube ich nicht mit dabei. Während Assembler das Schnellste war, war Basic mit abstand das Langsamste. Dann hatte man versucht das zu bewerten und kam zu der Meinung, dass Basic die ideale Einsteigersprache sei, um mal zu sehen wie sowas abläuft. Und auch für einfache Programme sei es ideal, da es sehr schnell von der Hand geht. Doch sei es für komplexere Programme zu langsam und zu beschränkt. Von Assembler wurde auch abgeraten. Das sei zwar hier das schnellste gewesen, doch ist es halt keine benutzerorientierte Sprache, sondern eine maschinennahe, die letzte Stufe vor dem eigentlichen Maschinencode. Folglich hatte Entwicklung der Assembler-Version des Programms dort mit Abstand auch am längsten gebraucht.

  17. #17
    Berliner schauen den Bayrischen Rundfunk??

    Naja, ich hab nichts gegen Basic. Eigentlich hab ich der Sprache recht viel zu verdanken weil ich mit ihr den einstieg ins Programmieren geschafft habe.

    Vorteile: Leicht zu erlernen, Kleine Programme sind schnell entwickelt

    Nachteile: Etwas lahm, für Koplexe Programme relativ ungeeignet

    -Bezogen auch die Interpreter die ich kenne (QBAsic, VB)

  18. #18
    Wie lang ist es denn her, diese Fernsehsendung? Und welche basic Version wurde damals getestet? Macht ja schon einen großen Unterschied ob es jetzt Dar Basic oder Visual basic oder Purebasic ist... Wobei letzteres noch recht neu ist, wirds wohl weniger gewesen sein...

  19. #19
    Basic hat für mich den Nachteil einer verwirrenden Syntax. Ich bin ein großer Fan der C-Syntax (bekant aus Sprachen wie C, C++, PHP oder UnrealScript), die IMO durch ihre Deutlichkeit und Strukturiertheit besticht.
    Zeilen hören mit einem Semikolon auf. Wenn ich eine lange Zeile aufteilen will, dann setze ich einfach ein Linebreak rein und gut is. Wenn ich das gleiche bei Basic versuche, muß ich einen Backslash setzen. Obwohl ich gar kein Zeichen teminieren will.


    Naja, egal. Ich kenne eh nur C64-Basic, QBasic und VB6, wobei letzteres als IDE ganz nett ist.


    BTW, ich sehe auch manchmal BR, und ich wohne in Niedersachsen. BR ist so ziemlich der einzige Sender, der noch dem öffentlich-rechtlichen Bildungsauftrag nachkommt...

  20. #20
    Delphi hat den vorteil, eine ebendso strukturierte Syntax wie C++ zu haben (vielleicht sogar noch strukturierter, da es nicht so verwiirenden sonderzeichenoperatoren wie ++ && == % >> gibt, was fuer den fortgeschrittenen programmierer natuerlich etwas nachteilig ist )

    zusaetzlich ist Delphi genau so wie VB ein RAD-System (Rapid-Application-Development) ... eigentlich hat VB das Visuelle Delphi Konzept geklaut ^__^

    Zudem ist auch Delphi C++ von der Syntax her sehr verwant, da beide Sprachen viele gemeinsame Konzepte teilen

    Gruss Ineluki

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •