PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage: Welches Basic ist das Beste ???



docdoc
28.01.2005, 12:40
hallo !
ich bin neu in der roboter umgebung und möchte nun eine programmiersprache lernen...
wahrscheinlich basic, aber ich weiss nun nicht, welches ich lernen solte..
welche gibt es überhaupt, und welches ist das beste ?
könnt ihr mir helfen ?

morob
28.01.2005, 13:04
hallo !
ich bin neu in der roboter umgebung und möchte nun eine programmiersprache lernen...
wahrscheinlich basic, aber ich weiss nun nicht, welches ich lernen solte..
welche gibt es überhaupt, und welches ist das beste ?
könnt ihr mir helfen ?

willkommen,

du hast deine frage etwas unklar ausgedrückt. willst du programmieren lernen oder eine programmiersprache erlernen?

programmieren lernen, kann man unabhängig von einer sprache. wenn man das kann kann man sich mit einer sprache beschäftigen und dann ist c noch das beste.

gruß morob

docdoc
29.01.2005, 18:12
hallo,

ich möchte eine programmiersprache erlernen...
also ist c das beste ?!
dann werd ich mich mal darüber informieren...

danke viel mals morob

docdoc
29.01.2005, 18:27
also.. welches c meinst du ? c+ oder ccbasic, oder ist das das gleiche?
ich habe eben noch keine ahnung über roboter programmiersprachen und
möchte mich einbischen schlau machen darüber ...

gruss docdoc

29.01.2005, 18:35
Am produktivsten ist sicher Bascom Basic. Besonders der Einstieg ist einfach, zudem haben es viele.
Infos hier: https://www.roboternetz.de/phpBB2/viewtopic.php?t=884

Arexx-Henk
30.01.2005, 12:07
Hallo,

Um ein roboter einfach zu steurn genugt es 'Basic' zu lernen.
Wenn mann sich ganz tief in die inneren elektronic der Roboter und Microcontroller hineinarbeiten will sollte man 'C' lernen.
'C' ist nicht schwieriger als Basic, nur kann mann damit viel complexere sachen programmieren und die ausfuhrung von einem C-program ist durchsnittlich so 1000 mahl schneller als ein Basic program.

Conrad CCBasic ist ein 'BASIC' programmiersprache und kein 'C'.

Die 'CC' in 'CCBasic' wirkt eigentlich ganz verwirrend, damit wird vermutlich gemeint 'C'onrad 'C'ontrol.

Die Robby software entwicklungsumgebung heisst:
'Conrad C-Control/Basic Entwicklung'
eigentlich steht hier:
'Conrad Conrad-Control/Basic Entwickung.....'

und hat nix und gar nix mit 'C' zu tun.

Gruss

Henk

30.01.2005, 13:02
Hier muss etwas korrigiert werden:


Hallo,
Um ein roboter einfach zu steurn genugt es 'Basic' zu lernen.
Wenn mann sich ganz tief in die inneren elektronic der Roboter und Microcontroller hineinarbeiten will sollte man 'C' lernen.


Mit moderen Basic Compilern wie Bascom kann man ganz genauso tief in die Materie eindringen wie in C. Jedes Register als auch Assembler können in Basic direkt angesprochen werden.


'C' ist nicht schwieriger als Basic, nur kann mann damit viel complexere sachen programmieren und die ausfuhrung von einem C-program ist durchsnittlich so 1000 mahl schneller als ein Basic Programm.

Dies trifft nur auf Basic-Interpreter zu die im Rom eingebaut sind, wie z.B. bei der C-Control oder C-Control Pro etc.
Bei Atmel-Controllern, Mega16/32 wie rn-Control usw. dagegen, erzeugt ja der Basic Compiler automatisch ebvenfalls schnellen Maschinencode. Der ist in der Regel nicht langsamer als C-Programme, aber das ganze ist viel schneller programmiert. In C braucht man wesentlich mehr Programmzeilen für gleiche Funktionalität, somit ist es schon komplexer!



Conrad CCBasic ist ein 'BASIC' programmiersprache und kein 'C'.Die 'CC' in 'CCBasic' wirkt eigentlich ganz verwirrend, damit wird vermutlich gemeint 'C'onrad 'C'ontrol.


Diese Basic Dialekt ist in der Regel etwas langsam da halt Code während der Ausführung interpretiert wird. Es ist kein Compiler!


Also generell sollte man immer Compiler und nicht Interpreter einsetzen. Zudem wird dann auch kein Platz im sowieso recht kleinen Speicher der Controller verschwendet.

morob
30.01.2005, 17:14
hallo,

die frage ist, hast du schon mal programmiert docdoc?

das problem ist meist nicht die programmiersprache, sondern die analyse der probleme.

gruß morob

hup
30.01.2005, 19:35
...hast du schon mal programmiert docdoc?...

Also wenn es nicht in erster Linie darum geht, das Beste aus dem Robby herauszuholen, sondern auch das Programmieren zu erlernen, dann würde ich eher C wählen, z.B. C3C:

http://ccintern.dharlos.de/download.htm

eines der vielen Online-Tutorials zu C und und für einfache Beispielprogramme:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=3678

Arexx-Henk
01.02.2005, 08:02
Hallo Gast,

Da hast Du deutlich unterschied gemacht zwischen Basic compiler und Basic interpreter, da bin ich etwas ein zu gerade strecke gefahren.


Diese Basic Dialekt ist in der Regel etwas langsam da halt Code während der Ausführung interpretiert wird. Es ist kein Compiler!

Da werden doch die Robby Basic commands umgesetzt nach Tokens (beim Tastendruck F12) und gleich danach in die Robby geladen und durch die Robby Microcontroller ausgefuhrt.

Wie sollte mann denn diesen umsetzung nennen?

Gruss,

Henk

Frank
01.02.2005, 12:35
Also nochmal zur Erklärung Interpreter / Compiler. Es wurde ja schon öfters hier im Forum angesprochen, also eventuell auch mal Suchfunktion nutzen.


Da werden doch die Robby Basic commands umgesetzt nach Tokens (beim Tastendruck F12) und gleich danach in die Robby geladen und durch die Robby Microcontroller ausgefuhrt.
Wie sollte mann denn diesen umsetzung nennen?

Richtig, die Befehle werden dort im Basic nur in Tokens und nicht in richtigen Maschinencode umgesetzt. Der Robby Prozessor kann diese Tokens aber garnicht verstehen.
Daher ist beim Robby (C-Control) ein sogenanter Interpreter eingebaut. Also ein Software-Programm das den Code während der Ausführung für den Prozessor übersetzt (vereinfacht dargestellt). Dies kostet sehr viel Rechenzeit im Vergleich zu echten Compilern. Ein weiterer Nachteil dieses Verfahrens ist, das dieses Übersetzungsprogramm (Betriebsystem/Interpreter genannt) im Controller sehr viel Platz beansprucht. Es muss ja alle Tokens/Befehle übersetzen können, selbst wenn die garnicht benutzt werden.
Meiner Meinung ist diese Technik veraltet und nicht für Controller dieser Größenordnung geeignet.

Bei moderneren Programmiersprachen (bzw. Compilern) wie Bascom-Basic oder C-Compilern wird schon beim generieren auf dem PC echter Maschinencode erzeugt den der Prozessor dann sofort ausführen kann. Daher sind diese Compiler günstiger da der erzeugte Code dann um ein vielfaches schneller ausgeführt wird. Manche Dinge lassen sich erst dadurch überhaupt bewerkstelligen.
Zudem belegen dann auch nur die Funktionen Speicherplatz, die auch wirklich benutzt werden. Daher haben diese Compiler in der Regel auch ein vielfaches an verfügbaren Funktionen/Libarys.

Ich würde in jedem Fall einen Compiler empfehlen. Ob C, Pacal oder Bascom-Basic nimmst ist dann Ansichtssache. Schau dir einfach mal die verschiedenen Quellcode-Dateien an, daraus kann man schon ein wenig ersehen was einem verständlicher erscheint. Und zudem kann man von jeder Sprache auf jede andere umsteigen, so schwierig ist das dann garnicht mehr.

Gruß frank

docdoc
01.02.2005, 18:43
halt!

soo weit bin ich noch gar nicht...
ich kenne mich schon recht gut in der elektronik aus und dachte nun, das ich mich steigern könnte und in die "robotik" einsteigen könnte...
ich kann eigentlich noch gar nichts mit roboter. ich weis nichteinmal wie man den microprozessor an dem com anschliest...
nun möchte ich euch fragen, ob ihr mir nicht einbischen weiter helfen könnt... vieleicht buchempfehlungen, links usw.
es intressiert mich nähmlich schon recht, dieses robotik zeugs...

gruss docdoc

01.02.2005, 18:51
Hallo

Zum einsteigen kann ich dir nur Bascom empfehlen, wenn du einen AVR nehmen willst. Von C wirst du im ersten Moment erschlagen und verlierst die Lust.

Guter Einstieg www.rowalt.de

MFG
Dieter

docdoc
01.02.2005, 19:15
nein, nein ...
ich möchte schon mit etwas anspruchsvollem beginnen und nicht das schnellste und einfachste lernen.
gruss
docdoc

01.02.2005, 19:27
Hallo

Hast du ein wenig Vorurteile zu Basic ???

Schau dir doch beides an und entscheide dann selber.

Programmieren kann man mit beiden schlecht oder gut.

Frank
01.02.2005, 19:28
Bascom Basic das auch bei www.rowalt.de angesprochen wird, ist schon einer der besten Compiler die es gibt. Damit kann man schnell einsteigen und eigentlich alles erreichen was machbar ist, sogar Assemblercode kann eingebunden werden.
Alternativ gibt es nur C und Pascal Compiler. Dazu wurde ja nun schon einiges gesagt.
Wenn du schnell einsteigen willst ist Bascom sicher am besten, hast du etwas mehr Zeit und stören dich kryptische Zeichenfolgen nicht, dann ist C (z.B. GCC COmpiler für AVR´s) auch gut. Ein Pascal-Compiler ist recht teuer und hat gegenüber den ersten beiden Varianten eigentlich keinen echten Vorteil. Da Pascal zudem nicht mehr so häufig verwendet wird, würde ich davon abraten, auch wenn der Quellcode sehr übersichtlich aussieht.

Schau mal hier:
Bascom Basic: https://www.roboternetz.de/phpBB2/viewtopic.php?t=884
C: https://www.roboternetz.de/phpBB2/viewtopic.php?t=2158

docdoc
01.02.2005, 19:57
danke vielmals für die hilfreichen informationen...
ich werde mich mal dahinter machen...

nur noch eine frage, wo kann ich herausfinden wie ich die verschiedenen microprozessoren an den computer anschliese (links. buchempfehlungen) ??

docdoc
02.02.2005, 10:53
antwortet niemand ?

GaronG
02.02.2005, 13:50
Hallo docdoc,

Microcontroller oder/und Computer werden im allgemeinen mit einem Bussystem zum Datenaustausch verbunden. Im Prinzip sind dies eine mehr oder weniger große Anzahl von Leitungen, auf denen softwaremäßig bestimmte Protokolle laufen. Für deinen Zweck suche mal unter den Stichworten 'I2C' oder 'RS232', zwei der hier am häufigsten vorkommenden Bussysteme.
Da findest du sicher vorgefertigte Komponenten dabei, mit denen man den gewünschten Datenaustausch aufbauen kann.

MfG
GaronG

docdoc
02.02.2005, 17:14
danke vielmals... 8-[

mfg
docdoc

ProgDom
02.02.2005, 20:31
Hallo,
ich bin auch neu auf dem Gebiet der uC Programmierung und habe jetzt ein funktionsfähiges Board. Ich hatte mir schon fest vorgenommen Assembler zu erlernen, weil ich schon viele andere Sprachen kenne und kann.
Jetzt habe ich letzte Woche mit Tutorials angefangen und ich glaube, dass mir meine Kenntnisse in anderen Sprachen dabei ein wenig zum Verhängniss werden. Ich möchte allerdings nicht so viel Geld (35€) für ein Buch ausgeben. Das werde ich vllt. später einmal tun.
Was sollte ich an meiner Stelle tun, oder gibt es noch einfachere Assembler Tuts ? Ansonsten werde ich wohl auch erst einmal mit Basic anfangen.

*************
MFG
ProgDom

GaronG
03.02.2005, 08:19
Hallo ProgDom,

Assembler ist im Vergleich zu den 'höheren' Programmiersprachen eine sehr hardware-nahe Sprache, die genau auf einen Prozessortyp ausgerichtet ist. Zwar sind sich alle Varianten ähnlich, können sich aber doch im Befehlssatz und der Syntax ziemlich unterscheiden. Du muss erst auswählen, mit welchem Prozessor du dich beschäftigen willst und dann den dazugehörenden Assemblercode lernen.

MfG
GaronG

MesoBoB
03.02.2005, 08:59
Hallo ProgDom
Welche Sprachen beherschst du denn schon wenn du sagst das sie dir zum Verhängnis werden? Normalerweise ist es nur von Vorteil wenn man schon eine Programmiersprache kann bevor man mit Assembler anfängt.
Natürlich ist der Umstieg von z.B. Basic auf Assembler etwas extremer als von C/C++ aber ein Nachteil ist das Beherschen von Basic bestimmt nicht.
Ich würde jedem, der wirklich Programmieren lernen will zu C/C++ raten da man von dort sehr leicht auf alle möglichen Sprachen umsteigen kann(Außerdem fällt einem dann der Umstieg auf Assembler nicht ganz so schwer), wenn es jedoch nur darum geht Roboter zu programmieren würde ich etwas zweckmäßigeres nehmen.

Mfg MesoBoB

ProgDom
03.02.2005, 12:48
Nun, für meinen Atmega8 werde ich dann am Anfang doch erst einmal Basic verwenden. Ich beherrsche zwar schon dir Grundeigenschaften von C/C++, jedoch finde ich, dass Assembler sehr stark in die Hardware geht, was ich zu Beginn wohl ersteinmal nicht brauche.
Ich denke es nimmt einem schnell die Motivation, wenn man sich erst mit der Programmierung qäulen muss. Also gehe ich jetzt erst einmal auf das Thema uC/Robotik zu und wenn ich dann ein paar Erfolgserlebnisse hatte, werde ich mal Assembler erlernen.