This topic keeps coming up in various places under various guises, so I figured it'd be worth talking about. Let me make my stance very clear: REALbasic does not need, and should not have some form of explicit type specification that is inline with a numeric literal. It's a bad idea for the language, and I hope it never happens. Hopefully there's no misunderstanding my stance now. ;-) For starters, REALbasic made a mistake when adding all the fancy new numeric datatypes. At the time, it didn't feel like a mistake -- it felt like the right direction to go.

IDE Versioning Problems

| | Comments (9)
For plenty of people, it is natural to keep multiple versions of REALbasic around at the same time. For instance, if you have a project that's been developed in 2007r1, you may want to keep that IDE version around to continue working while you scope out a newer version of the IDE for a different product. Unfortunately, on Windows, this has recently become a problematic situation. Older versions of REALbasic (I forget which, exactly -- but I believe it's 2007r3 and older) had a bug in them where empty "multi-strings" in the registry would cause a crash. What's more, the

Syntax Errors, oh no!

| | Comments (8)
"Syntax Error" is basically the compiler's version of throwing its hands into the air and saying "I dunno what's wrong here, but something's not right!" In an ideal world, you'd never see the cryptic "syntax error" creep into your programs. However, in an ideal world you'd never see "paramErr" or "ERROR_INVALID_PARAMETER", etc. At some point in every API designer's lifetime, they fall into this trap and it's just an unfortunate fact that sometimes programming can be obtuse. Thankfully, REALbasic's compiler does a fairly reasonable job of protecting you from nondescript error codes. It's certainly gotten better over the years! Generally

DSLs and GPLs

| | Comments (5)
One of the topics which comes up frequently in language design is whether your language is going to be a DSL (domain specific language) or a GPL (general purpose language). Frequently, when you hear language dorks talking about languages, this topic invariably comes up at some point. The current trends seems to be that people want more and more DSLs; that it's going to be the next big frontier. "There's no more room for GPLs" is the argument you most frequently come up against. Hogwash, to both sides. There are no DSL, and there are no GPLs. I claim the
Can blue cheese ever go bad? Why does the BCS rating system still exist when it's so incredibly flawed? Why is the human brain seemingly hard-wired to think that correlation and causation are the same thing? What's so incredibly important about Iowa that our political process seems to continually start there? Why do they call them "round" numbers when they're even? And why do we consider five and three to be "nice, round numbers" when talking about sets? I count #5 and #6 as one question because they both include the phrase "round numbers." ;-)
So I was installing Battlefield 2 the other night, and I ran across a wonderful example of what not to do when designing a user interface. Never mind the odd cropping (you can thank Snipping Tool for that). I'd rather focus on the many silly things happening here. For starters, you'll notice that the caption for the window says "Question." That's a rather worthless caption. What are you questioning? Why should I care? Remember, when you're designing a caption, it should be descriptive. I suppose that in this case, it is in a roundabout manner. However, it might have been

Big Changes

| | Comments (31)
There are some big changes afoot for me, which you may have already heard announced elsewhere. I am no longer working for REAL Software. With the economic situation in the US being what it is, it was difficult for RS to justify having a full-time compiler writer and engineering manager. Those positions have been consolidated into other people's daily duties within the company, and consequently, Nathan and I were laid off. I've had a wonderful run of almost seven years with REAL Software, and have thoroughly enjoyed all of it. I was blessed to work with an excellent team of
Long-time REALbasic user, Steve Garman, asked via the Suggest Box what three things would I change if I could do them all over again? That's a really tough question! As a programmer, I firmly believe everything could be done better the second or third time around. It's true for your code, it's true for my code, it's true for everyone's code (well, except maybe Donald Knuth). Since REALbasic is really made of up three separate products (the compiler, the framework, and the IDE), it's even harder to pick what to redo. So I'm going to cheat and try to pick

PDC Day Three

| | Comments (3)
I decided to sleep in today and skip the keynote, so I honestly have no idea what was talked about there. But after the last two keynotes, I'm sure it was interesting but would leave me with a sore behind from sitting for so long! :-P Instead, I had a casual morning which is exactly what the doctor ordered. I'm waiting for the first session of the day to start, which is actually going to be a panel on the future of language design. It's got a lot of big names on the list of speakers, so it's going to

PDC Day Two

| | Comments (0)
Another day, another keynote. Herded like cattle again, but today I managed to snag a seat towards the back. Little know fact about me: I dislike crowded rooms. Yay for an aisle seat with an escape route! :-P I suspect that today is going to be all about Windows 7, since that seems to be the focus of the talks all day. Interesting innovations in terms of browsing running apps, documents, etc in the taskbar. Visually, not drastically different from Vista -- some changes, but nothing scary so far. Everything is about usability thus far, and I've not seen any

PDC Day One

| | Comments (1)
The bus ride over was a blast. Our driver was your typical form of crazy for LA: honking at people, telling them to "get their ass in gear" as they got on the bus, and closing doors on stragglers. We had to pick up four hotel's worth of people, and I think the trip still took under 10 minutes. LoL, crazy! Registration was a breeze; took less than 10 minute, even with about 10k other people registering at the same time. I forgot just how huge the Staples Center is, it's like a small city! Since my Gateway died a
Sounds kind of weird, I'll admit, but it's true. 99% of you should never call FolderItem.IsReadable or IsWriteable, and honestly, I think the API probably should have not been implemented in the first place (or should have been implemented under a different name). The theory behind these APIs gets confused by the unfortunate nomenclature use. The names suggest "if I were to try to open this up for reading or writing, would it work?", but that's the wrong way to look at it. These APIs are meant for people writing file browsers which display little locks next to the icons