sábado, 16 de febrero de 2019

Rear Admiral Dr. Grace Brewster Murray Hopper



Born on December 9 of 1906.
Grace Hopper was a strong woman, strong because she was in disadvantage of being a woman (I mean disadvantage because of the time she was living) an interested in technology. She went to Vassar College to study maths, physics and engineering. She made a thesis called “A new Criterion for Reducibility of Algebraic Equations” .

She worked first as an instructor, then as an assistant professor and finally as an associate professor at Vassar. During the second World War, she joined the US naval reserve.
After the war, her next important move was the Eckert-Mauchly Corporation which was nearing completion of the UNIVAC. She was thinking in making machines easier to use by creating higher level languages. So in 1952 she and her team at Remington wrote the A-0 compiler. She solved the problem of forward references by using a fixed jump area where the addresses of routines could be stored when they were discovered later in the program's text.

She also wrote the first symbolic differentiator. She demonstrated that a compiler could translate programs written in French and German into machine code. She deserves to be called the mother of Cobol since she did much to influence the newer details of Cobol Language.
She retired in 1966 with the rank of commander but the Navy still needed her and seven months later she was asked to take on the job of standardizing the Navy's use of languages. She returned to active duty at 60 and was promoted to Captain.

In 19569 she was selected by the Data Processing Management Association as their first “man” of the year. She proved that women can be better programmers than men. In 1964 she awarded the Society of women Engineers Achievement Award and was made a Distinguished Felow of the British Computer Society in 1973, the first woman and the first American ever to be so honored.


viernes, 8 de febrero de 2019

Internals of GCC


To make a Little introduction of GCC, I am going to tell you what I heard from a podcast by software Engineering Radio and Morgan Deters. GCC is a set of compilers for a wide variety of languages, not just for C language. It can be used into other languages, as many of programmers maybe did not know.

A compiler is defined as an interpretation of a set of line codes that are written on a determined language program, This Compiler is the uncharged of creating a parse tree to translate all the grammar representation of that language. When we talk about compilers we must take into consideration an important thing constantly mentioned in the podcast, the optimization. We have to take it into account in methods and routines.

Morgan Deters talk about GCC and he specifies its functions as a portable compiler that can be run on most currently platforms. He considered GCC as a cross-compile because the previous reason, and because of their not completely native characteristics. This compiler produces executable files, allowing a compilation in embedded systems. This compiler takes into consideration the optimization, but another characteristic of it is the portability, this means that the compiler can be adapted to new systems quite facile.

Compilers as Morgan Deters said, help us to save great amounts of memory, because programmers waste memory spaces that become inaccessible. Obviously GCC is not a perfect compiler and it has some disadvantages, such as being unspecific of the error we have in the code and were this error is presented. GCC can be used for anyone who wants to use it, but in my opinion, the user must have some experience with this compiler, so that it would be easier to use

Internals of GCC


To make a Little introduction of GCC, I am going to tell you what I heard from a podcast by software Engineering Radio and Morgan Deters. GCC is a set of compilers for a wide variety of languages, not just for C language. It can be used into other languages, as many of programmers maybe did not know.

A compiler is defined as an interpretation of a set of line codes that are written on a determined language program, This Compiler is the uncharged of creating a parse tree to translate all the grammar representation of that language. When we talk about compilers we must take into consideration an important thing constantly mentioned in the podcast, the optimization. We have to take it into account in methods and routines.

Morgan Deters talk about GCC and he specifies its functions as a portable compiler that can be run on most currently platforms. He considered GCC as a cross-compile because the previous reason, and because of their not completely native characteristics. This compiler produces executable files, allowing a compilation in embedded systems. This compiler takes into consideration the optimization, but another characteristic of it is the portability, this means that the compiler can be adapted to new systems quite facile.

Compilers as Morgan Deters said, help us to save great amounts of memory, because programmers waste memory spaces that become inaccessible. Obviously GCC is not a perfect compiler and it has some disadvantages, such as being unspecific of the error we have in the code and were this error is presented. GCC can be used for anyone who wants to use it, but in my opinion, the user must have some experience with this compiler, so that it would be easier to use

Internals of GCC


To make a Little introduction of GCC, I am going to tell you what I heard from a podcast by software Engineering Radio and Morgan Deters. GCC is a set of compilers for a wide variety of languages, not just for C language. It can be used into other languages, as many of programmers maybe did not know.

A compiler is defined as an interpretation of a set of line codes that are written on a determined language program, This Compiler is the uncharged of creating a parse tree to translate all the grammar representation of that language. When we talk about compilers we must take into consideration an important thing constantly mentioned in the podcast, the optimization. We have to take it into account in methods and routines.

Morgan Deters talk about GCC and he specifies its functions as a portable compiler that can be run on most currently platforms. He considered GCC as a cross-compile because the previous reason, and because of their not completely native characteristics. This compiler produces executable files, allowing a compilation in embedded systems. This compiler takes into consideration the optimization, but another characteristic of it is the portability, this means that the compiler can be adapted to new systems quite facile.

Compilers as Morgan Deters said, help us to save great amounts of memory, because programmers waste memory spaces that become inaccessible. Obviously GCC is not a perfect compiler and it has some disadvantages, such as being unspecific of the error we have in the code and were this error is presented. GCC can be used for anyone who wants to use it, but in my opinion, the user must have some experience with this compiler, so that it would be easier to use

sábado, 2 de febrero de 2019

The hundred- Year Language

It is impossible to predict anything in a hundred year; the world improves on an exponential way. This same happen with the programming languages, it is uncertain to know in which language will be software implemented.

It is true that the evolution of programming languages depends on the evolution of species, this is because the necessities that humans have and how the technology grows. Something that is also true, is the fact that any programming language can be divided in two parts, fundamental operators, and the rest of the language.

The most important part of a programming language are the fundamental operators and not just for the axioms, but that there be few of them. The evolution of the trees goes under these languages that have the smallest, cleanest cores. If you ask me how programs will be written in the future, I would tell you that is impossible to know or even to get close. I assume that maybe people would not tell computers what to do anymore, or maybe it will be easier or more automated. To assume we must consider that languages are not technologies at all, they are notation. Programs are a formal description of a solution of a problem that we want a computer to compute. Maybe languages do not involve a lot trough the years, but the solutions are optimized with the past of the years, they are faster solutions to compute.

The best way to resolve problems is to separate the meaning of a program from the implementation details. Code can be reusable because its bottom-upness. They are reusable because they are languages. We have to enjoy todays languages because they offer us differences between them and similarities