• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Warum hat Basic son schlechten ruf?

PNS-Richi

Member
Hallo,

Warum hat Basic so'n schlechten ruf?
Für sehr viele Sachen reicht eine Basic Sprache.
Aber trotzdem heißt es immer C++ ist so toll usw oder Java. Also mein Gambas läuft schnell, dagegen ist Java sau lahm, also von wo kommt dieser schlechte ruf von MS Visual Basic?!

Würd mich mal intersieren wie das die Linux Community so sieht.

Wie ist eure Meinung zu Basic?

und Wer kennt folgendes:
Gambas
RealBasic
PureBasic
HBasic
KBaisc
und kann über seien erfahrungen damit bereichten?

lg Richi
 

donpedro

Hacker
Hi,

aus den Kindertagen von Basic. Der Vorwurf lautet "Spagetticode", das unstrukturierte aneinander reihen von Programmzeilen. Am besten noch häufige "goto", so daß am Ende niemand mehr so richtig durchsteigt.

Hier noch was zum lachen - Vorsicht Frauenfeindlich. :roll:

http://www.zyn.de/frauenprogramm/714507.html
 
OP
P

PNS-Richi

Member
Ja das war vll. mal so, doch heute gibts weit bessere basic Sprachen.
Und goto verwendet wohl kaum einer mehr, da es ja nicht strukturiertes Programmieren sonst ist ;)

lg Richi
 
Da ich schon lange in VB programmiere kenne ich noch einige "Nachteile", die entweder wirklich vorhanden sind oder waren und dann zum Teil auch an den "Programmierern" lagen, die so manches Programm verbrochen haben.

- VB war früher nicht objektorientiert; mit .NET wurde das besser, aber einiges was man in C++ gerne benutzt geht in VB noch nicht, oder erst mit der neuesten Version (z.B. Templates)
- VB hab dazu verleitet ein Programm zu "malen"; es wurde zuerst die Benutzeroberfläche gepinselt und dann erst überlegt wie denn das eigentliche Problem zu lösen und zu programmieren se.
- VB gehört zu den RAD Tools. Rapid Application Development, also die schnelle Applikationsentwicklung wurde aber leider oft so verstanden, dass man den Wert auf das "Rapid" gelegt hat und nicht auf das eigentlich zu lösende Problem.
- VB Programme wurden früher im Gegensatz zu C/C++ nicht in nativ Code übersetzt sondern es war eine Zwischenschicht, die es langsamer machte als eben C/C++

Das fällt mir mal so auf die schnelle dazu ein...
 
OP
P

PNS-Richi

Member
Ja zu VB.

Es gibt aber andere bessere Basic Sprachen als VB z.b.
Gambas
RealBasic
PureBasic

und RealBasic ist jetzt auch schneller(angeblich).
Gambas ist auch schnell. Jedenfalls 1.9.x was ich getestet hab bzw. verwende.

lg Richi
 
BASIC wurde hauptsächlich interpretiert. Mir sind auch nur weniger Compiler aus der damaligen Zeit (1992-1996) bekannt: Turbo BASIC und GFA BASIC. Später tauchte dann mit MS QuickBASIC 4.x/7.x auch ein Compiler auf. Die laufen natürlich voll fix (z.B. Bumpmappingdemo für DOS). Java wird noch heute interpretiert.
 

TeXpert

Guru
ja auch ich habe mich mit VB prostituiert ;) (oh, mann, was macht man nicht aalles für Geld...)

Man muss da auch mal in die entsprechenden Zielprogramme schauen. 90% der Programme, die mit VB gebaut wurden (gerade in Unternehmen) sehen so aus, dass man eine Datenquelle hat (z.B. eine DB oder auch nur flat-Files und die Inhalte entsprechend anzeigen und editieren muss.

das sind in VB 3 bis 5 Klicks und ich sehe das Ergebnis. Die eigendlichen "algorithmischen Probleme" sind idr trivial (suche alle Kunden, aktualisiere Listen blah blah) d.h. *hier* muss ich mir keine großen Gedanken machen.

voice_of_buddha schrieb:
- VB war früher nicht objektorientiert; mit .NET wurde das besser, aber einiges was man in C++ gerne benutzt geht in VB noch nicht, oder erst mit der neuesten Version (z.B. Templates)

ab VB 6 konnte man damit arbeiten ... es war schon witzig mit VB und dann direkt mit der Winapi die Fenster zu bauen ;)

- VB hab dazu verleitet ein Programm zu "malen"; es wurde zuerst die Benutzeroberfläche gepinselt und dann erst überlegt wie denn das eigentliche Problem zu lösen und zu programmieren se.
siehe oben, im Businessbereich ist das auch absolut OK. Daten sind da, Welche Ansicht gwünscht wird auch und fertig.

- VB gehört zu den RAD Tools. Rapid Application Development, also die schnelle Applikationsentwicklung wurde aber leider oft so verstanden, dass man den Wert auf das "Rapid" gelegt hat und nicht auf das eigentlich zu lösende Problem.
rapid ist gut. nicht umsonst hat heute XP einen entsprechenden Zulauf... V-Modell ist etwas schwerfällig ;)

aber auch der Dialog-Designer von MS VC-Studio oder der GUI-Editor von Qt sind RAD-Tools... Matisse für Java GUIs...

dann noch Together, Rational oder whatever als UML-Tools kann man im weitesten Sinne in diese Klasse packen.

Hier kommt es wieder auf die Probleme an... das Gesamt-Problem *kann* durch entsprechende Tools "gemalt" werden, nur die einzelnen Routinen müssen mit Köpfchen dann gefüllt werden.

- VB Programme wurden früher im Gegensatz zu C/C++ nicht in nativ Code übersetzt sondern es war eine Zwischenschicht, die es langsamer machte als eben C/C++
ab VB6 nicht mehr. VB6 bringt einen Native-Code-Kompiler mit.
 
Ja, VB 6 war der Einstieg in eine brauchbare VB Version. Aber der Ruf war schon davor versaut.

Wir entwickeln seit den ersten Betas von .NET in VB mehrschichtige Anwendungen die den Namen auch verdient haben. War früher ein echtes Problem. Und Mono hilft uns hoffentlich aus Sackgasse des Windows-Server und der Windows-Clients rauszukommen. Was ich damit sagen will: VB ist mittlerweile in einem Bereich angekommen in dem ich sogar, wie man sie so schön nennt, unternehmenskritische Applikationen damit entwickle und vertreibe.
 

TeXpert

Guru
naja, Unternehmenskritisch ist so eine Sache ;)

was für komische Excel-Makros ich schon gesehen habe und die *waren* Unternehmenskritisch.... (wenn der Vorstandsvorsitzende davon seine Entscheidungen abhängig macht ;) )
 
OP
P

PNS-Richi

Member
Also ich denk mal das man mit Basic schon sehr viel machen kann und das einige Basic Sprachen immer ausgereifter werden.

Auserdem ist die Synthax ja nur Basic, wer weiß was dahinter steckt ;)

Was wäre wenn C eine andere Syntax hätte? Würde ja nix an C ändern bzw. an der geschwindigkeit.

lg Richi
 

panamajo

Guru
PNS-Richi schrieb:
Warum hat Basic so'n schlechten ruf?
Wie schon genannt gibt es etliche BASIC Dialekte, und jeder kocht sein eigenes Süppchen.

Das resultiert darin dass selbst banale Dinge wie File I/O, Auswertungsreihenfolge von Operatoren, Stringhandling, Datentypen, Syntax etc. nicht normiert und damit nicht portabel sind - nicht mal auf derselben Plattform und OS aber unterschiedlichen BASIC Dialekten.
 

ws1964

Hacker
Hallo Leute,

Ja warum hat BASIC einen schlechten Ruf?
Die Anfangszeiten von Commodore 64 & Co. sind vorbei, und Spaghetti-Code braucht niemand mehr zu schreiben, da alle Sprachelemente einer Strukturierung auch in BASIC vorhanden sind.
Dann sollte sich der Ruf doch bessern, oder? Schließlich interressiert es einen Anwender im Endeffekt nicht, in welcher Sprache das Programm, welches er nutzt geschrieben wurde, Hauptsache das Problem wurde gelöst.
Aber die Antwort habt ihr Euch alle bereits selbst gegeben, zumindest den größten Nachteil offen gelegt.

Die vielen miteinander nicht kompatiblen BASIC-Dialekte!

Wie bringe ich GAMBAS bei den VB6 Quellcode zu akzeptieren? Die OpenOffice Entwickler haben nach SO5.2 einen Schritt weg von der kompatiblen VB Programmierung getan. Und ist RealBasic-Quellcode kompatibel mit Gambas?
Die Antworten lauten durchweg "NEIN"
Klar wer blos schreibt:
Code:
Dim a as integer
Dim b as integer

print a+b

end

...hat kaum Probleme.
Aber schon bei bei der Dimensionierung von Datenfeldern, Fehlerbearbeitungsroutinen und und und, gibt es gravierende Unterschiede.
Und da scheint C++ oder auch Pascal(Delphi) im Vorteil zu sein.

Wenn es mal einen standartisierten BASIC Code gibt, der überall akzeptiert wird, wird BASIC sicher einen gewaltigen Sprung nach vorn machen, aber bis dahin bleibt der Ruf, wenn auch nicht mehr ganz gerechtfertigt schlecht. Und das Durcheinander der inkompatiblen Quellcodes gibt allen Gegnern von Basic die Argumente in die Hand um andere Sprachen zu bevorzugen. Denn welchen Dialekt soll zum Beispiel eine Hochschule lehren?

Trotzdem nutze ich BASIC zur Lösung meiner kleinen Probleme.

MfG Wolf
 

Pumphaus

Member
Ich denke auch, dass der schlechte Ruf von Basic-Sprachen vor allen Dingen von den Vorgängerversionen VB<6 rührt. Ich selbst habe immer sehr gerne mit VB6 programmiert. Die meisten Probleme hängen aber auch mit dem Programmierer zusammen. Wenn er vorher immer erst eine GUI erstellt, aber nicht weiß, wie er sein Programm coden will, ist das bestimmt nicht der Fehler von VB.
Für manche Projekte finde ich auch heute noch Basic-Sprachen besser als C/C++/C#. Wenn ich in einem C#-Programm das hier stehen habe:
Code:
     }
    }
   }
  }
 }
}
Dann dreht sich mir schon der Magen um und nehm lieber VB.NET.
Wie schon gesagt, ein großes Problem ist aber immer noch die Standardisierung, wobei sich das vll. mit .NET/Mono auflöst.
 

Morlon

Member
Pumphaus schrieb:
Code:
     }
    }
   }
  }
 }
}

Hmm, also ich finde es einfacher das oben einzutippen anstatt (kann sein, dass ich hier jetzt Basic mit Pascal mische:p ) :

Code:
                    wend
              end if
        end if
    wend
end sub

Und die Lesbarkeit ist oben schon dadurch besser, dass kate mir z.B. zu ner Klammer immer mit das Gegenstück anzeigt.

Die derzeitigen Nachteile von Basic wurden ja in den anderen Beiträgen schon genannt. Ich hätte Gambas eher auf Pascal aufgesetzt, um somit eine native Entwicklungsumgebung zu haben, mit der man auch leicht alte Delphi-Projekte weiterverwenden kann.

Ich bin auch leicht Basic geschädigt, da ich damals im Praktikum DB-Clients mittels Access und VB einrichten musste.

Ein positives Beispiel habe ich aber auch, es gab damals auf dem Amiga Power-Basic, welches Basic mit Pascalfunktionalitäten vereinte und womit sogar kommerzielle Actionspiele programmiert wurden. War ein sehr schönes Projekt mit guter Entwicklerunterstützung. Leider hat sich Amiga ja dann im Consumerbereich recht schnell erledigt.

MfG
 

ws1964

Hacker
Morlon schrieb:
}
}
}
}
}
}


Hmm, also ich finde es einfacher das oben einzutippen anstatt (kann sein, dass ich hier jetzt Basic mit Pascal mische:p ) :

Code:
                    wend
              end if
        end if
    wend
end sub

Na das ist Ansichtssache.
Der Mensch liest am liebsten in "seiner" Sprache. Und ich spreche nicht "{{{{{{}}}}}".
Dann eher "For...next" oder "If then end if" .
Kann ich ins deutsche übersetzen....
Aber ist Ansichtssache.
Deswegen sollte jede Programmiersprache seine Daseinsberechtigung haben.
Problem ist die Standartisierung. Und da haben sich auch die "GAMBAS"-Entwickler nicht hervor getan.
MS ist zur Zeit der Marktführer im BASIC-Dialekt, und wenn's auch schmerzt, daran sollte man sich orientieren und dann bringt man auch die Sprache voran, andernfalls kreiert man nur einen neuen Dialekt und fördert die Unübersichtlichkeit.

MfG Wolf
 
OP
P

PNS-Richi

Member
Mag sein das MS Martkführer ist.

Aber ich persönlich finde Gambas weit besser.

Code:
If (lala=="hrhr" && lol=="rofl") {
...
}

if lala="hrhr" and lol="rofl" then
...
end if

Sry ich kann kein C aber ich hoff mal das mitn IF ist richtig oder ich hab was falsch in Erinnerung.

der aufwand kommt wohl ziemlich aufs gleiche.

Vergleicht mal die Synthax von Basic und C, ihr werdet merken, das beides Vor- und Nachteile hat.

lg Richi
 

ws1964

Hacker
OK,

Aber mir ging es eigentlich nicht um die Geschmacksache, welcher Dialekt nun der Bessere ist, da passe ich mich an. Hauptsache es wird mal einheitlich. Man lernt die Sprache und kann auf jedem System gleich programmieren und die Quelle von System zu System übernehmen.

Das muß Ziel sein. Und nicht dieser Mischmasch.

MfG Wolf
 

roemi

Advanced Hacker
Die Vorurteile sind schon klar wenn MS-Office-Makro-Sprache mit Basic und damit mit allen Basic basierenden Sprachen gleichgesetzt wird :?

Zudem kann man lesen das so mancher das "goto" kennengelernt hat, gehört hat das das Mist ist und davon ausgeht das es heute auch noch so ist.

Auf MS Seite hat sich aber mit .Net einiges getan.

Zudem bin ich dafür zwischen Programme/Anwendungen und Tools zu unterscheiden. Ich behaupte das 95 % aller, die programmieren, Tools für den Hausgebraucht bzw. zur Entlastung einzelner Arbeitsplätze und vergleichbares entwickeln.

Richtige, ernstzunehmende Anwendungen (die das Herz eines Unternehmens darstellen) wird keiner auf Basic basierend schreiben.
Denn hier spielt Zeit ein wirkliche Rolle.
 
roemi schrieb:
Richtige, ernstzunehmende Anwendungen (die das Herz eines Unternehmens darstellen) wird keiner auf Basic basierend schreiben.
Denn hier spielt Zeit ein wirkliche Rolle.

Gerade DAS Argument zählt unter .NET nicht mehr. Die Programme sind alle ähnlich schnell, wenn sie entsprechend programmiert sind.
 
Oben