
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Dietmar, ich fand das, was du gesagt hast, ganz interessant und freue mich, dass du es angesprochen hast. Ich zitiere dich mal an dieser Stelle, denn Peter's Thread ist schon etwas überladen mit Themen, die nichts mit seiner Frage zu tun haben - ich hoffe mal das ist in Ordnung so ;-) Es ist doch einem selbst überlassen, welchen Compiler man verwenden will. Auch wenn man als erfahrener CCBASIC Programmierer zunächst nicht die Vorteile von BASIC++ oder mBasic sieht, es ist ein gewaltiger Unterschied, Programme werden durchaus schneller und übersichtlicher, es hilft auch Fehler zu vermeiden. "Go To Statement Considered Harmful", Dijkstra, das war vor 40 Jahren, seitdem benutzt man keine GoTos mehr. Welches CCBASIC Programm würde aber ohne ein Goto auskommen???? Und eigentlich sollte sich doch Conrad freuen, wenn rund um die C-Control reichlich Software entsteht. "Eigentlich", weil es ganz so scheint, als würde Conrad mBasic absichtlich ignorieren. Ich bin vor einiger Zeit (vergeblich wie sich herausstellen sollte) an Conrad herangetreten und habe mBasic und einige Ideen zur Verbesserung der C-Control vorgestellt: 1. Der Compiler soll die C-Control Typen (M-Unit, PCB, Station,...) sowie die Versionen als auch das Versionsdatum selbst unterscheiden können, damit der Anwender nicht Befehle kompiliert, die eine bestimmte C-Control gar nicht kennt. Außerdem könnte einige Befehle automatisch nachgebildet werden (das macht z.B. mBasic mit NAND für die Micro/PCB). Weiterhin könnten so Bugs automatisch behoben werden (das macht mBasic z.B. bei DOW für V1.1). Das kann man nur dann konsequent für alle Typen und alle Versionen realisieren, wenn man entsprechende Informationen darüber hat oder bekommt! 2. Die erweiterten Funktionen über zusätzliche Tokens ansprechen nicht über "PRINT" Umleitung. Das verbraucht weniger Speicherplatz. Die Print Umleitung existiert nur, da man den alten Compiler weiterverwenden musste 3. Assembler in speziell gekennzeichneten Assembler Blöcken. Die Assembler Befehle können nur auf die BASIC Variablen oder Register zugreifen. Dann kann der Anwender Assembler programmieren, aber nicht das Betriebssystem auslesen, und alle wären glücklich. 4. Mit ganz einfachen zusätzlichen Tokens kann kompiliertes BASIC enorm beschleunigt werden. 5. mBasic ist für jeden gegen kostenlose Registrierung uneingeschränkt nutzbar, das bleibt auch so. So, und das war Conrad's Antwort zu meinen Vorschlägen: "" (Das ist übrigens ein leerer String, denn Strings gibt es auch inzwischen in mBasic) Enttäuschend, aber dabei hätte doch irgendetwas dem großen Conrad dazu einfallen müssen. Ich erwarte keine Anerkennung, aber wenigstens ein "Nein". (Vielleicht scheut sich ja jemand vor der Mehr-Arbeit, die ich da ins Haus trage) Aber wer kennt Conrad's Sturheit besser als seine Kunden - Und zum Glück waren die mBasic Anwender (derzeit 112 registriert) ja auch kontaktfreudiger! Die vielen Mails, Lob und die zahlreiche Ideen waren da schon weitaus mehr motivierend :-) Ich freue mich auch über Hilfe, so kann ich bald "mit tatkräftiger Unterstützung" neue Befehle für das C-Control Modem einbauen, und der eine oder andere hat schon angekündigt sein Projekt als Beispiel beizusteuern. Ich warte auch noch auf die versprochene Displaysteuerung für alle C-Controls! Gerne hätte ich auch einen speziellen Emulator oder Simulator für die V2.0 geliefert, aber Conrad ist daran nicht interessiert, und ohne Infomaterial geht es eben einfach nicht... Über den Interpreter und das Betriebssystem der anderen Versionen weiß niemand etwas so genau, wenn man sich aber auf Conrad's "abwärtskompatibel" verlassen darf, sollte mBasic auf allen C-Controls problemlos laufen. Da auch zukünftig nicht mit Unterstützung von Conrad zu rechnen ist, mBasic aber noch nicht alle Möglichkeiten des Machbaren voll ausschöpft, soll es auch auch kompatibel zu den Atmel AVR Mikrocontrollern gemacht werden (da müsste auch noch ein neuer Assembler her). Würde mich über Meinungen freuen, die altbekannte BASIC++ Lobby hat sich ja schon geäußert (und ich nehme das als Kritik auch sehr ernst) Viele Grüße, Patrick Also ganz zum Schluss noch der Link zum INoffiziellen C-Control Compiler :-) Ich kann wirklich nicht verstehen, wieso BASIC++ von Conrad als offizielle Programmiersprache auserkoren worden ist. (CC)BASIC++ enthält weder einen Emulator, noch einen Simulator noch ist die Möglichkeit vorgesehen, in Assembler zu programmieren! Das ganze Projekt wirkt nicht nur dadurch extrem unseriös. Ich habe die Entwicklung von "BASIC++" mitverfolgt und dabei etliche Versionen ausprobiert. Die ersten zum Download angebotenen Versionen waren derart buglastig, daß es kaum in Worte zu fassen ist. Und auch jetzt stolpert man immer noch über Bugs. Wenn zum Beispiel in der IDE 'Öffnen' ausgewählt wird, erscheint ein Requester, der abfragt, ob der Quellcode gespeichert werden soll, obwohl überhaupt nichts programmiert oder an der Datei verändert worden ist! Ich denke, daran wird deutlich, wie ein Programmtest vor der Veröffentlichung durchgeführt wird. Das erinnert in fataler Weise an die Politik von Conrad Electronic bei der Einführung der neuen C-Control-Varianten. Und schließlich stolpert man dann auch noch über Rechtschreibfehler in der "Entwickler Referenz", die den Lesefluß extrem hemmen. Siehe "Beispiel Code", "Syntax Definitionen", "Mikrocontroller Entwicklung", "Compiler Version", usw. Hochtrabend ist die Rede von der neuen Version des "bewährten" BASIC++-Compilers. Seltsam nur, daß bis jetzt erst Version 1.0.0 erschienen ist? Das folgende Zitat stammt aus dem Manual, steht aber auch auf der Support-Side zur "Next Generation", und enthält eine wissentlich falsche Aussage: Der Ausspruch "BASIC ist langsam" stammt aus der Zeit, als BASIC auf dem Computer als Quelltext gespeichert war und der gesamte Text bei der Ausführung erst gelesen und interpretiert werden musste. Dem unbefangenen Laien vermittelt sich der Eindruck, BASIC++ wäre dadurch im Vergleich zu anderen BASIC-Dialekten besonders leistungsfähig. Richtig ist hingegen, daß sämtliche BASIC-Interpreter nicht Quellcode, sondern BASIC-Token ausführen. Der Quellcode wird bereits vor der Programmausführung in diese Token konvertiert. Diese Konvertierung bezeichnet Conrad Electronic als Kompilierung, was weder ganz falsch, noch ganz richtig ist. Und der Ausspruch "BASIC ist langsam" stammt aus der Zeit, als es nur diese BASIC-Token-Interpreter gab. Hingegen übersetzt ein echter Compiler einen Quellcode nach Maschinensprache - wobei auch das noch kein Qualitätsbeweis ist, da es auch etliche Compiler gibt, die uneffektiven Code erzeugen. Darüber wurde aber schon an anderer Stelle in diesem Forum diskutiert. Die Programmiersprache MBASIC wirkt durch den Emulator und die Möglichkeit, in 6805-Assembler zu programmieren deutlich leistungsfähiger als BASIC++. Hat jemand von Euch MBASIC mal auf Herz und Nieren getestet? Die Registrierung ist bekanntlich kostenlos und geht sehr schnell! Gruß, Dietmar Meine Homepage: http://home.tiscali.de/mbasic |
| Antwort schreiben |