sábado, 22 de septiembre de 2018

Hi everyone, in this blog, this time I will talk about Rich Hickey. He participated in Software Engineering Radio, and he is the creator of a programming language named Clojure. That´s the language I´m learning in class. Rich explained that his language is another Lisp but better, why? Because Lisp was very     backward with recent and very important topics of the programming language of that years like classes, polymorphism, abstract interfaces, etc.

Clojure is a programming language that was launched on 2007 that bring to us some new features in his programming language, using the term of "give the client the same product but with a convenient difference that makes you better than your competitors", (more about this in a previous post). Rich Hickey explained to us that his programming language use JVM (java virtual machine) and that he also added to it some features as like persistent data structures.

Rich also explain to us the his main “clients” or users for his language, and he specifies that Clojure is directly directed to investigator and people who really want to think (I like his second reason =) ). And I agree with him because with my experience on the language I can say that is pretty different from the common languages, just for an example is the syntax of a conditional

In java

If(x = 10){

….

}

And in Clojure

(= x 10)


I think that use this language is a challenge for me, because I have to change my mind about the solutions of some problems. I cannot give the same solution as the ones that I have with java or C, but if they are the same, I have to translate them to a very different context. I´m really enjoying how new solutions came to my mind, it´s a good opportunity to train myself for future challenges.

sábado, 8 de septiembre de 2018

Revenge of the nerds

This post will be again programming language named Lisp, this time is a reading of Paul Graham.

So, in this reading, it is mentioned important things you have to take in mind before you create something, in this case an example of programming languages. The author says that if you want to create something new that already exists and if you want to sell, you are trying to have success because you believe that your invention has something that highlights between the others.

When you want to enter to the red oceans (ideas that already exists and that you want to fight against other companies for the clients), it is important that your product really satisfies the requirements and (this is the important part) to have something that makes the difference between your product and the competitor´s ideas. And that’s because if you create something that already exists, why the clients will buy something that your competitors already give them.

My point of that is to show why Lisp begin to grow when it was launched. When Lisp was created, it had nine ideas that marked the difference with the other programming languages. The author listed

Conditionals

Function type

Recursion

Dynamic typing

Garbage-collection

Programs composed of expressions

Symbol types

Notation for code using trees of symbols and constants

A language which you can compile while you can read, read while compiling and read at runtime.


Nowadays we have a lot of language that have some of the elements mentioned before, but when Lisp was launched, other languages didn´t had some or all of them. So it´s clear what Lisp´s creators made to mark the difference between other programming languages and Lisp. And this advice is not only for the creation of a new programming language, you can use it for anything where you have client competitors.

sábado, 1 de septiembre de 2018


Dick Gabriel on Lisp

When I saw, at the beginning of the course, how Lisp is and how it works, I thought that the language was very strange, because of the number of parenthesis that are needed in the lines of the code. But when I begin to work a little bit more with it, the parenthesis had their sense to be there.  I think that this language is very efficient in terms of time and complexity. And after reading the previous readings I´m beginning to believe that this language is very important, and that is a language that must be more known by the programmers around the world. 

With the speech of Rick, it is more evident or clearer, that this language is almost “indestructible”, at least that´s my opinion now that I´m beginning this course added to what I read and listened.

It’s important to mention that in the past, when Lisp was starting to be used, when the companies affront to develop the best quality code and one company used Lisp against the others that didn’t know the existence of Lisp, the ones who used other languages than Lisp always lose in terms of time and quality, and when the loser companies tried to find the way they hacked the system or the way they cheat on works, finally never know why they win with an unknown language that was weaker that conventional languages.

It´s important to know all the weapons you can use when you must work in any project, so you can use the better option based on the requirements of the work, so your enemies never surprised you.

 I think that Lisp can be used in many different cases, so programmers have to make the most of it. I hope to listen more about Lisp in the future as a strong -programming language.