Guías

GUIA DE INICIACION A LA PROGRAMACION

Algunas recomendaciones básicas.

Antes de empezar con la guía quiero deciros una breve frase que considero fundamental: A programar se aprende programando. No tienes por qué estudiar libros complejísimos si no quieres, pero por supuesto que deberás tener un ordenador adecuado a lo que quieras o vayas a desarrollar. A continuación os dejo algunos ejemplos y consejos en este sentido:

  • Si quieres desarrollar aplicaciones de escritorio para Windows es muy posible que te valga cualquier PC actual, sin grandes requisitos en el aspecto técnico. Tendrás que instalar un IDE de programación, hay multitud de ellos, y totalmente FREE, un IDE es un entorno de programación que ha sido empaquetado como una aplicación y que tiene incorporado tanto el editor de código (donde escribes las lineas de los programas), como el compilador (para poder ejecutar después tu programa) y un depurador (o debugger para corregir los bugs o errores que puedas tener en tu trabajo).
  • Si tu entono es Mac y quieres desarrollar apps de escritorio para Mac, perfecto. Es similar al caso de arriba. Creo que te valdrá cualquier computadora Apple.

(Lo que sí que te recomendaría es desarrollar tu trabajo directamente en una máquina donde luego puedas testar tus aplicaciones de manera rápida y sencilla. Aunque se puede instalar Windows sobre Mac y viceversa, no lo recomiendo en ningún caso. Y es cierto que es una opción válida que utilizan algunos programadores. Pero creedme que si tenéis la posibilidad de tener las dos plataformas en casa, será todo infinitamente mas fácil. Y si no, puedes elegir una de ellas y especializarte en la que mas te guste. Si puedes, utiliza Mac para Mac, y Windows para Windows.)

  • Linux. Aunque hay una inmensa comunidad de informáticos totalmente enamorados del Linux, de su maravilloso software libre y de su seguridad, su robustez, su estabilidad y de sus opciones de modificación y personalización… Yo no soy partidario de empezar por este sistema. Quizás ya sois usuarios de Linux y no tenéis ninguna dificultad con su forma de hacer las cosas (algo árido para mi gusto), en ese caso la recomendación es la misma que para Windows o Mac. Os valdrá casi cualquier PC sin requisitos especialmente potentes y necesitareis un IDE de programación para desarrollar vuestras aplicaciones.  
  • Para desarrollo Web cualquiera de los sistemas mencionados son válidos y además tampoco necesariamente tienes que invertir en una maquina muy potente. 
  • Si lo que quieres desarrollar son aplicaciones para móvil,  aquí la cosa se complica un poquito porque hay diversas opciones y tecnologías. Pero a priori os diré que necesitareis seguramente una máquina más potente que si vais a desarrollar cosas para escritorio.

El motivo de esto es que el ordenador tiene que emular un terminal móvil donde probar las aplicaciones y esto consume bastantes recursos. Aunque siempre puedes probar tus apps en un terminal físico (lo que es muy recomendable hacer antes de dar tu app por finalizada), yo prefiero probar cada modificación que hago sobre el emulador, porque es un proceso más ágil y puedes probar tu app sobre distintos modelos de teléfonos, tablets, wereables, etc… y distintas configuraciones de estos.

  • Si quieres desarrollar videojuegos entonces sí. Deberas tener una máquina cuanto más potente mejor. El desarrollo de videojuegos, sobretodo si son en 3D, requiere de mucha potencia de tu PC. Así que mira bien en cuanto has marcado el limite de tu presupuesto y procura no quedarte corto en las especificaciones técnicas de tu computadora. Porque aquí toda la potencia extra será bienvenida.

Después de esta introducción sobre plataformas y equipos entraré de lleno en cómo recomiendo yo el aprendizaje autónomo del desarrollo de software o webs.

1.-  Elige un lenguaje de programación que tenga una buena comunidad donde despejar tus dudas (que te surgirán muchas veces, incluso, cuando lleves años programando). Por eso quizás no te interesen lenguajes minoritarios o para tareas muy específicas. 

La mejor opción en mi opinión es elegir un lenguaje que sea orientado a objetos y de uso generalista. (Algunos ejemplos podrían ser Java, C++, C#, Python, etc…) .

Tienes miles de tutoriales en Youtube y miles de webs gratis para aprender estos lenguajes. 

También cursos baratos (entorno a 10€ o 15€ en sitios como Udemy), que repasan de manera muy ordenada y exhaustiva desde el nivel mas básico hasta cosas ya consideradas de programación avanzada.

2.- Sigue uno de estos cursos de los que hablo en el punto anterior. Ya sea por YouTube gratis, por Udemy, o incluso con un libro si esto te parece mejor o más cercano a tu forma habitual de estudiar. Pero empieza por la base y no te preocupes por si algunos conceptos quedan poco claros en tu cabeza al principio. Pronto se irán asentando. Y empezarás a entender la forma de pensar necesaria para escribir programas, tu instructor (online o presencial) será tu referente que te hará llegar a entender la programación mediante explicaciones y ejemplos. La forma de pensar que se requiere de un programador se basa principalmente en el orden, aunque hay un componente también bastante alto creatividad y de resolución de problemas. Y esto me lleva al siguiente punto.

3.- Habrás oido miles de veces la palabra “algoritmo”. Bien. Quizás no tengas claro lo que es. O quizás si. Pero una parte fundamental de tu labor como desarrollador va a ser inventar tus propios algoritmos. Al principio puede que no sean muy eficientes o que sean poco limpios, o directamente contengan cientos de bugs. Un algoritmo no es más que una serie de acciones que una vez ejecutadas en el orden y forma descritos, resuelven un determinado problema. Porque la realidad de un programador es que: frente a un problema concreto (imagina aquí tu aplicación finalizada) busca su solución en forma de lineas de instrucciones al computador (imagina aquí el código que tienes que escribir y que una vez ejecutado por la maquina despliega tu aplicación). 

La primera estrategia siempre será dividir el problema grande en otros mas pequeños, lo cual nos lleva a tener dentro del código de una aplicación varios ficheros que se comunican entre si y que se ejecutan según sea necesario dando un sentido global a cada cosa de todas las que forman parte de las lineas de código y que quizás hayas escuchado muchas veces, como: constantes, variables, funciones, objetos, clases, etc… ¡No te asustes!, pues son todo cosas muy simples que aprenderás en pocas horas o minutos de videotutoriales. Lo realmente fascinante y divertido de programar es ir solucionando cada problema e ideando la serie de acciones que una vez ejecutadas hacen que el ordenador, el móvil, la consola, o el smartwatch hagan lo que tu quieres que hagan.

Si quieres tener una base sólida y profesional de la programación tendrías que aprender algo sobre algoritmos clásicos, hay también mucha información en internet a este respecto. No es imprescindible y se puede ser buen programador sin conocer problemas y algoritmos como el de la torre de Hanoi, por ejemplo, pero conocer estrategias típicas de la programación te ayudará mucho a pensar de una forma meticulosa y ordenada cuando escribas tus aplicaciones. Pues el orden en la programación es una cualidad innegociable.   

4.- Si llevas ya una serie de lecciones suficientes como para que empiecen a brotarte ideas en la cabeza, ¡Adelante! ¡Inténtalo! Como he dicho al principio, a programar se aprende programando. Una vez que tengas la idea concreta de lo que quieres desarrollar empieza a escribir. ¡Lánzate! Es la mejor forma de aprender. Seguro que te surgirán multitud de dudas, y seguro que tendrás que recurrir cientos de veces a google en tu primer proyecto. Avanzarás mucho cuando leas el código de otros programadores en webs como stack overflow, donde puedes consultar tus dudas o leer las dudas que alguien tuvo antes que tu y que están respondidas por la comunidad de programadores. Verás y aprenderás formas de resolver cada problema que te vaya surgiendo. Pues en cuestión de programación internet es un océano de recursos.

5.-   Por ultimo, deberás saber que un programador está en constante aprendizaje. Puedes empezar por aprender Java y empezar a programar por ejemplo tu propia app para Android. Y de pronto, sin darte cuenta, después de tener multitud de app hechas, decides dar el salto a programar para iOS, con lo que aprendes Swift. Mas adelante quieres adentrarte en el mundo del desarrollo web, o de las apps multiplataforma, y aprendes HTML5, CSS, Javascript, PHP, o te propones hacer un pequeño robot con una Raspberry pi, o una placa Arduino, o quieres automatizar tu estrategia de inversión en bolsa y entonces aprendes Python…o crear videojuegos con Unity para lo que aprenderás C#, o con Unreal y lo harás de forma visual con sus maravillosos Blueprints, o directamente en lenguaje C++… Como puedes ver es un largo camino en el que puedes introducirte muy fácilmente y llegar hasta donde quieras o a donde necesites. Hay miles de lenguajes, pero tranquilo, que según creo nadie los conoce todos. Y por supuesto que ni falta que hace.

Si has llegado a este punto del texto: ¡Enhorabuena! Creo que estás cerca de empezar un bonito camino de aprendizaje y llegar hasta donde tu mismo te propongas. El reto es grande y el camino merece la pena. ¡A por ello! 

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s