Thursday, June 11, 2009

Our 64 bit future

Most desktop computers have used 32 bit processors for a long time now. Among other things, a 32 bit processor limits the amount of memory a computer can access to 4 GB (or to be more precise, 4096 megabytes). The world is moving towards 64 bit processors which can, in theory, address 16 exabytes (16 billion GB!) of memory. Most 64 bit computers don't support that much memory of course but 64 bit computers will certainly allow for a lot more memory than we have today.

For most REALbasic users this change won't require much, if any, work. When we ship a 64 bit native version of REALbasic, integers will be 64 bits rather than 32 bits. That doesn't mean much to most of you. For those of you that are doing bit manipulation and using certain classes, it will most likely mean your code will need to be updated.

Today you have the ability to specify that you want an integer that is 32 bits or 64 bits. Rather than using Integer, you can use Int32 to specify a 32 bit integer. If you are reading and/or writing integers using the MemoryBlock or BinaryStream classes, use the methods provided in those classes to read/write 32 bit integers if you are using the regular Integer methods today.

If you are doing integer bitwise operations or are using integers with binarystreams or memoryblocks, you can update your code today so it will continue to function properly once we provide the ability to compile your project as a 64 bit native application.

64 bit is something we will be addressing to allow your applications to be 64 bit native. I don't have a timeframe to announce just yet. However, those of you that are depending on 32 bit integers (and if you are, you know you are) can update your code now so you won't have any hiccups when compiling 64 bit native applications arrives.


Anonymous said...

I can see how it will matter for bit twiddling, and I can see that using integer vs int32 in structures, declares, pointers and MemoryBlocks will matter, but will other classes will be affected?

AFAIK all framework integer properties are documented as integer and so will become int64s , but besides using more memory, that should not change anything on our end, correct?

BTW will RB become exclusively 64 bit or will it a build option?

It will be quite a while before all 32 machines are out of service...

And while on the consumer it's true that little software is bought for older machines, in-house developers in companies will need to write apps that can run on them.

Many business don't take old hardware out of service when it can still be used... particularly in places like laboratories when they don't are not general use machines .

At my last job for example I wrote RB apps that had to run on Win2K machines that were connected to equipment relatively recently.

- Karen

Geoff Perlman said...

Yes, it will be an option. 32 bit computers will be around for a long time.

Joseph Claeys said...

You guys are doing a fantastic job! After the report writer comes out I can die a happy man. :-)

Joseph Claeys

Unknown said...

Any updates on 64-bit time frames? Many hardware manufacturers are "pushing" 64-bit Windows OS's on our clients, especially servers, and we need to get our product up to 64-bit as soon as possible.


Geoff Perlman said...

Not at this time. It's a HUGE job and we have bigger fish to fry at the moment. But we recognize that it's something we are going to have to address in the future.

Bob Hodges said...

With the rapid pace of how systems are moving to 64-bit, I's say that there are few more important fish to fry than that.

RB is my choice for cross platform development. But with RB the only player in town that hasn't gone 64-bit yet, there's little incentive to stick with it when Visual Studio's got a stable Mono framework running in 64-bit Linux.

I'll be bold enough to state that there is o way that the lingering 64-bit issue is already a big problem for RB at this time, especially with the release of Visual Studio 2010.

I strongly recommend not waiting until the industry FORCES you to go with 64-bit. I'm an example of a customer you DONT have because of this.

because of 64-bit Mono, RB no longer has the Windows/Linux advantage. Vistual Studio does - in a BIG way.

While everyone else out there is scrambling to meet the 64-bit demand, I'm sure the last thing your customers want to hear from their dev tools vendor is "sorry, 64-bit just isn't a priority".

That's how to lose customers.

Anonymous said...

I'm going to have to agree with Bob, 64 bit is in huge demand by users and ignore 64 bit is a very unwise choice.

Geoff Perlman said...

We understand that 64 bit is important and we are going to address. Having said that, I would like to better understand why 64 bit is important to you and your customers. The primary advantage to 64 bit is the ability to address large amount of RAM. So if you are writing an application that is extremely RAM hungry, 64 bit would be important.

64 bit support is important. I'm not debating that. But I'm trying to understand better the various reasons customers are asking for it.

Anonymous said...

Asking why the customer wanted something did make Wordperfect a looser because Word worked under Windows and Wordperfect did not until it was too late. So get this 64-bits version out the door now.

Anonymous said...

Yeah actually, I'm going to agree with the guy above me, I'm now leaving Realbasic for .Net because these guys have dragged their feet for too long to get a 64 bit version out, it's in demand, but they don't care unless there is a reason (Here's a reason, I don't want to emulate my programs as 32 bit ones, and yes they are emulated, don't argue with the customer because the customer is always right).

These guys don't seem to care what consumers want, they're obessing over Coaca or some crap for the Mac instead of doing what people want: 64 bit.

So with that, I'm going to .NET because they aren't 5-6 years behind everyone else, they've had 64 bit support since 64 bit came out in 2005. They understand that customers want it and added it (Thank god).

Jake L said...

Thought I'd check back in to see, and I've now become just one more customer you don't have because you haven't gone 64-bit.. I HAVE to port my app, my client's customers are demanding 64-bit. It's that simple.

Peter L. said...

I am glad to see that I am not the only one that feels the same.

I'm sorry REAL Software, but I'm going to have to switch else where, you don't care about 64-bit and have showed no signs in the past while of progress towards there in the past year.

Your latest post on documentation is what did it (Which is horribly written by the way), you're more concerned about pointless things than important things, have fun with your Cocoa, if I'm going to spend money on a new set of tools it won't be from you, but rather Microsoft, your competitor.

Customers = Customers - 1

Peter L. said...

Also Jake, I hear you. When we lose customers it's a bad thing. By not being able to give our customers what they are demanding it makes being a REAL Software customer seem less appealing, I can only tell them "Give us more time" so many times.

Hope it works out for you!

Anonymous said...

I'm glad I found this because now this is proof that you guys don't care about 64 bit.

Like the rest of the people above me I will be moving to something else (I'm considering .NET) as the lack of 64 bit support is starting to take it's toll on our business.

You snooze you lose, and in this case you lose a customer and profit RealSoftware!

Anonymous said...

I have a question that I hope can be answered. What is the time frame on 64 bit? it's been 14 months and I'd like to know.

Ian Atkin said...

I just downloaded a trial of RB today and was disappointed to find no capability to build applications for 64-bit.

We are writing more and more apps for the WinPE environments. There is no WOW layer here, which means when using 64-bit WinPE we *must* have 64-bit apps.

I'm surprised that you've come so far down the line without 64-bit support.

Geoff said...

@ Ian - 64 bit support is on our list but we need to get some other things done first like supporting LLVM.

The Rabble said...

Just looked at your software. No 64bit. I'm leaving my current system do to no time frame for 64 bit (no time frame = no happen).
Can you state that the product will be 64 bit with a general time frame. If so I'll climb on board. If not the evil empire sucks up another one. (Delphi V MS)

Geoff said...

@ The Rabble - Our support for 64 bit is in the works and should be completed by the end of Q1 of 2012. It's a HUGE job that requires updating of not just our compiler but virtually every file of our frameworks.

Bestellen Software said...

64-bit is really important for the future of software development and probably Real Software. Smaller applications + 64-bit would be amazing!

Hank Fay said...

Is the Real runtime LARGEADDRESSAWARE? If so, under 2008R2 this doubles the amount of memory (from 2GB to 4GB) that is available, and really removes a lot of the crush. Where the ability to see > 2GB of RAM is needed, btw, is when you are running apps on a Citrix/TS farm.

Geoff Perlman said...

@ Hank - Our framework is not large address aware at the moment but we are going to be experimenting with that for 2012r1. That's no guarantee that we will keep it enabled once we ship though. We will have to wait and see.