Saltar al contenido

Aprender a programar nunca ha sido tan fácil

La programación se está convirtiendo en requisito indispensable para todas las carreras de ciencias, sobre todo las tecnológicos. Aprender el lenguaje de las máquinas está cada vez más demandado en los puestos de trabajo y aprender a programar se ha convertido en algo fundamental. Posiblemente estés muy interesado en aprender a programar aplicaciones, es por ello por lo que estás en esta página y no te va a defraudar. A partir de aquí encontrarás material, desde artículos a vídeos explicativos donde te aprenderás algunas nociones básicas de la programación.

Curso de programación gratis

Pensamos que la programación debe ser algo que se enseñe de forma totalmente gratuita, o por lo menos las nociones básicas. Con estos totorales no te vas a convertir en un experto programador, pero si consigues pensar como un desarrollador te ayudarán a resolver grandes problemas y crear software increíble. En resumen, todos los cursos de programación son gratuitos. A continuación tienes artículos de distintos lenguajes que te podrían interesar. Haz click en el nombre del lenguaje de programación o en la imagen para saber un poco más sobre el código.

Programar en Java

Java es lenguaje de programación más utilizado actualmente. De hecho todas las apps en Android están basadas en este lenguaje de programación orientado a objetos. La filosofía de este lenguaje es “write once, run anywhere“, es decir escribe el código una vez, correlo en todos lados. Existen derivados de Java como Javascript, este se destina a la programación web. En resumen, aprender Java es de las mejores cosas que puedes hacer. Realizaremos un curso gratuito desde 0 para que te sea muy fácil aprender este lenguaje.

Programar en C

C ha sido uno de los lenguajes de programación mas importantes de la historia. Este lenguaje se suele utilizar para software de sistemas, no obstante también en los últimos años ha tenido mucha influencia en apps. C ha influido en muchos otros lenguajes de programación como Objective-C (creación de apps iOS), Swift, C++, y una lista bastante larga.

Programar página web

El lenguaje web es maravilloso. Puedes crear una página web, alojarla en un servidor y acceder a ella en cualquier momento y en cualquier dispositivo con conexión a Internet. ¿Por que no te animas a diseñar una página web?

Programar en HTML

HTML es el lenguaje que organiza la estructura de una página web. A diferencia del lenguaje PHP, el Lenguaje de Marcas de Hiper Texto no realiza ninguna función en particular. Es por esta misma razón por la que si queremos hacer una web funcional tienes que combinar este código web con PHP o Javascript, entre otros. Aquí tendrás un curso gratuito de HTML donde te enseñaremos los conceptos básicos de este lenguaje así como a combinarlo con otros como el que viene a continuación.

Programar en PHP

¿Qué haríamos sin PHP? Actualmente este lenguaje es el principal motor de páginas web del mundo. Es el músculo de tu página web junto con Javascript o Json. A través de este lenguaje podrás conectarte con bases de datos MySQL para mostrar datos y crear por ejemplo una aplicación web para una empresa. Aprende los nuevos comandos de MySQLI y PHP y crea una página web de diez.

Estudiar programación

Windows

La programación para Windows no es nada fácil. Windows, como la mayoría de sistemas operativos, están basados en C y aunque puedes programar directamente ene este sistema operativo, Microsoft diseñó el suyo propio hace unos años, Visual Basic. Visual es un lenguaje de programación diseñado por eventos cuyo IDE, el oficial de la empresa estadounidense, nos permite crear programas de una forma muy visual. Eso sí, no os creáis que va a ser juego de niños.

Apple

Si quieres conocer más información sobre el mundo del desarrollo en MacOS, así como si quieres aprender a hacer jailbreak a tu terminal puedes visitar nuestra página Hacer Jailrbeak para más información. Además de todo lo anterior, tenéis tutoriales para instalar programas en vuestros ordenadores y aplicaciones como TutuApp Vip para tu iPhone o iPad. En esta página web también vamos a tratar temas como el desarrollo de aplicaciones para iOS con Swift, entre otros.

Linux

¿Nunca has pensado en conocer Linux a nivel de código?. Moverte entre carpetas, copiar o mover carpetas o directorios, instalar aplicaciones o borrar elementos son algunas de las muchas cosas que podéis hacer. A través de la línea de comandos del terminal podemos hacer muchas más funciones y con un potencial mucho mayor que con la interfaz gráfica. ¿No pensarás ser un programador de los de verdad sin saber como controlar el terminal de Linux? Te enseñaremos desde cómo instalar una máquina virtual con un sistema operativo hasta un curso para que aprendáis distintos comandos. Aprende los comandos de Linux más importantes.

Android

Por último, llegamos a la programación para Android. Quién no ha soñado alguna vez con crear una aplicación para Android de forma fácil y sencilla. Pues bueno, no es tan fácil como parece, porque hay que dominar dos lenguajes: XML y sobre todo Java. Antiguamente la programación para Android se hacía a través de Eclipse, un IDE que servía para multitud de lenguajes de programación. Sin embargo, hace unos pocos años Google presentó Android Studio, un entorno de desarrollo pensado por y para Android, permitiendo la compatibilidad para crear aplicaciones para Android Wear o Android TV.

Cómo programar

Llegamos a la pregunta clave, la cuestión fundamental para lograr nuestro objetivo de aprender a crear código que una computadora pueda entender. Antes de nada vamos a tener en cuenta los tipos de programación que existen, que no son pocos, y nos centraremos en dos.

El paradigma de la programación son un conjunto de creencias que han guiado desde sus inicios la disciplina de la programación. Este paradigma se puede dividir en los siguientes principales: programación imperativa, orientada a objetos, lógica, declarativa y funcional.

La imperativa es una con las cuales se suele empezar a programar por una simple razón, es la más sencilla de todas. Son un conjunto de sentencias que van una detrás de la otra conformando el programa. Algunos ejemplos de este tipo de programación son C, Basic o Pascal.

La programación orientada a objetos se basa en la imperativa, con la diferencia de que estos imperativos se encapsulan en estos elementos denominados objetos. Estos objetos se encargan de manipular los datos de entrada para obtener los datos de salida específicos. Es como una máquina, como si cada máquina fuera un objeto y cada objeto realizara una función distinta.

Aprender a programar desde cero

Sé que estás ansioso por saber programación, crear aplicaciones alucinantes, empresariales y sobre todo explicado de manera sencilla. Sin embargo, antes de nada vas a tener que aprender a pensar como un programador piensa. Tienes que aprender a conocer como resolver problemas por ti solo, porque a parte de los ejercicios y programas que os propongamos, queréis crear los vuestros propios. Por eso mismo, además de aprender a interpretar, vas a tener que saber como plantear un esquema de como va a funcionar. A este paso se le conoce como la creación del pseudocódigo.

Aprender pseudocódigo

El pseudocódigo es una manera de expresar un programa mientras lo estamos diseñando. No se trata de crear un programa que entienda la máquina o el compilador, se trata de crear algo que nosotros entendamos y que cualquier otro desarrollador que lo haga pueda llevarlo a la práctica. Aquí tenéis dos imágenes que diferencian un lenguaje de máquina a pseudocódigo.

Como podéis observar este tipo de código es mucho más sencillo de aprender y tiene mucho más sentido si lo que queremos es estudiar lenguajes de programación. Sin normas, solo lo tienen que entender los que lo vayan a entender.

Qué ocurre cuando compilamos un programa

Muchos de nosotros estamos muy acostumbrados a darle al botón de compilar una vez escribimos nuestro código en algún lenguaje de programación para luego ejecutarlo sin problema. Lo que no sabéis, es que detrás de todo el proceso que dura unos cuentos segundos, hay una gran multitud de pasos que se realizan para que vuestro procesador sea capaz de entender todas las instrucciones que les habéis dado.

Antes de nada, vamos a hablar de los lenguajes de alto nivel, lenguajes como Java, C, Python o PHP que muchos de nosotros conocemos y que son muy cercanos a nosotros. Y sí, digo cercanos a nosotros porque lo que viene después es casi indescifrable para alguien que conoce nada sobre el código máquina. Para llegar a esta código máquina hayque pasar por varios pasos, uno de ellos es el compilador, pero no es el único de todos.

  1. Empezamos con nuestro amigo el compilador, cuya función es transformar este lenguaje de alto nivel entendible por la mayoría de desarrolladores a lenguaje ensamblador, mucho más cercano a la máquina pero aún escrito en código ASCII (y recordamos que la CPU solo entiende de 0 y 1).
  2. El siguiente paso, es llevar este código al ensamblador, el cual trasforma el lenguaje en un fichero objeto con código binario. Este fichero objeto pensaréis que ya está listo para enviar al procesador, pero no. Contiene instrucciones en lenguaje máquina, los datos y las re-ubicaciones de datos para saltos condicionales, funciones, etc.
  3. Es el turno del linker o enlazador, cuya función es la de añadir las funciones de las librerías al proyecto. Las librerías son un conjunto de módulos y órdenes relacionadas que pueden ser reutilizadas. Hay dos tipos de librerías:
    • Las librerías estáticas, cuyo código se almacena directamente en el fichero.
    • Las librerías dinámicas, que no se almacenan en el programa, sino en las librerías del sistema y son llamadas a la hora de ejecutar el programa. Una de sus principales ventajas es disminuir el tamaño del ejecutable final, pero es necesario que el ordenador que lo ejecute tenga las librería correspondientes instaladas para que todo funcione como debería.
  4. Para terminar, llegamos al cargador o loader. Este módulo del sistema operativo lee el fichero ya enlazado con sus correspondientes librerías y lo ubica en memoria para que el procesador pueda ejecutar las instrucciones correspondientes en lenguaje máquina de 0 y 1.