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.




sábado, 20 de febrero de 2016

Triumph of the Nerds Part II

The key growth of any company is think of the future. Technology is advancing too fast so if you have a company dedicated to technology with a good idea, you should look for improve the idea or, think of anything else, you never settle for something. This is what happened to IBM, a technology company that had to suffer to adapt to change and to be on par with the competition.

IBM employees had to find a quick solution if they wanted to stay alive in the market, Apple had launched its first laptops which were being successful in the marking. The solution was of an IBM employee, rather than manufacture the computer components, they buy them and in this way they could save production time and could have their product ready quickly.

IBM did not count that they were going to need a language and an operating system for their computers, so they decidet to contact to Bill Gates. Bill Gates was one of the few people who had a language to interpret the instructions of computers, such language was developed by him and then he developed his own operating system.

The IBM mistake was be overconfident, luckily they were able to stay in business and today are a strong company in the technology field. What this video made me think is that we must exploit all our ideas, I do not know if Bill Gates is right about that after  30 years of age the good ideas end up, but if this is right, we must seize our age.

Finally we can not ignore the creativity of IBM, their repertoire of songs is so funny, in addition to they have their own dress code, which we can not forget the socks fasteners, if we want to enter their offices.


viernes, 19 de febrero de 2016

Revenge of the Nerds

Every programming language has its purpose or its strong point. What with a language programming can do it more or less acceptable time, with another can perform it faster and efficiently. Depending on the requirements of the program is that you must choose the language that suits us.

Seems to me amazing how LIPS being a language that was created ago many years (60 years to be exact) and, it is today considered such a powerful language, due to the way that it  was developed. I agree that when a new language is developed, you should think ahead, not only trying to solve the problem that we have in front, and that not only we must consider when creating new languages, but rather to everything, for example when a program is being developed.

Another important aspect that it can be highlighted of the article is that it gives us an advice, whenever we are developing something, we have to think of the customer, we must design our programs to please the client, because if we win the customers confidence, we will have more opportunities to grow as a new company.

Something that is true, LIPS is a comfortable language in a matter of that, usually, the programs developed are short in terms of lines of code. Another advantage of LISP is that it has an extensive library where you find methods for almost everything, without having to implement it on your own, so you can focus on other aspects of the program rather than on simple things like sort something.

Of this article we can conclude that any decision on what language we must use should be based on the approach of the company and competition, you can not define if one language is better than another, but experience in the development industry will help us to choose the one that suits us.

Dick Gabriel on Lisp

I felt a lot of curious about to know about the life of Dick Gabriel, for this motive I decided to research about his life. His real name is Richard P. Gabriel and is an important American computer specialist, who was born in 1949 in Merrimac, a small city located to the north of Massachisetts.

His main contributions to the computer industry was the work related to the Lisp programming language. Many trials done by him, relate his experience with language, and shows a comparison with other different languages (benchmark).

He was nearly accepted to MIT and Hardvard, but an argument with a teacher ended those prospects, and he ended up going to Northeastern University, where he earned a B. A. in Mathematics. Afterward, he persued gradueted studies in mathematics al MIT but, funding difficulties made it impossible to retain him. Finally, he was able to carry out their research at the University of Standford, where he was finally accepted.

Gabriel tells that one of the main uses of the Lisp language occurs in artificial intelligence projects, since language has a lot of resources and properties which, making a comparison with other languages, it is more comfortable and easier to develop using this language.

Gabriel explains that Lips includes structured data, besides implementing functional programming. It is said that Lips was the first and only language that allowed to implement functional programming in the age in which it was created. One of the characteristics of functional programming is that you can change a value in the memory location which reference variables.

Another issue that was mentioned in the potcast is CLOS, the Common Lisp Object System which is part of Lips focused on programming object-oriented such as classes and methods. CLOS has powerful tools which are understood to conforming are implemented.