In the podcast “Internals of GCC”, by software Engineering
Radio, the PhD student Morgan Deters is interviewed in the subject of the GNU
Copiler Collection. Various topics related to de GCC are covered, such as its
portability, modularity, and inner workings of registers and the “middle end”
of the compiler. One of the interesting topics is code optimization, as it is
said that the compiler can identify by itself blocks or code that can’t be
logically reached or are not needed, and remove them when translating into
target language. There is a high implication that programmers may be able to
code in an un-optimized way without really damaging performance, thanks to the
compiler, so how much could or should a compiler help programmers? Certainly,
since processing power has increased, along with programmer’s cost per hour, it
is very attractive to allow programmers to stop worrying about optimizing to
the maximum degree, when the computing of such code is not as expensive as
their initial pay, and the compiler will be able to optimize it a bit too.
Optimizing might be a thing of the past (as long as you don't try something silly, like calculating Fibonacci recursively or something)
Furthermore, it would seem GCC is so modular
and flexible, that it can run in many architectures and compile many languages,
raising the question if it is possible to build a “master compiler”, able to
handle and input language and use it to generate machine language. The task
sound enormous and difficult by itself, but GCC certainly takes some steps
toward being multiplatform and Multilanguage. Maybe in the future a master
program will be a reality, allowing programmers to forget about optimization or
platforms, and really focus on creating functional code that accomplishes their
goal. The inner workings of computation itself are fascinating, and the ability
to have programs that generate programs by themselves is already a very
powerful property, compilers may be able to take that to another level.
Source:
Arno, 2007. "Episode 61: Internals of GCC". Software Engineering Radio. Retrieved Frebuary 5th 2017 in: http://www.se-radio.net/2007/07/episode-61-internals-of-gcc/
No hay comentarios.:
Publicar un comentario