REALbasic 2008 Release 2 had a very important change that people are discussing with regards to the way executables are built on Windows. In previous versions of REALbasic, all of your applications were single-file executables. On Windows and this has changed. Now, if you use plugins (internal or otherwise), you get a folder that contains a bunch of DLLs. I want to discuss this change a bit to hopefully clear some points of confusion up. First and foremost, this wasn't a decision that was made lightly. Trust me when I say, if there was a reasonable alternative, we'd have taken
Here's the source code: if &hFFFFFFFF > 0 then break else break end if (Of course, you can ignore the constants -- this happens with variables as well. Imagine u as being a UInt32 whose value is 0xFFFFFFFF, and i as being an Int32 whose value is 0; you'll get the identical behavior either way.) When you run this code, you'll get results that seem a little strange at first blush. You get into the else clause -- so the compiler is generating code that says a large unsigned number is less than 0. How's that possible?? Well, what the

Pairs

| | Comments (15)
One of the new features of REALbasic 2008r2 is the concept of "Pairs", and I wanted to take a little bit of time to discuss them. The concept of a pair is something that comes up frequently in programming. As REALbasic programmers, you're undoubtedly familiar with the Dictionary class. That's just a fancy way to store pairs of information -- keys and values. However, it doesn't afford you an easy way to describe a single key/value pair as its own entity. That's what makes the new Pair class a very interesting concept. Let's start out on the simple side of

ByRef vs ByVal

| | Comments (13)
I could have sworn that I blogged on this topic before, but a peek at my backlog shows that I've not. I'll be dipped! Please accept my apologies about how this posting rambles on... I've had about eight hours of sleep in the past three days (I hate traveling), and so I'm rather incoherent. ByRef and ByVal are two modifiers used with parameter list declarations that allow you to specify the way the arguments are treated by the compiler. On the face of things, when you pass something "ByVal", you are passing it "by value", and when you pass something

New Faces

| | Comments (6)
This post showed up on the forums the other day, but I think it requires some more time in the spotlight -- I am very happy about all of the new hires we've been making recently. So I'd like to personally introduce you to the people we've hired in the past six months. Nathan Regener is our new engineering manager. He's in charge of the builds, and so that makes him in charge of all the little pieces and parts that go into the builds as well. His job consists of making sure programmers are getting stuff done on time
For the past few weeks, I've been working in a new job. I still work for REAL Software, of course. However, my role within the company has changed. I now carry two complementary (not to be confused with complimentary!) new titles. I'm the lead compiler architect, as well as the lead programmer. So what do these sundry titles actually mean? As lead compiler architect, I am in charge of language direction, design and implementation. New compiler features, compiler-related bug fixes, etc are all things which eventually land on my plate. Before you start to fret that I'm going to totally
So I found a rather interesting code generator bug in XCode that happens when converting a 64-bit floating point value to an unsigned 32-bit integer. Here's a good example of what I'm talking about in REALbasic: dim d as Double = -1.0 dim u as UInt32 = d MsgBox Str( u ) If you run that code, it will display 0, and not 0xFFFFFFFF like you'd expect! In fact, any negative number will still display 0. But this bug isn't limited to just the REALbasic compiler. You can see it in a straight-up C application too: double d = -1.0;
So I had an interesting thing happen, which I should have seen coming when I posted my wedding photos -- I didn't realize just how many REALbasic users are on Facebook! ;-) But it forced me to do some interesting evaluations I've been able to skirt around before. How much do I mix work with personal life? With my blog, it's more of a "push" model -- if I want everyone to know about personal stuff, such as my wedding, then I can push the content out to my blog and anyone can see it. But Facebook is different in

Wedding Photos

| | Comments (0)
We finally got our wedding photos back (all 1100+ of them!), and I picked out my favorite 180 to put online. If you're interested in seeing the pictures, I put them up on Facebook for the whole world to see (or ignore, since most people probably aren't *that* interested in our wedding). One Two Three Enjoy!
I've seen this question come up several times since the announcement of the compiler feature. And I've seen several valiant attempts at answering the question in a general case. Generally, these attempts fall into one of two categories: 1) If you have to ask, you probably don't need it 2) When you need it, you'll know Very deep, eh? ;-) Well, I'm going to take a stab at giving a general and specific response. But I have to admit that I also agree with #1 and #2 above. I'm simply explaining away the corollary question of: "but if I won't

Disclaimer

I'm currently an employee of REAL Software. My blog is mine. The opinions represented in this blog are mine as well and may not represent my employer's opinions. All original material is copyrighted and property of the author.

REALbasic® is a registered trademark of REAL Software, Inc. REAL SQL Server™ and Lingua™ are pending trademarks of REAL Software, Inc. All rights reserved.