Bitacora de un programador #1: Introducción al lenguaje de programación

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@josecarrerag·
0.000 HBD
Bitacora de un programador #1: Introducción al lenguaje de programación
<div class="text-justify">Un saludo steemians, como amante de la programación y la tecnología, he decido comenzar una serie de publicaciones para que aprendemos juntos muchos aspectos relacionados a la programación. Espero que me puedas acompañar en cada una de estas entregas y formes parte de uno de los aspectos esenciales en las carreras del futuro.</div><br/>

# <center><div class= "phishy">¿Que es la programación?</div></center>

<center>https://cdn.pixabay.com/photo/2016/09/08/04/12/programmer-1653351_960_720.png</center>
[Fuente](https://pixabay.com/es/programador-programaci%C3%B3n-c%C3%B3digo-1653351/)
<br/>

<div class="text-justify">La programación es un proceso en el cual se escribe, define, depura, codifica, entre otros, el código fuente de programas que utilizamos en nuestra computadora. Este código se escribe en determinado lenguaje de programación. La finalidad de estos programas es realizar una función o comportamiento deseado para suplir determinada necesidad en nuestros ordenadores o sistemas. Para comprender este concepto mas a fondo, es necesario hablar de los tipos de lenguaje de programación:</div><br/>


## <center><div class= "phishy"> Lenguaje de maquina</div></center>

<center>https://cdn.pixabay.com/photo/2015/09/16/09/48/programming-942487_960_720.jpg</center>
[Fuente](https://pixabay.com/es/programaci%C3%B3n-lenguaje-de-computaci%C3%B3n-942487/)

<br/>

<div class="text-justify">El lenguaje de máquina, es aquel que puede ser interpretado directamente por los circuitos internos del computador, debido a que esta basado en instrucciones compuestas por secuencias de 1 y 0, es decir, en numeración binaria.</div>

<br/>

### <center><div class= "phishy">¿Qué ventajas tiene el lenguaje de maquina?</div></center>

<br/>

- No necesita ser traducido debido a que la maquina lo entiende
- Opera directamente en la máquina, y
- Puede llegar a ser muy eficiente en el manejo de recursos.

<br/>

### <center><div class= "phishy">Hablemos de sus desventajas:</div></center>

<br/>

- Extremadamente difícil de aprender, implementar y manejar, y
- Es único y particular para cada proceso.

<br/>

## <center><div class= "phishy">Lenguaje de bajo nivel</div></center>

<center>https://cdn.pixabay.com/photo/2016/08/02/11/13/graphic-design-studio-1563080_960_720.jpg</center>
[Fuente](https://pixabay.com/es/estudio-de-dise%C3%B1o-gr%C3%A1fico-tracfone-1563080/)

<br/>

<div class="text-justify">El lenguaje de bajo nivel, también conocido como lenguaje ensamblador, es un lenguaje utilizado por el programador en la codificación de sentencias simbólicas, que un compilador puede convertir en instrucciones de lenguaje de máquina, o en otras palabras, llevar las sentencias a 0 y 1.</div><br/>

### <center><div class= "phishy">¿Qué ventajas tiene el lenguaje de bajo nivel?</div></center>

<br/>

- No es tan complicado como el lenguaje de máquina, y
- Es eficiente en el manejo de los recursos.

<br/>

### <center><div class= "phishy">Hablemos de sus desventajas:</div></center>

<br/>

- Cada procesador tiene su propio juego de instrucciones, y
- Debe ser traducido.

<br/>

## <center><div class= "phishy">Lenguaje de alto nivel</div></center>

<center>https://cdn.pixabay.com/photo/2014/06/13/00/16/figure-367946_960_720.png</center>
[Fuente](https://pixabay.com/es/figura-bosquejo-un-dibujo-animado-367946/)

<br/>

<div class="text-justify">El lenguaje de alto nivel, es un lenguaje de programación orientado al problema o procedimientos. Se puede decir que este lenguaje es cercano al idioma humano.</div><br/>

<br/>

### <center><div class= "phishy">¿Qué ventajas tiene el lenguaje de alto nivel nivel?</div></center>

<br/>

- Son independientes del procesador
- Son mas fáciles de aprender, implementar y mantener, y
- Tiene un carácter genérico.

<br/>

### <center><div class= "phishy">Hablemos de sus desventajas:</div></center>

<br/>

- Son menos eficientes en el manejo de los recursos, y
- Requieren de un proceso de traducción o combinación.

<br/>

<div class="text-justify">En los lenguajes de programación de alto nivel, la palabra combinar, se refiere a traducir un programa escrito, en lenguaje de alto nivel, a un programa en lenguaje de máquina. El lenguaje de maquina es la forma en que la computadora puede ejecutar directamente las acciones o instrucciones. </div><br/>

<div class="text-justify">Una instrucción de alto nivel, se combina o traduce en muchas instrucciones de lenguaje de máquina. Este proceso se puede descomponer en 2 partes:</div><br/>

<div class= "phishy">1.- Compilar:</div> En este proceso, se traduce las instrucciones de alto nivel para producir lo que se denomina el código objeto, y<br/>

<div class= "phishy">2.- Enlazar:</div> cosiste en tomar el código objeto generado y cualquier otro código objeto que sea requerido y que haya sido previamente generado, para que el programa este completo. Esto da como resultado el programa ejecutable o código ejecutable.

<br/>
<center>https://cdn.pixabay.com/photo/2018/01/12/16/45/code-3078609_960_720.jpg</center>
[Fuente](https://pixabay.com/es/c%C3%B3digo-programaci%C3%B3n-el-amor-equipo-3078609/)

<div class="text-justify">

Llegado a este punto, es importante hablar sobre los tipos de **datos** que pueden ser utilizados en la programación. Para ellos, definamos primeramente que es un dato.</div><br/>

<div class="text-justify"> 

Un **dato**, es cualquier objeto o elemento de información que se usa a lo largo de diversas operaciones dentro de un programa o fragmentos de este. Los datos son elementos sobre los que se pueden operar cuando se efectúa una ejecución de una instrucción dentro de un programa en el computador.</div><br/>

<div class="text-justify">

Un **dato** tiene un nombre que lo identifica y lo distingue de los demás elementos del programa. El nombre no es mas que otra forma de referenciar la dirección de memoria que ocupa el dato. Cuando se trabaja con el nombré del dato, lo que en verdad hacemos es trabajar con el valor que se encuentra en esa dirección de memoria.</div><br/>

Los tipos de datos pueden ser:

- **Datos primitivos:** son los predefinidos por el sistema, y
- **Datos definidos por el usuario:** son aquellos datos agregados por el programador.

Dentro de los datos primitivos tenemos los siguientes:

- **Los numérico:** pueden ser enteros, reales o lógicos
- **Los lógicos o booleanos:** son aquellos que pueden tomar solamente uno de los dos valores, es decir, el valor 1 para definir verdadero y el valor 0 para definir falso, y
- **De caracteres:** este tipo de datos abarca el conjunto finito y ordenado de caracteres que reconoce el computador. Estos caracteres pueden ser letras, dígitos, caracteres especiales. Podemos decir que son todos los caracteres y símbolos disponibles en el teclado.

<center>https://cdn.pixabay.com/photo/2017/01/16/07/22/keyboard-1983410_960_720.jpg</center>
[Fuente](https://pixabay.com/es/teclado-equipo-botones-1983410/)

Existen muchos lenguajes de alto nivel que podemos mencionar, algunos de ellos son: 

- Lenguaje C/C++
- PHP
- JAVA
- Python
- PASCAL
- Ruby
- BASIC
- MATLAB

<div class="text-justify">En el siguiente segmento, estaremos hablando del lenguaje C++, su taxonomía, los tipos de datos que acepta, las bibliotecas, lo operadores, los formatos de entradas y salidas de texto, algunas funciones y códigos de muestra. Te espero en la siguiente bitácora de un programador y seguir aprendiendo más sobre los lenguajes de programación.

<br/>

**Material bibliográfico consultado para esta publicación:**

- *Aguilar, J. (2005). Fundamentos de Programación. Mexico. Mc Graw Hill.*
- *García, J.(2005).Una introducción a la programación. España. Cengage Learning Editores.*
- *Joyanes Aguilar Luis (1986). Metodología de la Programación. Editorial Mc Graw Hill.*
- *Lewis-Smith(1985). Estructura de Datos. Editorial Paraninfo.*

Nota: las imágenes fueron tomadas del banco de imágenes gratuitas que ofrece https://pixabay.com cumpliendo con el CCO para el dominio público.
___________________________________________________________________________________________________
<div class="pull-right"><img src=https://steemitimages.com/0x0/https://steemitimages.com/DQmVzDYH2Cb7uKKXwzUx8QLTfmt6y5Passmt7aLsd8G9rLG/Imagen1.jpg></div>
<div class="text-justify">Mi nombre es José Gutierrez, Soy ingeniero en telecomunicaciones, trabajo como freelancer en el desarrollo de contenido en ciencias de computación. 
Gracias por leer</div>


___________________________________________________________________________________________________
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,