jueves, 30 de mayo de 2013

Curso programación desde 0 - Tema 1 - ¿Qué es la programación?

En este curso pretendo que alguien que todavía no sabe nada de programación, alguien que parte desde 0, adquiera los conocimientos necesarios para comenzar en el arte de la programación.

Veremos los aspectos básicos, las bases, cimientos, que nos servirá para cualquier lenguaje de programación, para cualquier lenguaje.

Una vez tengamos estos conocimientos podremos aprender cualquier lenguaje, para cualquier plataforma.

Lo primero es saber que es la programación, en qué consiste:

Según Wikipedia: La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones. http://es.wikipedia.org/wiki/Programaci%C3%B3n

O en otras palabras, la programación consiste en diseñar/escribir el código necesario para resolver algún problema; para ello necesitaremos tener algunos conocimientos de matemáticas, usar la lógica, y deberemos conocer un lenguaje de programación valido para la plataforma de destino; con plataforma me refiero a donde queremos que nos funcione, hacia donde queremos programar, donde se va a ver, que vamos a hacer, algunos ejemplos son: (Web, Windows, Mac, Android, Iphone….).

Aunque no lo parece los ordenadores, son tontos, no saben hacer absolutamente nada, solo leen el código que nosotros (los programadores) les escribamos y le hacen vivir, al ordenador no le llega nada más que 0 y 1, pero no hay que asustarse, eso es lenguaje maquina, es el nivel de programación más bajo que existe, pero prácticamente nadie sabe usarlo, en cuanto más bajo nivel programemos, más flexibilidad tendremos, pero también tendremos mucho más trabajo que hacer; hoy día hay lenguajes de bajo, medio y alto nivel; mucha gente no considera que exista el medio nivel, pero ya es algo de cuestión de “gustos” como cada uno quiera catalogar según qué nivel.

En un lenguaje de bajo nivel, para hacer algo muy básico, tendremos que hacer decenas de líneas de código, muy complejas; en cambio en un lenguaje de alto nivel, podremos hacer eso mismo con muy pocas líneas, hoy día que lo que más importa es sacar trabajo y hacerlo rápido, nos interesa hacerlo a alto nivel, además al hacerlo a alto nivel, con el mismo trabajo podremos hacer aplicaciones mucho más seguras, mas robustas, y más fáciles de mantener, algo muy importante, como habéis podido leer en la descripción de Wikipedia sobre la programación, el trabajo no termina en hacer un programa en cuestión y olvidarnos de ello, si no que después hay que mantenerlo, según el programa, este mantenimiento puede consistir en hacer ampliaciones, reparar fallos/bugs (no hay programa, por muy básico que sea, al que no le salga algún pequeño fallo)hacer modificaciones, no os podéis imaginar las veces que el cliente ve el programa terminado, y decide que aunque sea eso lo que te ha pedido no le vale y es necesario cambiar algunas/o todas las cosas; ya depende de cada uno si esos cambios los cobra a parte o no, pero bueno no vamos a entrar en eso en este curso.

Ahora que sabemos que es programar, y sabemos que es la programación a bajo y a alto nivel, os diré que nosotros vamos a ver la programación a alto nivel, algunos niveles de alto nivel son:
.NET, ya sea VB.NET o C#; PHP, JAVA….

Con .NET podremos desarrollar para Windows, ya sean teléfonos, PC´s, y Web; pero siempre necesitaremos que el dispositivo que va a tener la aplicación instalada sea Windows, también es recomendable que tenga los frameworks actualizados, con esto quiero decir, que no podremos hacer un programa para Android, ni para Iphone, aunque sí para Windows Mobile, también para ordenadores Windows, la versión del Framework a usar (ya veremos mas adelante que es), dependerá del Windows de destino ya que las versiones mas recientes no son compatibles con los windows antiguos, aunque los framework utilizados en windows antiguos siguen teniendo soporte para los modernos; .NET tiene un Framework llamado ASP.NET que en realidad es VB.NET o C# cualquiera de los 2 orientados a web.(Tambien se puede programar con otros lenguajes .NET aunque no es habitual)

PHP es un lenguaje exclusivamente WEB con el podremos hacer todo tipo de webs, trabaja del lado del servidor, y únicamente necesitaremos que el servidor web soporte php, puede ser servidores Windows, o Linux, en la actualidad hay muchísimos servidores php Linux gratuitos, por lo que es recomendable aprenderlo para comenzar en la programación web, además de ser “similar” a otros lenguajes como JAVA, C#, o Java Script, por lo que nos facilitaría aprender otro lenguaje rápidamente.

JAVA es otro de los lenguajes más populares actualmente utilizando este lenguaje, podrás programar en cualquier plataforma de ordenadores, ya sea Windows, Linux, o Mac, esto es gracias a que en el ordenador en cuestión, se tiene instalada una maquina virtual de JAVA y es la propia maquina la que convierte el código a lo necesario por el Sistema Operativo, esto pasa de manera invisible para el usuario y el programador tampoco se debe preocupar por ello, simplemente haces el programa y cuando se instala, siempre que este la maquina virtual instalada funcionara, también nos permite programar para web, y tenemos algunos frameworks como JSF que nos ayudaran muchísimo en esa tarea; por último las aplicaciones Android, suelen desarrollarse en JAVA, por lo que en los últimos años es uno de los lenguajes con mayor crecimiento.

Tema 1 - ¿Que es la programación? (Tema actual)