Ventajas que adiciona el computador en la resolucion de problemas
El trabajo rutinario y el hecho de generar grandes cantidades de información, conllevan a que en el primer caso exista la posibilidad de la perdida de datos por algún descuido, y en el segundo la tediosa documentación generada en papel con volúmenes muy altos de ellos. Gracias a la capacidad del computador estos problemas son de sencilla solución, pues con el tenemos rapidez, precisión y poder de grabación o memoria.
La dificultad radica en que la maquina por si sola no puede resolver todos aquellos aspectos que se requiere una solución, y aquí es donde entra el programador, quien debe a través de programas indicarle al computador que debe hacer y como lo debe hacer, ahora, los programas son una serie de instrucciones y pasos lógicos que llevan al computador a tomar una decisión final para la resolución de un problema.
Pero el programador no puede generar estos programas sin unos pasos o procedimientos y es aqui donde entra en juego el ciclo de vida del software que para desarrollarlo hay que tener en cuenta una serie de fases; en el modelo cascada, uno de los tantos modelos que por cierto fue implementado justo después de los 60 por empresas que lograron surgir a la llamada crisis del software.
En la imagen podemos observar las etapas es ese modelo cascada,
La primera, es la fase de requerimientos o de recolección de información en la cual se realiza el análisis de los requerimientos de un cliente y como el software puede solucionarle ese requerimiento, ademas de hacer la respectiva recolección de información correspondiente al requerimiento del cliente.
La segunda, es la fase de análisis en la cual se debe encontrar el "que" realmente va a solucionar la aplicación verificando el entorno en el cual se va a desempeñar.
La tercera, es la fase de diseño donde una vez completada de manera correcta las dos anteriores, se determina la estrategia para resolver el requerimiento del cliente, esta se conoce como el "como".
La cuarta, es la fase de desarrollo en la cual el equipo desarrollador elabora los programas con los cuales se va a desarrollar dicha aplicación, los compila y los prueba para verificar su funcionamiento ademas de recoger la correspondiente documentación. Antes de la fase cinco en la cual se implanta la aplicación en su entorno en el cual se va a desenvolver.
Tengo que reconocer que desafortunadamente en la gráfica que coloque me hace falta una fase quizás de las mas importantes, pues en ella se puede generar algunos puntos que el cliente le gustaría mejorar y que sera el inicio de una nueva mejora en la aplicación, esta es la fase de mantenimiento.
Ahora, como entiendo un programa visto desde el esquema mas sencillo, pues así:
Todo programa, por básico que sea, debe generar una entrada de información para que sea procesada por él, para entregar una salida que satisfaga la necesidad del cliente. Cada programa ejecuta instrucciones, y varios programas forman una aplicación o un software.
Una clasificacion de los lenguajes de programación:
-
El lenguaje maquina: se entiende por aquel que entiende el computador, es decir los ceros y unos los cuales son controlados por el procesador, ejecutados por la ram y archivados en el disco duro. Cadenas de 8 ceros y unos forman lo que se conoce con un byte, es utilizado por personal especializado en programación de procesadores o chips.
- Lenguajes de programación de bajo nivel : en este nivel encontramos un programa que se denomina "ensamblador". Este lenguaje permite al programador usar instrucciones de abreviaturas inglesas por medio de representaciones nmotecnicas, algunas son: ADD, DIV, SUB, etc., permiten controlar directamente al hardware Tiene el problema de no ser entendido por el computador ya que no esta diseñado en ceros y unos, y es aquí donde entra a jugar el llamado "ensamblador" ya que este se encarga de traducir el lenguaje de bajo nivel al de la maquina.
- Lenguajes de alto nivel : estos son independientes de la estructura propia del computador, tienen una aproximación mas entendible al lenguaje humano, utilizan estructuras de control como bucles y condicionales ademas de variables y estructuras de datos, ellos requieren de un traductor al lenguaje maquina para que sea entendida por el computador.
- Lenguajes traductores : como su nombre lo indica y pudimos observarlo en la descripción de los lenguajes anteriores, son los encargados de "traducir" a lenguaje maquina lo producido por un programador en un lenguaje de alto nivel. En ellos encontramos dos que se definen según su característica en:
* Compiladores: traducen por completo un programa fuente al de maquina. Al realizar esta traduccion el programa resultado se le llama programa objeto, y se guarda en un fichero teniendo la posibilidad de ejecutarse sin un compilador
Entre los programas compilados están: C, C++, Fortran, Pascal...
.
* Interpretes: traducen y ejecutan instrucción por instrucción en el interprete, no guardan ficheros del programa objeto. Algunos ejemplos son: Javascript, Basic, PHP...
Finalmente, aqui hay en una serie de varios puntos a tener en cuenta en los lenguajes PHP, .NET y JAVA:
Tipos de estructura que el lenguaje le permite crear a un programador:
Java: