Everyone thinks they can predict the future. I’m not saying
this about programming languages specifically, but about anything, economy,
technology and even something as specific or as personal as our own lives. The
funniest thing of all is that we can’t seem to get it right, ever. One may
think about looking at the past for hints of the future, examining our present
and bet on future factors or even imagining what future we want and making it
ourselves. Paul Graham seems to think that an overall trend has been present
throughout technology in general and so programming languages must follow as
well. I don’t disagree with him, after all, what do I know that he doesn’t? His
argument seems almost anachronistic in nature; I think that is normally a good
thing. However, I find some things rather, funny, in his discourse.
The most curious element is the one where it talks about
parallelism and how it is used (or will be used) as later implementation
details; that the most important thing is to first worry about abstractions and
then, if needed, parallelism will be added later on. This seems to contradict
some principles that I have learnt at school. I normally think and act upon making
an abstraction first and then choosing a certain paradigm or general tactic to tackle
on the problem. Multiple independent data sets with similar operations?
Parallelism is the key. Modeling after the real world in groups of elements that
share common attributes and behaviors? Object-Oriented Programming should do
the trick. Don’t care that much about efficiency and just need to pass thoughts
from your head into code? Python has you covered. Think the Python guy is a
fool for believing things are easy? Maybe C is more your style. Just want to
pass as one of the crowd and hope no one notices you? Boy, Java would like to
hear from you.
Anyhow, to each his own. I believe, in order to make
excellent programs, we need to consider very carefully our abstraction process.
Then, we choose a tactic by which to tackle the problem. Finally, we analyze extremely
carefully how to implement said abstraction with that tactic.
No hay comentarios.:
Publicar un comentario