Posts

Showing posts from February, 2018

“The Promises of Functional Programming” by Konrad Hinsen

In the article called "The promises of functional programming" by Konrad Hinsen, it is mentioned interesting things about functional programming. First, I can say that if I did not have any experience in functional programming (I have currently been experimenting with Clojure), it would be difficult to think about an application in the real world made through pure functional programming. This is because there are no variables, you cannot write data to a file, you do not have cycles and the functions always return the same value. However, the reality is that, as mentioned by Hinsen, due to recursion, the variables and cycles are not very essential. A very useful feature in functional programming, and which is discussed in the article, is that you can create higher order functions. These functions take one or more functions as an argument and can return another function. In other words, they are functions capable of creating functions and are common in languages like Cloju

"The triumph of the nerds: the rise of accidental empires" by Robert X. Cringely

The first part of the documentary called "The triumph of the nerds: the rise of accidental empires" by Robert X. Cringely, is very interesting because it tells the story of the rise of the personal computer thanks to the inventions of great characters and to the silicon present in all current computers. I think that silicon really took a fundamental role in the process of taking computers to the home of many people. However, it is true that Steve Jobs and Bill Gates were fundamental in this process. It is incredible that public figures like them have been interviewed in this documentary, where they tell about their childhood. On the other hand, it seems to me that others had the resources to create the computers before the arrival of Altair 8800 (for example Intel) and, nevertheless, it was not done for the simple fact that they did not give it the indicated approach (Its use for education, business, science, etc.) This makes a lesson clear: We must open our minds to

Rich Hickey on Clojure

On the podcast "Episode 158: Rich Hickey on Clojure" Markus has a conversation with Rich Hickey who developed Clojure. Clojure is a dialect of Lisp that is executed on the JVM. During the conversation, Rich Hickey mentions that like Lisp, Clojure is structured with linked lists, but unlike it, Clojure is also structured with maps (which are like hash tables). Many of the questions that were discussed in the episode seemed very interesting to me. One of them is why did Lisp never become mainstream? To which Hickey replied that it had been created for very intelligent people for its use in research areas, also there was no attempt to involve with other programming languages. In addition, the reduction of interest in the areas of research in Artificial Intelligence caused that Lisp stop being used. I think it was one of the main reasons why Rick Hickey decided to base Clojure on JVM, so it is related to that mainstream language. Additionally, it was great to create Clojure in

Revenge of the Nerds - Paul Graham

In the article called “Revenge of the Nerds” by Paul Graham, many advantages of Lisp in software development are described. Those should compete in time and power with the software of other companies.  Lisp has the disadvantage of being a little-known language and unpopular nowadays. Nevertheless, and as described in the article, that does not mean that Lisp is inconvenient or that Lisp is an ugly language (as many developers could think at the beginning of learning Lisp). Moreover, the article mentions that Lisp is a language with advanced characteristics for the time it was created. That is due to its very important origin because it is great that instead of being based on computer architecture, it was based on mathematics. Lisp became more powerful and ahead of its time because it was developed for being a better alternative than Turing machine. I think is surprising that nowadays there is no programming language (not base in Lisp) that does not have the characteristics and po