¿Qué es la programación?

Supongamos que trabajas para una empresa multinacional y tienes una reunión programada con un empresario de China. Tu idioma materno es el español y no sabes nada de chino. Aún así, recuerdas que tienes por segundo idioma el inglés y que el empresario chino también habla inglés. Gracias a eso, empiezan a usar el inglés como su idioma en común para negociar y comunicarse.

 

De la misma manera, utilizamos lenguajes como HTML, CSS, JavaScript, Java, etc., para comunicarnos con la computadora con el fin de entendernos mutuamente.

El idioma nativo de una computadora es el binario: una larguísima lista de unos y ceros. Para las personas, no es nada fácil leer o escribir binario, y por eso se nos ocurrieron los lenguajes de programación para hablar con las computadoras. Como las computadoras no entienden los idiomas humanos, tenemos que hallar el punto medio en algún lado.

Sin embargo, a diferencia de los humanos, las computadoras no captan la comunicación indirecta y siempre se toman las cosas literalmente. Si les dices algo, lo harán exactamente como se los dijiste. Las computadoras no son lo suficientemente inteligentes como para tomar decisiones por sí mismas y no comprenden la información que no les fue explicada a detalle. Por esta razón, tienes que asegurarte de darles las instrucciones exactas.

Por ejemplo, si te pidiera que me hicieras un sándwich, me podrías preguntar cuáles son los ingredientes que quiero en ese sándwich, y si lo quiero tostado o no. Para ti, esto podría ser todo lo que necesitas saber para hacerme un sándwich delicioso. Sin embargo, existen muchas decisiones pequeñas y conocimientos previos involucrados en la preparación de un sándwich.

Si sólo le dijeras a una computadora que quieres un sándwich tostado de jamón y queso con pan de centeno y mayonesa, muy probablemente recibirás algo distinto a lo que pediste. Una persona sabe que se pone primero la mayonesa en las rebanadas de pan, luego se agrega el jamón y el queso, y después se coloca el sándwich en el horno para que se tueste.

 

Pero, ¿cómo se supone que una computadora sepa todo eso?

Recuerda que le dijimos a la computadora lo que queríamos: “un sándwich tostado de jamón y queso con pan de centeno y mayonesa”. Para una computadora, sería lógico hacerlo en ese orden dado. Tostaría el jamón y el queso juntos, pondría dos rebanadas de pan de centeno en la parte de arriba y luego extendería la mayonesa sobre el pan.

 

¿No se supone que las computadoras son más listas que eso?

Bueno, como la computadora hace las cosas literalmente, debes especificar el orden de cada paso y la ubicación de cada ingrediente. Todo mundo sabe que los ingredientes van entre las rebanadas de pan, pero una computadora no tiene un conocimiento previo sobre cómo es un sándwich—sólo está siguiendo tus instrucciones directas.

Esta es otra de las razones por las cuales aún no podemos comunicarnos con las computadoras por medio de idiomas humanos. Nuestros lenguajes son demasiado ambiguos y vagos como para que una computadora los entienda correctamente. Además, si una palabra u oración tiene un significado doble, una computadora no sabría cómo interpretarla. Necesita que le expliques todo a detalle.

La verdad es que las computadoras no son nada inteligentes; sólo procesan la información mucho más rápido que nosotros.

¿Qué es un programador y qué es lo que hace?

Recuerda: no puedes decirle así como si nada a la computadora qué es lo que quieres en español. Necesitarás un programador informático para que te traduzca. Un programador informático es aquella persona que comunica sus ideas e instrucciones a una computadora, haciendo que los sitios web, juegos y otros programas aparezcan en la pantalla.

También se podría definir al programador como un políglota (es decir, alguien que conoce muchos idiomas) que se especializa en hablar con computadoras. Saben exactamente qué decir y cómo decirlo para que la computadora los entienda. Si alguna vez estudiaste un idioma extranjero, sabrás que cada idioma posee un vocabulario, una gramática y un conjunto de reglas propios. Los lenguajes de computadora también tienen su propia manera de decir cosas, la cual se llama sintaxis.

Si bien, una persona puede entenderte aún si pronunciaras mal una palabra, si usaras la conjugación incorrecta o incluso si arruinaras tu gramática, una computadora sería mucho menos tolerante con los errores. Tan pronto cometas un error de sintaxis, la computadora dejará de escucharte y dejará de ejecutar el programa.

Qué grosera.

 

¿Qué podrías lograr con las habilidades para la programación?

Si has usado una computadora antes, visto vídeos en línea o jugado videojuegos, podría resultarte difícil de creer que todo esto sólo proviene de una serie de letras y símbolos. La capacidad para procesar miles de líneas de código por segundo es la fuerza de una computadora y le permite seguir instrucciones sumamente complejas y realizar tareas increíbles.

Veamos algunas de las increíbles cosas que puedes hacer con la programación::

  • Crear y diseñar sitios web
  • Construir aplicaciones móviles
  • Desarrollar programas de escritorio
  • Desarrollar videojuegos
  • Crear y mantener bases de datos
  • Automatizar tareas
  • Resolver problemas complejos
  • Crear inteligencia artificial
  • Realizar análisis estadísticos
  • Y mucho más…

Si te interesa alguna de estas actividades y te gustaría ganarte la vida haciéndolas, aprender a programar es definitivamente una habilidad importantísima que debes desarrollar.

 

¿Qué es lo que hace que la programación sea útil, y para qué es buena?

A medida que crece más nuestra dependencia hacia las computadoras dentro de nuestra vida diaria, la importancia de la programación informática también continúa en ascenso.

En los próximos años, casi todos los campos incluirán la programación informática dentro de sus actividades, y aprender a programar te dará mucha ventaja en tu carrera futura. Por ejemplo, puedes utilizar tus habilidades de programación dentro de las áreas de escritura, análisis, administración, ingeniería, desarrollo de software y mucho más.

Los partidarios de la programación la ven como una habilidad universal que todos deben poseer, junto a la capacidad para leer y escribir o realizar ecuaciones matemáticas simples. Muchos gobiernos del mundo también lo creen así y han propuesto iniciativas para enseñar programación a los niños dentro del plan de estudios básico de las escuelas.

Al igual que nosotros, ven a la programación como la clave para permanecer competitivos dentro del mercado global.

 

Ya sé qué es útil, pero ¿cómo es en sí la programación?

Un día normal en la vida de un programador no es tan glamoroso como las películas o series de TV lo hacen parecer.

Ser un programador requiere mucha concentración, paciencia y una motivación propia. Si no puedes sentarte y permanecer concentrado por varias horas, lo mejor será que reconsideres si entrar a una carrera de programación informática o no.

Algunos trabajos de programación pueden pedirte que trabajes en un horario irregular y que estés disponible para corregir errores y resolver problemas de manera inmediata en la medida en que aparezcan. Otros pueden hacer que trabajes de nueve a cinco, como un trabajo regular.

Sin embargo, trabajar como un programador informático podría brindarte más libertad que la que te da tu trabajo actual. Una buena cantidad de trabajos de programación son remotos, lo cual significa que puedes programar en tu casa, en un café o mientras te bronceas en la playa —eso si la señal de wifi llega hasta allí—.

 

¿Es la programación lo indicado para mí?

Aquí está el detalle: tienes que medir con seriedad las ventajas y desventajas de un trabajo como programador. A lo mejor tuviste una idea poco realista sobre cómo es la programación y no has considerado que es como cualquier otro trabajo en el planeta: también es un trabajo duro. Pero, si cumples con los siguientes criterios, es probable que adores cada segundo de él.

Señales que la programación no es para ti:

  • Sólo te motiva el dinero y no te interesan para nada las computadoras
  • No te gusta estar sentado por largos periodos de tiempo
  • Te quedas anonadado cuando miras una página entera en código
  • Escribes lento y sueles cometer errores tipográficos

Señales que la programación SÍ es para ti:

  • Te describes a ti mismo como una persona analítica Y creativa
  • Le das mucha atención a los detalles
  • Te sientes cómodo trabajando tanto con otros como en solitario
  • Tienes entendimiento básico del inglés escrito
  • Te gusta resolver problemas
  • Te encanta aprender cosas nuevas
  • Te adaptas bien al cambio
  • Te gusta organizar la información y automatizar procesos

 

¿Cuáles son los lenguajes de programación que debo escoger y por dónde empiezo?

Volvamos al ejemplo de nuestra reunión con el empresario chino.

Aunque el inglés puede resultar útil en un entorno empresarial, es probable que debas aprender otros idiomas para otros campos. Por ejemplo, tal vez quieras saber francés para la diplomacia, griego para la filosofía y alemán para ingeniería. Según el campo en el que trabajes, elegirás un idioma específico para satisfacer tus necesidades.

No tendrás el tiempo ni la capacidad para aprender todos los lenguajes de programación, por lo que tienes que ser estratégico con respecto a los idiomas que vas a aprender. En primer lugar, tienes que determinar cuál es tu enfoque y cuáles idiomas necesitas conocer para lograr tus objetivos personales.

Aunque técnicamente no son lenguajes de programación, HTML y CSS son excelentes idiomas para comenzar a aprender los fundamentos de la programación. HTML y CSS son “lenguajes de marcado textual” que en realidad son los idiomas que utilizamos para formatear y organizar el texto. Sin HTML o CSS, tu navegador no sabría si estas palabras que estoy escribiendo son un título, un párrafo o un pie de página. Tampoco sabría si estas palabras deben estar en negritas, cursivas, etc.

Incluso mientras escribo este artículo, estoy utilizando HTML y CSS para ayudarte a ti y a tu navegador web a entender qué es lo que tengo que decir.

 

Para no hacer el cuento largo…

En resumen, la programación es una carrera muy bien pagada que requiere paciencia, dedicación y mucha atención al detalle.

Si no te gusta sentarte frente a una computadora y si no te sientes dispuesto a dedicarle tiempo a la práctica, es probable que termines odiando la programación y que te rindas rápidamente. Tampoco te irá bien si sólo te motiva el sueldo y si no sientes ningún interés en el trabajo en sí.

Sin embargo, si te encanta aprender cosas nuevas, te gusta motivarte y tienes una actitud positiva, tendrás éxito —independientemente de tu formación académica—.


¿Te gustaría aprender a programar? Ven y prueba nuestras primeras 25 lecciones sin costo en la Escuela de Programación CodeBerry.