With today’s multi-core CPU’s it seems that an application made with Xojo running on a single core is somewhat restricting. If you have a lot of data to process, large images to manipulate or other things that could happen in the background, it would seem that with a multi-core machine you could do this faster “if only Xojo would make threads preemptive”. We get a lot of requests for preemptive threads so that people can take advantage of multiple cores.
Comments closedXojo Programming Blog Posts
Now that the Semantic Analyzer has verified that the code is actually correct and created syntax trees, it’s time to talk about IR generation.
This is the fourth post in our Compiler series. Other posts:
- LLVM Everywhere
- Compilers 101 – Overview and Lexer
- Compilers 102 – Parser
- Compilers 103 – Semantic Analyzer
The Semantic Analyzer is the real heart of the compiler. Its job is to validate code and figure out what the code actually means. Essentially it validates that the code is semantically correct.
This is the third post in our Compiler series. Previous posts:
Comments closedThe Xojo community is vibrant and active, with all kinds of clever, open-source software being created for iOS, desktop, web and Raspberry Pi. By my latest count, there are at least 80 open-source projects for Xojo on GitHub and other places!
Comments closedThere are about 80 Xojo-related open-source projects that I am tracking on the Xojo Dev Center: Open-Source Projects. I often have people ask me how they can make their own cool libraries and projects available on GitHub, so here’s a short tutorial.
Comments closedAs most of you know, this past Saturday morning, the people of Hawaii got a shocking notification on their smartphones warning of a incoming ballistic missile and that this warning was not a drill. I can only imagine the fear that raced through the minds of more than a million people. This warning, as well all now know, turned out to be a false alarm accidentally set off by a state employee who was attempting to perform an internal test.
Comments closedA constructor is a special method that is used to initialize a class. They are very handy, but when you use them with control subclasses you have to be aware of how a control’s properties are initialized. Perhaps you’ve run into this situation:
“I have a constructor on my control and the values that I set in the constructor don’t stick.”
Comments closedOf course you want an iMac Pro! But do you really need one for your development work? Most of the iMac Pro videos and reviews seem to focus on video and audio editing, which are certainly tasks that make use of the many cores that are available (8-18).
But software development is also a Pro task. What benefits does an iMac Pro bring to a software developer?
Typically most people will opt for a computer that probably has four cores such as found in the i5 and i7 series. These are used in the popular Macbook Pro and iMac models, for example. Four cores sure sounds like a lot so why would a developer need more?
Comments closedMany years ago, the Window Functionality Suite (WFS) library was created by Aaron Ballman. This library was a collection of Win32 Declares (and a few other things) for accessing Windows-specific functionality that was not directly provided by the Xojo framework.
WFS is still available on GitHub, but it has languished over the years. For example, it has lots of legacy code in it for older versions of Windows that is no longer needed since Xojo only supports Windows 7 and later. WFS is also not really compatible with 64-bit projects since the Declares mostly assume 32-bit or bust.
To that end, I’ve started a new open-source project called WinAPILib that is now available on GitHub.
Comments closedThe Xojo Code Editor has a wonderful auto-complete feature that makes typing your code and discovering variables, methods and properties much easier. To activate auto-complete press the tab key after you have started typing some code.
Comments closed



