Ir al contenido principal

Revenge of the nerds

When I was beginning the path to become a software engineer I tended to magnify the problems related to the things I wasn’t very much involved into, because of inexperience.
The Analogy of the pointy-haired boss can apply to many people when they are neophytes to some regard. In the real world it’s something that have happened to me almost every time when the requirements for some software are very ambitious and a pseudo-informed client is involved.
Everybody loves standards, it makes things easier and faster, but also is not always wat everyone needs for achieving their goals. Maybe the client wants the latest and greatest revision of a software that is commonly used for their branch in business, but maybe that version of that software implements functions and new paradigms that are no longer the principal need for the client. These kind of concerns are common because where there is money involved, there is always the need to have security and robustness, but in the software development those are very misunderstood definitions.
Programming languages have different benefits and they’re the best fit for some developments than others. In the first posts of this blog, I’ve talked about the fact that programming languages are in some way equivalent speaking in terms of computability and only that. But there are some limitations that we encounter according to the language we choose and the project we’re on: compatibility, portability, time and work are some of them.

Sometimes the standards are the ones that make things more difficult, they are in fact very important, in my opinion, but the requirements can be really limited by them, so when the standards limit the requirements, we as developers, tend to make things that can be dangerous to memory, design, and even the hardware if we are not careful enough given that we are free to follow (or not) the standards.

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 understandable,    compared to o

Dick Gabriel on Lisp

A.I. has been the pinnacle of computer science ever since the Turing’s machine, and the first premise to supporting that is “with a machine with infinite resources is possible to transcend Turing’s computability” (V. Müller, 2014). According to Dick Gabriel in the podcast Lisp was a programming language that was developed around 60’s and it was mainly oriented to the study and development of artificial intelligence. For the time, the structure of lisp was more common for those that studied Turing’s machine given by the fact that its structure was strongly related since its main data structure was the List which remind me to the tape used for Alan’s machine. The basic use case for the List as a data structure was to use a defined language or dialect that they were meant to process via a macro. Gabriel also said that the Lisp paradigm was “made” the way it was with the unclear intention of making A.I. developers the only ones that can make A.I. research, but that is something that s