martes, 20 de enero de 2015

Lenguaje, librería, plataforma, sistema...

"Yo no te entiendo, pero tu a mi si."

Hoy día, existe una gran variedad de plataformas, librerías, sistemas, lenguajes, finalidades y complementos para el programador. Con las herramientas adecuadas, se puede programar para cualquier plataforma existente. Por una parte, puede ser una gran ventaja, ya que una empresa o un autónomo, tiene mas campos sobre el que trabajar, y puede pretender alcanzar mas publico con ello. Pero a su vez, tiene un gran inconveniente:

¿Que usaré para mi proyecto?


Es una pregunta bastante frecuente entre novatos, amateur's, estudiantes y autónomos. Al existir tanta variedad de complementos a elegir, se hace tedioso compararlos y elegir uno en concreto. Hoy, en Sleep Path, vamos a comparar algunos ejemplos, y a dar una opinión especifica para cada uno y una general. No se explicarán todos aquí, se irán detallando en diferentes publicaciones. Esperemos que sea de su agrado.

¿Sistemas Operativos? ¿Cual escojo?

Elegir el Sistema Operativo ( S.O. ) sobre el que trabajar, va enlazado con la elección de la plataforma. Cada plataforma tiene su S.O. Cada S.O. tiene sus librerías, y complementos. Actualmente, las diferentes plataformas sobre las que se puede trabajar, se podrían resumir en el siguiente grupo:

  • Sobremesa: PC, Macintosh
  • Portatil: GBA, NDS, PSP, Playstation 2, Playstation 3, xBox 360, Ordenador portátil, MacBook, Smartphones varios, tablets y prósperamente: Playstation 4, Google Glass y Galaxy Gear.


Los sistemas operativos varían según la plataforma:

  • Microsoft Windows: PC, Ordenador portátil, Tablets.
  • Microsoft Windows Phone: Smartphones varios, Tablets.
  • Mac OS: Macintosh, MacBook.
  • iOS: Smartphones Apple, Tablet's Apple, iPod Touch.
  • Android: PC, Ordenador portátil  Smartphones Varios, Tablets (y prósperamente Google Glass y Galaxy Gear. )
  • Firefox OS: Smartphones varios y Tablets
  • GNU/Linux: PC, Ordenador portátil  Tablets, Smartphones varios, Playstation 3 ( Prósperamente en Playstation 4. )
  • Unix: PC, Ordenador portátil  Tablets, Smartphones varios, GBA, NDS ( y prósperamente Playstation 4. )

(Si me he dejado alguna Plataforma o Sistema Operativo, pónganlo en comentarios y lo corrijo.)

Los ordenadores, y cualquier tipo de hardware comunica sus ordenes internas, en diferentes numeraciones binarias, y amontonadas de forma ilegible al ojo humano. Dicho problema, dio origen a los "Lenguajes de programación"
Los lenguajes de programación, constan de unas directrices, ordenes y funcionalidades orientadas a convertirse en un intermediario entre la maquina y el ser humano. Mediante su uso y dominio, un ser humano es capaz de ordenar a la maquina que quiere, como lo quiere, cuando lo quiere, donde lo quiere y especificar un por que lo quiere. Generalmente, los lenguajes de programación, constan de diferentes ordenes y sentencias escritas en caracteres alfanuméricos formando palabras para una sencilla comprensión. Suelen estar basados en el idioma Inglés, pero hay lenguajes basados en otros idiomas, es cuestión de buscar tus intereses.
Al igual que las maquinas, los lenguajes de programación, aun siendo generales y con avanzadas funciones para cualquier tarea, también nacen con un propósito en concreto. Para finalizar esta publicación, mostraremos algunos ejemplos:

  • Simula 67 ( orientado a simulaciones )
  • C/C++ ( orientado al desarrollo general )
  • HTML / CSS ( orientado al desarrollo web )
  • Ensamblador / CLI ( orientado al manejo de memoria y trato directo con el hardware )
  • Python / JAVA ( orientado a la potabilidad )
Bueno gente, con esto me despido por hoy. Espero que esta introducción les haya sido de su agrado, y una vez mas, quisiera recordar-les que esto solo es el principio de una gran documentación virtual, escrita de por mi, para vosotros. Si encuentran algún error, propongan su corrección en un comentario por favor, gracias de antemano.

- Gracias por su tiempo, atentamente: Chaarlis Me.