Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Jhesua Alcalá Castro

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

-Jhesua Alcalá Castro- -217585541-

Programación estructurada

La programación es una disciplina que se basa en diferentes


lenguajes. Cada uno de estos lenguajes tiene características únicas
que lo diferencian del resto, y estas características los hacen más
adecuados para una tarea u otra. En este artículo te contaremos los
principales tipos de lenguaje de programación que existen y
diferentes ejemplos de cada uno de ellos con una explicación sobre
sus usos y particularidades.

Tipos de lenguajes de programación.


1. Lenguajes de bajo nivel
Lenguaje máquina
Este lenguaje de programación es el más antiguo que existe. El
lenguaje máquina es el único que comprenden los ordenadores.
Cualquier código redactado mediante lenguajes alternativos debe
ser convertido a lenguaje máquina para que un ordenador pueda
leerlo.
El lenguaje máquina se basa en el código binario, es decir, se
escribe a base de 0 y 1. Aprender lenguaje máquina es algo muy
complejo y no es útil para la creación de programas o webs. Es por
esto que se han creado los demás lenguajes de bajo nivel, para
poder redactar código de manera sencilla que puede ser convertido
en lenguaje máquina a través de un ensamblador.
Lenguaje ensamblador
Los lenguajes de bajo nivel están muy relacionados con el lenguaje
máquina. Ambos tipos de lenguaje tienen como objetivo ser
comprendidos por un ordenador. La única diferencia es que los
lenguajes ensambladores están hechos para ser escritos por
humanos de manera sencilla. Pese a esto, tiene que ser traducido
por un programa conocido como Ensamblador para que los
ordenadores puedan comprenderlo.
En definitiva, el lenguaje ensamblador tiene las mismas funciones
que el lenguaje máquina, pero está diseñado para poder ser escrito
y comprendido con facilidad por los humanos. Los códigos son
mucho más cortos e intuitivos y, además, tienden a ocupar mucho
menos memoria.
2. Lenguajes de medio nivel
Los lenguajes de nivel medio tienden a ser clasificados como
lenguajes de bajo nivel porque siguen dependiendo de
ensambladores para poder ser comprendidos por los ordenadores.
Pese a esto, permiten llevar a cabo tareas mucho más complejas
que los lenguajes de bajo nivel como el uso de funciones. Aun así,
muchas tareas deben ser llevadas a cabo de manera manual,
aunque hay que destacar que permiten los algoritmos de búsqueda
y ordenamiento a diferencia de otros lenguajes de alto nivel.
En ese sentido, los lenguajes de medio nivel están orientados hacia
la programación de sistemas, por lo que no son adecuados para
tareas como el diseño web. Los lenguajes de medio nivel más
conocidos son C y C++.
3. Lenguajes de alto nivel
Los lenguajes de alto nivel son los más adaptados al lenguaje
humano, por lo que son los más sencillos de aprender en términos
generales. Como los de medio nivel, tienen que ser traducidos a
lenguaje máquina para poder ser ejecutados por un ordenador.
Pese a esto, debido a las modificaciones del lenguaje en relación al
código máquina, los ensambladores no son útiles para esto. Los
lenguajes de alto nivel se adaptan al código máquina a través de
traductores y compiladores, dependiendo de si se requiere una
ejecución más rápida o menos.
Actualmente, la gran mayoría de lenguajes de programación
existentes son de alto nivel, a excepción de C y C++.

Tipos de lenguaje que puede manejar


una computadora.
1. C
Es el lenguaje de nivel medio más usado. Esto se debe a que es un
lenguaje muy claro e intuitivo una vez se ha aprendido a usar. El
lenguaje C se utiliza esencialmente para el desarrollo de software y
la creación de aplicaciones de escritorio.
2. C++
Es una variante del lenguaje C, con un mayor nivel de desarrollo.
Pese a esto, sus funcionalidades están adaptadas para ser más
adecuado para el diseño de aplicaciones y software de mayor
complejidad y, además, permite implementar patrones de diseño
en el código. Es por esto que es un lenguaje muy utilizado en el
campo del diseño gráfico.
3. Java
Es el lenguaje más utilizado a nivel global debido a tres factores: su
solidez, facilidad de aprendizaje y redacción y el respaldo de una
comunidad muy extensa. Además de esto, es un lenguaje que
puede emplearse para una gran cantidad de tareas: puede usarse
para diseño web, tanto Frontend como Backend, en la creación de
aplicaciones móvil, aplicaciones de escritorio, servidores… En
definitiva, es un lenguaje que permite la creación de casi cualquier
tipo de software.
4. Python
Python es un lenguaje relativamente moderno y diseñado para ser
de propósito general. Puede ser usado para prácticamente
cualquier tarea que requiera un lenguaje de programación. Diseño
web, creación de aplicaciones, bases de datos, automatización de
tareas… Es un lenguaje muy versátil que soporta diferentes
paradigmas y plataformas. Además de esto, es uno de los lenguajes
más sencillos de aprender, con una sintaxis muy similar al inglés.
5. JavaScript
Como es de suponer, es una variación del lenguaje Java, y está
diseñado para ser utilizado en el ámbito del diseño web. Una de las
características de JavaScript es que es adecuado tanto para el
desarrollo Frontend como Backend. Esto se debe a que permite
tanto la relación de la página con bases de datos y con el servidor
como la inserción de elementos interactivos dentro de la página.
6. Visual Basic
Es un lenguaje desarrollado para Microsoft, y tiene como objetivo
permitir la creación de aplicaciones orientadas a Windows. Una de
las ventajas de Visual Basic es que su framework más popular,
Visual Studio, permite trabajar de manera simultánea con Visual
Basic, Visual C++ y Visual C#, lo que permite crear aplicaciones de
muy alta complejidad en un mismo sitio. Además, es un lenguaje
muy sencillo de aprender, aunque para poder emplear Visual
Studio es necesario dominar también C++ y C#, dos lenguajes
mucho más complejos.
7. Go
Go es el lenguaje de programación de Google, y está desarrollado
para ser una mezcla de diferentes lenguajes: tiene una sintaxis muy
similar a C, busca ser multiusos como Python pero con un
rendimiento similar al de C++. En definitiva, Google ha tratado de
mezclar las partes buenas de tres lenguajes diferenciados en uno
que tiene como objetivo facilitar el desarrollo de aplicaciones web
de alto nivel. Esto se debe a que es un lenguaje muy ligero, por lo
que las aplicaciones desarrolladas con Go tienen un rendimiento
muy bueno.
8. Ruby
Ruby es un lenguaje de programación orientado a objetos. Es un
lenguaje muy intuitivo (aunque difícil de aprender) y que evita la
duplicidad de código. Es por esto que programar con Ruby una vez
se domina el lenguaje acelera mucho el proceso de programación.
Ruby está diseñado para facilitar la creación de aplicaciones y
agilizar el procesamiento de datos en desarrollo Backend.
9. PHP
PHP es un lenguaje orientado hacia el diseño Backend de páginas
web. Es muy adecuado porque es perfectamente compatible con
HTML y, además, facilita la conexión entre la interfaz y el servidor
de la página. PHP trabaja únicamente en la parte del servidor y se
encarga de dar respuesta a las peticiones del usuario. Es por esto
que cualquier desarrollador Backend necesita dominar PHP.
10. SQL
SQL es un lenguaje diseñado para facilitar la administración de
diferentes bases de datos. No sólo permite conectar determinadas
bases de datos con fuentes de datos, sino que también facilita su
organización y actualización. Además de esto, SQL cuenta con la
ventaja que puede integrarse dentro de otros lenguajes de
programación, permitiendo añadir funcionalidades en diferentes
programas.

¿Qué es un paradigma de
programación?
Un paradigma de programación es una manera o estilo de
programación de software. Existen diferentes formas de diseñar un
lenguaje de programación y varios modos de trabajar para obtener
los resultados que necesitan los programadores. Se trata de un
conjunto de métodos sistemáticos aplicables en todos los niveles
del diseño de programas para resolver problemas computacionales.
Los lenguajes de programación adoptan uno o varios paradigmas en
función del tipo de órdenes que permiten implementar como, por
ejemplo, Python o JavaScript, que son multiparadigmas.
Paradigma imperativo
Los programas consisten en una sucesión de instrucciones o
conjunto de sentencias, como si el programador diera órdenes
concretas. El desarrollador describe en el código paso por paso
todo lo que hará su programa.
Algunos lenguajes: Pascal, COBOL, FORTRAN, C, C++, etc.
Otros enfoques subordinados al paradigma de programación
imperativa son:
Programación estructurada: La programación estructurada es un
tipo de programación imperativa donde el flujo de control se define
mediante bucles anidados, condicionales y subrutinas, en lugar de a
través de GOTO.
Programación procedimental: Este paradigma de programación
consiste en basarse en un número muy bajo de expresiones
repetidas, englobarlas todas en un procedimiento o función y
llamarlo cada vez que tenga que ejecutarse.
Programación modular: consiste en dividir un programa en
módulos o subprogramas con el fin de hacerlo más manejable y
legible. Se trata de una evolución de la programación estructurada
para resolver problemas de programación más complejos.
Paradigma declarativo
Este paradigma no necesita definir algoritmos puesto que describe
el problema en lugar de encontrar una solución al mismo. Este
paradigma utiliza el principio del razonamiento lógico para
responder a las preguntas o cuestiones consultadas.
Este paradigma a su vez se divide en dos:
Programación Lógica: Prolog
Programación funcional: Lisp, Scala, Java, Kotlin
Programación orientada a objetos
En este modelo de paradigma se construyen modelos de objetos
que representan elementos (objetos) del problema a resolver, que
tienen características y funciones. Permite separar los diferentes
componentes de un programa, simplificando así su creación,
depuración y posteriores mejoras. La programación orientada a
objetos disminuye los errores y promociona la reutilización del
código. Es una manera especial de programar, que se acerca de
alguna manera a cómo expresaríamos las cosas en la vida real.
Podemos definir un objeto como una estructura abstracta que, de
manera más fiable, describe un posible objeto del mundo real y su
relación con el resto del mundo que lo rodea a través de interfaces.
Ejemplos de lenguajes de programación orientados a objetos serían
Java, Python o C#.
La programación orientada a objetos se sirve de diferentes
conceptos como:
-Abstracción de datos
-Encapsulación
-Eventos
-Modularidad
-Herencia
-Polimorfismo
Programación reactiva
Este paradigma se basa en escuchar lo que emite un evento o
cambios en el flujo de datos, en donde los objetos reaccionan a los
valores que reciben de dicho cambio. Las librerías más conocidas
son Project Reactor, y RxJava. React/Angular usan RxJs para hacer
uso de la programación reactiva.

Pasos para crear un programa


1. Planificación y recopilación de requisitos
El cliente describe un problema que hay que resolver, lo que sirve
de base para completar el resto de requisitos del software. Los
documentos de requisitos se generan a partir de los datos
obtenidos del cliente y los usuarios (si es necesario) para garantizar
que el equipo de desarrollo entiende lo que está creando. Si está
externalice su proyecto de software. Este es el paso que no debes
saltarte.
2. Diseñar
Esta es la segunda etapa del ciclo de vida del desarrollo de
software, que implica el desarrollo de la arquitectura, los
prototipos y el diseño de la experiencia del usuario. He aquí un
rápido resumen de lo que implica esta etapa:
-Arquitectura de software: Se refiere al proceso de establecer una
cadena ordenada de elementos en un programa de software para
el control de calidad, la legibilidad y la accesibilidad. Se puede
pensar en la arquitectura del software como el plano del equipo de
desarrollo.
-Prototipo: El equipo de interfaz de usuario/experiencia de usuario
(UI/UX) del software crea una edición prototipo del programa para
verificar su aspecto y el flujo de los elementos de diseño del
software. Permite al equipo y a las partes interesadas imaginarse el
aspecto visual del software.
3. Desarrollar
La siguiente etapa es la fase de codificación, en la que los
desarrolladores de software trabajan para hacer realidad su idea.
Los desarrolladores de software escriben KLOC (miles de líneas de
código) en lenguajes de programación con los que están
familiarizados. El objetivo del equipo de desarrollo es aumentar la
velocidad de los desarrolladores manteniendo una alta calidad.
El equipo de desarrollo de software puede optar por lanzar el
programa de una sola vez, como se hace en el desarrollo en
cascada, o puede dividirlo en partes (segmentos) y entregarlas por
separado (enfoque ágil). Una vez completado el código, el equipo
de desarrollo lo entrega al equipo de pruebas para su evaluación.
4. Pruebas y garantía de calidad
Esta etapa del proceso de desarrollo de aplicaciones se ocupa de
validar el código escrito en busca de fallos y otras anomalías. Es
entonces cuando se realizan las pruebas y equipo de control de
calidad colabora para verificar y notificar errores al equipo.
El equipo de pruebas puede utilizar métodos prácticos o pruebas
automatizadas (en función de sus habilidades y del procedimiento
establecido). En este caso, los probadores y el equipo trabajan
juntos para garantizar una entrega de software sin problemas.
5. Despliegue
Después de crear el software, probarlo, modificarlo, volverlo a
probar y certificarlo en condiciones de producción, pasa a
desplegarse en el entorno de producción. Si se utiliza el Enfoque
ágil del SDLCEl desarrollo y el despliegue pueden referirse a la
introducción del MVP y otras características.
Sin embargo, cuando se trata de Waterfall, el despliegue se refiere
a la introducción de un producto totalmente operativo en el
mercado. Si los usuarios encuentran un problema con el programa,
éste vuelve al equipo de software para que lo reconsidere y lo
repare.
6. Mantenimiento
Es probable que surjan nuevas normas a medida que nuevas
tecnologías y las necesidades de los usuarios cambian. El sitio
equipo de desarrollo de software debe completar cada etapa del
ciclo de vida del desarrollo de software para abordar el nuevo
cambio para cumplir con estas normas.

En general, se refiere al hecho de que los programas informáticos


requieren actualizaciones periódicas, que deben gestionarse para
que su propuesta de valor siga siendo válida.
TAMAÑO EN
TIPO RANGO o PRECISIÓN<b< td=""></b<>
BITS

char 8 -128 a 127 (Se emplea para representar números


pequeños con signo y caracteres de tabla ASCII)

unsigned 0 a 255 (Se emplea para representar números pequeños sin


8
char signo y caracters de la tabla ASCII extendida)

short /
16 -32,768 a 32,767
short int

unsigned
16 0 a 65,535
short

int 32 2,147'483,648 a 2,147'483,647

unsigned
32 0 a 4,294'967,295
int

long 32 -2,147'483,648 a 2,147'483,647(Este tipo


de dato quedó en desuso cuando los tipos int pasóa tener 32 bits)

unsigned 0 a 4,294'967,295(Este tipo de dato quedó en


32
long long desuso cuando los tipos int pasóa tener 32 bits)

long -9'223,372'036,854'775,808 a
64 9'223,372'036,854'775,807(Este tipo de dato
long
quedó en desuso cuando los tipos int pasóa tener 32 bits)

unsigned 0 a 18'446,744'073,709'551,616(Este tipo


32
long de dato quedó en desuso cuando los tipos int pasóa tener 32 bits)

3.4 x 10-38 a 3.4 x 1038 (11 dígitos


float 32
signif.)

1.7 x 10-305 a 1.7 x 10308 (15 dígitos


double 64
signif.)

long 3.4 x 10-4932 a 1.1 x 104932 (19 dígitos


80
double signif)

bool 8 false / true


Operador Nombre Ejemplo Significado

^ Exponenciación x^y x elevado a y

* Multiplicacion x*y x multiplicado por y

/ División x/y x dividido entre y

resto de la división
% Modulo o resto x%y
x/y

+ Suma x+y x más y

– Resta x-y x menos y


Bibliografía.
Miriam Martínez Canelo
Marketing & Communications Manager en Profile. Inmersa en el
mundo digital escribió sobre Tecnología y Marketing Digital.
Juan Francisco Solano Pérez
Full Stack Developer | JavaScript | React | Bootstrap | Express |
NodeJS | MongoDB | Sofware developer
Joe SILK
Consultor de Start-ups, Copywriter y Propietario de Negocios con 9
años de experiencia profesional.

También podría gustarte