hallo leute,
ich bin absoluter anfänger in programmieren(eigentlich will ich erst
damit anfangen)
könntet ihr mir sagen wo die wesendliche unterschieden zwischen der
programmiersprache c und basic liegen.
es wäre sehr nett von euch wenn ihr mir da paar sachen aufzählen
könntet.
ich bedanke mich schon mal im vorraus
C ist case-sensitiv, sprich Groß- und Kleinschreibung ist entscheidend.
Damit ist diese Sprache für dich schon mal nicht geeignet ;- )(SCNR)
Ansonsten ist es eher eine Glaubensfrage. Dürfte ne lustige
Freitagsdiskussion geben.
1.) Syntax -> Befehle schreibweise.
2.) Basic ist meist einfacher zu erlernen z.B. BASCOM AVR Basic
3.) C ist kann leichter an andere C-Compilier angepasst werden ist im
Syntax schwieiger zu lesen ( z.B. WINAVR )
In der Programmierung ist C-WINAVR schwieriger, aber flexiebler als
BASCOM AVR Basic
Zu beiden Sprachen gibt es Wikipedia-Artikel, die als Erstinformation
gut sind. Daher spare ich diesen Teil zu wiederholen.
Im Wikipedia-Artikel über BASIC sind die Entwurfsprinzipien genannt:
1. Für Anfänger einfach zu erlernen
2. universell einsetzbar
3. Erweiterbarkeit der Sprache für Experten
4. Interaktivität
5. Klare Fehlermeldungen
6. Rasche Antwortzeiten
7. Hardwareunabhängigkeit
8. Betriebssystemunabhängigkeit
Übertragen auf den Bereich Mikrocontroller bleiben da nicht mehr viele
Entwurfsprinzipien übrig. Und wenn es aus dieser Sicht schon egal ist,
ob C oder BASIC, empfehle ich gleich mit C anzufangen. Später brauchst
du es doch ;-)
Du kannst aber auch den "Umweg" über BASIC machen.. Die Grundregeln des
Programmierens lernst du so auch. Und der Umstieg später von irgendeiner
Programmiersprache in irgendeine andere machen täglich Tausende.
Die Frage ist,was will man Programmieren,und wie oft ?
Die Sprache Visualbasic (VBA) ist in Word, Exel , Acess , Powerpoint
schon vorhanden , am besten vielleicht C + Basic,mfg
Den Unterschied könnte man vielleicht so beschreiben:
BASCOM ist mehr so wie heutiges Lego. Ne Menge fertiger
Bausteine die man kombinieren kann. Das ist toll, wenn die
Bausteine genau das machen was du brauchst. Wenn sie das
aber nicht tun, dann wirds aufwendig.
C hingegen ist mehr der Selbstbau-Bastler Kit bestehend
aus Sperrholz und Laubsäge. Du kannst damit alles Mögliche
machen, musst aber selbst mit der Säge ran. Natürlich gibt
es fertige Sägeschablonen, die werden aber nicht mitgeliefert
und mann muss im 'Laden' danach suchen.
@yahp das heisst bei basic darf man schreiben wie man will oder wie
meinst du das?
@ all könnt ihr mir konkräte besipiele nennen was man bei einem machen
muss und ob man das bei der andere sprache nicht beachten muss all
sollche dinge oder wieso basic für einen anfänger leichter wäre oder
welche wichtiger wäre und warum usw. bitte nennt mir ein paar beispiele.
ich bedanke mich schon mal im vorraus
> all könnt ihr mir konkräte besipiele
Das bringt dich nicht weiter, denn du vergleichst Äpfel mit
Birnen.
Das ist wie der Unterschied von 'Malen nach Zahlen' und
einem Malkurs in der Volkshochschule. Bei 'Malen nach
Zahlen' hast du schneller Erfolgserlebnisse, dafür musst du
dich in der Volkshochschule intensiver mit der Materie beschäftigen
bevor du dein erstes Bild an die Wand hängen kannst. Auch wenn
'Malen nach Zahlen' schöne Bilder liefert, reichen sie nach
einiger Zeit nicht an das heran, was du in der VHS lernst.
Dafür kannst du heute anfangen und kannst nächsten Sonnabend ein
Bild an die Wand hängen, während dir in der VHS der Lehrer immer
noch der die Ohren mit Farbtheorie volllabert.
Angenommen du willst einen µC programmieren (was ja vielleicht stimmt,
weil du hier im Forum fragst) und zwar willst du z.B. ein LCD ansteuern.
Mit C könntest du dir deine eigenen Routinen dafür schreiben oder eine
sog. Funktionsbibliothek von einem anderen Programmierer holen (open
source oder kommerziell...).
Bei BASIC haben einige Hersteller solcher kommerzieller BASIC Pakete
proprietäre, nicht im Sourcecode vorliegende Befehle in den Wortschatz
der Sprache hinzugefügt um z.B. eine LCD Anstuerung zu machen. Sie haben
damit einen neuen BASIC-Dialekt geschaffen.
Zunächst sind solche megamäßigen BASIC Befehle eine prima Sache, weil du
rel. schnell zu einer fertigen Lösung kommen kannst - wenn du dein LCD
genauso anschliesst wie der Hersteller vorgibt.
Wenn du ein andere Hardware anschliessen willst, musst du ggf. doch
eigene Routinen schreiben (wie bei C). Oder du versuchst fertige Sachen
von Dritten übernehmen.
Durch die Aufsplittung in Dialekte und wenige (keine?) freien BASIC
Compiler ist die Wahrscheinlichkeit direkt passenden BASIC Sourcecode zu
finden aber geringer. Anders bei C - Für viele µC gibt es auch auch
freie C Compiler und riesige Sourcecode-Reservoire...
Pauschale Antwort: Nein, denn das Betriebsystem hat mit dem BASIC
erstmal garnix zu tun.
Ein BASIC Programm-Quellcode kann von einem BASIC Interpreter ausgeführt
werden. In dem Fall brauchst du einen BASIC Interpreter-Programm für
dein Betriebssystem und für den verwendeten BASIC Dialekt. Manche
Betriebssyteme bringen einen solchen BASIC Interpreter mit. Gott was
waren das Zeiten, damals mit dem C64 etc...
Oder der BASIC Programm-Quellcode kann mit einem BASIC-Compiler in ein
reguläres Maschinenprogramm kompiliert (übersetzt) werden.
Betriebssyteme mit eingebautem BASIC Compiler kenne ich keine, nur
Compiler zum Nachinstallieren für manche Betriebssysteme.
Die Compiler-Variante ist übrigens auch die Variante, wenn du µC mit
BASIC fütterst. Für das "fette" Interpreterprogramm ist normalerweise
der Platz auf dem µC einfach nicht da bzw. zu kostbar. Und zumindest auf
einfachen µCs existiert meistens auch kein Betriebssystem.
Wenn Du einen Microcontroller programmieren willst, dann würde ich auf
jeden Fall die Sprache C nehmen. Dies aus dem einfachen Grund, dass es C
Compiler für alle Microcontroller gibt. Basic gibts nur für sehr wenige.
Und alle Beispiele in Tutorials oder Application Notes sowie Beispiele
im Internet sind in C (allenfalls Assembler) verfasst.
Auf dem PC für Applikationen siehts anders aus, das ist z.B. Visual
Basic weit verbreitet. C verwendet man auf dem PC eher selten, viel
häuffiger C++. Auf dem PC ist es eher eine Glaubensfrage, da es für alle
Sprachen den passenden Compiler oder Interpreter gibt.
bei einem pc, auf dem ein gui laufen soll, ist auch noch delphi zu
erwähnen, bzw. für konsolenanwendungen pascal.
ich sehe es so, dass basic, pascal, delphi und vb leichter zu lernen
sind als c / c++, und der hobbyanwender quasi alles benötigte damit
machen kann. am pc wohlgemerkt. zwar gibt es für microcontroller auch
compiler, die aus pascal-code den passenden assembler-source für einen
atmega (gibt es nen pascal-compiler für PICs?) macht, aber ich behaupte
mal, dass 99% aller ucs in c programmiert sind. da es gängig ist,
funktionen in .dll-dateien auszulagern, die von den meisten
programmiersprachen verwendet werden können, und somit auch pascal /
basic erweitert werden kann, solltest du als anfänger lieber zwischen
pascal und basic eine münze werfen, als mit c anzufangen, alleine schon,
weil der code sehr viel lesbarer ist, und du später, nachdem du das
prinzip des programmierens verstanden hast, recht leicht auf c umsteigen
kannst. im endeffekt funktionieren c, basic und pascal relativ ähnlich,
hauptsächlich die syntax ist anders. und dass alle größeren anwendungen
in c++ geschrieben sind ist auch falsch, wenn ich mich recht entsinne,
ist opera in delphi geschrieben und age of empires 1 in visual basic
(korrigiert mich, wenn ich mich irre)
Hallo!
In meinen Anfängen (C64) kam ich das erste Mal mit Basic in Berührung.
Danach machte ich mal einen kurzen Ausflug in die Welt von Pascal.
Derzeit entwickle ich einfache Windows GUIs mit VisualBasic 6 und µC
Applikationen in AVR-GCC und Assembler. Nebenbei verwende ich auch noch
PHP, bei dem der Syntax ähnlich von C ist. PHP is eignetlich nur eine
Interpretersprache im Web-Bereich.
Ich würde sagen, wenn du Windows Programme entwickeln möchtest, fang mal
mit VB an (is ja auch bei Word, Excel,... in abgespeckter Form dabei).
Wenn du jedoch µC Applikationen entwckeln willst, rate ich dir auf jeden
Fall zu C und/oder Assembler. Besonders letzteres wird dir bei
Zeitkritischen Routinen gute Dienste leisten. Du kannst sogar Assembler
inline im C code verwenden. Besonders diese Tatsache spricht eher für
ein "C UND ASM".
Ich bin mir sicher, wenn du mal die Grundfunktionen (Dekleration,
Datentypen, Schleifen,...) einer Sprache begriffen hast, kannst du (mehr
oder weniger schnell) auch Sourcecode in anderen Sprachen deuten. Wobei
auch jede Sprache so ihre Eigenheiten hat.
Grüße aus Österreich
Markus