Posts

“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 an...

Dick Gabriel in Lisp

At the beginning of the podcast, Dick Gabriel talks about the Lisp programming language. Throughout the podcast, he talks about the benefits of this language and the fact that the data and programs are similar for Lisp, the ease of use of threads and how artificial intelligence can be used with the characteristics and functionalities of this language. One of the many features that makes Lisp a very powerful programming language are macros, since it allows the addition of new functionalities in the language. Because Lisp is written in the same syntax, then you can increase the functionality of the language itself with the use of macros. I think that this feature could be very functional for artificial intelligence, because if artificial intelligence finds that there are some features missing in the language, this features can be build with the syntax that it is known by the AI. Something that I agree with the conversation is the fact that Lisp is an elegant language but it...

Beating the avengers by Paul Graham

In the article called "Beating the Avengers" by Paul Graham, the author develops several ideas that support the use of the Lisp language based on his experience with this language and the advantages of this language. One of the ideas that I totally agree with is that writing software much faster than competitors is a task that will clearly give you a competitive advantage that will allow you to increase the chances of success. On the other hand, I can say that learning Lisp can also be useful since it is not a very complicated language and has characteristics (such as macros) that seem to be unique and invaluable in this language. Another idea that Graham talks about and I agree with is that in a Startup you must use the best programming language that exists for the task you need. However, for now I cannot accept that Lisp is the best language since I do not know it well; although I think it's worth taking the risk of a language with many features and power, even...

“The Semicolon Wars” by Brian Hayes

I agree with the ideas that the author Brian Hayes show in his article called "The Semicolon Wars". I think the idea that there is no perfect programming language is right and in fact we don’t know what is the best notation that we could use.  In the reading of Hayes, he talks about the differences that existed in history about how things must be in programming languages. The author starts with the endian war, where some people thought that the least significant bit should go first while others thought that the most-significant bit should go first. It is curious how something that seems so insignificant can cause so many problems just for not agreeing in the use of a convention. Although I do not understand how each of the proposals can affect the performance of computational calculations, I think, like the author, that the best option is to agree on the use of a single convention in the same way as the semicolons, in which most people preferred that the semicolon marked...