-
RAD Basic vs TwinBasic, Which do you prefer?
I see there is this new project:
https://www.radbasic.dev/editions.php
https://twinbasic.com/preview.html
Which do you prefer? Why?
We are able to write code with this language?
Share down below your opinion
P.S.: If you know some other projects like this tell us here!
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Attilio
We are able to write code with this language?
No, there is no preview download of RadBasic so hardly anyone tried it so far.
In this regard the comparison b/n these two is moot -- it's like comparing apples to nothing.
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
RAD Basic vs TwinBasic, Which do you prefer?
Lazarus/FreePascal.......
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Zvoni
[/h]Lazarus/FreePascal.......
Thank you Zvoni for your reply but I'm referring to a vb6-like project
P.S. Your Bio is soo cool :) (I mean the Ring-verse)
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Not sure if RAD Basic is still under development. Last update was: August 25, 2021:
I vote TwinBasic! It's coming along pretty nicely with constant updates.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
You can't vote for one in comparison until you've tried both.
RADBasic is definitely still under development. His experience here was enough to put him off announcing updates via this forum. Carles now gives out information via Patreon to all his patrons. He is providing test versions of RADBasic for patrons to trial/test as the code grows.
In all cases it might be wise to reserve judgement in comparison until we have something concrete in our hands from both parties.
It has to be said TwinBasic is going well with regard to its progress and its publicity.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Here is v0.4 setup link: radbasic_0.4.0.0_setup.exe
Didn't try it yet.
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
Woah... looked into it via 7Zip -
and it'd unpack to nearly 2GB (mostly due to LLVM-dependencies).
Olaf
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Zvoni
[/h]Lazarus/FreePascal.......
I joined the RADbasic kickstarter but that didn't reach its goal.
Instead, I'm now paying a monthly fee to twinBasic in the hopes that it will reach full compatibility with vb6.
The huge plus of Lazarus is that it's open source, something twinBasic isn't (for fully understandable reasons).
Still twinBasic not being open source is a bit of a worry.
I'm not hung up on language and if there was a (even closed-source) project provide a converter from vb6 to Lazarus, I'd happily
pay €50 a month towards its development.
If we could get 150 people willing to commit a similar amount we might have a shot at it.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
I have paid an equal amount to both TwinBasic and RADBasic.
I am stuck on VB6 as I realise my head is probably incapable of another move. I tried Lazarus but I found it clunky and quite an alien IDE. Not the most intuitive at least for me, things may have changed though. I do dip into Delphi from time to time to familiarise myself with the language and I have to say it is not so alien.
Productivity though would take a significant dip and I am slow enough already.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
This is not exclusive to patreon
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Schmidt
Woah... looked into it via 7Zip -
and it'd unpack to nearly 2GB (mostly due to LLVM-dependencies).
Olaf
Yes, I tested the RADBasic setup program and after the installation, the LLVM-dependencies were over 1.5GB.
I have a few questions:
(1) Does twinBasic also use LLVM?
(2) If twinBasic also uses LLVM, does the twinBasic setup folder also have 2GB after unpacking?
(3) Could you infer from the installation files of RadBasic whether RadBasic is developed with .NET(C#)?
(4) If RadBasic is developed with .NET(C#), can we develop a new Basic compiler and IDE with VB6 + LLVM?
Thanks.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Attilio
twinBASIC is available for download. You can download and try it for yourself. New releases are regularly available for download.
You can write code, and copy and paste VB6 code into twinBASIC, there are some controls (Label, TextBox, CommandButton, OptionButton, CheckBox, ComboBox, ListBox, Timer, HScrollBar, VScrollBar).
You can compile to 32bit or 64bit applications.
I understand with radbasic you can't get an updated release unless you subscribe via Patreon. https://www.patreon.com/radbasic/posts
So it is difficult to compare the two.
Can anyone who does subscribe to radbasic post a summary review here? What is the current state of radbasic now?
See https://nolongerset.com/twinbasic-update-march-6-2022/ for a (very) brief comparison of the two.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Paid money to the kickstarters but got nothing in return.
Now playing with FREEBASIC. As the name suggests it is totally free and both 32bit and 64 bit.
Syntax is slightly different to VB6 but it supports pointers, multi-threading and other features.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
CreativeDreamer
Paid money to the kickstarters but got nothing in return.
Now playing with FREEBASIC. As the name suggests it is totally free and both 32bit and 64 bit.
Syntax is slightly different to VB6 but it supports pointers, multi-threading and other features.
I'm not sure what you're talking about.
Only Radbasic had a kickstarter and because it did not reach its target no money at all was taken from the people who pledged.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
CreativeDreamer
Now playing with FREEBASIC. As the name suggests it is totally free and both 32bit and 64 bit.
FB is open source but still it does not support MacOS. Currently it only works on Windows and Linux.
It is very VB6 like if you use the free and open source Visual FBEditor IDE.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
CreativeDreamer
Now playing with FREEBASIC. As the name suggests it is totally free and both 32bit and 64 bit.
Syntax is slightly different to VB6 but it supports pointers, multi-threading and other features.
Quote:
Originally Posted by
IndicSoftware
FB is open source but still it does not support MacOS. Currently it only works on Windows and Linux.
It is very VB6 like if you use the free and open source
Visual FBEditor IDE.
I don't see how you can describe FreeBasic as "VB6 like". It can't import VB6 source code, it doesn't support ActiveXs.
At best it can be described as 'almost QuickBasic like'
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Btw, April 2022 RAD Basic release: radbasic_0.5.0.0_setup.exe
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
RAD Basic vs TwinBasic, Which do you prefer?
I'm not looking at RADBasic....can anyone here answer the question?
Simple things win me over...
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Currently it seem that twinBasic is better more progressive then RAD Basic.
In tB there are updates almost twice a week. Of course currently the progress is a bit slow and the developer has mentioned the reasons for slow progress.
While in case of RAD Basic the updates are very far apart.
This is my take...
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
As long as the project is still in progress, there will be more hope and even unexpected surprises at times.
twinBasic is developed in C++. If RadBasic was developed using .Net, then this is obviously another completely new path. Maybe we can also develop a new Basic compiler with VB6. :D
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SearchingDataOnly
Maybe we can also develop a new Basic compiler with VB6. :D
Visia Compiler from what I remember, the IDE or compiler (I'm not sure) was developed in VB6.
Attachment 185036
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Episcopal
Visia Compiler from what I remember, the IDE or compiler (I'm not sure) was developed in VB6.
Attachment 185036
I took a quick look at the source code of Visia Compiler. Visia Compiler is still in a very early stage, and I can't see valuable information from it. It doesn't seem to have anything to do with the real basic language compiler.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SearchingDataOnly
I took a quick look at the source code of Visia Compiler. Visia Compiler is still in a very early stage, and I can't see valuable information from it. It doesn't seem to have anything to do with the real basic language compiler.
It doesn't appear to be a VB compiler... but it's own VBish language... and hte compiler was written in VB6 (according to the screen shots... haven't looked at the source code just yet).
-tg
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
twinBASIC now has support for using ActiveX controls in twinBASIC forms.
https://www.vbforums.com/showthread....=1#post5561881
Here is the beta download...
https://github.com/WaynePhillipsEA/twinbasic/releases
- Click on "Assets" for the latest release
- Download and Extract the ZIP file into a local folder
- Then run the twinBASIC.exe from that local folder.
If you haven't previously installed the twinBASIC IDE and you're NOT using Windows 11, you might need to install the WebView2 Runtime from Microsoft. Some products, like Office 365 now pre-install WebView2 for you, so you might not need this step. Here is a link for the official WebView2 runtime:
https://tinyurl.com/twinbasicwebview2runtime
Further details...
https://github.com/WaynePhillipsEA/t...ent-1152359335
To get started with ActiveXs see...
https://github.com/WaynePhillipsEA/t...ent-1152368905
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Pre-beta 2 Release: radbasic_setup_0.5.91.exe
(Have to copy/paste the link in a new tab as apparently vbforums.com referrer is blocked)
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Is that legit?
That link doesn't work for me by the way. It just opens a browser tab and immediately closes it.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Oh never mind it downloads when you copy the link as you've said.
Do you trust it? I mean I trust you but I don't know much about this RadBasic guy so I'm kinda hesitant to run a strange EXE on my PC and I don't have a VM handy right now. Needed to make space on my HD a while back.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
Is that legit?
No idea so better download it before they change their mind and put it behind a paywall :-))
Quote:
Originally Posted by
Niya
Do you trust it?
Btw, I don't install these actually and I have plenty of VMs. . . Fiddlying w/ TB is enough "other BASIC" for me :-))
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Yea I downloaded it.....but I'm not running it until either I re-install another Windows VM instance or somebody I trust runs it and gives the green light.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
Btw, I don't install these actually and I have plenty of VMs. . . Fiddlying w/ TB is enough "other BASIC" for me :-))
I'm really curious about it since there was so much fuss over it. However, I am terrified of ransomware. There are very few things in the world that frighten me more than the prospect of waking up one morning to find all the files on my HD encrypted so I avoid running EXEs from people or companies I know nothing about. That fear is far greater than my curiosity.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
BTW you should state clearly that you haven't tested it. You're a well known person around here that has earned a lot of credibility. I almost ran it when I downloaded just because it was you that posted it.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Putting a malware/ransomware would wipe out the whole project. It’s possible but probably they not doing it consciously.
If someone happen to install latest RAD Basic setup above in a VM please do share if there is something suspicious for the rest of us to know.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
Putting a malware/ransomware would wipe out the whole project. It’s possible but probably they not doing it consciously.
If someone happen to install latest RAD Basic setup above in a VM please do share if there is something suspicious for the rest of us to know.
That's just a 2.52 MB file that when you run it must download the rest of the software. Pretty common scenario nowadays, is there a special name for this arrangement?
Anyway that 2.52 MB file gets a clean bill of health from Virustotal.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
vbrad
... is there a special name for this arrangement?
WebInstaller
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
wqweto
WebInstaller
cheers,
</wqw>
OK, makes sense! Thank you.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
It's still installing gigabytes of LLVM stuff I see...
Seems this version doesn't run without a license. You'd think they'd at least let the IDE run and just block building and/or saving when unlicensed so the public could at least see if it's even made much progress. Oh well, somebody who has one want to give an overview of where it's at now?
They had a *huge* amount of ground to make up if they want to be taken seriously as a competitor to twinBASIC, since the previous version from a year ago couldn't do much of anything... seemed built around showing the bare minimum examples from the video; just about any modification didn't work.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
It's still installing gigabytes of LLVM stuff I see...
Sounds like it's at least doing something that makes sense for an application development tool. This project may not be a bluff after all.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Chat to Carles and he'll send you a licence.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
Sounds like it's at least doing something that makes sense for an application development tool. This project may not be a bluff after all.
Not sure why anyone would think it was a bluff. It's obviously been a legit real project from the beginning, but hasn't had much publicly available progress reported in ages. I'm not going to download and install this myself, but I would like to hear feedback from those who do what they think of this new release.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Unfortunately very little progress given it's been a year, with the obvious basis for comparison being how far twinBASIC has progressed in a year and the huge magnitude of such projects.
Here's the changelog for this and the nov release:
Quote:
New
•New online installer digitally signed. Try to play more friendly with antivirus software.
•New OpenAI Chat sample.
•Change location of samples to user profile, avoiding issues with UAC.
•[Compiler] Add partial implementation of VB.App class.
•[Compiler] Implemented declaration and use of constants.
•[Compiler] Add VBA.Constants (vbNewLine, vbCrLf, ...).
•[Compiler] Implemented "Not" boolean operator.
•[Compiler] Implemented more functions of VBA.Strings: InStr, Len, Replace, LCase, UCase, Chr and Asc.
•[Compiler] Initial support of COM api (ActiveX). Implemented CreateObject function which creates and returns a reference to an ActiveX object in runtime (late binding).
•[IDE] Add comment/uncomment block operations.
•[IDE] Add Quick Search/Search and Replace operations.
Improvements
•Shipped RAD Basic binaries are now digitally signed.
Fixes
•[Compiler] On output compiler errors: fixed source code line calculation when there is not Option Module (as 'Option Explicit') and when there are syntax errors.
•[Compiler] Fix ExpressionSolver with edge cases in calling methods.
•[Compiler] Fix escape quote char in Strings.
•[Compiler] Add Click event in forms.
•[IDE] Fixed clickable compiler errors in output window when path contains parentheses.
New
•[Compiler] Rewritten part of the core implementing multi-pass compiler. So, now we will be able to compile source code with methods calling other methods written after them.
•[Compiler] Support for multiple variable declarations in single Dim statement.
•[Compiler] Support for visibility modifier (Public, Private, ...) for procedures and variables.
•[Compiler] Support for additional intrinsic data types: Single, Double and Boolean.
•[Compiler] Support Boolean operators: 'And' and 'Or'.
•[Compiler] Added basic string manipulation: concatenation with & symbol, and methods Left, Mid, Right and CInt.
•[IDE] Add context menu to output window of RAD Basic IDE with "Copy" and "Clear All" actions.
•[IDE] Add actions to context menu of Project Explorer: Open in File Explorer, Copy Full Path and Open in Terminal.
•[IDE] New source code editor: with line numbers and code folding.
•[IDE] Go to line menu item.
•[IDE] Clickable errors in output window which allows to jump to line.
Improvements
•[IDE] Improved dark theme.
•Added unit testing in IDE (as we had in compiler) and integration tests along e2e tests. These improvements helped to fix a lot of small bugs.
Fixes
•[IDE] Fixed various bugs about saving form operation.
•[IDE] Fixed not losing menu definition on the form when saving.
•[IDE] Fixed show correctly containers/children in form layout window.
•[IDE] Fixed bugs in loading/saving VBP, FRM and BAS modules files.
•[IDE and compiler]: Fixed a lot of small bugs.
•[Compiler] Check members of an object are callable (not a property) when invoking it.
•[Compiler] Ignoring case when resolving symbols.
•[Compiler] Fix read properties.
•[Compiler] Add a lot of missing checks and fixed small bugs.
And/Or support was a biggy but it's still pretty useless given parentheses aren't supported... i.e. If (a = 1) Or (a = 2) Then isn't supported.
At this rate it would likely be 10+ years before RB got to where TB is right now, and given the progress TB has made in the past year, it's likely to pass full compat in less than 1 more year (plus having tons of new features on top, which isn't planned for RB... Carles has said his plan is full compat first, then new language features.). Key takeaway is RB still can't run anything even remotely complicated, while tB already supports a good number of large, complex production apps completely.
While from a technical standpoint the competition might be good, from a commercial success standpoint I think it's good the market won't be split.
Finally, it's still worth recognizing that these VB6 replacements are a monumental challenge, and even getting to the point RB is is an impressive achievement that takes a lot of skill, and I expect a lot of the problem here is simply time able to be spent on it.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Tweet by @radbasic:
"AI meets Visual Basic / RAD Basic. This video shows how easy is to create a chat application to query ChatGPT using OpenAI REST API and RAD Basic."
https://www.youtube.com/watch?v=8TosPmdpZto
cheers,
</wqw>
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Seems like something done just to mislead people into thinking it's farther along than it is... you're going to implement late-bound CreateObject calls before you can even handle If (condition1) Or (condition2) Then?
In fact it looks like it might even be hard coded to specifically support this, and not real support at all. Because I tried an even simpler call,
Code:
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
objShell.BrowseForFolder 0, "Pick a folder", 0, "C:\\"
And it failed saying it doesn't support the method (except it does, the code works fine in tB and VB6).
I bet you could not only run that ChatGPT code in tB but do it in it's own thread so as to not lock up the UI.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
No need to assume that Carles is always trying to pull one over your eyes...
A couple of years ago, if you'd been shown a VB replacement showing that sort of progress you'd have been very impressed indeed. Take it for what it is, a demonstration of some current capability and a taste of what might yet be coming.
No need to become a fanboy for one solution over another, I am simply very content that we seem to have progress and the possibility of more than one future solution. Competition is capitalism at its best, there are a few capitalists here that should be happy. When you've spoken to Carles personally you'll get the opinion that he is trustworthy, knows his direction, is familiar with the technology and is passionate about delivering it too.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
It's not like I'm pulling it out of thin air... even so much as a changelog is locked behind Patreon, virtually no information is public, and now you're going to have CreateObject implemented before some of the most basic syntax, and then I find out that the CreateObject call only works in one specific, narrow demo? Come on... I'm sorry but everything here is pointing to exaggerating progress, and there's only one good reason for that.
And yeah this may have been impressive 3-4 years ago, but there's never a time where this would be viewed as something likely to be viable in any reasonable timeframe. From a technical standpoint I'm sad about it, it would have been good to have some competition. However at this point, rB isn't on a trajectory where it's likely to ever catch up to tB, and easily a decade off from where tB was a year ago. From a purely pragmatic perspective at this point, there's only one successor, and having a commercial product be sketchy and charging money while making no progress, being very secretive, and doing things like this ChatGPT demo, is IMO *hurting* things because it validates all the hesitation people have about buying into other subscription funded, closed source projects.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Well, I am going to remain optimistic and hopeful. Feels rather nice.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
While I'm more inclined to support Fafalone's position, I'll play devil's advocate a bit here. I've said this many times, Wayne is not human. The rate at which he spits out updates is beyond what I think most of even the most talented programmers are capable of. Even if we don't trust Carlos, we know for a fact that Olaf also has the ability to pull something like this off and even his efforts remain more or less in limbo.
The point I'm making is that perhaps the slow progress of RADBasic is the norm and not the exception. A full VB6 replacement is no easy feat to accomplish by yourself without funding in your spare time. Not to mention the reward is access to a tiny market of a few hundred people at best. TwinBASIC is the exceptional case here and an extreme one in my opinion. Multiple stars had to align for it to happen. So perhaps we should not be too hard on anyone else attempting to create a VB6 clone just because of the high standards set by a single exceptional case.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
It really doesn't matter whether or not Carles has the ability... the difference IMO we're seeing with that and with Olaf, vs tB, is treating it as a job vs a hobby project. Such a project is a *massive* undertaking, and that's why even people we know have the technical ability like Olaf are getting nowhere fast.
But Olaf isn't asking for people's money. If you're treating it as a commercial project, and charging money to access some, or in the case of RB, *all*, features, you have a minimal duty to be completely upfront about things like where you're really at and what a realistic timetable is. That's what my issue is here. He's locking up all the information, even things like the changelog, behind a paywall, then the little public information is incredibly sketchy. Like with the ChatGPT sample for reasons I explained... or look at this: https://www.radbasic.dev/components.php That page is *clearly* suggesting all of those *are* reimplemented, rather than "planned to be reimplemented sometime over the next 5-10y". The links to it are titled "List of RAD Basic shipped components" (emphasis mine) and it's even got specific implementation details like "Note: If your project is in Visual Basic 5, you have to upgrade the components of Microsoft Common Dialog Control 5.0 to 6.0 version.". Then you finally get it installed and see you've only got a couple properties for half the default built-in control set.
So the issue isn't even how long it will take as a side hobby project, the issue is being secretive and misleading in order to get more subscribers, for something you're giving the time commitment of a hobby project while holding it out as a commercial product viable for businesses purposes in a useful timeframe. That's just going to leave a bad taste in people's mouths... there's already enough barriers to asking people to buy into closed source commercial dev software.
I'd have no problem if Carles was doing like Olaf is doing, or even asking for support *if* it was 100% crystal clear where it is and that it's being done as a side hobby, which means it won't have 'full compatibility' any time this decade. But then you wouldn't get nearly the same subscribers. It would still be great to see another alternative further down the road. However since we now *do* have a real, viable successor, being developed with a commercial time commitment and proceeding on a commercially useful timescale, you don't want people turned off to the whole idea by another project using secretive, sketchy methods to boost subscribers based around not being entirely forthright about status and timeline.
(PS- I believe you're substantially underestimating the market, as it's a replacement for VBA as well, and Microsoft is once again moving in the VB6 direction... getting ready to leave the millions of users high and dry with a completely incompatible alternative, this time also less powerful because security. You're also proceeding from the assumption it can't gain new users... new languages gain traction all the time, and what else do have that's so beginner accessible? Pretty much just Python, and there's plenty of reasons a modernized VB is better, especially when tB starts support multiple platforms).
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
Microsoft is once again moving in the VB6 direction... getting ready to leave the millions of users high and dry with a completely incompatible alternative, this time also less powerful because security.
fafalone
This sounds interesting but I have no clue what you are talking about, if you've time can you explain more about this?
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
vbrad
fafalone
This sounds interesting but I have no clue what you are talking about, if you've time can you explain more about this?
Sure. First, observe the recent trends in macro-enabled document security: First it popped up a warning, then a much more ominous warning, and now if your macro-enabled document comes from the internet, Office will refuse to load the macros *at all*, until you go outside of Office and right click it in Explorer and mark it trusted (or use a tool to manually remove the 'mark of the web' like my ZoneStripper (twinBASIC | VB6). Here's some more details on No Longer Set.
There's been no significant updates to VBA since 2010, and a lot of new Office features don't work properly with it.
Microsoft is now pushing Office Scripts. These don't have the full system access or wide ranging capability of VBA, but are Javascript based so have some utility for web and cross platform work. That Microsoft cites the lack of easy web calls in VBA as a reason to use Office Scripts should make someone question why they don't just add new features to VBA for that.
So it's not hard to see the writing on the wall here: They're making it harder and harder to use VBA through onerous "security" blocks, completely neglecting it on a feature and compatibility level, and have begun introducing an alternative. Can't say exactly when... but the direction it's going is pretty clear.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
and what else do have that's so beginner accessible? Pretty much just Python, and there's plenty of reasons a modernized VB is better, especially when tB starts support multiple platforms).
This is an interesting point. I'm not sure how old you are, but I'm kind of thinking that a bunch of us are in roughly the same age group, which is the age group that grew up in the 80s and 90s, with some even older. I believe that you may be coming at this view from the same perspective that I did, and I'm beginning to think that we're wrong about this.
I'm a biologist, so I tend to work with other biologists, who tend to be fairly well educated (a masters degree at a minimum). When I was in school, there were computers and we all used them to some extent. Those of us who had one of our own were perhaps in the minority, though only slightly, and I might be wrong about that. At the very least, they weren't ubiquitous, they weren't all that cheap, and they weren't all that capable. Those base conditions have changed, and I think beginners might be changing with them. I'm seeing new biologists entering the work force with some programming experience at the college and grad school level. The language of choice, in this field, is R, with python being in second place along with .NET.
My basic point is: I think there's more education happening at college level than there was in our day. We got into coding by dipping our toes in and finding it quite nice. Those coming up today are often being tossed right in, complete with swim coaches, lifeguards, and so on. They may not NEED introductory languages the way we did. For example, the daughter of a buddy of mine started into C++ as an introduction to programming class, and is loving it. Nobody would consider C++ an introductory language.
Kids these days may just have so many resources that they don't need to be self taught the way we were.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
It really doesn't matter whether or not Carles has the ability... the difference IMO we're seeing with that and with Olaf, vs tB, is treating it as a job vs a hobby project. Such a project is a *massive* undertaking, and that's why even people we know have the technical ability like Olaf are getting nowhere fast.
But Olaf isn't asking for people's money. If you're treating it as a commercial project, and charging money to access some, or in the case of RB, *all*, features, you have a minimal duty to be completely upfront about things like where you're really at and what a realistic timetable is. That's what my issue is here. He's locking up all the information, even things like the changelog, behind a paywall, then the little public information is incredibly sketchy. Like with the ChatGPT sample for reasons I explained... or look at this:
https://www.radbasic.dev/components.php That page is *clearly* suggesting all of those *are* reimplemented, rather than "planned to be reimplemented sometime over the next 5-10y". The links to it are titled "List of RAD Basic
shipped components" (emphasis mine) and it's even got specific implementation details like "Note: If your project is in Visual Basic 5, you have to upgrade the components of Microsoft Common Dialog Control 5.0 to 6.0 version.". Then you finally get it installed and see you've only got a couple properties for half the default built-in control set.
So the issue isn't even how long it will take as a side hobby project, the issue is being secretive and misleading in order to get more subscribers, for something you're giving the time commitment of a hobby project while holding it out as a commercial product viable for businesses purposes in a useful timeframe. That's just going to leave a bad taste in people's mouths... there's already enough barriers to asking people to buy into closed source commercial dev software.
I'd have no problem if Carles was doing like Olaf is doing, or even asking for support *if* it was 100% crystal clear where it is and that it's being done as a side hobby, which means it won't have 'full compatibility' any time this decade. But then you wouldn't get nearly the same subscribers. It would still be great to see another alternative further down the road. However since we now *do* have a real, viable successor, being developed with a commercial time commitment and proceeding on a commercially useful timescale, you don't want people turned off to the whole idea by another project using secretive, sketchy methods to boost subscribers based around not being entirely forthright about status and timeline.
I actually agree with all of this. I'm just willing to give him the benefit of the doubt. He may be trying is very best and just doesn't have the acumen to properly manage expectations and public perception of his product. Of course, he could just be looking to make a quick dollar off the appeal of a VB6 clone. We really don't know but for now, I prefer to imagine the former scenario.
Realistically speaking though, I think TwinBASIC is the clear winner in this race. It's too far along for anyone else to catch up now.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
fafalone
(PS- I believe you're substantially underestimating the market, as it's a replacement for VBA as well, and Microsoft is once again moving in the VB6 direction... getting ready to leave the millions of users high and dry with a completely incompatible alternative, this time also less powerful because security. You're also proceeding from the assumption it can't gain new users... new languages gain traction all the time, and what else do have that's so beginner accessible? Pretty much just Python, and there's plenty of reasons a modernized VB is better, especially when tB starts support multiple platforms).
I think you might be wrong here. I pretty much agree that MS has a tendency to hang their customers out to dry. They did it when they replaced VB6 with .Net. They did it when they killed Silverlight. They did it when they killed VB.Net to focus on C#.
Now I used to believe, like many people, that this is a distasteful practice and we might have been justified in our anger when MS does this. However, lately I've been increasingly recognizing the wisdom of what Microsoft is doing. I didn't have the proper perspective to understand why Microsoft is behaving this way. I'm sure that many of you like me have been into BASIC for practically your entire lives. Sure we may dabble in another language here and there, perhaps a bit of C or assembly, some HTML and JavaScript but our core has always been some flavor BASIC running on the Windows platform. This means that we are used to doing things a very specific way and we think this way is the best way, after all it has served us well for decades.
I've recently gotten a growing interest is just what is going on outside of our tiny little world of Windows development. I've been reading a lot about the kinds of things people are doing these days and the tools they are using. It soon occurred to me that our way of doing things is so damn backwards.
I mean we are still writing code like this:-
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b As New Button
b.Text = "Click me!"
b.Width = 150
b.Height = 30
b.Left = 10
b.Top = 30
AddHandler b.Click, AddressOf EH_Click
Me.Controls.Add(b)
End Sub
Public Sub EH_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Clicked.")
End Sub
A more modern coding style would look like this:-
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ControlAdder.CreateControl(Of Button).
WithParent(Me).
WithSizeAndPos(10, 30, 150, 30).
WithText("Click Me!").
WithClickEvent(Sub() MessageBox.Show("Clicked.")).
Add()
End Sub
This is a very basic mock-up of a fluent style API that uses the builder pattern and this is barely scratching the surface of all the various design patterns that are favored by modern programmers. In fact, if that example were real, it would not even be in something like a Form_Load event handler. It would be injected as a service into the Form using an interface or abstract class, perhaps even an anonymous function. This is how modern programmers write code. In this context, I understand now why MS is reluctant to deal with BASIC. It's very difficult to fit it into a world where programmers are used to very un-BASIC-like ways of doing things.
If TwinBASIC is to attract more than just the VB6 community, it would need to be able to support modern design patterns in a very elegant way. I don't know if you remember but just getting the += operator added to TwinBASIC caused a huge riot. TwinBASIC is going to need to lot more than that to support modern ways of writing code.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Just for fun lets look at a more practical example:-
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dlg As New OpenFileDialog
dlg.Filter = "Text files|*.txt|All files|*.*"
dlg.Multiselect = False
dlg.CheckFileExists = False
If dlg.ShowDialog = DialogResult.OK Then
Try
TextBox1.Text = IO.File.ReadAllText(dlg.FileName)
Catch ex As Exception
MessageBox.Show("Error opening file : " & ex.Message)
End Try
End If
End Sub
The above is typical code for opening a "Open File" dialog. Now there is nothing wrong with that code. It's a perfectly acceptable way of writing code. This is the way us "old-schoolers" would write it. That doesn't mean it couldn't be better. You could make that far more readable while not giving up anything:-
Code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FluentOpenDialog.Create().
AddFilter("Text files", "*.txt").
AddAllFilesFilter().
FileAction(Sub(fn) TextBox1.Text = IO.File.ReadAllText(fn)).
ErrorAction(Sub(ex) MessageBox.Show("Error opening file : " & ex.Message)).
Open()
End Sub
The above is the same code written in the fluent style. It does the same thing while being more compact and readable. I find languages that allow you to write code like this very attractive. That doesn't mean I won't use a language without it but it certainly helps in making the language more attractive.
By the way, for the curious mind, this is what the FluentOpenDialog class looks like:-
Code:
Public Class FluentOpenDialog
Public Shared Function Create() As FluentOpenDialog
Return New FluentOpenDialog()
End Function
Private _filters As New List(Of (String, String))
Private _fileAction As Action(Of String)
Private _errorAction As Action(Of Exception)
'Prevent this class from being created
'by anything other than the Create method
Private Sub New()
End Sub
Public Function AddFilter(ByVal fltName As String, ByVal filter As String) As FluentOpenDialog
_filters.Add((fltName, filter))
Return Me
End Function
Public Function AddAllFilesFilter() As FluentOpenDialog
Me.AddFilter("All files", "*.*")
Return Me
End Function
Public Function FileAction(ByVal act As Action(Of String)) As FluentOpenDialog
_fileAction = act
Return Me
End Function
Public Function ErrorAction(ByVal act As Action(Of Exception)) As FluentOpenDialog
_errorAction = act
Return Me
End Function
Public Sub Open()
Dim dlg As New OpenFileDialog
dlg.Multiselect = False
dlg.CheckFileExists = False
dlg.Filter = String.Join("|", From v In _filters Select $"{v.Item1}|{v.Item2}")
If dlg.ShowDialog = DialogResult.OK Then
Try
_fileAction.Invoke(dlg.FileName)
Catch ex As Exception
_errorAction.Invoke(ex)
End Try
End If
End Sub
End Class
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
I really enjoyed seeing Niya write some .Net code to compare with VB6, and I could learn a lot from it. Thank you, Niya.
I've been reading a lot of c# and vb.net code for the past year, and I've been comparing them to VB6 as I read. C# and vb.net have a lot of better features than VB6, but on the other hand, they seem to make a lot of simple things very complicated.
In VB6, the Form_Load event looks like this:
Code:
Sub Form1_Load()
End Sub
In VB.Net, the Form_Load event looks like this:
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
This is a typical case, "5% increase in functionality and 50% increase in complexity"
In addition, due to the simple and powerful visualized IDE of VB6, we rarely use or write the following code:
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b As New Button
b.Text = "Click me!"
b.Width = 150
b.Height = 30
b.Left = 10
b.Top = 30
AddHandler b.Click, AddressOf EH_Click
Me.Controls.Add(b)
End Sub
Public Sub EH_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Clicked.")
End Sub
We just need to use:
Code:
Sub Button1_Clic()
MsgBox "Clicked"
End Sub
That said, after reading hundreds of thousands of lines of C# and VB.NET code, I actually prefer VB6 and twinBasic. Of course, I continue to learn a lot of valuable things from C# and VB.NET, and I'm more and more amazed at the power of C# and VB.NET
Note:
Not to argue, just to learn more. Would love to see Niya write more comparative .NET code, thanks again Niya.
Edit:
Although C-style languages now have the upper hand, Basic-style languages will still have a large usage base. We need to work together to make the Basic language more and more user-friendly.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SearchingDataOnly
In addition, due to the simple and powerful visualized IDE of VB6, we rarely use or write the following code:
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b As New Button
b.Text = "Click me!"
b.Width = 150
b.Height = 30
b.Left = 10
b.Top = 30
AddHandler b.Click, AddressOf EH_Click
Me.Controls.Add(b)
End Sub
Public Sub EH_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Clicked.")
End Sub
We just need to use:
Code:
Sub Button1_Clic()
MsgBox "Clicked"
End Sub
We have a designer in .Net as well. I only chose to do it by code to illustrate how we tend to write our logic. It was perhaps not the best example as it's too contrived. We'd almost never write UI code like that in .Net.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
Niya
We have a designer in .Net as well. I only chose to do it by code to illustrate how we tend to write our logic. It was perhaps not the best example as it's too contrived. We'd almost never write UI code like that in .Net.
Understand. I would say that a good IDE can compensate for a lot of the shortcomings of a programming language. Office-Script (TypeScript) is amazing, but it doesn't have a great visual IDE like VB6 or VB.NET.
In addition, Basic-style programming languages are easier to take advantage of the power of IDEs than C-style programming languages.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SearchingDataOnly
I've been reading a lot of c# and vb.net code for the past year, and I've been comparing them to VB6 as I read. C# and vb.net have a lot of better features than VB6, but on the other hand, they seem to make a lot of simple things very complicated.
In VB6, the
Form_Load event looks like this:
Code:
Sub Form1_Load()
End Sub
In VB.Net, the
Form_Load event looks like this:
Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
This is a perfect example of paying a bigger cost up front so you pay a lesser one later. Controls are given a more unified event handling interface like that so that certain tasks become easier. For example, you could now mix and match different types of controls and have a single event handler for any common event among them. For example you could do something like this:-
Code:
Private Sub CommonClickEvent(sender As Object, e As EventArgs) _
Handles PictureBox1.Click, MyBase.Click, ListBox1.Click, Label1.Click, ComboBox1.Click, Button1.Click
Debug.WriteLine("The " & sender.GetType.Name & " control has been clicked!")
End Sub
Notice that event handler is handling the click event for different types of Controls. This would be a little more complicated in VB6 as you would have to set up multiple event handlers. You could even set this up dynamically like this at runtime:-
Code:
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each c In Me.Controls.Cast(Of Control)
AddHandler c.Click, Sub(s, eh) Debug.WriteLine("The " & s.GetType.Name & " control has been clicked!")
Next
End Sub
Now the wiring doesn't have to be hard-coded. The controls will be discovered automatically and wired up at runtime. Any control added to the Form at design time will be automatically discovered and wired up.
The point is, you buy a lot with this slight increase in complexity.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Originally Posted by
SearchingDataOnly
Understand. I would say that a good IDE can compensate for a lot of the shortcomings of a programming language. Office-Script (TypeScript) is amazing, but it doesn't have a great visual IDE like VB6 or VB.NET.
In addition, Basic-style programming languages are easier to take advantage of the power of IDEs than C-style programming languages.
This also touches on something to connect with the point I was making about earlier about modern coding paradigms.
One of the things I've noticed is that us in the VB6 and earlier .Net communities are pretty unique in our love for drag and drop designers. But outside of our little bubble, the standard is to have UI logic and backend logic completely separate and only meet through well defined connection points. This is where the modern design patterns I was talking about earlier comes into play. These patterns help in designing very elegant ways of joining separate systems while providing maximum flexibility.
Drag and drop designers like what we have in VB6 and .Net's WinForms don't really mesh well with this modern way of designing programs. These designers encourage you to mix UI code with other types of program logic so when a client comes along and tells you he wants the program to have a UI on Linux and you have to use a UI framework like say, GTK+, you're in trouble. Now you have to untangle the non-UI bits from the UI bits.
Now this isn't to say that what we have is bad or wrong. It's well suited for us as a lot of us are more or less confined to Windows-based UI development work but this won't work well for full-stack development where you can have multiple technologies that are fundamentally incompatible with each other working together. For example, you might have Python-based backend that powers an HTML frontend for the Web users and an Android frontend for mobile users. You might also expose an HTTP REST-based API written in something like C# and so on. Drag/Drop designers just don't have much of a role in this environment.
-
Re: RAD Basic vs TwinBasic, Which do you prefer?
Quote:
Nobody would consider C++ an introductory language
What would now be considered a suitable intro language? Looking at a dozen UK universities Computer Science course online perspectives, the most popular language seems to be Java, then Python. I only found one that taught c/c++ as a 1 semester 2nd year course. Javascript was also quite popular.
My first programming language (at secondary school early 1970s) was HP Time Shared Basic (TSB) which was based upon Dartmouth Basic. At University the main language used was Pascal - with Fortran77 and Algol68 also used. Cobol, Snobol and Lisp were also taught (1 semester on each).