RetroBASIC
Basicprogramming(.org) => General questions and discussions => Topic started 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?
-
At present, I'm using AMOS Pro and Blitz BASIC on the Amiga for research purposes :)
-
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/
-
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
-
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.
-
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...
-
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.
-
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 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.
-
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 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...)
-
Thanks Richey,
I will vote now that I am not confused which name. ;)
Do I only get one vote? I mainly use 3.
-
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.
-
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 >:(
-
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? ;)
-
I hope SpecBas is fully backwards in the future.
SpecBAS is pretty much compatible with Sinclair BASIC with some minor exceptions.
-
...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.
-
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.
-
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.
-
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... ;)
-
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.
-
No BaCon!? No FreeBASIC!!!???
-
No representatives or delegates from unmentioned BASICs !!! ???
To join this forum just to raise hell for not being included in poll !!! ???
-
Which web browser do you use?
- Chrome
- Edge
- K-Meleon
- other
-
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.
-
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 :)
-
Hey, did you ever think of separating a VB.NET option from VB?
-
who use VB ;D or who use VB.NET the question is now?
anyone use Force Basic ? ;D
-
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?"
-
To me, Windows is like an onion. Layer upon layer with a the goal of a different smell.
-
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.
-
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.
-
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...
-
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).
-
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.
-
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...
-
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:
' ================
' 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:
' ====================================
' 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/).)
-
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?
-
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? :)
-
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'?
-
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
-
Just found this on the BB4W forum too about using C with BBC BASIC for Windows as an alternative to ASM
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...
-
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
-
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...
-
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. :)
-
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. :)
-
just tried to install on Windows 10 but Windows defender flag it as malware :(
-
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. :)
-
Windows defender is well known as a piece of crap
similar things detect Avira based antivirus-engines which detect
everytime something in Oxygen Basic >:(
-
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.
-
MasmBasic ... BASIC-to-Asm translators
No translation involved here, Mike. It's pure Masm :)
-
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.
-
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.
-
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.
-
... 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. :)