mbeddr - schonmal angeschaut?

OP #4080911
Lesenswert?
• ▲
▼
Hallo,

Hat sich irgendwer hier schonmal http://mbeddr.com/ angeschaut oder 
damit rumgespielt?

Was ich interessant finde ist das Konzept nicht den Quelltext sondern 
den AST direkt zu bearbeiten, und zwar in einer Sprache die rein optisch 
immer noch so ähnlich wie C aussieht

https://www.youtube.com/watch?v=NenPFYK0TPM#t=12

Ich meine, OK, das allein reißt es jetzt noch nicht raus, so ziemlich 
jede IDE parst den Syntaxbaum zumindest so weit daß sie kontextsensitive 
Vorschläge machen kann und zumindest einige Fehler gleich bei der 
Eingabe anstreichen kann, aber das geht halt wirklich konsequent bis zum 
nächsten Level, verbietet jegliche Typfehler schon beim Tippen und 
eröffnet dann auch noch ganz andere zusätzliche Möglichkeiten:

https://www.youtube.com/watch?v=Pe34U9QuhXA
https://www.youtube.com/watch?v=aJ8d7ISFat4

Und zum Beispiel sowas wie das finde ich auch extrem nützlich:
https://www.youtube.com/watch?v=Jcby0mqk1pY

Und angeblich wird ganz normaler C Code daraus generiert der angeblich 
keinen Laufzeit-Overhead hat und sich dann direkt mit dem Cross-Compiler 
für den jeweiligen Controller übersetzen lassen soll.

Es soll angeblich folgende Probleme lösen wenn ich nach kurzem 
Überfliegen die Philosophie richtig verstanden habe, folgende Thesen:

* Nichtvorhandensein jedweder Typsicherheit in normalem C99 ist 
gefährlich
* Darin geschriebene Programme sind nicht formal verifizierbar
* C Präprozessor ist noch gefährlicher als reines C und skaliert auch 
nicht für große Projekte
* C++ Template-Metaprogramming macht auch keinen Spaß
* Idiotensichere und skalierbare Abstraktions-Schichten in den oben 
genannten Sprachen und auch in allen anderen Sprachen implizieren einen 
großen Laufzeit-Overhead und Bloat der nicht akzeptabel ist für viele 
Embedded Projekte mit notorisch knappen Ressourcen.

mbeddr will angeblich alle diese Probleme lösen und noch viel mehr. Tut 
es das wirklich? Zumindest ist es mal eine komplett andere 
Herangehensweise als das meiste andere und insofern finde ich es 
grundsätzlich interessant. Erstaunlicherweise finde ich zum Stichwort 
"mbeddr" in diesem Forum mit der Suchfunktion nicht eine einzige 
Erwähnung, obwohl man sich hier schon trefflich über die 
(Un-)Geeignetheit von allen möglichen (konventionellen) C-Alternativen 
für die Mikrocontroller-Programmierung gestritten hat.

Hat das also schonmal jemand näher evaluiert? Mit wieviel Frust muss man 
rechnen bis man die Einstiegshürde überwunden hat und der Controller 
meines Vertrauens (einsatzbereite C-Toolchain vorausgesetzt) zum ersten 
Mal mittels mbeddr eine LED blinken lässt? Hat das schonmal jemand 
durchgespielt oder gibt es Gründe das sofort wieder zu vergessen?
Gast #4081463
Lesenswert?
• ▲
▼
Ich halte es für reinen Mumpitz.

Wenn jemand kein C kann, dann sollte er es eben lernen.

Alternativ kann man sich fragen, ob es keine echten Alternativen zu C 
für die betreffende Zielplattform gibt.

Das Ganze ist also wieder mal ein untauglicher Versuch, unter 
Beibehaltung von C sich um C drumherum zu mogeln. Wasch mich, aber mach 
mich nicht naß.

W.S.
OP #4081533
Lesenswert?
• ▲
▼
W.S. schrieb:
> Ich halte es für reinen Mumpitz.
> Wenn jemand kein C kann, dann sollte er es eben lernen.

So eine ausführliche Antwort habe ich jetzt nicht erwartet.

Aber das ergibt natürlich Sinn: Durch Lernen von C wird die Sprache 
automatisch typsicher und verifizierbar denn Menschen die C gelernt 
haben machen keine Fehler mehr, da fällt dann auch versehentlich kein 
case mehr durch, da rutscht auch kein if ohne {} mehr in die falsche 
Zeile. Das muss man dann auch nicht mehr formal verifizieren, der gute 
Name des Autors allein ist dann schon Zertifikat genug. Das leuchtet 
ein.

> Alternativ kann man sich fragen, ob es keine echten Alternativen zu C
> für die betreffende Zielplattform gibt.

Aber genau das will es doch sein? Ich täte mich jetzt echt schwer aus 
dem Bauch raus eine real existierende Sprache außerhalb des 
Elfenbeinturms zu nennen die auch nur ansatzweise so "alternativ" wäre 
wie dieses hier auf allen Ebenen andere (wirklich komplett andere!) 
"Etwas" (das ist ja nicht nur eine andere Sprache sondern auch gleich 
noch eine andere Art zu programmieren). Alternativer gehts doch schon 
bald gar nicht mehr?

Oder ist das jetzt schon wieder zu alternativ?

Ich finds auf jeden Fall spannend, ich glaub ich werd mir das mal bei 
Gelegenheit näher anschauen. Vielleicht stell ich dann fest daß es in 
der Praxis (noch) nicht vernünftig zu handhaben ist, vielleicht aber 
auch daß es sehr wohl funktioniert. Mal schaun.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.