Posts

Showing posts from July, 2010

Intuitive UI on the Web

Image
I read this blog some time back and just loved the small things which the author considers. He makes few good points: Auto saving to prevent data loss. Providing "undo" on the web which allows users to correct their mistakes. The simplest thing to do in a modal overlay would be to have a cancel button on the top right. Well, I have been working on the web for almost over a couple of years now. And to be honest, with all the development efforts which go into the application, I think UI takes a back seat. Unless of course, you have full time dedicated designers. UI to me should be measured with 2 parameters, how intuitive is it functionally? how attractive is it visually? We can keep the 2nd point for professional designers. As for developers, making the UI intuitive seems to be the key.

Principles of functional programming

A lot of concepts which are specific to the functional paradigm are pretty new and unheard of in the object oriented paradigm. Lets take a look at the main concepts and principles of functional programming. 1. Referential transparency: On a broader level, an expression is said to referentially transparent if it can be replaced by its value without changing your program. Essentially, the value of that function only depends on the arguments that are supplied to the function. So a referentially transparent function will never use a global variable or a I/O fetched value for computation. One of the most important advantage of writing referentially transparent programs is to optimize code using parallelization. As two such functions are dependent on only the arguments, performing them in parallel/concurrently is possible. With the new multi core processors coming into picture, concurrent computing has become important. This is also one of the reasons why Erlang and Scala have gained po...

Introduction to functional programming

I vaguely remember reading something about functional programming back in my engineering days. We did study Lisp and Prolog a bit, but it was done at a very abstract level. Ever since i joined the industry i have been writing object oriented code, or so i like to believe :) The point being that am completely new to this paradigm. Functional programming languages have largely been emphasized in academics rather than in commercial software development. However lately, few functional languages have gained popularity. Erlang - used by Facebook for their Instant Messaging. OCaml - used for financial analysis Scheme - used for training simulation software and telescope control Scheme (which is a dialect of Lisp) was in fact used in early macintosh computers. What exactly is functional programming? Its difficult to give a precise definition, but generally speaking: In functional programming the basic method of computation is the application of functions to arguments. It also avoids sta...