Forum: /dev/null Jetzt reichts! BASCOM = SCHROTT!!


von Robert M. (Gast)


Lesenswert?

ca. 4000+ Zeilen Code, 2 Jahre Arbeit und nun geht gar nichts mehr!
Füge ich eine Zeile hinzu stürzt alles ab, entferne ich irgendeine Zeile 
(!) gehts wieder. Wieso denn eigentlich irgendeine Zeile? Das gibts doch 
nicht!

Immer wieder irgendwelche Macken um die ich herumprogrammieren musste 
weil der Compiler zu blöde ist. Herumgepfusche weil man ständig 
irgendwelche Zwischenspeichervariablen braucht und das Ganze war sowieso 
mit zunehmender Größe instabil.

Jetzt reichts! Ich steige um! BASCOM IST SCHEISSE!!!

: Gesperrt durch Moderator
von Oliver S. (oliverso)


Lesenswert?

Robert M. schrieb:
> Wieso denn eigentlich irgendeine Zeile? Das gibts doch
> nicht!

Jeder Speicher ist endlich...

Oliver

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Robert M. schrieb:
> ca. 4000+ Zeilen Code, 2 Jahre Arbeit und nun geht gar nichts mehr!

Eins zum Trost: Beim zweiten Mal dasselbe zu programmieren (egal in 
welcher Programmiersprache)

  - geht immer schneller als beim ersten Mal
  - ist stabiler

Die Gründe dafür kannst Du Dir wahrscheinlich selber ausmalen.

> Jetzt reichts! Ich steige um! BASCOM IST SCHEISSE!!!

Mach das. Es gibt genügend Alternativen.

von Robert M. (Gast)


Lesenswert?

Oliver S. schrieb:
> Robert M. schrieb:
>> Wieso denn eigentlich irgendeine Zeile? Das gibts doch
>> nicht!
>
> Jeder Speicher ist endlich...
>
> Oliver

Es sind noch 32% frei im Flash.

von Draco (Gast)


Lesenswert?

Da ist jemand sein Kaffe sauer geworden am frühen Morgen :D

4000+ Zeilen in Bascom, da hättest du dich leichter getan und C gelernt. 
Und auf nen ordentlichen Compiler gesetzt.

von Robert M. (Gast)


Lesenswert?

Draco schrieb:
> Da ist jemand sein Kaffe sauer geworden am frühen Morgen :D

das kannst du laut sagen!

Es ist ja ganz verlockend - so zum Anfang, funktioniert schnell ein paar 
kleine Sachen, aber größere Projekte sollte man komplett seinlassen, 
sviel habe ich nun schmerzlich lernen müssen.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Hast du mal versucht ein paar zeilen zusammen zu fassen?

bascom hat wie jedes basic einen Zeilencounter dieser könnte
 auf 0xFFF =(4096-1) Zeilen begrenzt sein.

Namaste

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@Winfried J. (Firma: Nisch-Aufzüge) (winne)

>bascom hat wie jedes basic einen Zeilencounter dieser könnte
> auf 0xFFF =(4096-1) Zeilen begrenzt sein.

Das wäre mal wieder der Hammer! Eine Software im 21 Jahrhundert mit 
einem 12 Bit Zeilenzähler.

Um das Problem näher zu klären könnte man ja mal testweise eine 
"nonsense" Datei erzeugen, z.B. mit 4095 Zeilen ' REM
Dann kann man schauen, was passiert.

Ausserdem kann man ja mal die Herstellerfirma anschreiben.

von Kai M. (kai_mauer)


Lesenswert?

Falk B. schrieb:
> Ausserdem kann man ja mal die Herstellerfirma anschreiben.

Das wäre zu einfach -dann könnte sich eventuell herausstellen, daß es 
nicht an dem Editor in Bascom liegt, sondern an dem, der ihn benutzt.

Aber: Fang ruhig an, mit "C" zu programmieren. Du wirst schon sehen, wie
gut sich das erst macht, wenn es bei Fehlern erst gar keine 
Fehlermeldung gibt oder auch mal anders herum.

von Route_66 H. (route_66)


Lesenswert?

Winfried J. schrieb:
> bascom hat wie jedes basic einen Zeilencounter dieser könnte
>  auf 0xFFF =(4096-1) Zeilen begrenzt sein.

Das ist schon mal kompletter Quatsch.

von Rainer U. (r-u)


Lesenswert?

Also ich hab gerade mal testweise 6000 Zeilen ohne Fehler compiliert. An 
der Zeilenzahl liegt es nicht.

4000 Zeilen in einem Dokument? Hätte ich bei meinem Prof damals nicht 
abliefern dürfen. Wie ist es mit .inc(ludes)?

Robert M. schrieb:
> und das Ganze war sowieso
> mit zunehmender Größe instabil.

Da hast Du vielleicht in den Stack reingeschrieben. Kann aber in C oder 
Assembler auch passieren: 1 Mio mal PUSH und danach 1 Mio mal POP 
liefern nicht den gleichen Inhalt zurück, es sei denn, man hat auch 1 
Mio+ Speicherplätze, etc ect.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Route 6. schrieb:
> Winfried J. schrieb:
>> bascom hat wie jedes basic einen Zeilencounter dieser könnte
>>  auf 0xFFF =(4096-1) Zeilen begrenzt sein.
>
> Das ist schon mal kompletter Quatsch.

Ah, was sagt denn deine Glaskugel ,das meine nicht erkennt, mir sind 
derartige Limits mehr als einmal begegnet. Sogar bei professioneller SW.
Außerdem schließt der Konjunktiv andere Ursachen nicht aus. Es erschien 
mir nur naheliegend. Zumal bascom nicht gerade neu ist. Ich meine die 
ersten Entwicklungen reichen Indie Z80Ära zurück. Dt64 hat meiner 
Erinnerung nach schon tokenisierte Programme in den 80ern in einem 
Plattformübergreifenden Dialekt gleichen Namens ausgestrahlt. Und wer 
weiß schon wer da wo abgeschrieben hat ohn es je gelesen zu haben was da 
im Quellcode stand.

Namaste

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Siehe Anhang. Diese Datei kompiliert problemlos, auch mit mehr als 4096 
Zeilen. Ich vermute beim OP ein Problem mit der Programmstruktur, z.B. 
ein vergessenen endif oder so, welches der Compiler nicht erkennt und 
abstürzt.

von Falk B. (falk)


Lesenswert?

@ Winfried J. (Firma: Nisch-Aufzüge) (winne)

>ersten Entwicklungen reichen Indie Z80Ära zurück. Dt64 hat meiner
>Erinnerung nach schon tokenisierte Programme in den 80ern in einem
>Plattformübergreifenden Dialekt gleichen Namens ausgestrahlt.

Nicht ganz. Es hieß Basiccode, eine Art Vorläufer zu Java 
(plattformunabhängig, aber nicht objektorientiert)

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Hatte ich nicht ausgeschlossen.


Hier noch ein Link aus dem das Alter von bascom zu ersehen ist. Hat mich 
meine Erinnerung nicht getäuscht.  Schön das das jetz ausgeschlossen 
werden konnte.

https://de.m.wikipedia.org/wiki/BASCOM_%28Microsoft%29


Namaste

: Bearbeitet durch Moderator
von Bernd T. (bastelmensch)


Lesenswert?

> und das Ganze war sowieso mit zunehmender Größe instabil

Also anstatt herauszufinden warum es instabil wird einfach weitermachen 
zeigt eher was vom Programmierer zu halten ist als vom Compiler.

von K. L. (trollen) Benutzerseite


Lesenswert?

Also egal was der TE für eine Scheiße in seinem Programm gebaut hat, 
aber das:

Robert M. schrieb:
> Füge ich eine Zeile hinzu stürzt alles ab

ist ein klarer Fehler in BASCOM. Egal wie schrottig der Code sein kann, 
ein Programm muss dann Fehler melden und nicht abstürzen.

von Mehmet K. (mkmk)


Lesenswert?

Wo bleibt Moby?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Robert M. schrieb:
> und das Ganze war sowieso mit zunehmender Größe instabil.
Das ist doch sowieso die gängige Beschreibung von Software...

> entferne ich irgendeine Zeile (!) gehts wieder.
Es geht dann wieder? Dann kann diese beliebig entfernte Zeile nicht so 
wichtig sein...

> weil der Compiler zu blöde ist.
Kann der immer noch nur 1 Operation pro Zeile? Genau an dieser Stelle 
war mein Test dieser Programmierumgebung vor Jahren schon zu Ende. So 
wird in der Grundschule gerechnet. Wer dort nicht sitzenbleibt kann 
später komplexere Aufgaben lösen.

K. L. schrieb:
> Robert M. schrieb:
>> Füge ich eine Zeile hinzu stürzt alles ab
> ist ein klarer Fehler in BASCOM. Egal wie schrottig der Code sein kann,
> ein Programm muss dann Fehler melden und nicht abstürzen.
Mir ist hier noch unklar, was "Alles" ist. Dieses "Alles" kann nicht 
global sein, es ist irgendwie lokal. Ob mit "Alles" jetzt nur der uC 
oder auch die Entwicklungsumgebung oder nur Teile davon gemeint sind, 
geht aus der Fehlerbeschreibung nicht hervor...

Ich würde da sagen: zeig doch einfach den Code und sag, woran du gerade 
herumschraubst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Winfried J. schrieb:
> Hier noch ein Link aus dem das Alter von bascom zu ersehen ist. Hat mich
> meine Erinnerung nicht getäuscht.  Schön das das jetz ausgeschlossen
> werden konnte.
>
> https://de.m.wikipedia.org/wiki/BASCOM_%28Microsoft%29

Da liegst Du daneben, denn das hat mit dem Basic-Compiler für µCs *gar 
nichts* zu tun, das heißt nur zufälligerweise auch so.

Das BASCOM, um das es hier geht, wurde vom Holländer Mark Alberts 
entwickelt und wird von seiner Firma mcselec vertrieben 
(http://www.mcselec.com/).

BASCOM ist ein BASIC-Compiler für MCS-51 (daher auch der Firmenname), 
der später auch auf die AVR-Architektur portiert wurde, und gegenüber 
einem "richtigen" BASIC diverse Einschränkungen mit sich bringt, wie die 
Notwendigkeit, auch nur mittelmäßig komplizierte Ausdrücke in mehrere 
separate Anweisungen zerlegen zu müssen.

Bei den Anwendern ist BASCOM beliebt, weil es eine recht umfangreiche 
Bibliothek für die Ansteuerung der Peripherie der Controller mit sich 
bringt, die BASIC-typisch mit dann minimalem Aufwand genutzt werden 
kann.

Man bedenke, daß das Zeug in erster Linie schon ziemlich alt ist, es 
wurde schon im vergangenen Jahrtausend entwickelt und seitdem nur 
graduell angepasst/erweitert.

Sofern nicht aus irgendwelchen persönlichen Gründen der dringende Bedarf 
besteht, mit einem BASIC-Dialekt arbeiten zu müssen, ist heute recht 
eindeutig die Arduino-Schiene zu bevorzugen, da gibt es mehr 
Bibliotheken für Peripherie, und man kann auch andere 
Prozessorarchitekturen als die doch etwas angestaubten MCS-51 und 
8-Bit-AVRs verwenden. Obendrein ist die "Community" deutlich größer, 
d.h. man findet schneller andere Leute, die entweder die gleichen 
Probleme wie man selbst haben oder aber diese schon gelöst haben.

von Paul B. (paul_baumann)


Lesenswert?

Lothar M. schrieb:
> Ich würde da sagen: zeig doch einfach den Code und sag, woran du gerade
> herumschraubst.

Der kommt nicht wieder.
Fehlermeldung: Line 10: Troll expected!

MfG Paul

von Falk B. (falk)


Lesenswert?

@ Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite

>besteht, mit einem BASIC-Dialekt arbeiten zu müssen, ist heute recht
>eindeutig die Arduino-Schiene zu bevorzugen, da gibt es mehr
>Bibliotheken für Peripherie, und man kann auch andere
>Prozessorarchitekturen als die doch etwas angestaubten MCS-51 und
>8-Bit-AVRs verwenden.

Und vor allem kann man ganz normal in C (C++) programmieren, mit allen 
Vor- und Nachteilen ;-)

von Winne Z. (rugbywinne)


Lesenswert?

Also ich habe Programme mit mehr als 7000 Zeilen und habe keine 
Probleme.

Vielleicht habe ich nicht richtig gelesen, aber wie  stellt sich denn 
der "Absturz" dar ?

"geht nicht mehr" ist etwas wage.
gab es eine Fehlermeldumng beim Kompilieren?

Disskusionen über das Für und Wieder von Bascom sind nicht hilfreich.

Leute die von Bascom keine Ahnung haben sollten sich einfach raus halten 
!!!

von Bastler (Gast)


Lesenswert?

Hoffentlich beachten das die Leute, die nur von BASCOM Ahnung haben, 
umgekehrt auch.
Man muß übrigens nicht viel über BASCOM wissen, um seine Schwachstellen 
zu entdecken. Er kann halt nicht wirklich Ausdrücke. Das ist die 
absolute Minimalfunktion, die im Fach Compilerbau gelehrt wird: ein 
Parser für (mehrteilige, auch verschachtelte) Ausdrücke.

von MWS (Gast)


Lesenswert?

Robert M. schrieb:
> Es ist ja ganz verlockend - so zum Anfang, funktioniert schnell ein paar
> kleine Sachen, aber größere Projekte sollte man komplett seinlassen,
> sviel habe ich nun schmerzlich lernen müssen.

Wenn Du eine gekaufte und keine geklaute Version besitzt, dann gibt's 
Support vom Hersteller, das wäre die erste Anlaufstelle und nicht so ein 
Weinerle hier. Und 4000Zeilen/2Jahre schreibt man nicht so schnell um.

Als nächstes könntest Du die Bascom-Version nennen, wenn Du denn 
tatsächlich Hilfe erwartest, denn nur ein "geht nicht" ist ein wenig 
flach.

Bastler schrieb:
> Hoffentlich beachten das die Leute, die nur von BASCOM Ahnung haben,
> umgekehrt auch.

Bascom-Nutzer sind meist recht bescheiden und schon froh, wenn ihnen 
denn geholfen wird. Dass die den oft feststellbaren Dünkel besitzen und 
sich über andere Sprachen lustig machen, hab' ich nicht feststellen 
können.

von Winne Z. (rugbywinne)


Lesenswert?

Hi Robert M.
willst Du Dein Programm denn noch zum laufen bringen oder wolltest Du 
nur Deinen Frust ablassen.

Deine 4000 Zeilen haben bestimmt einen gewissen wert für Dich.
Willst Die die in die Tonne hauen ?

Oder soll man Dir helfen ?

Nochmals konkret nachgefragt: Was genau läuft nicht ?

Beitrag #5931297 wurde von einem Moderator gelöscht.
Beitrag #5931333 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.