viernes, 25 de enero de 2019

The Promises of Functional Programming

After reading "The Promises of Functional Programming" by Konrad Hinsen, I found some interesting parts of the reading and with which I agree. Konrad says that there is a big future if people use functional programming languages. 

Konrad Hinses explains some disadvantages of using functional programming languages which are very important and interesting. Functional programming has advantages for concurrent and parallel programming and we can see those differences clearly with Clojure. First, the paradigm of functional programming can be a little difficult if you have been programming on the object-oriented paradigm, for example, learning the mathematical structure of functional programming might be hard, such as stop using loops and instead use recursion for the iterations, also high-order functions is also difficult to learn and understand. Functional programming languages let you write more robust software and with functional programming languages, you don't use variables.

The evolution in hardware is something that has allowed a better performance, a clear example of this is the trend of parallelism and concurrency in CPUs. Since CPUs have more cores the importance of implementing parallelized code is now bigger and also the importance of using functional programming languages because you don't have to be modifying variables or things like that, those programs also have a more straightforward structure.

I can finally say that functional programming language paradigm is very powerful and if people take advantage of it people will have a better future in programming like making programs that are easier to implement and are parallelizable. But there is something very important, we must know where to make the changes from an object-oriented paradigm to the functional programming paradigm. Functional programming popularity has increased over the years and since not many people know or work with it I am pretty sure that if it is taught in schools many people will be better programmers.

References: 

- K. Hinsen. (2009). The Promises of Functional Programming. Scientific Programming. Available at: http://webcem01.cem.itesm.mx:8005/s201813/tc2006/the_promises_of_functional_programming.pdf

miércoles, 23 de enero de 2019

The Semicolon Wars

After reading "The Semicolon Wars" I agree with some points of the article. It is very impressive the diversity of languages that exist in the world and it is more impressive the number of programming languages that exist nowadays, around 8500 programming languages. But there's something very true: most of the programming languages aren't new, they take some elements of other languages and they improve them. There's no perfect language,

This part of languages taking parts and improving them can be seen with the semicolon. In some languages like Pascal, the semicolon indicates the separation between statements but in other languages like C, they are meant to indicate when one statement ends; this is the Semicolon war. The same thing with comments, in some languages you can comment using a "#" and in others using "/". Something I was very interested about was the use of 0 as the first number when counting elements of something and the decision of which bit must go first when storing and transmitting data.

Something very fascinating about programming languages is how the change from one to other, we can group languages en four categories to analyze them in a better way: functional, imperative, object-oriented and declarative. Every programming language has a different way of writing code that leads to a different way of thinking. Whenever you try to solve a problem you must consider every facility provided by the programming language chosen.

As a conclusion, I can say that even though the author was a Lisp Fanboy most of his arguments were correct. There's no perfect programming language or the ideal for developers, a good developer must know how to solve any problem by thinking the best solution to the problem. As I said, the best programming language will be that one that a person knows better because knowing a knowing a language and its implementations will allow you to think the best solution for any problem that you have.

References: 


- Hayes Brian, 2006 "The semicolon wars" American Scientist, 303.

miércoles, 16 de enero de 2019

Introducing myself

Hello everybody, my name is Sergio Erick Chávez, but you can call me either Sergio or Erick I have no problem on that. I am studying the seventh semester of major in Computer Science at Tecnológico de Monterrey Campus Estado de México. Once I finish my major I would like to specialize in Networks, which is an area that interests me a lot. 

I am currently working as a Junior Consultant for DGA Consulting Technology developing Business Intelligence apps for Grupo Bimbo. 

What I expect from the Programming Languages course is to learn a new programming language, its functionality, structure, and importance in the computers world so I can apply it to later a project or situation that demands it. I also expect to improve my programming skills which I must say are not of my strengths but I always do my best for learning programming. 

My main hobbies are:

Listening to music: I have a varied taste of music, I can listen to Salsa, Rock, Electronic Music, etc. but my preferred genre is Trance music. 
Taking photos: I enjoy taking photos and upload them to my Instagram account: www.instagram.com/erichav07. I carry my camera everywhere I go, but what I like the most to shoot are landscapes, red carpets (I have been invited to take photos in some red carpets like Kong: Skull Island, Wonder Woman, Valerin and events like Mercedes-Benz Fashion Week) and cars (especially racing cars). One of my dreams is to one day take photos at the Mexico City F1 Grand Prix. 
The last book I enjoyed was "The Cuckoo's Egg". I like going to the cinema very often. My favorite movie genres are action and superheroes (I'm a Marvel fan). The last movies that I enjoyed were: 

Avengers: Infinity War. 
Ready Player One. 
Logan.
Churchill.
Dunkirk.

And the last series that I enjoyed were: Marvel's Agents of S.H.I.E.L.D and Stranger Things.