Si miramos a nuestro alrededor podemos comprobar que estamos rodeados de ordenadores, los cuales se presentan de distintas formas y tamaños, por ejemplo un teléfono, un reloj inteligente, un cajero automático, una videoconsola, etc.
Todos estos dispositivos electrónicos son programables empleando en cada caso uno o varios Lenguajes de Programación.
Un ordenador es una máquina eléctrica compuesto de millones de componentes electrónicos por los que circula la corriente eléctrica.
De modo que su lenguaje nativo se reduce a algo tan sencillo como decir “SÍ hay corriente o NO hay corriente”, lo cual tuvo su traducción matemática en 1 para indicar que pasa la corriente y 0 para indicar la ausencia de corriente. Por lo tanto el Lenguaje nativo que entiende un ordenador es el Lenguaje Binario compuesto de Ceros y Unos.
Teniendo en cuenta los millones de componentes que forman un ordenador es fácil deducir que habrá millones de combinaciones de 0 y 1 para representar todas las posibles situaciones de existencia o ausencia de electricidad. Como resultado de estas combinaciones, el ordenador llevará a cabo unas tareas u otras. De modo que cuando programamos lo que hacemos es indicarle al ordenador todos esos 0 y 1 en función del resultado que queremos obtener. Como serían “casi infinitas” las combinaciones de 0 y 1 que necesitaríamos para transmitir nuestras órdenes a la computadora, surge la necesidad emplear otra forma de hacerlo. Ese es el origen de los Lenguajes de Programación, los cuales tienen una sintaxis y estructura que se asemeja al lenguaje humano y que nos facilitan el trabajo de dar las instrucciones a los ordenadores.
Se dirá que un Lenguaje de Programación es de bajo nivel cuanto más cercano está al idioma original del ordenador (0 y 1), mientras que los Lenguajes de Programación de alto nivel son aquellos cuya sintaxis y representación de las instrucciones se aproxima al lenguaje humano.
Será el compilador el encargado de traducir los programas que escribimos con un Lenguaje de alto nivel, al lenguaje de bajo nivel (0 y 1) que realmente entiende la máquina. En próximos artículos profundizaremos sobre este proceso.
Sin entrar en detalles, entenderemos por Hardware todos los componentes físicos que forman un ordenador, y por Software el equipamiento lógico e intangible de un ordenador, el cual permite controlar los componentes de la computadora e indicar las tareas que queremos que se realicen.
En lafactoríaapple nos centramos en el desarrollo del Software para conseguir que los dispositivos Apple realicen tareas con el objeto de ofrecer la solución a determinadas situaciones o problemas, y evidentemente no indicaremos las instrucciones a un iPhone mediante 0 y 1, utilizaremos el Lenguaje de Programación Swift.