"Semicolon Wars" Analysis
“The
Semicolon Wars” is an article written by Brian Hayes, a senior columnist for American Scientist. In this article, he
writes about the enormous diversity that we have today regarding programming
languages.
For
starters, I was really amazed with the enormous quantity of programming
languages that we have nowadays; the estimate with the higher number of
programming languages is higher than the estimate of spoken languages around
the world! It’s amazing how we even accomplish stuff with that number of
languages, but I believe this diversity is of utmost importance.
Hayes also writes
about the possibility of the “one true language”, one that we could keep
improving and evolving until it’s a multi-purpose all-powerful language. I
greatly disagree with this.
Up until
now, my programming work has heavily leaned towards low level programming, and
this is where I could observe the importance of having different programming
languages. For example, when I programmed on an ATMEGA32 (a small but powerful microcontroller),
I relied heavily on AVR assembly, and then when I moved onto an evaluation kit
(EVK1105) the need for a higher level language arose. This happened because the
ATMEGA is used mostly in small and dedicated applications, with little need for
arithmetic or algebraic operations, while the EVK1105 is used for more powerful
applications like signal processing and displaying data on an LCD. These tasks would
have been a nightmare to implement with any kind of assembly, but thanks to C
and its use of libraries, we could do all these operations in just a few lines
of code.
Later on, I
had to use a webcam so a robot arm would know where to draw. While all the arm
programming was easy to do in C, Python had better ways to acquire and process
the image from the webcam. This is where
I realized that what Hayes says about the main feature of a program is how
readily you can express your ideas is very accurate. C could have processed the
image just as well, and AVR assembly could also be used to control the LCD, but
it would have been much more complicated to do so.
That’s why
diversity is very important. I don’t know a lot about high level programming,
but I reckon it happens in the exact same way.
The notion
of “the one true language” results impractical, as the level of complexity
among applications is too broad to have a program that does everything. Imagine
monitoring and controlling the water level of a tank using Java on a small
microcontroller, it would probably need a BIOS and an interface program to
translate the readings to something that Java can use. While in assembly all
you need is read the input of the sensor and send an output signal to the pump.
This shows that diversity of languages is also dependent on the diversity of
hardware.
This is
further observed on the four kinds of programming language that Hayes describes.
It’s clear that this division of programs happened almost organically from the
needs that arose with pure software applications.
But I also
believe that having a too great diversity of languages could be harmful, as I
have also came across languages that are just too incompatible with some other
language, and if this progresses further, it could mean that we would have an
isolation of certain kinds of technologies, which could be a problem when
attempting to hybridize technologies to develop new ones. In fact, with the
coming of quantic computers, there might be a need to readjust a lot of
technologies to work with this new kind of computer.
Bibliography:
https://www.americanscientist.org/author/brian_hayes
Comentarios
Publicar un comentario