RetroBASIC

Basicprogramming(.org) => General questions and discussions => Topic started by: Richly on June 03, 2016, 09:10:47 AM

Title: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 09:10:47 AM
I know this question gets asked a lot but it hasn't been asked for a while and not here  :)

I also know we all use more than one BASIC, but which is your preferred choice?
Title: Re: What BASIC do you mainly use?
Post by: ZXDunny on June 03, 2016, 09:26:21 AM
At present, I'm using AMOS Pro and Blitz BASIC on the Amiga for research purposes :)
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 09:58:41 AM
At present, I'm using AMOS Pro and Blitz BASIC on the Amiga for research purposes :)

...for new SpecBAS features?  :)

I have a bit of a soft spot for Decimal BASIC too

http://hp.vector.co.jp/authors/VA008683/english/
Title: Re: What BASIC do you mainly use?
Post by: jcfuller on June 03, 2016, 10:11:06 AM
I'm flattered UbxBasic is on the list but the one I am using the most at present is NOT: FreeBasic.
I recently discovered a feature that I thought only PowerBASIC had: Dead code removal.
In PowerBASIC you can include all your library "source" code and if it's not called it is not placed in the executable.
FreeBasic has the equivalent by prefacing your Sub/Functions/Methods with PRIVATE. If it's not used it is not included in the executable.

James
 
Title: Re: What BASIC do you mainly use?
Post by: ScriptBasic on June 03, 2016, 10:54:28 AM
I primarily use Script BASIC as a base and enhance it with C BASIC extension modules for areas of code that an interpreter isn't suitable.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 11:17:10 AM
I'm flattered UbxBasic is on the list but the one I am using the most at present is NOT: FreeBasic.

Ah yes, a big omission. Sorry about that. I should have included Thinbasic, Bacon and Gambas too...and there are probably others...
Title: Re: What BASIC do you mainly use?
Post by: Aurel on June 03, 2016, 03:28:36 PM
Problem is in who use what ..but in how many people even use any of basic
I can say that amount of real users is very very small.
Title: Re: What BASIC do you mainly use?
Post by: B+ on June 03, 2016, 03:46:41 PM
Can you spell SmallBASIC right?

Yahoo can't distinguish the two but wki can :
https://en.wikipedia.org/wiki/SmallBASIC
but article has not been updated for some time?

Small then BASIC the two words are together with all capital BASIC. http://smallbasic.sourceforge.net/

To distinguish it better from MS Small Basic, two separate words, second not all capital. https://en.wikipedia.org/wiki/Microsoft_Small_Basic

And my preference depends on what I want to do:
Generally my go to Basic is SmallBASIC but SdlBasic is slightly better with intense graphics and JB has simple GUI and handles very big integers. SpecBAS can do some really fancy graphics but not so fun to code.

SmallBASIC is buggy as hell so can't recommend to others.

Append from Basicpro forum:
Quote

Quote from: bplus on May 27, 2016, 05:47:32 PM

    Mike, I think uses Free something or other, maybe I will remember the name when he remembers mine  ;D
    no, just kidding Mike, no really... no really kidding...   ;D


Hi bplus,

I'm sorry if I've misspelled your given name; that was an attempt at recollecting the late basicprogramming dot com nightmare experience. No more Marc, Mark, or Marque from me, just bplus, is all. ;)

And no, that's not Free something, that's an advanced fifth generation BASIC interpreter with integrated industry standard assembler and C JIT compilers, that's been proudly called Freestyle BASIC Script Language over the recent 15 years.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 04:17:14 PM
Can you spell SmallBASIC right?

Yahoo can't distinguish the two but wki can :
https://en.wikipedia.org/wiki/SmallBASIC
but article has not been updated for some time?

Small then BASIC the two words are together with all capital BASIC. http://smallbasic.sourceforge.net/

To distinguish it better from MS Small Basic, two separate words, second not all capital. https://en.wikipedia.org/wiki/Microsoft_Small_Basic

Done! Personally, I think BASIC should be presented in capital letters...Beginners All-Purpose Symbolic Instruction Code  :)

And my preference depends on what I want to do:
Generally my go to Basic is SmallBASIC but SdlBasic is slightly better with intense graphics and JB has simple GUI and handles very big integers. SpecBAS can do some really fancy graphics but not so fun to code.

SmallBASIC is buggy as hell so can't recommend to others.

Did you vote?  :)

Append from Basicpro forum:
Quote

Quote from: bplus on May 27, 2016, 05:47:32 PM

    Mike, I think uses Free something or other, maybe I will remember the name when he remembers mine  ;D
    no, just kidding Mike, no really... no really kidding...   ;D


Hi bplus,

I'm sorry if I've misspelled your given name; that was an attempt at recollecting the late basicprogramming dot com nightmare experience. No more Marc, Mark, or Marque from me, just bplus, is all. ;)

And no, that's not Free something, that's an advanced fifth generation BASIC interpreter with integrated industry standard assembler and C JIT compilers, that's been proudly called Freestyle BASIC Script Language over the recent 15 years.

Ah, FBSL...another one not on my list...but is it BASIC?  ;)

(quickly heads for the exit...)

Title: Re: What BASIC do you mainly use?
Post by: B+ on June 03, 2016, 04:21:10 PM
Thanks Richey,

I will vote now that I am not confused which name.  ;)

Do I only get one vote? I mainly use 3.
Title: Re: What BASIC do you mainly use?
Post by: Galileo on June 03, 2016, 04:25:49 PM
For years I had fun with Yabasic 2.763. But now I'm back to my origins with ZX Spectrum BASIC. I am dedicating to see how many of the proposed tasks on the website RosettaCode can be solved with this dialect. Although 30 years ago I came to hate him, now I love it for its simplicity and amazing abilities (for that machine).

I hope SpecBas is fully backwards in the future.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 04:26:38 PM
Thanks Richey,

I will vote now that I am not confused which name.  ;)

Do I only get one vote? I mainly use 3.

Just one I'm afraid.

Choose the one you use most or the one you prefer using  :)

I forgot about YaBasic (YaBASIC?) too - so did Thomas Larsen  :( at the same time he forgot about BP.org  >:(
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 04:29:53 PM
For years I had fun with Yabasic 2.763. But now I'm back to my origins with ZX Spectrum BASIC. I am dedicating to see how many of the proposed tasks on the website RosettaCode can be solved with this dialect. Although 30 years ago I came to hate him, now I love it for its simplicity and amazing abilities (for that machine).

Ah, you may be interested in these forums - there is a section on Sinclair BASIC programming too

http://www.worldofspectrum.org/forums/ (http://www.worldofspectrum.org/forums/)

plus you can talk about things other than the Spectrum and Sinclair BASIC if you want...like what is your favourite curry?  ;)
 
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 04:33:17 PM
I hope SpecBas is fully backwards in the future.

SpecBAS is pretty much compatible with Sinclair BASIC with some minor exceptions.
Title: Re: What BASIC do you mainly use?
Post by: B+ on June 03, 2016, 04:44:44 PM
...fully backwards in the future! ;D

Yes! that is what I like from SmallBASIC how close it remains to old Quick Basic for DOS, it has variant typing but $ for strings is still compatible and I don't think I will ever miss variable typing (except when I do for long integers). Plus for scoping, everything is assumed global unless declared local in procedure, for me that is easier to code and remember. This allows easy use of GOTO and GOSUB for old ways.
Title: Re: What BASIC do you mainly use?
Post by: Galileo on June 03, 2016, 05:01:12 PM
Thanks for the forums link, Richey. I am Spanish speakers, and English is not'm good (use the google translator). So I not know him, because only visited forums in Spanish.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 05:10:07 PM
Thanks for the forums link, Richey. I am Spanish speakers, and English is not'm good (use the google translator). So I not know him, because only visited forums in Spanish.

There are quite a few Spanish users at the forums, so you will be in good company and no-one will mind if your English is not good  :)

I think forum members from all nationalities will be interested in seeing your programs.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 03, 2016, 05:44:42 PM
Problem is in who use what ..but in how many people even use any of basic
I can say that amount of real users is very very small.

This is probably another thread; another popular thread...the "Is BASIC dead or dying?" thread that we occasionally discussed on and off at BP.org

I don't think it is dead yet if we add up all BASIC users together; although the number of users of each dialect considered on their own (and collectively) may be small compared to languages like C or Java.

Being an optimist and a believer that common sense will eventually prevail, I think it is only a matter of time before users realise that BASIC or other languages without lots of {} ; // makes sense in some circumstances.

Back on topic...  ;)
Title: Re: What BASIC do you mainly use?
Post by: n00b on June 03, 2016, 07:06:58 PM
I don't want to sound like I am bragging but I am at the moment using RCBasic for a few reasons. I obviously have to test it to find and fix bugs but I also am using it to make a 2d action platform game right now.
Title: Re: What BASIC do you mainly use?
Post by: Tomaaz on June 04, 2016, 10:56:59 AM
No BaCon!? No FreeBASIC!!!???
Title: Re: What BASIC do you mainly use?
Post by: B+ on June 04, 2016, 04:59:25 PM
No representatives or delegates from unmentioned BASICs !!! ???

To join this forum just to raise hell for not being included in poll !!! ???
Title: Re: What BASIC do you mainly use?
Post by: Tomaaz on June 04, 2016, 05:38:35 PM
Which web browser do you use?

- Chrome
- Edge
- K-Meleon
- other

Title: Re: What BASIC do you mainly use?
Post by: ZXDunny on June 04, 2016, 07:04:43 PM
I hope SpecBas is fully backwards in the future.

SpecBAS is pretty much compatible with Sinclair BASIC with some minor exceptions.

It'll never be fully backwards compatible - larger screen means that certain portions such as embedded colour/AT/TAB commands using CHR$ in PRINT will never work (a byte isn't large enough to store x or y coords), there's no attribute map due to there being more colours so ATTR won't work either. PEEK and POKE have to be different as you can't just go prodding random memory on a PC... Then the streams are handled differently - much more powerful - and there's no BORDER as we're not running on a CRT anymore...

But what is there is 100% compatible. And better in many respects.

D.
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 06, 2016, 04:59:19 AM
No BaCon!? No FreeBASIC!!!???

Yes, I pointed out this omission earlier on in the thread  ;)

Play nice now...this is just a bit of fun  :)
Title: Re: What BASIC do you mainly use?
Post by: wang renxin on June 06, 2016, 08:19:45 AM
Hey, did you ever think of separating a VB.NET option from VB?
Title: Re: What BASIC do you mainly use?
Post by: Aurel on June 06, 2016, 11:05:52 AM
who use VB  ;D or who use VB.NET the question is now?
anyone use Force Basic ?  ;D
Title: Re: What BASIC do you mainly use?
Post by: ZXDunny on June 06, 2016, 12:48:35 PM
To me, the driving force behind .NET is simply this:

"Computer hardware is getting faster and faster. How can we drag things back to the 80s in terms of speed?"
Title: Re: What BASIC do you mainly use?
Post by: ScriptBasic on June 06, 2016, 04:36:14 PM
To me, Windows is like an onion. Layer upon layer with a the goal of a different smell.
Title: Re: What BASIC do you mainly use?
Post by: SteveOW on June 07, 2016, 02:01:37 PM
I responded to the survey as a VB user.  VB6 that is. I use it because I have a lot of legacy graphical stuff written with it that just isnt worth migrating.  I hardly ever use Basic these days having gone over to javascript and THREE.js for 3D animated graphics.  I would have preferred to stay with VB6 if it would have evolved in a nice way.  I looked at VB.NET some years ago but the learning curve looked too steep back then.
Title: Re: What BASIC do you mainly use?
Post by: Mopz on June 15, 2016, 10:37:33 AM
At present, I'm using AMOS Pro and Blitz BASIC on the Amiga for research purposes :)

Hehe, those were the languages I grew up with, made many games with 'em.
Title: Re: What BASIC do you mainly use?
Post by: Cybermonkey on June 15, 2016, 05:38:11 PM
I use mainly FreeBASIC and MY-BASIC  ;)
At the moment I am in a coding free stage, since - once again - I lost motivation to program. But that's another topic...
Title: Re: What BASIC do you mainly use?
Post by: darkhog on June 26, 2016, 07:13:14 PM
I know it's not a real BASIC, but it's so similar in syntax that it might just as well be. I'm using NaaLaa which seems to be alive yet again as Marcus returned and is now in charge.

I wish it be opensource tho so in case of him suddenly disappearing someone else can continue it (not to mention a possibility for ports).
Title: Re: What BASIC do you mainly use?
Post by: Richly on June 28, 2016, 10:35:01 PM
I'm still using my favourite BASICs but I've recently gone back to learning C after taking a break; simply because of the vast quantity of resources / books / tutorials / help that is out there for someone who is trying to learn C on their own.
Title: Re: What BASIC do you mainly use?
Post by: Tomaaz on August 03, 2016, 09:30:09 PM
Pike at the moment. It's a shame it's not popular at all. :( I've also tried standalone JavaScript interpreters, but I'm not sure about that. Wait... These are not BASICs. Sorry...
Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 11, 2016, 11:36:52 PM
Like it or not, but a trifling five days after I'd registered on this forum, my application was finally approved of. So hi everybody! :)

Ah, FBSL... ...but is it BASIC?  ;)

(quickly heads for the exit...)

Frankly, I don't see any reason for the mockery. Or was that rather meant as teasing? FBSL hosts three fully independent but interoperative languages -- BASIC, ANSI C, and Intel-style assembly. FBSL's BASIC is an interpreter while its C and Asm are JIT compilers.

FBSL's BASIC supports the advanced vocab and syntax of the industry leaders and is almost indistinguishable from them in this respect. For example, here's Ed's fabulous Integer Benchmark written in a few dialects I practice:
Code: [Select]
' ================
' Visual Basic 6.0
' ================
Rem GUI only
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Sub Main()
    Dim n As Long, lim As Long
    Dim k As Long, p As Long
    Dim pc As Long, gtc As Long
   
    pc = 0: n = 1: lim = 5000000: gtc = GetTickCount()
    While n < lim
        k = 3: p = 1: n = n + 2
        While k * k <= n And p
            p = (n \ k) * k <> n ' precedence!
            k = k + 2
        Wend
        If p Then pc = pc + 1
    Wend
    MsgBox pc & " " & (GetTickCount() - gtc) / 1000 & " sec VISUALBASIC6"
End Sub


' =============================
' PowerBASIC for Windows v10.04
' =============================
Rem GUI only
Declare Function GetTickCount Import "kernel32.dll" Alias "GetTickCount"() As Long
Function PBMain() As Long
  Dim n As Long, lim As Long
  Dim k As Long, p As Long
  Dim pc As Long, gtc As Long
 
  pc = 0: n = 1: lim = 5000000: gtc = GetTickCount()
  While n < lim
    k = 3: p = 1: n += 2
    While k * k <= n And p
      p = (n \ k) * k <> n ' precedence!
      k += 2
    Wend
    If p Then pc += 1
  Wend
  MsgBox Str$(pc) & " " & Str$((GetTickCount() - gtc) / 1000) & " sec POWERBASIC"
  Function = 0
End Function


' =================
' FreeBASIC v0.90.1
' =================
Rem CUI only
Dim n As Long = 1
Dim lim As Long = 5000000
Dim k As Long, p As Long
Dim pc As Long, gtc As Double = Timer

While n < lim
    k = 3: p = 1: n += 2
    While k * k <= n And p
        p = (n \ k) * k <> n ' precedence!
        k += 2
    Wend
    If p Then pc += 1
Wend
Print Using "###### #.### sec FREEBASIC"; pc, Timer - gtc
GetKey ' optional in Shell console, mandatory in own console


' ============
' Oxygen Basic
' ============
Rem GUI or CUI
Include "Console.inc" ' if CUI, "MinWin.inc" if GUI
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Dim k, p, pc As Long ' all are Longs
Long n = 1, lim = 5000000 ' alternative notation
Long gtc = GetTickCount ' ditto, parentheses may be omitted if no args

While (n < lim)
    k = 3: p = 1: n += 2
    While (k * k <= n And p)
        p = n / k * k <> n ' left-to-right precedence
        k += 2
    Wend
    If p Then pc += 1
Wend
Print Str(pc) " " Str((GetTickCount - gtc) / 1000) " sec OXYGEN"
WaitKey ' optional in Shell console, mandatory in own console, to be rem'ed in GUI


' =================
' thinBasic v1.9.12
' =================
Rem Windowed CUI only
Uses "Console"
Dim k As Long, p As Long, pc As Long
Dim n As Long = 1, lim As Long = 5000000
Dim gtc As Long = GetTickCount ' GetTickCount is a keyword

While n < lim
    k = 3: p = 1: n += 2
    While k * k <= n And p
        p = n \ k * k <> n ' left-to-right precedence
        k = k + 2
    Wend
    If p Then pc += 1
Wend
PrintL TStr$(pc) & " " & TStr$((GetTickCount - gtc) / 1000) & " sec THINBASIC"
WaitKey

and here's the same written in the three languages that FBSL supports:
Code: [Select]
' ====================================
' Freestyle BASIC Script Language v3.5
' ====================================
Rem CUI only
#AppType Console

Sub Main() ' no kernel32.dll, user32.dll, gdi32.dll API declarations needed
  Dim gtc As Long = GetTickCount() ' for lulz: forced strong typing, otherwise by assignment (i.e. Long either way)
  Print PrimeA() & " " & (GetTickCount() - gtc) / 1000 & " sec FBSL Assembler"

  gtc = GetTickCount()
  Print PrimeB() & " " & (GetTickCount() - gtc) / 1000 & " sec FBSL BASIC"

  gtc = GetTickCount()
  Print PrimeC() & " " & (GetTickCount() - gtc) / 1000 & " sec FBSL C"

  Pause ' optional in Shell console, mandatory in own console
End Sub

DynAsm PrimeA() As Long ' Intel-style assembly function block
  #Define FALSE 0 ; MASM32 EQUs and ASSUMEs are effectively PP macros, so why not use existing PP?
  #Define TRUE 1
  #Define pc DWORD PTR [ebp - 4] ; pointer to local long int
  #Define lim ebx
  #Define n ecx
  #Define k esi
  #Define p edi
 
  enter 4, 0 ; adjust new func stack frame w/ four bytes reserved for one local long int
  push ebx ; save non-volatile register states
  push esi
  push edi
 
  mov pc, 0
  mov n, 1
  mov lim, 5000000
 
  .While n < lim ; MASM32-style pseudo HLL
    mov k, 3
    mov p, 1
    add n, 2
   
    .While p ; or .While p = TRUE, or .While p <> FALSE
      mov eax, k
      mul k
      .If eax > n .Then
        .Break ; exit inner .While
      .EndIf
     
      mov eax, n
      xor edx, edx
      div k
      mul k
      mov p, FALSE
      .If eax <> n .Then
        mov p, TRUE
      .EndIf
      add k, 2
    .Wend
   
    .If p .Then ; or .If p = TRUE, or .If p <> FALSE
      add pc, 1
    .EndIf
  .Wend
 
  mov eax, pc ; return pc value to BASIC caller
 
  pop edi ; restore initial register and stack states
  pop esi
  pop ebx
  leave
 
  ret
End DynAsm

Function PrimeB() As Long ' classic BASIC-2016 function block
  Dim pc = 0, n = 1, lim = 5000000 ' all are Longs by assignment
  Dim k, p As Variant ' for lulz again: actually, both are Variants (typeless means Variant as in VB6 or TB)
 
  While n < lim
    k = 3: p = 1: n = n + 2
    While k * k <= n And p
      p = (n \ k) * k <> n ' precedence!
      k = k + 2
    Wend
    If p Then pc = pc + 1
  Wend
  Return pc ' return pc value to BASIC caller
End Function

DynC PrimeC() As Long ' ANSI C function block
  int main() { // main entry point; more C language utility funcs possible in here
    int pc = 0, n = 1, lim = 5000000; // initialized locals
    int k, p; // uninitialized locals
   
    while (n < lim) {
      k = 3; p = 1; n += 2;
      while (k * k <= n && p) {
        p = n / k * k != n; // left-to-right precedence
        k += 2;
      }
      if (p) pc++;
    }
    return pc; // return pc value to BASIC caller
  }
End DynC

All code is copy-paste ready for those who might be interested.

So what's wrong with FBSL BASIC, may I ask? ;)

FBSL BASIC can produce CUI and GUI applications of any complexity that the other BASIC dialects can in the year of 2016, and it can also be extremely fast thanks to its other two companions in the FBSL common environment. For example, the HQ 3D model viewer/renderer seen in the snapshot below uses BASIC for its skinned GUI, C for its model loader and parser, and assembly and GLSL for its texture handlers and render routines.

(Model by courtesy of Patrice Terrier of PowerBASIC. More models can be seen at, and obtained from, his site (http://www.objreader.com/).)
Title: Re: What BASIC do you mainly use?
Post by: jbk on August 12, 2016, 09:04:38 AM
Hi Mike
I installed FBSL some time ago but could never get it to work, eventually I removed it when cleaning my HD
is there a latest distribution that I could try?
Title: Re: What BASIC do you mainly use?
Post by: Richly on August 12, 2016, 09:45:59 AM
Frankly, I don't see any reason for the mockery. Or was that rather meant as teasing? FBSL hosts three fully independent but interoperative languages -- BASIC, ANSI C, and Intel-style assembly. FBSL's BASIC is an interpreter while its C and Asm are JIT compilers.

Firstly, welcome Mike  :)

Mockery? Certainly not...well, just a little gentle leg pulling perhaps, but nothing more. Please accept my apologies if I offended you.  :)

But it was a genuine question too. I wanted to know whether or not FBSL was BASIC.

Your reply here illustrates that, in fact, FBSL is three languages - BASIC, C and Assembler.

So, you can use all three languages interchangeably in one program if you wish; just like you can use Assembler within a BB4W program in order to optimise the code...although FBSL also offers the additional option of using C?

Interesting, especially as I am learning C.

Hi Mike
I installed FBSL some time ago but could never get it to work, eventually I removed it when cleaning my HD
is there a latest distribution that I could try?

Yes, I had trouble in the past locating a viable download.

Is FBSL still being actively developed? Is the documentation up-to-date and suitable for those of us who are not yet coding Jedi Masters?  :)
 
Title: Re: What BASIC do you mainly use?
Post by: Richly on August 12, 2016, 09:53:44 AM
By the way, a related question that perhaps you or John could be kind enough to answer - please excuse my ignorance.

How does FBSL's ability to use different languages within the same program differ from ScriptBasic's extension module's or libraries in other BASICs?

Is it that libraries, etc. have to be 'called'?

Title: Re: What BASIC do you mainly use?
Post by: Aurel on August 12, 2016, 10:04:27 AM
FBSL is one modern basic-like language and is very good .
I really recommend to anyone who whish to learn good win api programming
( it is from my point of view far better than thinBasic)
also i recommend Creative Basic and of course Oxygen Basic
and dont forget to try TOY  ;D
Title: Re: What BASIC do you mainly use?
Post by: Richly on August 12, 2016, 11:21:46 AM
Just found this on the BB4W forum too about using C with BBC BASIC for Windows as an alternative to ASM

Quote
One idea that could save you a great deal of time, energy and potentially stress (!), is to write speed-critical code in C (or C++), compile it as a DLL and load it into your BB4W as a library...
Title: Re: What BASIC do you mainly use?
Post by: Aurel on August 12, 2016, 11:32:59 AM
Look richey
i think that you have wrong approach to learn programming
you simetimes lern C sometimes etc..etc
man use first one thing and learn it thenyou will be on horse
Title: Re: What BASIC do you mainly use?
Post by: Richly on August 12, 2016, 12:00:52 PM
Look richey
i think that you have wrong approach to learn programming
you simetimes lern C sometimes etc..etc
man use first one thing and learn it thenyou will be on horse

Yeah, you could be right...I have flitted around a bit but I'm trying to stick to just C at the moment...
Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 12, 2016, 01:30:15 PM
Thanks for the welcome, Richey,

No apologies needed (though of course appreciated and accepted :) ). And yes, your vision of FBSL is now correct. Quite a few modern BASIC dialects (not only BB4W but also PowerBASIC or OxygenBasic and some others) offer some degree of "inline assembly" to optimize their time critical routines for speed, just like VC or GCC compilers do. FBSL extends this feature even further giving you the ability to also use raw ANSI C code for the same purpose just in case you find assembly a little difficult to master. Or you can even write your applications entirely in assembly or C (the respective code blocks can contain an unlimited number of own procedures written in the respective language and can independently call external libraries too), where the only BASIC wrapper would be a call to the main DynAsm or DynC block to mark the program entry point.

Unlike FreeBASIC, or BCX, or UBX, or MasmBasic and some others that are essentially BASIC-to-C or BASIC-to-Asm translators, FBSL is completely standalone/independent/self-sufficient and doesn't depend on third-party static compilers to generate executable code. All C and assembly blocks are dynamically compiled to machine code directly in memory at application launch time. JIT compilation occurs so fast that you can enjoy your interaction with your C and assembly sources in real time just as much as you would while working with BASIC alone.

Typically, FBSL's C and assembly code would execute 100+ times faster than true interpretative BASIC that's also pretty fast these days.

Hi Mike
I installed FBSL some time ago but could never get it to work, eventually I removed it when cleaning my HD
is there a latest distribution that I could try?
Yes, I had trouble in the past locating a viable download.

For those of you who aren't yet familiar with FBSL, I'd recommend starting with an earlier version 3.4.10 that has a complete installer downloadable from Gerome GUILLEMIN's signature (http://www.fbsl.net/setup/FBSLv3.exe) throughout the FBSL forum. It's a little outdated but still fully functional and sufficiently documented. It also has the Beginner's Guides written in English (http://www.fbsl.net/phpbb2/download/file.php?id=1950) and French (http://www.fbsl.net/phpbb2/download/file.php?id=1951). Note that v3.4.10 didn't support the ANSI C jitter yet.

The most up-to-date FBSL v3.5 RC2 doesn't have an own full installer and its files must be overwritten on top of the existing v3.4.10 installation. Version 3.5 includes the ANSI C jitter and comes with full new documentation except for the main FBSL help file (it however contains a PDF with the description of new features and alterations to the BASIC v3.5 syntax). Version 3.5 introduces slight differences to FBSL BASIC and your existing FBSL samples won't work in it any more but the PDF describes how the older v3.4.10 can be converted to valid v3.5 code -- the changes aren't too laborious, after all. Version 3.5 is much more robust and versatile than any previous version of FBSL.

You can download the FBSL v3.5 RC2 archive from the attachments to this topic (http://www.fbsl.net/phpbb2/viewtopic.php?f=14&t=2996#p10448) on the FBSL forum and install it on top of v3.4.10 as described therein.

FBSL v3.5 is currently still a WIP because I'm developing it at my leasure time only due to the dramatic decline of general interest in BASIC as a programming language. I do have an RC3 though, which can be obtained on special request by those who are interested. It fixes some bugs in the previous publicly available RC2 version. :)
Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 12, 2016, 01:57:23 PM
How does FBSL's ability to use different languages within the same program differ from ScriptBasic's extension module's or libraries in other BASICs?

The ScriptBASIC extension modules describe an interface that must be included in your source script to be able to call a specific precompiled 3rd party dynamicaly linked library (a .DLL in the MS Windows environment, or an .SO "shared object" under Linux).

FBSL doesn't need any special interface to call the functions in any 3rd party DLL. The universal call engine is prebuilt in it and you don't even have to bother if that DLL uses an STDCALL or CDECL calling convention. The calls are coded as if the DLL functions were part of FBSL's own vocabulary. The functions of Kernel32.dll, User32.dll, and Gdi32.dll (plus Msvcrt.dll in the DynC jitter) are preloaded at app launch time, so you don't even need to mention those DLLs in your code at all. But why not if the Fbsl.exe binary is initially linked to them at compile time, in the first place? :)

What you often call a "library" in the other BASIC dialects would effectively be an include file with a set of reusable procedures written in those dialects. Of course both ScriptBASIC and FBSL can use those too, with FBSL being able to have those procedures written not only in BASIC but also directly in C and/or assembly syntaxes thus being on a par, speed-wise, with the 3rd party DLLs originally built in the environments of respective static compilers like VC, or GCC, or MASM32, or GAS, whatever. :)
Title: Re: What BASIC do you mainly use?
Post by: jbk on August 12, 2016, 02:19:41 PM
just tried to install on Windows 10 but Windows defender flag it as malware :(
Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 12, 2016, 02:59:54 PM
just tried to install on Windows 10 but Windows defender flag it as malware :(

It shouldn't. Are you sure it is the Defender (anti-malware net firewall) and not the DEP (data execution prevention) service? Matter is, v3.4.10 used to load the scripts and the machine code precompiled by the Asm jitter into the data, not executable code, memory which is what many simpler virus writing strategies would do. The restrictive DEP service that's initially switched on in clean MS Windows installations would avoid code execution in such memory areas and flag the respective executables as potentially dangerous, which FBSL of course isn't. FBSL v3.5 works differently and avoids that restriction.

I'd suggest switching off the DEP service when working with FBSL v3.4.10 on the latest MS Windows platforms. I think my complete personal authenticity as a member of this forum is a solid guarantee that noone here means harm to your computer, at least as far as FBSL is concerned. :)
Title: Re: What BASIC do you mainly use?
Post by: Aurel on August 12, 2016, 07:28:07 PM
 Windows defender is well known as a piece of crap
similar things detect Avira based antivirus-engines which detect
everytime something in Oxygen Basic  >:(
Title: Re: What BASIC do you mainly use?
Post by: Richly on August 12, 2016, 08:56:33 PM
Unlike FreeBASIC, or BCX, or UBX, or MasmBasic and some others that are essentially BASIC-to-C or BASIC-to-Asm translators, FBSL is completely standalone/independent/self-sufficient and doesn't depend on third-party static compilers to generate executable code.

Many thanks Mike for the reply and for the download link - very impressive indeed.
Title: Re: What BASIC do you mainly use?
Post by: jj2007 on August 13, 2016, 07:49:26 PM
MasmBasic ... BASIC-to-Asm translators

No translation involved here, Mike. It's pure Masm :)
Title: Re: What BASIC do you mainly use?
Post by: ScriptBasic on August 13, 2016, 11:38:25 PM
Quote
No translation involved here, Mike. It's pure Masm.

What would be cool if MasmBasic could generate executable code without having to use the MASM assembler/linker. I think this is how OxygenBasic works.
Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 14, 2016, 12:43:15 PM
No translation involved here, Mike. It's pure Masm :)

Exactly, Jochen. It only uses Basic-like MASM macro names but that's exactly why it can't get completely rid of referring to the literal register names. Nonetheless I guess I should've written "... MyBasic and some others ... " in order to be absolutely meticulous. :)

What would be cool if MasmBasic could generate executable code without having to use the MASM assembler/linker. I think this is how OxygenBasic works.

I think that's highly unlikely because MASM32 is considerably stronger and more versatile than FBSL or O2 in its assembler engine, and that's what Jochen probably values the most. Yet the other two simpler assemblers are blazing fast as well even if compared to bytecode interpreters, to say nothing of conventional line-by-line interpretation.
Title: Re: What BASIC do you mainly use?
Post by: jj2007 on August 18, 2016, 12:13:10 AM
MASM32 is considerably stronger and more versatile than FBSL or O2 in its assembler engine

Compared to other assemblers (GAS, FASM, NASM, ...), the macro engine makes the difference: you can do incredible acrobatics with it. I am a M$ hater and Windows user, but I would feel honoured to know the persons who developed MASM more than twenty years ago.

Title: Re: What BASIC do you mainly use?
Post by: Mike Lobanovsky on August 18, 2016, 09:10:53 PM
... the macro engine makes the difference: you can do incredible acrobatics with it. ...

The MASM macro engine is essentially a preprocessor to an otherwise rank and file programming product. The listing of a good contemporary C99-compliant preprocessor alone (like the one built into FBSL, for example) for the C language would typically be longer than the listings of many indie BASIC dialect implementations. :)