Author Topic: PB FB O2  (Read 4634 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
PB FB O2
« on: April 12, 2018, 02:12:23 PM »
I would like to start an open discussion about BASIC compilers and what the future may hold.

What were the contributing factors to BASIC playing second fiddle?

Could OxygenBasic be the Phoenix BASIC everyone has been waiting for?




« Last Edit: April 12, 2018, 02:13:55 PM by John »

Offline AlyssonR

  • Advocate
  • Posts: 131
Re: PB FB O2
« Reply #1 on: April 13, 2018, 02:20:02 AM »
Okay - I'll start off with a bit of a historical perspective here ...

Historically, BASIC was always been looked down upon by the older generation of programmers who saw it very much as a toy when compared with the COBOL/FORTRAN/APL/RPG ecosystems of Big Iron, and it only came into its own (outside of DEC PDP) with the advent of the smaller microsystems.

BASIC was, most certainly, still a powerful competitor up until VB6, having had a distinguished career with Microsoft operating systems.

VB6 was the latest in a long line of powerful BASIC compilers that made programming Windows easy.

Unfortunately, with the demise of QuickBASIC (the free version bundled with MS operating systems) and the move toward C-like languages (BASIC.NET is in NO way VisualBASIC), and the rise of C/Pascal style languages included with products like Dbase, Clipper and Oracle, BASIC compilers began to wane in popularity.

It is interesting to note, however, that BASICScripting is still a part of Windows, and that VB6 is still a part of the MS Office suite.

Just as VB6 was maturing, there was an upsurge in the popularity of Apple personal computers and in Linux as an up and coming desktop operating system. Neither had a product equivalent to the Visual BASIC compiler available (nor is there a reasonable, cross-platform equivalent available to date).

At the same time, the explosive development of the world wide web saw the Java scripting language (another C-like language) take off. Again, there was no viable BASIC equivalent.


Looking back, it is easy to see that without the support of a major corporation like Microsoft, and without a single vision of the form that BASIC would take as it developed with the advance of technology, it was doomed to fragment into a mess of, essentially, home-brewed projects with great ideas, but little eventual substance.

There have been numerous attempts at filling the gap left by the loss of the Windows-only VB (Mono, Jabaco etc), but these projects have always ended up dead in the water, and the one web scripting BASIC equivalent to Java (Hot Tea - actually written in and running under Java) has sunk without a trace.

As it stands, there must be well ofer 200 versions of BASIC extant - a mix of interpreters and compilers - covering a vast range of capabilities and raisons d'etre, but they still share little more than their name.

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: PB FB O2
« Reply #2 on: April 13, 2018, 11:36:34 AM »
JavaScript pretty much blinded the server scripting direction much in the same way PHP did years ago. I don't wear shoes on my hands.

Offline AlyssonR

  • Advocate
  • Posts: 131
Re: PB FB O2
« Reply #3 on: April 18, 2018, 03:22:38 AM »
Nor do I wear gloves when entering code.

I *still* haven't gotten to grips with any part of Java - object properties instead of extrinsic functions is just non-intuitive to my mind.

Having said that, I still use Fortran on occasion and C/C++ for low-level stuff.

Offline AIR

  • BASIC Developer
  • Posts: 932
  • Coder
Re: PB FB O2
« Reply #4 on: April 21, 2018, 10:39:50 AM »

What were the contributing factors to BASIC playing second fiddle?


Biases aside, I think one of the issues it continues to face is that at some point you need to wrap your head around some C in order to do more advanced programming tasks.  It raises the question:  "If I have to learn how to read and interpret C to do something like use an external library in BASIC, why not just use C or a higher level C-derived or centered language?"

John, your DLLC SB module is a good example of this, I think. You grappled with using libffi, and first had to learn how to use it using documentation centered on C, along with examples in C, then how to incorporate it into the SB ecosystem.

Then you have the BASIC implementations that translate the code to assembly.  Taking those cross platform in order to widen it's exposure is an extreme challenge, as is going from 32bit to 64bit.  And you STILL need to interface with C-based libraries at some point.  I personally learned this the hard way when I worked on the HotBasic Linux port.

Finally, if a BASIC user decides to learn another language, they have to unlearn so much while also learning a new way to do things.  IOW, the skills acquired programming BASIC from a syntax and mind-set point of view don't translate well, in my personal experience.

In the end, I feel that the single biggest reason that BASIC has been relegated to the gray pages of history is the insistence that BASIC must remain "Pure".  OOP aside, C evolved with C++/Objective C, PASCAL evolved with Object PASCAL, but BASIC purists throw a hissy-fit if you try to incorporate any sort of dot-syntax/object-based (which is not OOP) approach.

(disclaimer:  I'm typing this before having my morning cup of coffee, so if I rambled a bit or if I'm talking out of my arse, that's why.  LOL)

AIR.

P.S.  Hi John!

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: PB FB O2
« Reply #5 on: April 21, 2018, 11:14:46 AM »
Hi AIR,

It is great that you're back on the forum sharing your wisdom.

CBASIC and your Jade efforts were attempts at making the migration to C/C++ easier.

Checkout the www.OxygenBasic.org/forum to see what the latest BASIC effort that is going on. I have a thread going there about using SWIG fo convert C includes to DLLC FFI definitions.

Don't be a stranger. You still have traces of BASIC in your blood.