Ir al contenido principal

Outside the realm of emoticons, parentheses always come in pairs.

As far as we have been taught, there are many ways to make a computer understand us. Depending on those, there might be a little easier or harder for us to understand it. A clear example of that was the first time we saw a SIF language, clojure. In this case, and as not a very good programmer it was kind of hard to really understand what we were doing due to the fact that parentheses separate our elements and the order of elements really care. I mean, when we program, sometime we forget that something will process it and how we think about it will define how long it will take and what answer will give, just when we get the correct answer we are happy.

That case is not the ideal one because we tend to look for answers and not to really understand what we are doing. In  the case of SIF, I personally think that we need first to understand what we are doing before proceeding.  This is due to the fact that we are not used to think like that,  first the simbol, then the values and what is inside the parentheses will be affected, and we just write parentheses as crazy people until it works.

This idea  I think, was taken from math classes where there are sign order and depending on that is what we should do. I consider that this is a right place to start because as we have seen, to build a compiler, first we need to understand some elements, then divide them and after that we need them to read each element and make it understandable for the computer to select the lower level element.  As a matter of fact, the idea of white spaces before code, helps the compiler to find the lowest level and from that moment and on to go up to the top.

In this case, what the text is teaching us is that we use an special way of coding because this way is easier to understand as a student and to replicate it on the computer. I consider that we do not need to create new compilers everyday, but we need to understand them and to use them in our favor. In this case we should also need to remember which programming language are we using, what we are doing and our goal for the program because that will give us the answer on what we are doing wrong.

Comentarios

Entradas populares de este blog

There are many steps to build something to hold everything.

Nowadays there are many kinds of computers, or wannabe computers, where people do what they need in any place and without the need to be connected to wires.  As this kind of technology has been evolving, the need for creating new programming languages that can help to create whatever we desire of we think that people will use.  Considering that, we cannot just create a programming language, or tell the computer I just want to create a new language that can fullfill these necessities.  But we need to create a whole system that can support the programming language and can change the steps that we are creating to change everything to computer language.  In this case, it is important to mention that the level of the chat that we have heard, is in a higher level, and as computer science students we need to understand the slang and what they are talking about. Anyway, we need to consider that people might not really understand what a GNU  and a GCC are f...

More than machine language

Sometimes programmers see other classes such as Software Architecture, FIS, and Compiler Design as something they need just to complete all the credits for them to graduate. This could generate a problem for teachers due to the fact that they are just focused on passing rather than learning the important stuff on each class. In this case, the reading was about what else we could learn from this class besides the way we can build a compiler ( that we know that it would be so hard that we need to build it). Personally, I consider that these ideas should be something that we apply to classes rather than just learning what we are supposed to. This is due to the fact that Computer Science is an area where there are many things we can do rather than just programming.  As someone who is not really interested in programming, this kind of ideas is important because I think that all classes can give you something else to learn besides the topics we are supposed to learn.  I con...

Everything is not Java

When we think about a way to create something that will run in every equipment we think of JVM. In this case, as programmers we tend to seek for something that will run in everything and in the easiest way.  The problem of this solution is that  the limitations of Java tend to be  useful for some basic problems but not for a compiler.  Why is that? A compiler is a machine that can change many things inside the computer. This means that what we are creating is a bridge between the computer and the human language that we are using.  This bridge tends to have many characteristics that depend on the use that we are gonna give it to.  One of the main characteristics of this bridge is imthat we can choose between the numbers that the computer will have  to understand such as hexa, binary or even octal. These points are important to mention due to the fact that we will need to understand what we are doing and how much presition  we need to have. ...