lunes, 31 de agosto de 2020

“The Hundred-Year Language”

 

Let’s talk about the essay “The Hundred-Year Language”. How interesting is to think how the future will be. In a way we are already living in the future but when you imagine what may come next thing may get a little confusing, especially when thinking about technology. This essay makes very interesting points and opinions on what may come in the field of programing languages. I personally, have never thought about what will happen with the languages I am using now which now that I think of, maybe I should be! Many of my current professors have talk about how they started programing in something like Pascal or Fortran and now none of those languages are used.

I find very interesting how the author describes the evolution of programming languages, how some have branches and evolve while others simply die with time. And while those that die where very useful, they never found the right way to evolve. Something that caught my attention is how important it has become for every aspect of technology to make it simple. It seems that only the languages with simple designs and most importantly easy to understand will survive. For example, I totally agree when the author says that Java is a language that will die soon, even though it is very useful I find it impossible to read when the code get to big and complex specially if you compare it with other languages like Python.

Just like the essay in the future we are expecting to have much faster technology and for that sometimes you need to sacrifice efficiency for the sake of optimization. So, while the program may work wonderfully trying to read or write in the code would be incredibly tiresome (now I can imagine how my teachers feel when checking my codes).

Another point that the author makes, which to me it sounds more applicable, it to create more layers of software between application and hardware in order to get more flexibility. Each layer will have a simpler task for the layer above. Maybe like a compiler? Each layer translates something for the layer above it thus creating more code that is reusable.

To end, while we do not have the language that will be used in a hundred years, I do agree with the author that me might already have started to develop the roots. What we know is that the language needs to be easy and efficient enough to produce at least a workable first draft.

lunes, 24 de agosto de 2020

“Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler“

It is true that most college undergraduate programs in Computer Science include a course or two in Compiler design and it is also true that most students never think twice about compilers neither before nor after the course. I personally never even thought about a job developing compilers or studding them.

According to the article “Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler” by Saumya Debray, many subjects studied during a Compilers design course can be applied more broadly in other computational problems by generalizing some components. The text follows with two examples, “Dot: A Graph-Drawing Tool” to create a drawing from a graph and “Translating LaTeX to HTML” that allows people to change their Latex documents into HTML for sharing via web page. This two examples allows the students to visualize and apply subjects and logic that is usually reserved for compilers in other problems that exist in the real world and outside the Compilers design course which in my opinion is a great way to get students involved and to practice more of what they have learn during this course and the other courses.

After this the author gets deeper in what makes a compiler and discusses how each phase of an execution of a compiler can be useful in other problems. The phases of a compiler are:

·       lexical analysis and parsing

·       semantic analysis

·       code generation

·       code optimization.

I will not go on explaining each phase like the author of the article so kindly explained. But I will point out that the importance on understanding and being able to apply each phase in different situations is very important. I agree with the author in that approaching problems with and structuralize idea and simplifying it can make your life so much better.

I agree with this article I wish more courses would try to be less narrow on their subject and try to let students see how it can be applied more broadly on other computational problems.

 

Reference:

Saumya Debray, S. Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler*. Retrieved 25 August 2020, from http://34.212.143.74/s202013/tc3048/making_compiler_design_relevant_for_students.pdf

jueves, 13 de agosto de 2020

Get to know me

 Hello,

My name is Camila Rovirosa Ochoa

I am studying Computer Science in the Tecnologico de Monterrey and I am currently going thru my 8th semester of college.

My current hobbies are drawing and playing with my kitten.

I am also learning animation and story telling on my own.  

In the future I want to work developing video games

I have recently watch The Umbrella Academy series in Netflix and I can say I enjoy it very very much. Also, I have been reading Dr Sleep by Stephen King which has been very interesting.

What to expect from this course?

I would like to have a better understanding on how compilers work and maybe develop one. However, I will admit that the "Legendary Exam" freak me out a little.


            Picture of my kitten enjoying the warm.

Lin Clark on WebAssembly

  This time we got to listen to a podcast for our Compiler Design Class. We listen to Lin Clark, a programmer that makes cartoons to simpl...