Como empezar a programar

programar

Son muchas las personas que empiezan carreras de ingenierías o tecnologías en sistemas, así mismo hay muchos profesionales de otros rubros entusiastas con muchas capacidades y ganas de aprender, pero a causa de las múltiples tecnologías que a diario salen y hasta las mismas opiniones que contrastan de programador en programador, de ingenieros a ingenieros del como  empezar en el mundo de la programación, cual es el mejor lenguaje o cual puede brindarme las bases sólidas para consolidarme como un gran programador en el medio, muy bien en este artículo te contaré un poco sobre mis perspectivas con respecto a cómo empezar a programar. Un poco de mi experiencia y que aspectos debes tener en cuenta para inclinarte por una tecnología, plataforma o lenguaje.

Mi experiencia

Primero que todo te contaré el como inicie, al igual que muchas personas entre a la carrera de sistemas sin saber ni idea con que me encontraría, recuerdo aún ese primer día en la universidad (Qué aproposito llegue tarde) en el cual el profesor no le alcanzó el tablero escribiendo un algoritmo, ¡sin duda me había metido en el lugar equivocado!, Pero al pasar el tiempo te vas dando cuenta como La algoritmia va modelando tu forma de pensar y solucionar problemas de la vida real. Para ese entonces los algoritmos los pasaba a pascal haciendo uso de programación estructurada, fue para mí un antes y un después en el desarrollo de mi carrera como programador,  posteriormente evolucione a lo que era la versión gráfica de Pascal, delphi que cursaba para ese entonces la verison 6, fue aquí la primera vez que conecte una aplicación con una base de datos, una muy usada en ese tiempo Interbase.

Posteriormente conocí Php el lenguaje por excelencia de Internet, en el que están construidos millones de sitios y aplicaciones mundialmente conocidas como WordPress, me gusto el dinamismo que le imprimía a los sitios y me fascinaba poder acceder a una aplicación desde cualquier computador sin instalar nada, aquí se hizo necesario el uso de bases de datos, con lo cual conocí mysql. Un motor excepcional que a día de hoy aún lo uso tanto en proyectos personales como laborales, sin duda cada vez más me entusiasmaba seguir aprendiendo, llegue a mover un poco de C, Csharp, visual básic, . Net, también bat, aunque este último no es un lenguaje de programación. Un día me tope con un poyecto en Java, el cual nunca había manejado.  Acepte la realización de este y pude aprender Java mientras ganaba algunos pesos, desde entonces sigo programando en este lenguaje bastante criticado por muchos, pero que sin duda propone una excelente forma de programar aplicaciones empresariales y de todo tipo.

Actualmente me encuentro programando en Javascript con node.js que también es un lenguaje y una plataforma que propone avances en el desarrollo de aplicaciones para la web moderna.

En síntesis si te das cuenta muchas veces el inicio va dado por aprendizaje en universidades, que quizá no enseñan el lenguaje de tu preferencia ni el que muchos en el medio proclaman, pero ten presente que cualquier lenguaje despertará en ti capacidad de análisis y resolución de problemas, estructuras y orden en el procedimiento de las instrucciones. Ningún conocimiento jamás está de más recuerdalo.

¿Pero bien como empiezo?

Muy bien hablemos concretamente, para mi una de las formas de aprender es haciendo pero ese haciendo es siempre provechoso cuando se tienen bases, de lo contrario te Sometes a pagar novatadas en futuros trabajos, comienza a construir tu casa por el cimiento.

Aprende Algoritmia:

Es de saberse que un algoritmo es una secuencia de pasos lógicos para resolver un problema, la construcción de algoritmos te enseñará a pensar en soluciones cortas, efectivas y sistemáticas para tus problemas, toda construcción de software es a base de algoritmos, luego cuando desarrollas Destrezas se realizan a la par del desarrollo. Aunque aún así sigue siendo poco recomendable.

Además aprenderás el concepto y uso de variables, condicionales, ciclos, entradas,  salidas, procesamientos, etc.  Para el aprendizaje de algoritmos puedes usar la herramienta progranimate una aplicación con fines bastante educativos y gratuita.

Diagramas de flujo

Podemos definirlos como la representación gráfica de las acciones a realizar en un algoritmo, o bien sea un algoritmo gráfico, que muestra paso a paso las acciones a realizar en conjunto con el flujo de trabajo haciendo uso de flechas y componentes que representan procesos. Sin duda esto es opcional pero lo más probable es que desees desarrollar software para alguna empresa y necesitarás estos conocimientos. 

Casos de uso

Al igual que los diagramas de flujo los casos de uso muestran la secuencia y los procesos de un algoritmo, pero con la diferencia en que acá se incluyen actores, que muchas veces son los responsables del proceso o los implicados directamente, son una pieza importante en la ingeniería de software y en el análisis de requerimientos.

No olvides buenas fuentes:

Escoge buenas fuentes de información, las cuales te lleven de manera secuencial en tu aprendizaje, existen actualmente muchas propuestas en Internet que son interesantes, algunas gratuitas otras de pago, por citar algunas: udemy, Khanacademy, tutellus, video2brain, entre otras, también empezar con libros es buena elección, los puedes llevar a cualquier lado y estudiar un poco, así mismo puedes reunirte con amigos que sepan o no programación y aprender juntos doblaran las experiencias si trabajan en conjunto en un mismo proyecto .

Eligiendo un lenguaje

En este punto tan controversial, sin tratar de entrar en la eterna discusión de que lenguaje es mejor lo veremos desde un punto de vista de necesidades, tanto tuyas como programador, como de los clientes que en algún momento tendrás.

Identifica la necesidad: Que Necesitas una aplicación Web, Mobile, de escritorio?. Necesitará ser nativa o híbrida?,  lo que deseas es programar juegos? Si es así también necesitas hacerte las mismas preguntas. 

Tus aplicaciones serán empresariales?

Define que quieres hacer y veras como las alternativas se irán filtrando hasta llegar a una buena elección, listemos algunas opciones, entre ellas plataformas y lenguajes .

Programación Web:

Puedes aprender Php, Ruby, Phyton, Java EE, Node.js,  . Net.

Programación Mobile:

Java (Android ), Javascript, Objetive C, Swift

Programación Desktop

Visual basic, Java SE, Csharp, VB.NET 

Si tus intenciones son la programación de drivers, sistemas operativos, hardware debes tener en cuenta:

C, C++, Assembler

Si eres un apasionado a los vídeo juegos?

Que tal si empiezas a aprender unity 3D, o bien. Proyect Anarchy, aprender Javascript también te ayudará mucho.

Hay que mencionar que casi todos los lenguajes y plataformas descritas pueden realizar aplicaciones de todo tipo tanto Desktop, Web o Mobile.

Si me piden un lenguaje concretamente para empezar sin duda recomendaría Javascript, este lenguaje te dará el conocimiento para enfrentarte en el aprendizaje de cualquier otro. Además una gran alternativa para la programación de aplicaciones de todo tipo.

Bueno amigos espero que encuentrén el lenguaje de programación de su preferencia y gusto.

Deja un comentario acerca de tu experiencia,  de cómo empezaste o si deseas más información no dudes en decirla.

Hasta pronto!

 

¡Suscríbete a mi canal, para acceder a más contenidos gratuitos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *