Aprender a Programar
En esta página web podrás aprender a programar en distintos lenguajes de programación. Ya sea PHP, MYSQL o HTML, aprende a programar y descubre todo sobre la programación.
¿Qué es un programa informático?
Las empresas y los usuarios muchas veces necesitan realizar una tarea determinada, la informática a través de los programas permite indicar las instrucciones a realizar de forma precisa al computador. Un programa informático crea un modelo de algún problema, representándose este de forma simplificada y estructurada en un lenguaje de programación.
¿Qué es un lenguaje de programación?
Los lenguajes de programación han servido para dar las instrucciones al computador de forma ordenada, no obstante no existe un único lenguaje de programación ya que a lo largo del tiempo se han desarrollado muchos que se pueden clasificar según diferentes estándares.
Estructura de un programa informático
Al estudiar un lenguaje de programación se pueden estudiar las reglas sintácticas y semánticas, por una parte, conocer las reglas sintácticas implica conocer como se construye el lenguaje y los errores sintácticos son revisados en el momento de compilarse el programa. Por otra parte conocer la semántica permite saber el significado de las construcciones sintácticas. Los errores sintácticos son más difíciles de solucionar ya que un programa hace lo que se le ordena, no lo que se pretende que haga.
Los Lenguajes de programación
A lo largo de la historia los lenguajes de programación han evolucionado, así como también lo han hecho las capacidades técnicas de las computadoras. Los diferentes lenguajes de programación se pueden clasificar en cuatro grupos:
Lenguaje de código de máquina o de primera generación
Los códigos de máquina se caracterizan por poseer una codificación muy compleja, estos lenguajes son muy difíciles de entender y de aplicar. Son códigos que para la máquina son fácilmente legibles y por tanto no necesita traducción alguna para ella pero es difícilmente manipulable por un informático.
Lenguaje ensamblador o de segunda generación
Son lenguajes ensamblador, requieren una traducción muy simple porque cada instrucción corresponde a un código únicamente. Son más fáciles de utilizar que los primeros ya que están codificados y cada palabra se corresponde con una instrucción del microprocesador.
Lenguajes de Tercera generación
Son los más utilizados. Se caracteriza por el hecho de poderse implementar en diferentes máquinas sin tener que revisar exhaustivamente el código. Los algoritmos son fácilmente legibles y comprensibles. Ejemplos de estos son: C, Fortran, Smalltalk, Ada, C++, C#, Cobol, Delphi, Java, etc.
Cuarta generación
Son aquellos generados para mejorar la productividad de un lenguaje de tercera generación. Son lenguajes de consulta, generadores de informes, gráficos y creadores de funciones estadísticas.
Ejemplos de estos son: NATURAL, SQL…
Quinta generación
Son aquellos lenguajes que incorporan conceptos de sistemas basados en el conocimiento y el proceso de lenguaje natural. No existen lenguajes todavía que cumplan estas características al 100%
Qué es la Ingeniería del software
El software de computadora es el producto que diseñan y construyen los ingenieros del software. Es importante la ingeniería del software porque afecta a muchos aspectos de nuestra vida profesional y diaria directa o indirectamente.
Construir un software de computador no es fácil y rápido ya que se debe aplicar un proceso que confluya a un resultado de alta calidad y satisfaga las necesidades de los usuarios. Se tiene que aplicar pues, un proceso de ingeniería del software.
El proceso de construcción del softwate puede ser muy diverso, pero generalmente se basa por un lado en la necesidad de contar con las habilidades de un programador y por otra con los conocimientos del cliente.
Existen una serie de métodos que indican cómo construir un software a nivel técnico, pero hay otras cuestiones como determinar cuál es el problema y las características del mismo que el proceso de ingeniería por sí solo no puede solucionar y necesita un conocimiento previo del caso.
Fases para desarrollar software
El proceso de ingeniería está estructurado en las siguientes fases:
La Fase de definición Comienza cuando se deben reunir el directivo de la empresa o usuario final con el programador o con un analista para determinar cuál será el sistema correcto identificando los requisitos clave del sistema y del software.
La fase de desarrollo consiste en definir como se debe diseñar la estructura de datos del software y en como se debe implementar. Finalmente esta fase se da por finalizada una vez acabadas las tareas de depuración de errores.
La fase de mantenimiento pretende cambiar el programa durante su vida útil adaptándolo, mejorándolo, corrigiendo y previendo en la medida de lo posible errores futuros.
En el momento de plantear el problema durante la fase de definición se pueden aplicar diferentes modelos de proceso de software, estos sirven para poder incorporar una estrategia al proceso que sea capaz de adaptar las necesidades del consumidor al proceso de desarrollo. Se pueden definir cuatro modelos principales.
Modelo de desarrollo de software lineal secuencial
sigue un enfoque sistemático en el que el análisis, diseño del código y la prueba del programa se realizan paso por paso, en él el cliente determina todas sus necesidades y se consigue finalmente un programa totalmente acabado. Este modelo no ha sido muy útil porque el cliente no sabe en muchos casos que quiere exactamente y porque no se puede tener una versión intermedia del programa, es decir, el cliente debe esperarse a que el proyecto esté acabado al 100%.
Modelo de construcción de prototipos
Este modelos e basa en que se hace primero un diseño rápido del problema mostrando una primera parte visible y no acabada al cliente, con esto se crea un prototipo que el consumidor evalúa y gracias a esto se determinan los cambios a hacer en el proyecto definitivo.
Modelo DRA o de desarrollo rápido de aplicaciones
Este modelo se basa en un ciclo de vida del programa muy corto aunque teniendo un proceso de adaptación muy rápido ya que está formado por componentes de código prefabricados para otros programas.
Modelos evolutivos del proceso de software
Estos modelos se basan en que el software va evolucionando a lo largo del tiempo y se van desarrollando nuevas versiones más completas y eficientes. Dentro de este modelo se puede destacar el modelo incremental que va aumentando las prestaciones del programa durante su vida útil. Por tanto se crea un primer programa muy limitado rápidamente y se le van añadiendo prestaciones a lo largo del tiempo.