Skip navigation

A recent conversation at OSSCAMP with the backdrop of a presentation on Scala by a very interesting chap really made me think about the functional programming aspects of python . It is obvious python has a huge stack of tools for scientific programming but this has  just increased appetite for more .

Little background about Scala. It is “Scala (pronounced /ˈskɑːlə, ˈskeɪlə/) is a multi-paradigm programming language designed to integrate features of object-oriented programming and functional programming. The name Scala stands for “scalable language“, signifying that it is designed to grow with the demands of its users.” –wikipedia

Even if you are not excited by the idea of functional programming which you might be after a few lines. Scala is a dynamically typed language written on top of JVM. This means you can use some very reliable well written Java libraries in its web framework — lift . Also you can potentially write applications for android. Although their is a project to get scripting languages to android, this could be an interesting option. Also since Scala is compiled, it should run faster than other scripting languages. (Either I am starting to like scala or I have had too much cheese.)

But more importantly talking about the functional programming . It is a paradigm which is closer to mathematical expression. Take for example How would you define second order derivative in an object oriented  language .Well till the idea of f(x) , functions in programming languages correlate well to their mathematical cousins. You send variables and get results. But what if you wish to do f square (x) . You call the function recursively and have a control structure to see how it is called . The control structure is an additional aspect we have added to the program not really related to the actual expression. Now see this little program and see how elegantly  can solve some problems .

def sigma(term, a, next, b)
     return term(a) + sigma(term, next(a), next, b)def term(x): return 1.0/(x * (x+2))
def term(x): return 1.0/(x * (x+2))
def next(x): return x + 4
sigma(term, 1, next, 1000)

This little code solves the following problem :

1/1*3 +1/5*7 …..
Read More »

iPhone has revolutionized the mobile phone market after years. Due to Apple, for the first time, we see a product which is not half baked. While I think Apple does understand that mobile devices have been crippled for years and hence it transforms the market. However, it has failed miserably in understanding why devices have been crippled in the first place.
Read More »

Blender Institute is well known for its open-source application Blender. It is one of its kind 3d modeling tool. They also produced movies using blender. Now they have come up with a game: Yo Frankie. Do take a look at the video.

Many among us consider benchmarks almost holy. We quote them often. Are they really as authoritative as we make them out to be. Taking specifically the case of Phoronix-Test-Suite to illustrate how ludicrous benchmarks are.
Read More »

Could this be real? Mac OS X better than Linux on IO performance. A benchmark was hurled towards my general direction. A benchmark proving that Mac OS X (snow leopard) is better than Ubuntu Intrepid. What was especially interesting to me was the IO performance benchmarks. It seemed like Platypus was hammering right, left and center while good old penguin was sitting pretty on the side-walk.
Read More »

bug_me_not
BugMeNot is a unique service. It provides you with free access to password based online services. Login to any website without having to go through the long and tedious process of filling forms and creating logins.
Read More »

Virtualization, back to basics, is just a way to run a PC inside a PC. Many fancy keywords have been added to make big buck out of it. What matters still is that, has it got a role to play on the developers desktop and how much? Few reasons why you should be interested in virtualization.
Read More »

There is a regular supply of new blogs. In fact, I must admit, I have in the past made a few attempts of writing a blog myself. Eventually stopping due to either loss of interest or subject matter not being relevant anymore.
I am turning a new leaf. I would like to consistently write about technology and open source technologies in particular. The raw material will of-course be from my current work. Today, I was about to build some application and it failed due to a Java error and I decided to dedicate my first post to solving that problem.

Java is not a favorite language for many. But you find yourself sometimes using it. Feeling of frustration simmers while setting up development environment, especially if you come across two variables – JAVA_HOME and CLASSPATH. Java newbies often get confused what these variables mean. What role do they play in java jigsaw puzzle?
Read More »

Follow

Get every new post delivered to your Inbox.