sábado, 1 de agosto de 2015

Me gusta la informática, ¿Por dónde empiezo?

Me gusta la informática, ¿por donde empiezo?

Esta es una pregunta que muchas veces me he hecho a mí mismo desde que prácticamente empecé en este mundillo.

La informática abarca muchísimas cosas, tantas, que querer aprenderlas todas es imposible. Normalmente uno se acaba especializando en algunas pero por norma general los informáticos somos personas muy curiosas que nos encanta aprender y nos gusta investigar. En este artículo voy a contar una serie de caminos que una persona puede tomar para embarcarse en este mundillo y tener las ideas claras de a dónde va y como puede terminar.

Si nos queremos dedicar al mundo del desarrollo podemos elegir dos caminos: Desarrollo de software o desarrollo web.

Si elegimos el desarrollo de software o programación de aplicaciones, algo básico es empezar con los fundamentos de programación. Aquí tenemos que tener en cuenta que existen dos paradigmas muy importantes que tendremos que dominar tarde o temprano: la programación estructurada y la programación orientada a objetos. Yo recomiendo empezar por la programación estructurada ya que luego es más fácil embarcarse en la orientada a objetos.
Hay muchos lenguajes de programación que nos pueden servir para empezar, sin embargo yo recomiendo aprender C. C es un lenguaje que ya tiene muchos años, y aunque han salido posteriormente otros lenguajes más potentes y seguros, no hay nada como el lenguaje C para adquirir lo que yo llamo “mentalidad de programador”. C es un lenguaje muy flexible y potente que nos da la oportunidad de programar tanto a bajo nivel como a alto nivel. A diferencia de otros lenguajes más modernos, C nos permite trabajar con la memoria del computador, por lo que el nivel de exigencia en el uso de este lenguaje es mayor y más difícil, cosa que por otra parte también es más gratificante. Digo esto simplemente porque con otros lenguajes como java o la familia de .net Framework de microsoft, el programador no tiene ningún control sobre la memoria ya que de esto se encarga o la máquina virtual de java o el clr (entorno de ejecución común) del .net framework. También es verdad que eso hace que en las carreras y estudios de formación profesional este tema sea uno de los que más quebraderos de cabeza da a los estudiantes, pero con práctica y estudio no hay de qué preocuparse y no es complicado de dominar. Una vez que se aprenda C y se hayan comprendido bien las bases de la programación estructurada se puede dar el salto a C++ y aprender la orientación a objetos. Todo lo que se sabe de C es aplicable a C++ y por tanto es más fácil programar en C++ sabiendo ya C. Por otro lado, gracias a que la sintaxis del lenguaje es muy parecida, un programador que sepa C\C++ puede aprender con relativa facilidad otros lenguajes como Java o C# e incluso Visual Basic.Net.

Pero la cosa no acaba aquí, a la vez que se aprenden esos lenguajes es buena idea conocer los patrones de diseño, herramientas de modelado de sistemas como el UML, diseño de bases de datos (esto es muy útil cuando en programación queremos utilizar bases de datos en nuestros programas para tener persistencia de datos) y buenas prácticas de codificación como clean code o código limpio.
Como veis para empezar hay muchas cosas que aprender y siempre teniendo en cuenta que un programador a diferencia de otras profesiones nunca termina de estudiar; siempre nacen nuevas formas de hacer las cosas, nuevos frameworks que mejoran cosas que antes era más complicado hacer, etc. Lo que hace que siempre andemos aprendiendo y estudiando.

Si lo tuyo es el desarrollo web, aquí puedes tomar dos caminos distintos: Programador FrontEnd o BackEnd. Dependiendo de uno u otro tendrás que aprender unas tecnologías u otras.
Si lo tuyo es el FrontEnd (Programar del lado del cliente) necesitas aprender html, css y javascript. Dominando esas tres tecnologías puedes dedicarte al diseño web con la garantía de que podrás hacer casi cualquier cosa que necesites o te pidan que hagas. Por otro lado siempre puedes ir a más y aprender otras tecnologías como AJAX, TypeScript, JSP etc.
Si lo tuyo es el BackEnd, es decir, programar del lado del servidor, hay muchas tecnologías disponibles: php, ruby, django, node.js o .net.
Lo suyo es especializarse en alguna y conocer las otras por encima, nunca se sabe cuál nos puede venir bien para hacer alguna cosa.

En próximos artículos, entraremos en materia con el lenguaje C y con html para empezar por los dos caminos del desarrollo.

No hay comentarios:

Publicar un comentario

Gracias por tomarte la molestia de comentar esta entrada. Tus sugerencias y críticas serán bien recibidas.

Related Posts Plugin for WordPress, Blogger...