I like programming in BASIC. There I said it. I can hear the purists poopooing, indeed some may be fainting. But it’s only a language. It has been said that modern versions of BASIC are not your fathers BASIC. What this means is that there are versions of BASIC available today that have most, or even all of the features found in other modern languages like Objective-C, C#, Ruby, Java, etc.
I’m a Macintosh guy. For a long while I used FutureBASIC but it has fallen by the wayside a bit. A good modern BASIC for the Macintosh is REALbasic. It’s actually cross platform and runs and compiles for Macintosh, Windows and Linux. I only have the Macintosh version. REALbasic has an object-orientated language with lots of modern features:
21st Century BASIC
Yes, it’s BASIC. But it’s not the interpreted, procedural, line numbered, spaghetti-code-producing BASIC from the old days. This is a robust, modern, fully object-oriented from the ground up BASIC that compiles to native X86 and PowerPC machine code. REALbasic supports inheritance, polymorphism, interfaces, delegates, introspection, the works. And if all of that made your eyes glaze over, don’t worry. The great thing about REALbasic / REAL Studio is you can do a lot without having to know any of this, but it will be there when you need it.
One downside is that it produces quite large binary files. REAL Software have made changes to the system to allow them to address this but at present it still links in everything and this gives big executables. I don’t think this is a problem these days. Another issue with the Macintosh version is that currently it uses the Carbon framework (mostly) for interface elements. Cocoa is what modern Macintosh apps should be using. The good news is that a beta that uses Cocoa is imminent. I’m looking forward to it. It should make it easier to produce Macintosh apps with REALbasic that have more Cocoa UI compliant interfaces using a language I know and I’m comfortable with.
Will still need to know Objective-C for iPhone apps though…