Google App Engine and Language Wars

, , 2 Comments »

appengine.gif Yesterday I attended Google Application Engine Hackathon in Atlanta. I guess it’s the kind of thing that one could call Geeky Weekend Fun, programming all day, with like-minded folks, trying to create something.

My application was a bit too ambitions, so it didn’t get finished, but I am will get back to it in the coming days. Best app that did get finished, and someone in that group even snagged a domain name for it, was LangWar.com . The source code is here, and yes, it’s all in glorious (gore-ous?) Python.

My thoughts? I still love App Engine as a concept, but it still remains Love/Hate relationship because of Python. With all due respect to the language, it doesn’t feel like it is best suited for web development, even when using popular Django template framework. I am sure it will become Love/Love, if Java becomes supported by GAE! So, Googlers, grab OpenJDK and get right on it!

The whole Hackaton experience prompted my thinking again about the characteristics of “good” or “best” programming language. As always, the big thing about defining “best”, is identifying characteristics to rate on. So, I am going to try and put short list together:

  • Ease of Expression – How easy is it to put into “words” what is it you want computer to do for you
  • Speed – How fast can computer accomplish what you wanted from it
  • Integration – This one is an attempt for catch all category, from how well it works with other existing tools, to cross-platform / cross-OS compatibility, to Visual Editor integration

I am really trying to keep list to top 3, but many people will argue that best programming language is simply the one that you know. That’s fine when you developing something by yourself, in a Tundra, with no hope of survival or escape. In real world, however, software gets developed by many people, and usually goes through many cycles of corrections and improvements. You need other people to be able to locate piece of code that does “X”, and be able to easily read and modify it.

Turning into long post, so I will stop. The idea is mostly to provoke some thought. Some people will argue that in today’s world, the Speed factor is irrelevant, since computers are getting faster and faster. Others argue that “Ease of Expression” is overerrated and entirely relative. For them, code that says ‘ a = !regex(‘[dfqwer]x643DA*-’,*&x) ’ is easy to write and quick way to express what they mean… hmmm…

Recursive Algorithms and other sins

, , , 2 Comments »

java_recursion My sister is just starting studies for Computer Sciences, and unlike what I remember from my days, in the first Intro course, they are trying to fill her head with nasty recursive algorithms.

What gives? First, I want to hear from the community, who else thinks that studying recursive algorithms is a good introduction to Computer Science, for someone who doesn’t know what is a Parser, Whitespace or Compiler. They used Java as a language for intro course, which I think actually was a good idea, but venturing into recursion, why?!

Seriously, how often in your daily developer career and activities would you use it? Even if it is needed, who among us wants to risk blowing up the stack, when so many other more optimal solutions are usually available?

In general, I think Computer Sciences have lost their way lately. The Science of it, at least. It really needs to refocus on solving real problems. What are real problems, you ask? How about starting off with creating next generation of web-like networking platform? Or new wave of development tools and languages? Object Oriented was invented too many years ago, and the Intentional Programming hasn’t really taken off, nor have other ideas. Surely there are better ways! Who’s trying? There are some novel ideas in XML use as development platform in many areas, especially XAML in Vista‘s WPF layer.

Lets see what they study next, if in the intro course they mastered Recursion, I have high expectations now! Meanwhile, post in comments what you think the next great frontier in CS research should be, lets get some collective wisdom going here!

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in
Close
E-mail It