The main gist of the seminar was the introduction of Lambda Calculus to be used in Javascript context. Before this seminar, I never knew we could do javascript programming right on our address bar of the browser. Javascript is a fairly simple programming language, object-oriented and familiar to other programmers. It is robust and secure but the best plus point is that it is reasonably easy for programmers to write a wide variety of algorithms.
On to lambda calculus. In mathematical logic and computer science, lambda calculus, also written as λ-calculus, is a formal system for function definition, function application and recursion - Wikipedia.
It was founded in 1930s by Alonzo Church, which was before computers even existed. He wanted to make a minimal formal system for the recursion theory and came up with Lambda Calculus. Basically, it's a functional programming language used by theoreticians. Theoretician programmers focus on minimality - the simpler the better. They follow 'Occam's Razor' whereby entities must not be multiplied beyond necessity. They also emphasize on practicality which allows them to remember easily.
Theoreticians use lambda calculus to eliminate the unnecessary. Firstly, they eliminate the need for multiple arguments for functions. They simply use functions to call upon another function to solve an algorithm. Secondly, they eliminate numbers by encoding numbers with function applications. They came up with functions to construct numbers and thereafter use these functions when in need. Thirdly, they eliminate the use of math operators by calling the function multiple times in order to multiply. Next, they can eliminate conditionals in if statements by use of functions. They also can eliminate the use of recursions by manipulating functions within functions. Lastly, they eliminate even the name of the function by skipping it and immediately typing the contents of the function.
Well, for practical programmers, we find it strange and complicated to use lambda calculus but for the theoreticians who understand the highly complex study of lambda calculus, they feel that it is much better since they can remove the unnecessary and are able to prove their theories through the lambda calculus. Well, for me, I was pretty much lost in all the examples that were shown in the seminar since I am still trying hard to pick up programming. This is highly complicated to me and I find it very difficult to comprehend. However, thanks to this seminar by Professor Martin, I was exposed to the intriguing parts of computer science and I definitely am looking forward to the higher level modules.
No comments:
Post a Comment