Recursive Algorithms and other sins
Table of Contents
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!
Comments #
Comment by Konstantin Solomatov on 2008-06-08 16:01:40 -0500 #
IMO, you don’t need to have any CS education in order to create 90% of web application. Often people without CS education do this job for example I know a lot of web developers who used to work as designers. CS specialist are trained to do really hard job like creating and fine tuning complex algorithms and this job can’t be done without knowing what recursion is.
I found your blog because you mentioned intentional programming. We at jetbrains ( http://www.jetbrains.com) working on a system based on ideas similar to intentional programming and this concepts are really taking take off. You can download EAP version of our system and try to use it. You can really create a usable language/language extension in hours.
Comment by Adi R on 2008-06-09 03:15:31 -0500 #
Thanks for the coomment. I totally agree that most web programming doesn’t need complex CS stuff, so it’s a shame they are starting there, which may discourage some people from continuing…
I heard a lot of good things about IntelliJ, but did not know you had anything for for intentional programming. Truth is, I don’t know if that is the next big thing either…