lenguajes de programacion
TRANSCRIPT
Lenguajes de Programaciòn
El lenguaje C es por excelencia de programación de sistemas
tremendamente ligado a Unix. No es recomendable como primer lenguaje, aunque es tremendamente flexible.
La evolución sobre el C++ si se puede considerar de alto nivel. Es orientado
a objetos, relativamente difícil de aprender pero combina la potencia y flexibilidad de C con orientación de
objetos. El objetive C es otra evolución que es aún más flexible y
tiene mucha menos aceptación.
Java es el lenguaje de moda, parecido al C, mucho menos flexible que C++, pensado para hacer aplicaciones interactivas más
que controladores de dispositivos y sistemas operativos. Mucha aceptación, muchos recursos y posibilidad de incluir programas en Java en páginas HTML, los
llamados Aplets. Lenguaje ideado mayormente para la administración de sistemas y procesamiento de texto. Es
perfecto para hacer pequeños programas de administración, que
resuelven tareas repetitivas. Se mezcla bien con otros lenguajes, es posible
ejecutar código en C desde un programa en Perl y empotrar un intérprete de Perl
en un programa en C.
El Ada es un lenguaje muy potente, aunque muy poco usado. Es legible para
los novatos y es bastante flexible. Es perfecto para sistemas distribuidos y control de procesos. Se utiliza para controlar aviones, comunicaciones y
sobre todo está pensado para programas grandes. El Awic es muy
específico para manejar texto. Vale la pena aprenderlo si maneja uno mucho
texto y necesita hacer pequeños programas escritos sobre la marcha. El Python es de muy alto nivel y orientado
a objetos. Relativamente legible, con bastante aceptación popular y muchas
extensiones disponibles.
El Pascal es perfecto para principiantes, bastante legible si uno sabe
programar, pero muy poco flexible. Es la mejor opción par aprender a
programar. Se han hecho extensiones que hacen de él un lenguaje más
usable para proyectos reales. El Tcl es mayormente ligado a la extensión gráfica Tk, es sencillo y extensible.
Está bien como primer lenguaje. Lisp es recomendado para trabajos de
Inteligencia Artificial, para procesamiento de listas. A
programadores acostumbrados a lenguajes convencionales les resulta
muy extraño.
En los viejos tiempos todo resultaba más sencillo. Los buenos
programadores de C lo sabían. Para cada operador y operación de C, ya que se tratara de un asignación, un
cálculo matemático de entero o coma flotante, de una deferencia o una
llamada a una función, se asignaba más o menos de uno en uno a una
única operación maquina primitiva. En ocasiones se requerían varias
instrucciones máquina para colocar los operandos correctos en los registros adecuados y a veces una instrucción podía contener varias operaciones de
C, pero generalmente se podía escribir o leer una línea de código de C y saber
cuál iba a ser el tiempo.
En la década de los noventa, para disfrutar de las enormes ventajas en la ingeniería y productividad de software que ofrecían la
abstracción de datos, la programación orientada a objetos y la reutilización de código, el sector del software para PC
realizó la transición de C a C++ El C++ es un súper conjunto, en el que se paga
según el uso y por lo tanto, el conocimiento de la programación en C,
incluido nuestro modelo de costos internalizado, se puede aplicar
directamente.
En cualquier lenguaje de programación, las cadenas de caracteres tienen una importancia especial. No solo porque
es el tipo mediante el cual se almacenan los mensajes a pantalla o entradas del teclado, sino porque un carácter es del tamaño de un byte, y
un byte es la menor unidad de información natural para la máquina.
Una cadena es una colección ordenada de bytes. Un archivo, la información de la pantalla en el sector de memoria de
video, las entradas de bytes por los puertos y muchas otras entidades se pueden conceptuar cómodamente.
No tienes jefe, no tienes a nadie a quien responder, no tienes nadie que
te diga lo que tienes que hacer, trabajas a tu ritmo porque te encanta hacerlo, siempre estas aprendiendo e
intercambiando información. Programas con COBOL, FORTAN,
PASCAL, BASIC, ADA, MODULA 2, C y C++. Elaboras sentencias constantes y variables, sentencias aritméticas,
comparadores, bifurcaciones, bucles, tratamiento de matrices, pilas y listas, ordenación de matrices y
listas, punteros, subrutinas y subprogramas, seudo códigos.
En el Pascal el primer byte es reservado para almacenar el largo de cadena. La cadena de
caracteres propiamente dicha comienza en la segunda posición. Si solo hay un byte de
espacio para almacenar el largo el máximo permitido para una cadena será de 255 bytes.
En C se reserva una función especial al carácter cuyo valor es ASCII es cero. Ese
carácter indica con su presencia que la cadena finaliza ahí. Ese char forma parte de la cadena. De una cadena como hola, se dice que tiene 4 caracteres, aunque en memoria después de la "a" se encuentra el cero. En el modelo Pascal es muy rápida la operación de encontrar la longitud de cadena, al consultar el primer
byte. Mientras que en C y C++ hay que recorrer toda la cadena en búsqueda
del char cero.
Hay veces en las que la fluidez al escribir código se interrumpe. Estas lagunas de improductividad por lo general duran
uno o dos días. Pero en ocasiones semanas enteras sin ser capaza de
hacer nada. Tal vez no puedes, como desarrollador de software, controlar
cuando eres productivo. Hay periodos en que puedes escribir suficientes
líneas de código. Tal vez no puedes, como desarrollador de software,
controlar cuándo eres productivo: simplemente has de asumir las épocas de escasez con las épocas de rápido
avance y esperar que puedas escribir suficientes líneas de código
La perfección se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay algo que quitar." Cuando el
código va mejorando y se va simplificando, es cuando sabe que está
en lo correcto. Así, ninguno de nosotros es original en el sentido
romántico de la idea que la gente tiene de un genio. Pero, la mayor parte del
desarrollo de la ciencia, la ingeniería y el software no se debe a un genio
original, sino a la mitología del hacker.
En los hacklab, los primeros días mediante pruebas de pasillo es posible
reclutar los mejores para el equipo. Además siempre hay que reclutar
buenos candidatos que desean mejorar aunque no tengan suficiente
experiencia para crear un buen código. En determinado momento los genios tardarán dos semanas escribiendo un pedazo de código que resulta ser tan increíblemente malo que nunca podrá funcionar. En los hacklabs, axial como por medio de las leyes de la gravedad las cosas caen por su propio peso. Lo importante es evitar que un código defectuoso malogre el trabajo en
equipo.