Discussions relevant to the differences between LBB and LB4 which could affect code compatibility
2 posts • Page 1 of 1
LB5 alpha testing began a long time ago, I think. A few people here (Anatoly?, Rod?) are probably amongst the select few who have had the opportunity to try it in its early incarnations. LB5 was first announced by Carl in around 2006 with a forecast completion date of a year or so afterwards! Twelve years on and he's still unable to say when it will be ready; some people suspect that the answer is 'never'.
Unlikely, I would have thought, because Carl is extending the language in a different and incompatible direction. For example he has always promised that LB5 would have some Object Oriented capabilities, but his approach is entirely different from LBB's OOP extensions.Any chance there will be an LBB5?
Another important factor is that LB4's GUI, graphics and sprites features are all thin wrappers around the Windows API, and it is this that made it possible for LBB to be almost 100% compatible: the code doing the real work is in Windows in both cases. LB5, being cross-platform, is quite different: the various widgets will have had to have been written by Carl himself (or be in a SmallTalk library); it would probably be extremely difficult to achieve a degree of compatibility comparable with LBB's with LB4.
If you want to program for a cross-platform target you can do so today by using BBC BASIC (which of course is the language which powers LBB under the hood). BBC BASIC for SDL 2.0 (which is completely free) runs on Windows, Linux, MacOS, Raspberry Pi, Android and iOS with an extremely high degree of cross-platform compatibility. Most of the supplied example programs (of which there are about 80, and the total is growing all the time) run unmodified on all those platforms. As far as I know Carl has no ambition to support mobile devices in LB5 at all.
Pretty much 'by definition' BBC BASIC can do everything that Liberty BASIC can, because if that was not the case LB Booster could not work. There are certainly significant differences in coding style, and some things are considerably harder to achieve in 'native' BBC BASIC than in Liberty BASIC, but there's no reason why a library similar to that used by LBB (lblib.bbc) couldn't be developed by somebody to make the transition easier.