miércoles, 25 de octubre de 2017

Language as the Ultimate Weapon

1984 is a great book, I love how Orwell imagined the manipulation of human beings philosophically, not by force or violence, it’s just masterful, Orwell shows us how something as simple as language, which is a tool for human communication and a crucial part of our everyday lives can be used as a powerful weapon against the human race. Just imagine the difficulty of speaking your mind with someone that does not know your language, we would have incomplete ideas and we would be broken and this would stop any act of rebellion against the government which is what we read in this book.

If we think of the novel as programming, then we see that as programmers, we suffer directly what is known only one programming language and not being able to do many things, due the limitations of that language. However, we learn a new language each semester, so we expand our options and ability to solve problems and this gives you perspective into why it is important to be open to new languages and tools.

Any student taking this course is going to love the book of 1984 and get a little more perspective in the importance of language and start being more open into learning more stuff.


martes, 17 de octubre de 2017

The promises of Functional Programming

This article talks about mainly the advantages of LISP and functional programming, which is the capability to produce more code using macros, in this article it is said that functional programming permits writing programs using functions this gives you a different way of thinking on how imperative languages works.

Functional programming is far more compact and easily adapted into parallel work and its principle is that computation is achieved by composing functions as in the mathematical sense and that always generates the same output as given the same input in contrast to imperative programming. There is also the fact that in functional programming variables are not used or loops which are replaced by recursion, and overall writing code it’s sometimes far more fast allowing us to write parallel programs without the use if locks with makes everything more efficient in contrast to imperative languages.


Functional programming overall represents an easier approach at creating concurrent programs because of the behaviors it uses and the ones it doesn’t. Also this article speaks about the strengths and limitations of functional programming the most important one is our dependence into imperative languages and our way of thinking that initially makes the use and understanding functional languages complicated.

miércoles, 11 de octubre de 2017

Rich Hickey on Clojure

LISP was created by researchers to have a more efficient tool at solving difficult problems and this is very interesting, initially LISP was a language that didn’t work with other languages but this changed eventually and here is where Clojure enters since according to Rich Hickey Clojure was designed to have all the power of LISP to be able to interact with other languages to be better.

It is awesome how a program that would take 20 lines in a language like Java takes just 1 line in LISP and this speaks about how it is a more powerful language (in some cases). I believe that the creation of Clojure was a great step for LISP because of the great things that came with it, the number of people that started using it and the spreading of the language.

Concurrency is one of Clojure and LISP greatest strengths because you can find many ways to implement it in your programs and even though Clojure is not the best language it brings a basic idea of how to do things efficiently and you can always think in how to improve things.


Hickey finally goes on about how structures in Clojure are related to lists, which allows to 'en-list' data and to have clear substructures. This emphasizes the power of Clojure, which is it-s list processing aspects, which is the source of all its powerful abilities