Programación

🖥

20200502135841 w

Referenciada en:

Qué es el código

El código es el lenguaje que la máquina entiende.

Para que una máquina pueda entenderlo se necesita de un compilador que vaya “leyendo” carácter a carácter.

print {Hello nerds}

Fuente e imágen: Qué es el código, Bloomberg

20200325210700 w

Referenciada en:

Línea de comandos

La línea de comandos es una de las herramientas y aliados más útiles de los desarrolladores.

Accedemos a ella a través de la terminal, que nos permite usar lo que se denomina bash shell

¿Qué es el bash shell?

Para entender lo que es el bash shell primero hemos de enteder lo que es el shell

La imagen siguiente ilustra muy bien lo que es el Shell.

20200711173936 w

Referenciada en:

Lenguajes compilados

Un lenguaje compilado, es un lenguaje cuyo código ha de ser traducido a través de un compilador, transformando el texto en una serie de instrucciones de bajo nivel que el computador pueda entender.

Esta traducción ha de hacerse antes de que el programa pueda ser ejecutado y hacer las cosas que se suponen puede hacer.

20200326134200 w

Referenciada en:

Clasificación por tipado

Hay varias maneras de clasificar los lenguajes de programación, entre ellas su tipado. Un lenguaje de programación de tipado fuerte es un lenguaje que no permite el uso de una variable de un tipo específico como si fuera de otro.

var age = "27"
var x = age + 1 // Error de compilación: age es un "string"
20200325210800 w

Referenciada en:

Tablas de decisiones

La elaboración de las tablas de decisiones es una de las etapas de la realización de un proyecto.

Consiste en listar todas las acciones posibles respecto a las condiciones existentes.

Por ejemplo, si estamos desarrollando una aplicación e-commerce de venta, más concretamente la parte de la aplicación que se encarga de los envíos.

Tenemos las siguientes condiciones y acciones:

  1. Para un usuario que esté en un radio de 20 km y haya hecho un pedido de 800€ el envío sera gratuito. Sino, le costará 30€.
  2. Para un usuario que esté en un radio mayor a 20km y haya hecho un pedido de menos de 800€ el envío costará 50€, sino costará 30€.

Una vez establecidas las condiciones podemos pasar a la etapa siguiente.

Análisis

Posibilidades:

  1. Un radio ≥ 20km o ≤ 20km
  2. Un pedido ≥ 800€ o ≤ 800€

Escoger condiciones

El siguiente paso será escoger para cada caso una sola condición. Las podemos escoger a nuestro gusto de forma arbitraria mientras no cambiemos de condición posteriormente

Para este ejemplo vamos a coger la siguiente condición:

  • Radio ≤ 20km
  • Total ≥ 800€

Construir la tabla

Para construir la tabla hemos de listar en una columna las condiciones en orden descendiente con respecto a su importancia.

Igualmente deberemos crear una columna por cada regla. Para calcular el número de reglas Reglas = 2^(n condiciones) En este caso hay 2 condiciones, por lo que tenemos 4 reglas.

Para las columnas de la primera fila (fila n° 2^0), rellenamos con Sí y No alternando cada 2^0 columnas

Para las columnas de la segunda fila (fila n° 2^1), rellenamos con Sí y No alternando cada 2^1 columnas.

Si tuvieramos una tercera fila, alternaríamos cada 2^2 = 4 columnas.

Determinamos las acciones:

  1. Facturar gratis
  2. Facturar a 30 euros
  3. Facturar a 50 euros

Rellenamos las filas de las acciones por cada regla en función de las condiciones.

Y finalmente simplificamos la tabla allá donde sea posible: Cómo vemos, hay dos reglas para las cuales la acción es la misma (facturar a 30 euros).

En este caso, cuándo estemos creando nuestro programa, podremos usar operadores booleanos or / and

if (radius <= 20 && total >= 800) { // R1
		return "gratis"
} else if (radius >= 20 && total >= 800) || (radius <= 20 && total <= 800) { // R2 OR R3
		return "30 euros"
} else if (radius >= 20 && total <= 800) { // R4
		return "50 euros"
} else {
		return "Non existing case??"
}
20200327212300 w

Referenciada en:

Algorítmica

Un algoritmo es una secuencia de pasos para realizar una acción. Un algoritmo puede pues ser transformado en una función y esta puede, a su vez, ser ejecutada.

Aunque la mayoría de los siguientes ejercicios han sido resueltos con Swift, la síntaxis es relativamente sencilla, así que no te será muy difícil comprenderlos si ya estás familiarizado con otro lenguaje de programación.

20200325210900 w

Referenciada en:

Git

Git es una herramienta de gestión de versiones.

20200325211000 w

Referenciada en:

Etapas de un proyecto

Etapas de un proyecto:

  • Establecimiento de un “cahier de charges” o en español, cuaderno de cargas, en el que se explican los deseos del cliente
  • Análisis: análisis de este cuaderno, organización esquemática y tablas de decisión en las que se muestran todas las acciones posibles con respecto a las condiciones.
20200325211100 w

Referenciada en:

Empatía hacia el futuro lector de tu código

Los programas han de ser escritos para que la gente los lea e incidentalmente para que las máquinas los ejecuten: Un gran programa es una carta de tu yo actual a tu yo futuro o a la persona que heredará tu código. Un documento generoso y humanista. — Harold Abelson

20200313121200 w

Referenciada en:

Swift

Otros

20200502135332 w

Referenciada en:

Webdev

HTML

CSS

JS

Otros

20200502135912 w

Referenciada en:

Vocabulario a adquirir

  • Fetch
  • ip
  • http
  • protocolo
  • runtime
  • delegates -> appdelegate, scenedelegate
  • lazy variable
  • reactive programming
  • programación declarativa vs imperativa
20200613112217 w

Referenciada en:

Otras notas relacionadas con la programación

20200804051303 w

Referenciada en: