Oct 27 2010
Most of my time lately has spent coding up apps in different languages than I normally use. I’m very comfortable with C/C++, SPU ASM, Lua, etc. Basically, all of the “hardcore” languages which are used to make big console games.
One of the things which all of these languages share is that they are much more dynamic. C++ and console programming depends on predictability. This is helped through static typing. Most of the “Web 2.0″ languages are so dynamic, that you do not find your errors until you run them. This is both a blessing and a curse. It is a blessing since your apps and libraries can be much more dynamic, not needing to resolve functions and messages at compile time. It is a curse, since the compiler will gladly let some code through which is complete garbage, simply because it thinks that you are sending a message which will be resolved at runtime.
It is interesting to see how people deal with this. A standard way is to have a naming and formatting convention which “shows” you what needs to be done. This seem to be the case with create vs init functions in Objective-C. Of course, everyone has picked a different naming convention, so when you mix and match libraries, you are completely confused how to call the various functions. But at the end of the day, I have to realize that I’m still generally more productive in dynamic languages than in C++. When you aren’t constrained by a console with fixed hardware and memory, then why use a language that forces you into that mindset?
And the irony? I used to program NeXT computers about 20 years ago. And now I have to remember what a .xib is?
Leave a Reply
You must be logged in to post a comment.