Ir al contenido principal

Beating the Averages

For a long time in school I have had the experience of "having to" learn a programming language, and mostly the reason is that "we will be working on a project that requires the use of that language" and, in my opinion that's fair; but sometimes it is because we have to understand the whole picture (like c in operating systems).

In practice the definition of a "strange syntax" has more to do with the fact that it's mostly a syntax that has uncommon elements like lisp, and given that in our course  we are using clojure, a language "based" on lisp's paradigm, we get as a result a very uncommon experience as computer science students.

It also says that usually programmers are "married" with the programming languages that are their favorites, but when you know more than two or three programming languages you begin to get the idea where a language is more effective than the other for certain tasks. For example: recently I started a job in a companny (which ironically is just ceasing to be a startup) that makes some serious data analisys for power consumption in buildings, and they needed to make their data gathering and calculations more eficient and standarized. Also they wanted to stop using software that required some sort of paid licence.

After some successfull research, I came to the conclusion that what they needed was Python, even when I hadn'd used python for a long time I knew that It would have the vast integration that they needed, and when the first project began I realized that the knowledge I got from learning C, C++, and Java, helped me to make a very agile development because I got to know how things where best implemented given by the platorm and the ease of use that python already had.

So, maybe learning a language that's not commonly used or isn't used anymore is really a good practice, and it doesn't have to end there, I think that using a Linux/Unix based OS helps a lot to become a better computologist.

Comentarios

Entradas más populares de este blog

The Promises of Functional Programming

The article “The promises of functional programming” written by Konrad Hinsen highlights how software development has undergone significant advances as much as advances in technology and computational hardware, in the same way the article describes what is the essence of functional languages, what gives life and the reasons why they are created, in parallel it also explains the advantages of using it. The first feature to highlight functional programming is in the use of functions, since unlike the use of mathematical functions, the variables are not part of the functional programming paradigm which according to the article is the first surprise faced to the ones that are starting to use functional programing. One of the other features for the functional paradigm is the built-in fail safe mode against race conditions which is the lack of counter and side effects, and the possibility to define the language itself. Hand in hand with this change also highlights the difference in th...

The Roots of Lisp

In this article we talk about the Lisp operators and how they make up into a powerful API, this paradigm consists of some built in functions that intend to make things easier, however, talking about the power of language as many things that language can become, list processing is very a powerful tool in the structure and syntax of Lisp given by the fact that everything in this paradigm is achieved by the processing of lists. Lisp programs are composed by something called s-expressions, which stands for symbolic expressions which are defined recursively, and consists of either a single “component” which is called “atom” in the strict definition, or it can also be a list, which can correspondingly be some other symbolic expressions. The main idea in this article rounds around the idea of lisp being so innovative for its time that it allowed to visualize the solutions for some problems in a completely different angle, which makes the process much more understa...

The semicolon wars

As a regular programmer, I sometimes get confused when at the time I’m using different languages for different projects, but ironically that’s how I get to know them better, in fact, that little confusion becomes less notorious. In this article the analogy of regular languages and programming languages are much more than a simple comparison and I think that it has something to do with my little experience using different programming languages for different projects. If we extrapolate that experience to another where someone can speak in many languages, we might get to notice that there are some kind of “reciprocation” between them and that might not be a simple coincidence. For many centuries, the language has been an extremely important part of the human development, since historically speaking it has immortally impressed in it little fragments of the meaning of that history; but that doesn’t end there, the language has been and stills being one of the most important tools to get...