It feels like development has slowed a lot compared to what it was like last year, even taking into account the period when there was no development earlier this year.
Printable View
Poor chap is probably burnt out.
Details of twinBASIC BETA releases are available at...
https://www.vbforums.com/showthread....-Beta-releases
Really? I was just thinking apart from this week it's really picked back up recently... Data control and data binding for all the built in controls supporting it, runtime Controls.Add/Remove, much improved problems pane, tons of control properties now changeable at runtime that VB didn't allow, options to add string table and default manifest resources, [TypeHint] allowing multiple entries, olepro redirections, and tons of bugfixes (including a bunch that let Lemmings and PacMan run !) in the past couple months.
But I suppose it's inevitable... nearly all the easy stuff is done, what's left involves a bunch of complicated and in some cases obscure stuff: MDI forms, the Printer object, DDE (not 100% sure if this is v1 but it seems it falls under completing the controls), implementations of the remaining basic common controls, non-OLE DragDrop, property pages for UserControls... then there's the long tail of bug fixes, that run the gamut from easily fixed typos to downright bizarre and obscure things that might take hours if not days of debugging to run down.
We all know how it is, 90% of the project seems to form in concrete within the first few months, then comes the unforeseen functionality, the bugs and then the edge cases. Then it cycles back and forth through the last three phases with decreasingly small results each iteration.
Nope, not burnt out. You'll hopefully find out what I've been busy on tomorrow.
You're doing fantastic work, Wayne. I can only imagine how intense it would be to incorporate all of the functionality of Class Global in VB. Thanks a million!
basicNES runs in twinBASIC with no modification save for a missing constant in frmAbout (also needed to run in VB6):
https://www.vbforums.com/images/ieimages/2023/07/2.png
https://www.vbforums.com/images/ieimages/2023/07/8.jpg
Needless to say, running something complicated like an NES emulator untouched is a very impressive level of compatibility, especially since unlike other a few other NES emulators, this one is implemented in pure VB with no dependencies at all (besides standard winapi dlls).
Original project homepage (has working download)
It's also in the PSC Archive.
Try it yourself:
1) Download and extract the source
2) Open twinBASIC. In the 'New' tab, select 'Import from VBP'. Choose 'PRJNES.VBP'
3) In the import project dialog that pops up, uncheck all checkboxes and set DPI awareness to 'NONE'
4) Add the missing const to frmAbout: Private Const conSwNormal = 1
5) Open project settings, set build path to ${SourcePath}\${ProjectName}.${FileExtension} -- since it uses resources in the folder, it's expecting them in the same directory, so you don't want to use the default build path as \Build\ would be empty.
6) Save the project. You're now ready to play! I'll leave it to you guys where to get the .nes ROMs for games.
Note: The audio is a little glitchy, but this applies to VB6 too.
Question for you Faf. When you are programming now, do you tend to find you are gravitating toward using TB for certain uses - rather than your default environment, be it VB6, VB.NET or .js (or whatever)?
Are you just testing TB or you actually beginning to 'use' it?
I'm using it pretty much exclusively now over VB6. Now VB6 is mostly for investigating whether something is a bug that should run in tB, although I do have some projects where I keep the codebases in sync between tb/vb and a couple that don't run in tB yet. I've really gotten used to a lot of the new features, which for me outweigh the areas where vb6 still has an edge (like I prefer the look and feel of the VB6 IDE... and it has branch annotations via codesmart which I love... and of course edit&continue; but it doesn't have code folding, advanced info popups, and other modern amenities. Large project performance is still very frustrating in the tB IDE, but I like the new language features so much it's a good tradeoff, especially since tB is still beta software which I have every reason to think will improve on this (and it already has, a recent updated decreased editing/intellisense lag considerably).
I've started a few new projects that will likely be exclusively in tB; and my color emoji demo was originally done in tB than backported to VB.
But of course, tB is only for the VBx language, I'm trying to become more proficient in C/C++ and use VS for that.
You know I am one for user interfaces. I like an interface to be consistent and I like to have the option of it being permanent rather than subject to the whims of a corporation. I like my desk and work area to be the same from day to day. I don't like someone interfering with 'my' workspace/easel/garage/desktop/computer. Improvement is fine but I need to understand the reason for it and it has to fit into my workflow.
When you know a tool you can get the best out of it even when there may be technically 'better' tools.
With that thought I tend to stick with the old VB6 IDE as I know it so well. Personally, for me to make the jump, any replacement IDE needs to be as close to my current IDE as possible, or at the very least allow me to configure it, white background, menus in the same location, icons swappable, toolbars and icons moveable, being able to dock project explorer &c where I prefer.
Basic improvements/additions such as a compile button, tabs &c I can cope with, having used them elsewhere - but for me as seamless a transition as possible. I'd like to forget I am using tB and for it to fool me into thinking it is actually the VB6 IDE. Then I'd feel at home.
The it can show me the new plasma TV.
What you describe is a clone of the VB6 UI. IMO anyone creating such a clone best have deep pockets to fight off Microsoft when they come knocking on their door. So no, tB will not be cloning the VB6 UI anytime soon.
tB has a light mode already:
https://www.vbforums.com/images/ieimages/2023/07/9.jpg
And you can rearrange the panes.
tB absolutely shouldn't clone the VB IDE, but in the post-v1 future, I'd hope the IDE will be much more configurable so if someone really wanted to go down that road on their own, they could make it look closer to whatever IDE they wanted.
But the layout isn't entire alien... you have the project explorer in the top left, toolbars up top, debug console on the bottom...
I think you're looking for someone to just hack a few features into VB6, rather than have a modernized language and IDE. With a desktop like yours, you're telling me a new UI is a major barrier? :D
That's my point entirely, configurability.
P.S. My default UI is not new to me.
Oh it's definitely a hugely important feature that set VB apart from the competition, which has taken decades to even begin to catch up, but it's certainly no simple task. It's planned for tB but post-v1; currently Q2 2024. I'd probably have put it ahead of cross-platform work, but I suppose that depends on demand. With Microsoft starting to support it in VS again and all VB6/VBA programmers being used to it, it's certainly a must-have.
At one point is was. At one point VB was new for you too. Don't sell yourself short, my point was if you can handle designing a crazy UI like that, a new programming IDE that's just a bit different is no challenge even if you feel you've lost a bit of your edge.
twinBASIC status update:
twinBASIC Update: July 9, 2023
Highlights include a supercharged Collection class (that also replaces Scripting.Dictionary for most use cases) and several exciting community projects.
https://nolongerset.com/twinbasic-update-july-9-2023/
The improvement on collections with regard to functionality and speed, is one that I didn't have in my 'VB6 desires list' as I didn't know I needed it at the time I wrote it. I do now use collections in one of my utilities and I've noticed them to be slow, so any improvement will certainly be a benefit.
I once owned a .co.uk domain name, the named equivalent of the .com version of one of the big corporations, they hadn't snapped it up when it was available. I thought I was being clever pointing it to a sub domain on one of own sites that had some equivalent offering. I received a "cease and desist" letter from them. Very shortly afterwards, I did both cease and desist what I was doing.
twinBASIC status update:
twinBASIC Update: July 16, 2023
Highlights include twinPACK publisher support in the new IDE, indenting of pasted code, inline code hints, and the release of a 64-bit tB version of Kr00l's FlexGrid control.
https://nolongerset.com/twinbasic-update-july-16-2023/
twinBASIC status update:
twinBASIC Update: July 23, 2023
Highlights include an update on Wayne's LLVM progress and a demonstration of how to integrate the Windows Ribbon Framework into twinBASIC.
https://nolongerset.com/twinbasic-update-july-23-2023/
*** Mike Wolfe tells us the Discord Chat Summary in this week's twinBASIC Update has been auto-generated by AI. See the article for further details. ***
JUST downloaded the latest (as of today) Beta of TB....I see a lot of the intrinsic controls of VB6 there, but can I somehow load things like MSFlexGrid (or even vbFLexGrid for that matter), and other controls that don't appear in the startup toolbox?
Sure, tB supports ActiveX controls. There are some known bugs, but in general you should be able to get them working just fine.
We don't offer a separate components list yet, so instead you just have to add a regular COM reference to the typelibrary associated with the ActiveX control. Once you've done that, save the settings and the compiler should briefly restart. In the form designer you should now find the extra controls now available for use.
Me and Krool just got done making a 64bit compatible version of VBFlexGrid for twinBASIC. It's available as a package.
I find pictures help a lot sometimes:
https://www.vbforums.com/images/ieimages/2023/07/20.jpg
Edit: I forgot to mention that for now, you'll need to move VBFlexGrid to the top of the priority list, using the arrows next to the list of enabled components, like would you in the VB6 references dialog to control priority there.
The 'COM References' box that shows first is where the original, 32bit versions that VB6 loads can be found that Wayne's talking about. Note they're 32-bit only. Some of the missing Common Controls have 64bit versions you can obtain from MS Office, if you need details I can explain. But Krool is also working on making the rest of VBCCR 64bit aware.
Don't forget VB6 was the wildly successful child Microsoft dragged out back and shot, simply to make room for it's ugly step-sibling, even giving this unrelated child VB's name.
Your obsession with IDEs makes me think you think the point of programming is to get to use an IDE. For everyone else, an IDE is a means to use a language, not an end in itself where the language doesn't matter. Most people will be quite happy once the tB IDE adds a few major outstanding features and fixes the large projects performance issues; it's already got a lot of great features the VB6 IDE does not and would range from impractical to impossible to add... the Rubberduck team has done an incredible job improving the VB IDE, but even they haven't been able to add code folding, for instance.
twinBASIC status update:
twinBASIC Update: July 30, 2023
Highlights include experimental code optimization via LLVM (boosting performance and reducing executable size) and a new Discord LLVM channel.
https://nolongerset.com/twinbasic-update-july-30-2023/
That's a good point, I agree we should have an indicator for whether something has a 32bit and/or 64bit registration, since even the paths aren't reliable; path (win64) is almost always ... whether or not it has a 64bit version. Right now it's a guessing game until you either add it and try to use it, or go spelunking in the registry/OLEviewer to find out yourself.
Also to answer your other question about separate files, here because it's not announcing a new release, Wayne has said that will be done before the 1.0 release, which is currently scheduled for January. So it could happen any time between now and then, depending on when he wants to work on it (there's still a lot of important stuff to do before 1.0).
twinBASIC status update:
twinBASIC Update: August 6, 2023
Highlights include a big boost to IntelliSense performance, a "Paste Code as Comment" shortcut key, and discussion around inline assembly support.
https://nolongerset.com/twinbasic-update-august-6-2023/
twinBASIC now has initial support for creating and using ADDINs for the twinBASIC IDE (see Sample 10 in BETA 372 and Discord).
https://www.vbforums.com/showthread....releases/page3
twinBASIC status update:
twinBASIC Update: August 13, 2023
Highlights include brand new add-in support for the twinBASIC IDE, plus a short Q&A about setting an application icon in twinBASIC.
https://nolongerset.com/twinbasic-up...ugust-13-2023/
Some days you don't get any new twinBASIC releases.
Other days three come along at once...
https://www.vbforums.com/showthread....releases/page3
twinBASIC status update:
twinBASIC Update: August 20, 2023
Highlights include support for embedding Monaco editors and Chart.js in IDE tool windows, plus the tB port of a C++ 3D image rendering sample project.
https://nolongerset.com/twinbasic-up...ugust-20-2023/
I've tested the latest twinBasic version, I like the IDE but...none of my old VB6 projects worked (and I've tested more than 15).
All are imported succesfully with no errors but some crash when I try to open some form in design mode, other crash when I try to run it. I can do a project inside twinBasic and works fine, but for example no luck with projects with vkusercontrolsxp.ocx or any of the Leandro's user controls :(
twinBASIC status update:
twinBASIC Update: August 27, 2023
Highlights include multiple improvements to the debug console, including performance improvements that affect the entire IDE.
https://nolongerset.com/twinbasic-up...ugust-27-2023/
The twinBASIC Family Tree
VB6 and twinBASIC are "twins". You know, just like Arnold Schwarzenegger and Danny DeVito are twins.
https://nolongerset.com/the-twinbasic-family-tree/
https://www.vbforums.com/images/ieimages/2023/08/15.jpg
twinBASIC status update:
twinBASIC Update: September 3, 2023
Highlights include two new twinBASIC IDE Addin samples, a Property Sheet demo project from fafalone, and a brief discussion of DPI scaling.
nolongerset.com/twinbasic-update-september-3-2023
I've been following this from the sidelines until now, but am getting more and more interested, and will be setting aside time to test twinBasic with some of myVB6 projects. A few questions popped up so far. Forgive me if these has been addressed somewhere, but I couldn't find it.
1. VB6 has a limitation of 256 controls on a single form, has that limit been lifted for twinBasic?
2. I recall having read something about limitations around user controls, is that indeed the case?
3. There were some mentionings about the printer object still being work in progress. Does that imply that printing is not yet supported, or that the VB6 way of printing is not yet supported?
4. I use collections a lot for in memory data structures, it will be interesting to see how the performance compares.
5. When you're talking about large projects, what should I think about e.g. lines of code 10K, 50K, 100K, ... ?