Posts

Showing posts from October, 2018

Language as the Ultimate Weapon

After reading the article written by Jem Berkes who emphasizes the importance and influence of the language in society's lives, we can answer an interesting question that will allow us to understand better the reading of 1984 and how it is helpful for the course. The question we are about to answer is the following: Why is the Nineteen Eighty-Four novel by George Orwell relevant to a student taking the Programming Language course? Since the beginning of the times, language has been an important tool used by humans to communicate, creating different ways to transmit ideas, etc. this has allowed them to evolve. Creating a language is not as easy as it may look like. A language has a structure, symbols, syntax, semantics, and some other things which are proper from a language and people who understand them can understand that language. This happens too with programming languages, each programming language has its own symbols, structure, and syntax which allow people to understan

The Roots of Lisp

After reading Paul Graham "The Roots of Lisp", I realized that there is a lot of information and knowledge that I still have to learn. Starting with John McCarthy's paper showing that with some simple operators and notation for functions you can create a programming language, which he named LISP (List Processing), I must say that I had no idea of the origin of the name, but thanks to the reading I understood that this name is because it uses a simple data structure (list) for code and data.  McCarthy's discovery changed the way the programming languages were created, with Lisp created, now there were two models of programming: C model and Lips model. The evolution in computer's performance and hardware has made that the new programming languages move to the Lisp model.  Graham explains some important terms that McCarthy created, starting with an expression which is also an atom and made by a sequence of letters or a list of zero or more expressions separ

The Promises of Functional Programming

After reading "The Promises of Functional Programming" by Konrad Hinsen, I found some interesting parts of the reading and with which I agree. Konrad says that there is a big future if people use functional programming languages.  Konrad Hinses explains some disadvantages of using functional programming languages which are very important and interesting. Functional programming has advantages for concurrent and parallel programming and we can see those differences clearly with Clojure. First, the paradigm of functional programming can be a little difficult if you have been programming on the object-oriented paradigm, for example, learning the mathematical structure of functional programming might be hard, such as stop using loops and instead use recursion for the iterations, also high-order functions is also difficult to learn and understand. Functional programming languages let you write more robust software and with functional programming languages, you don't use