Ir al contenido principal

Entradas

Mostrando entradas de septiembre, 2019

Entry #6: Pair Programming

“All I Really Need to Know about Pair Programming I Learned In Kindergarten” is an article written by  Laurie A. Williams and  Robert R. Kessler  in 2000; it was published in the scientific magazine " Communications of the ACM " from the Association for Computing Machinery. In the article, the writers talk about the pair programming technique while explaining some concepts about it. Pair Programming is the practice in which two programmers work side-by-side, but, only in one computer, while collaborating on the same design, algorithm, code or tests. Pair programming helps to improve productivity, efficiency and the quality of software products, this improvement also helps programmers to create confidence in their solutions. The writers indicate that all the skills from pair programming, we have learned them while we were at kindergarten. While I was reading the article, I must say that they were correct; since my mother is a kindergarten director, I have already he...

Entry #5: Rich Hickey on Clojure

“Rich Hickey on Clojure” is a 58 minute long podcast produced in 2010 by Software Engineering Radio. In this podcast, Rich Hickey discusses the characteristics and capabilities of the Clojure programming language and talks about his professional background. Clojure is a Lisp based programming language, however, Rich Hickey gives an important approach to mention the differences between Lisp and Clojure, and the motivations for creating Clojure since he is the creator of it. Lisp and Clojure are functional programming languages, but Clojure is also an excellent object-oriented programming language. Clojure is designed to run code almost everywhere, since it runs on the Java Virtual Machine (JVM). Rich Hickey talks about the details in Clojure's implementation of mutable data and how he made it possible within the JVM, moreover, he also talked about defining resource-efficient data structures which is very difficult to design and implement. One of the main advantages of Clojur...

Entry #4: Dick Gabriel on Lisp

"Dick Gabriel on Lisp" is a 60 minute long podcast produced by Software Engineering Radio in 2008. In this podcast, Dick Gabriel talks about his professional background and about the history of Lisp programming language and its functions and characteristics. Dick Gabriel is a computer scientist who studied at the Stanford University. He started his own Lisp company in 1984. Lisp is one of the first programming languages developed with a functional approach. Functional means that a function can be evaluated and when it returns a value, it is then evaluated by another function and so on. The computation or algorithms are done by nesting functions, in other words, a function is data and a data can be a function. However, other programming languages have taken over the industry in the next years, leaving behind Lisp. Modern programming languages have a more attractive and easier to understand method of coding in comparison to Lisp. Nevertheless, Lisp has been used in oth...

Entry #3: The Promises of Functional Programming

“The Promises of Functional Programming” is an article written by Konrad Hinsen in 2009, it was published in the scientific magazine "Computing now" from the IEEE Computer Society (Institute of Electrical and Electronics Engineers). In the article, Konrad Hinsen talks about functional programming while using examples made in Clojure programming language, in order to explain some essential concepts about functional programming. The article shows the characteristics and advantages of functional programming using Clojure, and it also explains the differences between functional and traditional programming. Functional programming was created in the 50s, however it has been used to write programs, because of its advantages for concurrent and parallel programming, and its robust and easier to test. A functional programming language is a language that operates by evaluating mathematical functions, like declarations and expressions. The fundamental principle of functional program...