twinBASIC Update: April 16, 2022
Highlights include multiple debug console performance improvements and a workaround for antivirus software flagging twinBASIC as potential malware.
On April 23, 2021, I helped Wayne Phillips introduce the world to twinBASIC at the Access DevCon Vienna conference. I boldly predicted that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025. With that goal in mind, this weekly update is my attempt to keep the project fresh in the minds of the VBA development community.
Every Sunday, I will be providing updates on the status of the project, linking to new articles discussing twinBASIC, and generally trying to increase engagement with the project. If you come across items that should be included here, tweet me @NoLongerSet or email me at mike at nolongerset dot com.
Here are some links to get involved with the project:
- twinBASIC Installation Guide
- GitHub Issue Tracker (report bugs)
- twinBASIC Discord Server (chat about the project)
NOTE: The twinBASIC weekly update is coming a day early this week due to the Easter holiday.
Highlights
Debug Console Performance Improvements
Four releases (BETAs 14, 15, 16, and 17) introduced performance improvements to the Debug Console (for example, when calling Debug.Print from inside a long-running loop).
Based on user feedback, the improvements were both needed and successful:
"it was worth the wait, super fast display in the console for 2 million incremented values..." -camomille22003
"(Beta 17 debug console)
Works very good now, thank you!" -KarlSevenSeven
Around the Web
AntiVirus False Positives for twinBASIC
Several users reported false positives from antivirus software based on the AV's behavior-based, machine-learning algorithms. Wayne made some changes to try to avoid triggering the antivirus software's algorithms (see BETA 18).
Ultimately, though, it seemed like the most reliable workaround was to whitelist the twinBASIC.exe executable within the antivirus software (the actual process for doing this will vary based on AV vendor).
"I agree with @EduardoVB, the AV false positive are random. Almost every time I downloaded an update the file ended up in quarantine (before v16 or v17.) Got peace only after I whitelisted twinBASIC.exe." -Mo-Lo
Changelog
Here are the updates from the past week. You can also find this information by installing the twinBASIC VS Code extension and clicking on the Changelog tab of the extension page:
Nothing in the VSCode change log this week.
The VS Code twinBASIC extension is currently running v0.14.36 of the twinBASIC compiler. Compiler updates will start getting pushed to the VS Code extension "next week (and then kept in-sync with the compiler updates once again)."
In the meantime, I'm going to list the changes to the IDE beta releases as detailed in GitHub.
BETA 20
BETA 20 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_20.zip
- fixed: array parenthesis after the datatype symbol should not be allowed [ Compiler needs to disallow array parenthesis after the datatype symbol (except for function return types) #801 ]
- fixed: semantic highlighting on interface symbols was not working
- fixed: EXE/DLL codegen invalid when involving late-bound calls to Collection members [ Immediately indexing into a collection returned from a function fails in compiled mode but not F5 mode #794 ]
BETA 19
BETA 19 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_19.zip
- fixed: after compiler restart, treeview selected node caches were not being refreshed
- fixed: resolver errors in constant expressions could cause compiler crash in some instances [ Compiler requests a bug report #793 ]
BETA 18
Let's test it. Here's BETA 18, without the unneeded TestPostWebMessage routine:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_18.zip
BETA 17
BETA 17 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_17.zip
- improved: further significant performance improvements to the Debug Console
That's me done on the debug console performance for now. There is a further opportunity for improvement, but it will require a webworker thread, so it can wait for now.
Oops, I lied :) Now, I'm done.
BETA 16
BETA 16 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_16.zip
- improved: further improvements to Debug Console performance
That's me done on the debug console performance for now. There is a further opportunity for improvement, but it will require a webworker thread, so it can wait for now.
BETA 15
BETA 15 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_15.zip
- fixed: IDE would become sluggish after a significant amount of debug console entries. Debug Console now truncated to last 1000 entries
- improved: official Window title now synced to the project filename
BETA 14
BETA 14 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_14.zip
- improved: much faster Debug Console printing speed
BETA 13
BETA 13 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_13.zip
- improved: code-editor comboboxes are now implemented