domingo, 27 de marzo de 2016

Triumph of the Nerds Part III: Great Artists Steal

All documentaries related to the history of Bill Gates and Steve Jobs, I've always found it very interesting and funny and this was no exception. During the video a lot of details were mentioned and it seems to me incredible that there can be many documentaries and in each of them different things are mentioned.

Both characters were a fundamental part in each of its businesses, yet it's amazing how Apple allowed the departure of Steve Jobs considering the great contributions he had given to the industry. However, after some time he returned to the company as a leader of a new project to finally become the owner of it.

Watching the documentary, I realized that Steve Jobs was a person who cared more about the way things looked, in this case put an emphasis on that computer interface was easy and user friendly. While on the other hand, Bill Gates focused on that things work in the best way regardless of the graphics and how difficult that was for the user use a computer.

While MAC computers were a revolution in the industry for the inclusion of graphics which facilitated navigation, I think the problem from my point of view that has APPLE is its price. Today we can see in any product launch, such as cell phones; the price for their products is actually exaggerated considering that there are others products in the market with the same features or even better, but I think we are facing a problem of current consumerism.

I can say that Microsoft is putting more emphasis on improving the interfaces of navigation for the user, but is neglecting other aspects that we consider some users more important. What we can't deny is the effectiveness of MAC products and its pretty and sophisticated design.


Language as the Ultimate Weapon

Why is the Nineteen Eighty-Four novel by George Orwell relevant to a student taking the Programming Language course?

After I finished reading the book and article, I ended convince me how powerful are the media, but I did not know was how powerful could be a language to the point of changing the way people think.

I think what we should consider relevant of book for us is,I do not see it as a near future to our society, but if like something that could happen us as a society and I mean the fact how the media and government handled information at yours convenience.

We have always heard (at least me) that young people are the future of the country and I'm agree to this, the problem is that not all understand to meaning of this. For me, be the future of the country means understand that we have the opportunity to have a career and when we practice our profession we have the option to help our society, or destroy it more.

A phrase that I liked of the article is one that says "Expanding the language is to expand the ability to think" (Myers) and from what I understood I dare to make a comparison with the programming languages. The more languages the person knows, has more tools to decide which language should you use it, since the person has knowledge between one to other language.

I believe that a good strategy to not become a Big Brother, is to share our knowledge. Often we listen to our family, address one issue, giving their point of view according to what they saw or heard in the media, maybe what we know is not much, but if we combine both views or belie to people, I think it is to do our bit.

I see the language as knowledge, and knowledge lets us know that 2 + 2 is different to 5.

martes, 15 de marzo de 2016

Rich Hickey on Clojure

In each podcast that we must listen for our activity, I like to performing an investigation to know more about the person that being interviewed, this time I had to investigate Rich Hickey and, to be honest, this was somewhat complicated because, there was not much information about him.

About how little I have found during my research it is that, Rich Hickey is the author of Clojure (as we all know is a very powerful and popular language in many projects of artificial intelligence). In addition Rich is Datomic designer, distributed database That has ACID transactions (Atomicity, Consistency, Isolation and Durability), joins, and a logical query language.

One feature that makes the language Lips so powerful is that it does not compile text, but rather compiles data structures that are created by users. Regularly, in most languages interpreters text are used as compilers, but this could be a bit cumbersome to the language and the users and subtract efficiency.

Another topic that was mentioned is metaprogramming, this concept refers to create programs that have the ability to write or manipulate other programs or themselves as data, or when they do during the time of compilation part of the work that should be doing during the time execution, allowing the developer spend less time developing the code.

Each language has its own syntax, and sometimes it is difficult to switch from one language to another constantly, but I think we have to be open minded and be aware of new options that present themselves. Perhaps some of the new language we not pleasant or easy to implement, but it never hurts to know something new.

In relation to our career, learning languages helps us not closing ourselves off to only one language, since we never know if a basic knowledge of a language can give us a better job or help us to solve a problem.

miércoles, 2 de marzo de 2016

The Promises of Functional Programming

This article talked of a topic that already had some prior knowledge, or at least to me it was a bit familiar because it has been mentioned in several articles and podcast. First, we must remember that when we schedule, we declare certain variables that will be useful throughout the program, these variables are retrieved by the processor from  the memory to later write the result back in a memory cell.

Functional programming is a paradigm that allows us to create programs, as close to reality, unlike imperative programming, which is used by most languages. Imperative programming refers to one in which the developer writes code that describes in detail the steps the team must perform to achieve the objective, focuses to the procedure.

One difference between the two types of programming is that imperative programming is easier to compile in machines that are sufficiently efficient, however, functional programming allows you to make easier and faster tests. Mathematica is a software that was developed using functional programming and is a very efficient software and used by many users.

Functional programming has no variables, the reason for this is explained in the article; when we talk about functions, we refer to a procedure that always returns the same value, however this is not always true in programming. For this reason the functions are not the indicated to change the values of variables that are recieved, this is the main reason why variables are not used in functional programing.

From my point of view not to use variables is something that can be a bit complicated for those who we are used to other languages where variables are used all the time, but once you realize the power of a functional programming, you can start to change your mind, leave the variables aside, at least for a moment.