On 2018-08-30 21:42, Mike Kerner via use-livecode wrote:
Mark tends to complain about the engine, but they also inherited the engine
when they bought it from MetaCard.  He has said that it is difficult to
work on.

Heh - any complaints are more 'frustration' over the effort/time to make significant changes rather than anything else.

Stability/robustnss wise it is actually pretty good - sure there are edge cases it is not that great at but the majority of what most people use all the time is rock solid. Interestingly, some of the edge cases are being hit more than they ever used to - but I consider that a good thing as it means people are pushing it much harder than it ever has been in its history.

In terms of difficulty working on it:

  - it comprises C/C++/Obj-C/Obj-C++/Java

- it grew very organically in the early days (less so since I've been working on it)

- it has a great deal of hand-coded/replicated *almost* consistent but not quite code patterns

- it has a language system meaning that changes must work for all reasonably determinable use-cases

- it has a language system in which 10,000,000s of lines of code are written, meaning that changes must not break existing code (and if they do there has to be an exceptionally good reason to!)

- it has a GUI framework which must largely work the same in multiple different windowing systems

  - it has a large library of utility functions/commands

  - it runs on 6 quite different operating systems

  - it runs on 4 different processor architectures

So, yes, it is difficult to work on [ some might say exceptionally difficult ;o) ].

The difficulty is not just because of the size/scale/structure of the source but because the whole of what the engine is and must do puts a huge number of constraints on what can be done (and what should be done!) in any reasonable time frame.

Actually, I think I have now been the chief engineer on the engine for longer than it was ever MetaCard (or even existed at all!). In that time the source base has grown from around 150,000 code lines (+ 5,000 comment lines) to 475,000+ code lines (+ 50,000 comment lines). [ This would be comparing v2.0 to v7.1 - I've not done a loc analysis on recent versions - and doesn't include the LCS / LCB which we consider to be engine source code ]. Upshot - I am ultimately responsible for the greater part of what the engine is now regardless of what it was as MetaCard.

Aside from any complaints I might make, I do still love working on it; even though, as I get older, my enjoyment from writing C/C++/Obj-C/Obj-C++/Java declines year-on-year.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to