[archimedes] Re: !MapView

  • From: Thomas Milius <Thomas-Milius@xxxxxxxxxxxxxxx>
  • To: archimedes@xxxxxxxxxxxxx
  • Date: Sat, 28 Mar 2020 20:56:43 +0100

In message <cd5b695858.Alex@xxxxxxxxxx>
          Alexander Ausserstorfer <bavariasound@xxxxxxxxxxxxxxx> wrote:


Aber BASIC? Kann man so ein Programm denn überhaupt in BASIC schreiben?
Ich dachte immer, für sowas bräuchte es eine professionelle
Programmiersprache!

Du mußt unterscheiden. GPXTrack ist in BASIC geschrieben (das ist der Part
der abweicht, d.h. die Route als Drawdatei berechnet). MapView ist reines
C. ImageFetch als Hauptbestandteil von MapView ist ebenfalls C. Notwendig
wäre das nicht unbedingt, weil nur wenige Teile von MapView zeitkritisch
sind. Die Speicherverwaltung von C ist aufwendiger aber eben auch flexibler.
BBC BASIC ist, obwohl auf den ersten Blick nach heutigen Maßstäben primitiv,
sehr tricktreich designed, wie ich finde. Der Zugang zu den Speicherplätzen
gibt die im Zusammenspiel mit RISC OS eine hohe Flexibilität. Notfalls
könntest Du sogar Inline Assembler einsetzen, aber das mache ich nicht.
Außerdem kannst Du es mit Einschränkungen per ABC-Compiler compilieren
lassen. EVAL (läßt sich nicht compilieren) ist in BBC BASIC extrem sauber
durchprogrammiert und sehr mächtig. Damit kannst Du sogar dynamische
Prozedureaufrufe ähnlich wie in C programmieren. Ist zugegebenermassen etwas
Schweineprogrmmierung, aber es geht.

BBC BASIC ist halt bei jedem RISC OS mit dabei. C ist für komplexere Aufgaben
aber die bessere Wahl, finde ich.

BBC BASIC hat keine Vorab-Corsschecks. Wenn Du das Programm compilieren
kannst, bügelt ABC hier einige Probleme aus. Ansonsten mußt Du bei
komplexeren Programmen höllisch aufpassen, daß Du Dich nicht vertippst. Das
ist nichts für Anfänger und erfordert sehr hohe Konzentration und
Gründlichkeit.

Thomas Milius

Other related posts: