Tuesday, October 19, 2004

Write once, compile and run everywhere

I was thinking last night of how choice of development platform matters less and less. I do most of my development work using three languages/platforms (Java, Common Lisp, and Python, (*)) that are very portable between Linux, Mac OS X, and Windows.

Now, I must admit that I do not do nearly as much application level GUI development as I used to - so, GUI portability is just not an issue with me anymore. Even GUI portability is manageable however: LispWorks Common Lisp has portable UI libraires; Python GUI applications can be built in a portable way with wxwindows, etc.; and, if you must, for Java there is JFC :-)

Freedom to work in a development environment that I enjoy is very important to me. I truely like working in OS X, with SuSE Linux a close runner-up. Did I leave out any other major operating systems?

(*) Notice how I left out C++. I have written 5 C++ books and spent almost 10 years as a C++ developer and mentor. Now, I think that unless performance issues are unusually important that choosing C++ for a software project is fairly much a stupid decision. (And, if performance is that important, just use a high quality Common Lisp compiler: I sell a commercial product written in Common Lisp: the binary executables are small, the runtime performance is superb, and the memory footprint is reasonably small.)

No comments: