Posts

Showing posts from March, 2018

Language as the Ultimate Weapon

Image
" But if thought corrupts language, language can also corrupt thought ." -George Orwell, 1984 [1]   As part of the subject Programming Languages , I read Nineteen Eighty-Four, a dystopian novel written by George Orwell. I really enjoyed this book, it is written very intelligently, Orwell managed to build a complex and detailed universe. Something that surprised me enough was the language so well structured that the writer created: its origin, its bases, its grammar rules, its use. Amazing! But ... what does this novel have to do with a course in programming languages? The answer is given by Jem Berkes, in his article Language as the "Ultimate Weapon" in Nineteen Eighty-Four.  First, we need to understand the following: in the novel, political power makes use of language to emulate the truth, deceive the public and convince them of the good work that the "big brother" does. They manage to manipulate and change and control the thought,...

The Roots of Lisp

Image
The article "Roots of Lisp" written by Paul Graham, helps us understand what John McCarthy discovered from a handful of simple operations and notation for functions, that later evolved in a programming language: Lisp (because of "list processing"). The Lisp Model is a consistent model of programming, what McCarthy discovered is a landmark in the history of computers, and in what programming is becoming in our days. First, we have seven primitive operators: quote, atom, eq, car, cdr, cons y cond. It was very easy to understand its operation, I am familiar with some of them, although in Clojure they have different names (like first and rest). Then we have the functions, that are expressed with parameters and expressions. An expression whose first element is an expression is called a function call, this means that the parameters can be used both as operators or as arguments in expressions. Knowing this, we have a way of expressing new functions in te...