Que los recursos literarios sean renovables no quiere decir que esté mal reutilizarlos. En especial cuando los momentos de inspiración son cada vez más raros. Por lo que me tomo el atrevimiento de publicar un texto, que hice como respuesta a una persona de un foro cuando preguntaba cómo iniciarse en la programación. No se trata de la respuesta a todas las preguntas del universo, pero es una contestación razonable al día de la fecha.
Tomas91 escribió el 31/05/2008 a las 20:38 hs: "Hola Gente,
Quisiera empezar a meterme en la programación, aunque por ahora no voy a realizar alguna carrera. En cuanto al lenguaje para empezar no tengo preferencias, puede ser cualquiera (Ajax, ASP,C++,Delphi, PHP, MYSQL, Visual, etc). Me gustaría saber que me recomiendan, que es lo que debería empezar a leer o aprender, con qué me convendría empezar primero, cualquier cosa que pueda guiarme porque hay tantas cosas que para empezar que estoy medio perdido.
Gracias!"
Yo respondí el 31.05.2008 a las 21:34 hs: "Bueno, posiblemente vayas a leer muchas opiniones distintas respecto de tu consulta. La verdad es que no hay recetas ni lenguajes correctos. Y todo depende de tu intención final. Es decir, si pretendés aprender a programar para ser un buen programador o si te interesa una salida laboral rápida.
Si tu idea es ser de los buenos, tené en cuenta que a programar se aprende más allá del lenguaje. Una cosa es saber programar (crear un algoritmo que resuelve un problema), y otra cosa es el lenguaje en que se materializa tu solución. Lo primero es fundamental y lo segundo es sólo un medio. Si el algoritmo está mal o es pobre, no importa cuan bueno sea el lenguaje en que se programó. Pensá en la diferencia entre una historia excelente y el idioma en que se escribió. La historia es una idea, y se puede expresar en cualquier idioma humano. Luego, la elección del lenguaje no es fundamental si estás decidido a investigar a fondo. Lo más recomendable es que apuntes a un lenguaje tipado como puede ser
C, C++ o Java. Y eso deja de lado a
PHP, que es un casi-lenguaje muy útil, pero dejalo para cuando lo necesites usar.
Si en cambio estás buscando
easy money, en la actualidad hay un par de lenguajes en los que cualquiera tira líneas. Podrías ir directo a
Java o
C# de .NET. Ambos son simples en cuanto a manejo de memoria y en poco tiempo, con las IDEs disponibles, empezás a hacer cosas que compilan y se ejecutan. Son lenguajes de alto nivel —se alejan y abstraen mucho de los conceptos verdaderos de la computadora—, lo que hace una curva de aprendizaje menos pronunciada. Eso es un arma de doble filo porque la mayoría de la gente que aprende a programar con estos lenguajes nunca termina de comprender cómo se maneja la memoria o por qué ciertas estructuras de código son poco óptimas.
De paso te aclaro que:
- Ajax no es un lenguaje sino una herramienta (para simplificar) que permite comunicación entre el cliente y servidor Web sin necesidad de recargar la página HTML.
- MySQL es un motor de base de datos (un producto) que sirve para guardar información. SQL es un lenguaje para realizar consultas a bases de datos (no sólo a MySQL sino a otras como Oracle, PostgreSQL, SQLite, Firebird, etc). La mayoría de los sistemas que guardan información lo hacen en bases de datos y por lo tanto utilizan SQL a demás de él o los lenguajes en que están programados.
- Visual es parte del nombre de varias implementaciones de lenguaje de Microsoft. Visual Basic, Visual C++, Visual J++ y otros.
- ASP y PHP no son realmente lenguajes sino scripts. La diferencia es más bien sutil a esta altura, así que lo aprenderás con el tiempo.
¡Bienvenido al maravilloso mundo de la programación!"