LB5 emulation?

Discussions relevant to the differences between LBB and LB4 which could affect code compatibility
alincon2001
Posts: 4
Joined: Mon Apr 16, 2018 1:51 am

LB5 emulation?

Post by alincon2001 »

Carl Gundel is promising alpha testing of LB5 by January.
Any chance there will be an LBB5?

r.m.
guest
Site Admin
Posts: 192
Joined: Tue Apr 03, 2018 1:34 pm

Re: LB5 emulation?

Post by guest »

alincon2001 wrote: Sun Dec 16, 2018 3:39 pm Carl Gundel is promising alpha testing of LB5 by January.
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'. :(
Any chance there will be an LBB5?
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.

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.