2006 03 27

Here is today’s top pick:

Identity

  • Parabole Maurice - TPS Star - 8:15
  • 2003. By James Mangold. With John Cusack, Ray Liotta, Amanda Peet…
  • Rated 7.3/10 at IMDB: “Stranded at a desolate Nevada motel during a nasty rainstorm, ten strangers become acquainted with each other when they realize that they’re being killed off one by one.”

Lola rennt (Cours Lola. Cours)

  • Parabole Maurice - TPS Star - 2:15 (Tuesday)
  • 1998. By Tom Tykwer. With Franka Potente, Moritz Bleibtreu…
  • Rated 8.1/10 at IMDB: “A young woman in Germany has twenty minutes to find and bring 100,000 Deutschmarks to her boyfriend before he robs a grocery store.”

Popularity: 1% [?]

written by avinash

2006 03 26

Ok. I’m just joking. Actually, it’s much more profound than that. And, for once, I am finding something from Microsoft (or, more precisely, Microsoft Research) fascinating. It’s a report called Towards 2020 Science where, I quote,

“an international expert group was brought together for a workshop to define and produce a new vision and roadmap of the evolution, challenges and potential of computer science and computing in scientific research in the next fifteen years.”

There are a number of recommendations at the end of the report. Personally, I find some of them very very interesting. For example (I quote):

  • Urgently re-think how we educate tomorrow’s scientists
    • For children: make teaching of computing more than just ‘IT’ classes and how to use PowerPoint. Make basic principles of computer science, such as abstraction and codification, a core part of the science curriculum.
    • For undergraduates: Make computer science (again, not just ‘computing’) a key element of the science curriculum
  • Re-energise computer science to tackle ‘grand challenges’
    • Computer science teaching and research is currently at an awkward crossroads where it needs to decide whether it is something that serves other disciplines, is an engineering exercise, or a real science in its own right. This report makes it clear that it can be a science in its own right.
  • Develop innovative public private partnerships to accelerate science-based innovation
    • Governments, universities and businesses need to find new kinds of ways to work together.

Now, if only those “luminaries” who are always talking about the Cybercity and/or IT, only spend one afternoon trying to understand (unfortunately, most of them are not very bright) this report, Mauritius might (and I say might) have a chance to succeed…

Popularity: 1% [?]

written by avinash

2006 03 25

One of the main reasons to use Linux (or any Unix-inspired operating system like FreeBSD or Mac OS X) is the sheer number of programming languages that you can install, learn and use freely:

In his very influential essay, “Teach Yourself Programming in Ten Years”, Peter Norvig states:

“Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).”

I do not always agree with the specific languages he mentions but the important point is that all great programmers know (or, at least, are aware of) the many programming paradigms that exist (functional, imperative, object-oriented, generic, logic, concurrent, distributed, etc.)

This is important because some real-life problems can be easily solved if a programming language supporting a specific paradigm is used and, conversely, very very difficult to solve if the bad language is chosen. Don’t forget that:

“It is tempting, if the only tool you have is a hammer,
to treat everything as if it were a nail.” - Abraham Maslow

Here is a commented list of the many programming languages that I have installed in my Kubuntu Linux computer:

Language Implementation Comments
C KDevelop (using gcc) Linux is written in C…
C++ KDevelop (using g++) Much too complicated for my taste
C# MonoDevelop (using the Mono/.NET framework) Looks a lot like Java to me :-)
Boo MonoDevelop (using the Mono/.NET framework) I’m discovering it now…
Nemerle MonoDevelop (using the Mono/.NET framework) I’m discovering it now…
Erlang Erlang A functional language by Ericsson for distributed systems
Haskell Hugs A great pure and lazy functional language
Java BlueJ / Eclipse / Netbeans (all using a Sun JVM) A fantastic object-oriented (but too verbose) language with top-quality IDEs (you need to try BlueJ if you are a beginner)
Lisp CLISP Very powerful if you get into its more advanced features like macros but I personally prefer Scheme…
Objective Caml Objective Caml I’m discovering it now…
Python Eric / Idle One top language and Eric is a very good IDE. Learn it now!
Ruby Eric / Interactive Ruby My favourite programming language - it’s so nice and powerful at the same time!
Scheme DrScheme A great functional language to learn programming… and it’s poweful too. DrScheme is a fantastic IDE for beginners.
Smalltalk Squeak Addictive and powerful language. Try Squeak, it’s fun!

Have fun discovering some of those languages…

Popularity: 1% [?]

written by avinash