Articles

Language as the Ultimate Weapon

The article “Language as the Ultimate Weapon”, written by Jem Berkes, gives us a good review of Orwell’s novel. In this article, Jem Berkes concentrates his thoughts on the way the Party uses language as a very powerful weapon that controls the population. The Party manipulates it by using propaganda and lies. How is Orwell’s novel “Nineteen Eighty-Four” relevant to a student taking the Programming Language course?  At first, I don’t see in what way it could be. But then I thought a little more about it and I realized that programming languages can be compared to linguistic languages. A language by definition is defined by words which has a specific definition. A programming language is similar. It consists of different keywords that have specific meanings. A language is already defined so a programmer uses these words (functions, characters…) to express his thoughts (solve problems). In a certain way a programmer is stuck in this virtual world of a program

The roots of Lisp by Paul Graham

In this article, the author Paul Graham tells the history (“the roots”) of the programming language Lisp. John McCarthy has built Lisp in 1958 with only few simple operators and a notation for functions. The name Lisp is a mix of the words “List” and “Processing”. Full of mockery was made because of the use of many parentheses in the Lisp syntax, giving a funny acronym for LISP: "Lots of Irritating and Silly Parentheses". Because of its expressiveness and flexibility, Lisp had a lot of success in the artificial intelligence community. For the author, there are 2 unavoidable models nowadays: The C and Lisp programming languages, which influence the most recent languages (Most of the time, they are composed of a C base with adding Lisps parts, like runtime typing and garbage collection). Paul Graham also explains how John McCarthy obtained his new model of computation by creating functions ( eval) . Lisp is a language that does not distinguish between "expression

The promises of functional programming

This article has been written by Konrad Hinsen. It talks about the history of programming languages and explains why functional programming is different from traditional programming. Programming has changed a lot and will continue to evolve: with all the new technologies that appeared over decades, new languages have been created (through assembly language to problem-oriented programming languages). Needs have evolved, programming languages have multiplied and programming approaches also: Functional programming has been growing in interest because it is considered more robust, compact and easily parallelizable (this means that computational tasks are divided into multiple communicating processes running in parallel) and testable. It is the realization of computations by composing functions (with input values and output values), but functional programming does not have variables because functions are not supposed to change any variable; and uses recursion instead of loops. Fu

Rich Hickey on Clojure

Rich Hickey is the creator of the Lisp programming language: Clojure (first version in 2007). The 22th of March 2010, he was interviewed on the Software engineering radio (radio dedicated to professional software developers). In this episode, Rich Hickey tells us that he did not start programming with Lisp, but with famous programming languages such as C++, C# and Java. Lisp is not new, it has been used in some domains successfully (in artificial intelligence for example) but don’t have a main stream. In respond of this, Rich Hickey says that Lisp was not designed as a main stream language and that it was designed for super users, researchers and very smart people who wanted to solve very hard and different kind of problems. Furthermore, programming has become like a social activity: More and more people are using Lisp, but nowadays most of the users are still scientists and researchers. However, for Rich Hickey: « every programmer with a good open mind will find working with t

Revenge of the Nerds

The article  “Revenge of the Nerds”  has been written by Paul Graham in 2002. I want to start this comment by citing the author: « You can't let the suits make technical decisions for you. ». This sentence sums up very well the thoughts  of the author in this article. The author mostly talks about the power of programming languages and indeed most people do not know the different features of the programming languages and that they cannot solve the same kind of problem. One of the biggest mistakes of the high-level people in software companies is that they sometimes make decisions according to the actual trend instead of finding the best technology and have an optimal solution to develop their application. They also think that choosing one of the most famous programming languages, like java for example, will be an advantage for the project because everyone knows how to code in Java and it will be easy to replace programmers if necessary. This solution