Está en la página 1de 6

APUNTES BÁSICOS DE PROGRAMACIÓN

1. Lenguajes de Programación

Concepto de lenguaje de programación:


Lenguaje artificial que se utiliza para
expresar programas de ordenador.

Cada ordenador, según su diseño de


hardware, ‘entiende’ un cierto conjunto
de instrucciones elementales (lenguaje
máquina). No obstante, para facilitar la
tarea del programador, se dispone
también de lenguajes de alto nivel más
fáciles de manejar y que no dependen del
diseño específico de cada ordenador. Los
programas escritos en un lenguaje de alto
nivel no podrán ser ejecutados por un
ordenador mientras no sean traducidos al
lenguaje propio de éste.

Para definir un lenguaje de programación es necesario especificar: Conjunto de símbolos y palabras clave
utilizables y las reglas gramaticales para construir sentencias (instrucciones, ordenes) sintáctica y
semánticamente correctas.

2. Desarrollo de software

Una vez construido el código fuente del programa, debemos compilarlo para que sea posible ejecutarlo a
través de un sistema operativo, que es el elemento de unión del usuario con la máquina. Todas las
aplicaciones se ejecutan en un sistema operativo que les sirve de base.

Por lo tanto, es importante considerar en qué Sistema Operativo ejecutaremos nuestro programa. Hay
lenguajes sólo para plataformas Windows (C#, VisualBasic, ASP, etc), para iOS (Objetive-C, Swift, etc),
para Linux (Shell Script, etc) o multiplataforma (Java, PHP, R, C, Python, etc).

2.1 El IDE

En el proceso de desarrollo usamos un programa informático, un IDE (Entorno de


Desarrollo Integrado, por sus siglas en español) es una herramienta de software que
proporciona un conjunto completo de características y herramientas para el desarrollo
de software en un solo entorno unificado. Está diseñado para facilitar y mejorar el flujo
de trabajo del programador al ofrecer:

• Editor de Código: Permite escribir, editar y formatear el código fuente con resaltado de sintaxis y
funcionalidades como autocompletado para facilitar la escritura.
• Depurador (Debugger): Facilita la identificación y corrección de errores en el código mediante la
ejecución paso a paso, establecimiento de puntos de interrupción y visualización de variables.
• Gestión de Proyectos: Ofrece herramientas para organizar y gestionar proyectos de desarrollo de
software, incluyendo la capacidad de trabajar con múltiples archivos y estructuras de carpetas.
• Compilación/Interpretación: Algunos IDEs pueden compilar automáticamente el código a lenguaje
de máquina o interpretarlo, compilación línea a línea, según el lenguaje de programación utilizado.
• Integración con Herramientas Externas: Puede integrar herramientas de control de versiones,
gestión de bases de datos, pruebas unitarias y otras utilidades que son útiles para el desarrollo de
software.
• Ayuda y Documentación: Proporciona acceso rápido a la documentación del lenguaje, sugerencias de
código y otras ayudas contextuales para facilitar el desarrollo.

Algunos ejemplos populares de IDEs incluyen Visual Studio,


Eclipse, NetBeans (para múltiples lenguajes), IntelliJ
IDEA (para Java), PyCharm (para Python) y muchos más.
Estas herramientas son fundamentales para muchos
programadores, ya que brindan un entorno completo y
eficiente para el desarrollo de software.

2.2. Etapas del proceso básico de desarrollo

1. Edición

En esta etapa se obtiene el código fuente, escribiendo en un editor, que


puede o no formar parte del programa compilador, el programa en un Edición código fuente
lenguaje de programación generalmente de alto nivel. A continuación, se
guarda en algún dispositivo de almacenamiento para su uso en la siguiente
compilado
etapa.

2. Compilación
Código máquina > CPU
Esta es la etapa pura de traducción del código fuente a código máquina o
programa objeto, si no se produce ningún error en dicho proceso. En caso Linkado
de errores, el compilador emite una serie de mensajes que ayudan al Biblioteca S.O.
programador a corregirlos, para proceder nuevamente a la compilación.
Programa Ejecutable
Un traductor es un programa que toma como entrada un programa escrito
en un lenguaje fuente y lo transforma en un programa escrito en lenguaje
máquina. El proceso de conversión se denomina traducción, que puede realizarse de dos formas diferentes:

Intérprete: Es un programa que toma como entrada un programa escrito en lenguaje fuente y lo va
traduciendo y ejecutando instrucción por instrucción (de una en una).

Compilador: Es un programa que toma como entrada un programa fuente y genera un programa equivalente
llamado código máquina o código objeto.

3. Linkado

El programa obtenido en la etapa anterior (programa objeto) debe ser montado o linkado, uniendo el
programa objeto con las funciones de librería que en él se han referenciado o enlazando módulos para
conseguir el programa ejecutable.
4. Ejecución

Esta última etapa consiste en la llamada, por parte del sistema operativo, del programa ejecutable. De esta
forma el usuario o sistema, a partir de unos datos de entrada, obtendrá los resultados correspondientes.

3. Paradigmas de programación

Un paradigma de programación es un estilo de desarrollo de programas. Es decir, un modelo para resolver


problemas computacionales. Los lenguajes de programación, necesariamente, se encuadran en uno o varios
paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación
directa con su sintaxis.
¿Cuáles son los principales paradigmas de programación?

Estructurada. Los programas se componen de un conjunto de sentencias que cambian su estado. Son
secuencias de comandos que ordenan acciones a la computadora. De forma secuencial: una instrucción
detrás de otra y en orden.

Reactiva. El problema se modela con enunciados de lógica de primer orden. En este caso, un programa
consiste en declarar una serie de hechos (elementos conocidos, relación de objetos concretos) y reglas
(relación general entre objetos que cumplen unas propiedades).

Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento que


reciben un conjunto de datos de entrada y devuelven un valor de salida. Un programa es una función que se
define por composición de funciones más simples.

Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que
representan elementos del problema a resolver y tienen atributos y comportamiento.

Un lenguaje de programación orientado a objetos (LOO) puede ser tanto imperativo como funcional o
estructurado. Lo que caracteriza un LOO es la forma de manejar la información que está basada en tres
conceptos:

• Clase.- Tipo de dato con unas determinadas propiedades y una determinada funcionalidad (ejemplo: clase
‘persona’).

• Objeto.- Entidad de una determinada clase con un determinado estado (valores del conjunto de sus
propiedades) capaz de interactuar con otros objetos (ejemplos: ‘Pedro’, ‘Sonia’, ...).

• Evento.- Desarrollo lógico programado para un determinado objeto.

4. Conceptos básicos: algoritmo y programa.

Algoritmo: Conjunto de instrucciones que especifican la secuencia ordenada de operaciones a realizar para
resolver un problema. En otras palabras, un algoritmo es un método o fórmula para la resolución de un
problema. Un algoritmo es independiente tanto del lenguaje de programación en que se exprese como del
ordenador en el que se ejecute.
Programa: Secuencia de operaciones especificadas en un determinado lenguaje de programación, cada una
de las cuales determina las operaciones que debe realizar el ordenador para la resolución de un problema.
Se trata pues de una implementación concreta (en un tipo de ordenador concreto y con un lenguaje de
programación concreto) de un algoritmo diseñado con anterioridad.

5. Pasos para la realización de un programa.

• Análisis del problema.

• Diseño o desarrollo de un algoritmo y posible empleo de metodología de fragmentación.

• Transformación del algoritmo en un programa (codificación).

• Ejecución y validación del programa, comprobamos su correcto funcionamiento.

• Distribución en formato ejecutable y empleo.

6. Metodologías de desarrollo de software.

Enfoque Top-Down: También conocida como de arriba-abajo y consiste en establecer una serie de niveles
de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una
relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se
relacionen mediante entradas y salidas de información. La utilización de la técnica de diseño Top-Down
tiene los siguientes objetivos básicos: Simplificación del problema y de los subprogramas de cada
descomposición, las diferentes partes del problema pueden ser programadas de modo independiente e
incluso por diferentes personas y conseguir que el programa final quede estructurado en forma de bloque
o módulos lo que hace más sencilla su lectura y mantenimiento.

7. Ciclo de vida del software.

El término ciclo de vida del software describe el desarrollo


de software, desde la fase inicial hasta la fase final. El
propósito de esta definición es precisar las distintas fases
intermedias que se requieren para validar el desarrollo de la
aplicación, es decir, para garantizar que el software cumpla
los requisitos para la aplicación y verificación de los
procedimientos de desarrollo.

Estos programas se originan en el hecho de que es muy


costoso rectificar los errores que se detectan tarde dentro
de la fase de implementación. El ciclo de vida permite que los
errores se detecten lo antes posible y, por lo tanto, permite
a los desarrolladores concentrarse en la calidad del software,
en los plazos de implementación y en los costos asociados.

El ciclo de vida básico de un software consta de los siguientes procedimientos:

✓ Definición de objetivos: define la finalidad del proyecto y su papel en la estrategia global.


✓ Análisis de los requisitos y su viabilidad: recopila, examina y formula los requisitos del cliente y
examina cualquier restricción que se pueda aplicar.
✓ Diseño general: requisitos generales de la arquitectura de la aplicación.
✓ Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
✓ Programación (programación e implementación): implementación de un lenguaje de programación para
crear las funciones definidas durante la etapa de diseño.
✓ Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se
implementaron de acuerdo con las especificaciones.
✓ Integración: garantiza que los diferentes módulos se integren con la aplicación. Este es el propósito
de la prueba de integración que está cuidadosamente documentada.
✓ Prueba beta (o validación): garantiza que el software cumple con las especificaciones originales.
✓ Documentación: sirve para documentar información necesaria para los usuarios del software y para
desarrollos futuros.
✓ Implementación del producto final.
✓ Mantenimiento: comprende todos los procedimientos correctivos (mantenimiento correctivo) y las
actualizaciones secundarias del software (mantenimiento continuo).
✓ El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación
dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

8. Control de versiones.

Un control de versiones una herramienta para el desarrollo de software que facilita principalmente dos
funciones: Ayuda a que varios programadores pueden trabajar en paralelo y permite mantener varias
versiones de un mismo programa a la vez. (De ahí “control de versiones”)

También podría gustarte