Nasal for C++ programmers: Difference between revisions

Jump to navigation Jump to search
m
Line 35: Line 35:


{{cquote|<nowiki>It was later that Nasal replaces psl because it was already much more integrated with FlightGear (thanks to Andy).</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@flightgear.org/msg22496.html|title=<nowiki>Re: [Flightgear-devel] Trademark violations could be a problem</nowiki>|author=<nowiki>Erik Hofman</nowiki>|date=<nowiki>Fri, 26 Mar 2004 01:24:44 -0800</nowiki>}}</ref>|<nowiki>Erik Hofman</nowiki>}}
{{cquote|<nowiki>It was later that Nasal replaces psl because it was already much more integrated with FlightGear (thanks to Andy).</nowiki><ref>{{cite web |url=http://www.mail-archive.com/flightgear-devel@flightgear.org/msg22496.html|title=<nowiki>Re: [Flightgear-devel] Trademark violations could be a problem</nowiki>|author=<nowiki>Erik Hofman</nowiki>|date=<nowiki>Fri, 26 Mar 2004 01:24:44 -0800</nowiki>}}</ref>|<nowiki>Erik Hofman</nowiki>}}
{{FGCquote
  |All the FG specific stuff (APIs, extension functions, libraries/bindings) would almost definitely look exactly the same no matter the programming language being used, absent some major cleanup work to re-organize the FlightGear main loop (e.g. using threading and/or HLA).
Then again, the main issue with Nasal is not what it looks like (syntax) or how it works internally (codegen/VM), and not even it being de-facto unmaintained, but the way it is integrated into the FG main loop and the fact that there are structural wrappers missing (think SGSubsystem and friends) to move away from completely unstructured "free-form" code that is merely using timers and listeners to implement complex subsystems in scripting space without having any way to formalize data/code dependencies  - as well as the fact that existing FG/SG code isn't exposed to scripting space, which is why there's so much redundant (and inefficient) code being re-written from scratch -often by non-coders.
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=237566&sid=ed08b286c36c581f7a54dd2dd4050774#p237566
    |title=<nowiki>Re: Cloning fgdata with GIT submodules</nowiki>
    |author=<nowiki>Hooray</nowiki>
    |date=<nowiki>Thu Apr 02</nowiki>
  }}
}}
{{FGCquote
  |Even if Nasal were to remain unmaintained for another decade, it could very well continue to thrive in FG (in terms of adoption rate and documentation/examples), as long as those issues are addressed, i.e. better interfacing with/exposure of existing SG/FG code, and more structural wrappers to actually implement subsystems using OOP (classes) instead of just timers and listeners. Fool-proof multi-threading support would another useful thing though.
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=237566&sid=ed08b286c36c581f7a54dd2dd4050774#p237566
    |title=<nowiki>Re: Cloning fgdata with GIT submodules</nowiki>
    |author=<nowiki>Hooray</nowiki>
    |date=<nowiki>Thu Apr 02</nowiki>
  }}
}}


<references/>
<references/>

Navigation menu