Este artículo fue coescrito por Stephen Cognetta, MBA. Stephen Cognetta es cofundador y presidente ejecutivo de Exponent, una plataforma de aprendizaje que ayuda a las personas a prepararse para sus entrevistas tecnológicas y a dominarlas. Se especializa en coaching para la gestión de productos, ingeniería de software, marketing de productos, gestión, gestión de proyectos técnicos y entrevistas en ciencia de datos. Stephen tiene una licenciatura en ingeniería informática de la Universidad de Princeton, donde se graduó Summa Cum Laude, y un MBA en la Universidad de Stanford. Antes de fundar Exponent, trabajó como gerente de producto de Google y cofundó HackMentalHealth.
Este artículo ha sido visto 132 182 veces.
Si te sientes interesado en crear programas de computadora, aplicaciones móviles, sitios web, juegos o cualquier otro tipo de software, tendrás que aprender a programar. Los programas se crean mediante un lenguaje de programación. Este lenguaje permite al programa funcionar con el dispositivo en el que se esté ejecutando, ya sea una computadora, un teléfono móvil o cualquier otro tipo de hardware.
Pasos
Parte 1
Parte 1 de 6:Elegir un lenguaje
-
1Determina tu área de interés. Puedes comenzar a aprender con cualquier lenguaje de programación (aunque existen algunos que definitivamente son más "sencillos" que otros), por lo que debes comenzar por preguntarte qué pretendes lograr aprendiendo un lenguaje de programación. Esto te ayudará a determinar qué tipo de programación debes perseguir y te dará un buen punto de partida.
- Si quieres aprender desarrollo web, existe un gran conjunto de lenguajes distintos que debes aprender y se diferencian de los lenguajes necesarios para desarrollar programas de computadora. El desarrollo de aplicaciones móviles requiere un conjunto de habilidades diferentes que cuando se programan aplicaciones de escritorio. Todas estas decisiones influirán en tu dirección.
-
2Considera comenzar con un lenguaje "simple". Independientemente de tu decisión, debes considerar comenzar con un lenguaje simple y de alto nivel. Estos son lenguajes especialmente útiles para los principiantes ya que enseñan los conceptos básicos y los procesos mentales que se pueden aplicar prácticamente a cualquier lenguaje.[1]
- Los dos lenguajes más populares en esta categoría son Python y Ruby. Ambos son lenguajes orientados a objetos para el desarrollo de aplicaciones web y utilizan una sintaxis legible.
- "Orientado a objetos" significa que el lenguaje se construye sobre conceptos de "objetos" o colecciones de datos y su correspondiente manipulación. Este es un concepto que se utiliza en muchos lenguajes de programación avanzados como C++, Java, Objetive-C y PHP.
-
3Lee algunos tutoriales básicos de distintos lenguajes. Si aún no estás seguro sobre el lenguaje que quieres usar para empezar a aprender, lee algunos tutoriales de diferentes lenguajes. Si algún lenguaje tiene más sentido para ti que otros, pruébalo un poco para ver si te gusta. Existen innumerables tutoriales de programación disponibles en la internet, incluyendo muchos en wikiHow:
- Python: un gran lenguaje para comenzar que además es muy potente una vez que logras familiarizarte con el. Es muy utilizado para crear aplicaciones web e incluso para desarrollar algunos juegos.
- Java: se utiliza en innumerables tipos de programas, desde juegos o aplicaciones web hasta software ATM.
- HTML: un lugar de comienzo esencial para cualquier desarrollador web. Tener conocimiento de HTML es fundamental antes de pasar a utilizar otros lenguajes de desarrollo web.
- C: uno de los lenguajes más antiguos, C aún es una herramienta poderosa y es la base para lenguajes modernos como C++, C# y Objetive-C.
Parte 2
Parte 2 de 6:Empezar poco a poco
-
1Aprende los conceptos básicos del lenguaje. Si bien las partes de este paso variarán dependiendo del lenguaje que elijas, todos los lenguajes de programación tienen conceptos fundamentales que son esenciales para construir programas útiles. Aprender y dominar estos conceptos desde un comienzo facilitará las cosas a la hora de resolver problemas y crear código poderoso y eficiente. A continuación se mencionan algunos de los conceptos básicos de la mayoría de los lenguajes de programación:
- Variables: una variable es una forma de almacenar y referenciar piezas de datos cambiantes. Las variables se pueden manipular y normalmente tienen tipos definidos como "enteros", "caracteres", entre otros. Estos tipos permiten determinar el tipo de dato que se puede almacenar. Cuando se codifica, las variables normalmente tienen nombres que las hacen identificables a los humanos. Esto permite entender de forma más simple cómo interactúa la variable con el resto del código.
- Sentencias condicionales: una sentencia condicional es una acción que se realiza dependiendo de si la sentencia es verdadera o falsa. La forma más común de sentencia condicional es la declaración "Si-Entonces". Si la sentencia es verdadera (por ejemplo, x = 5) entonces sucede algo. Si la sentencia es falsa (por ejemplo, x !=5), sucede otra cosa.
- Funciones o subrutinas: el nombre real de este concepto varía en función del lenguaje. También se les suele llamar "Procedimiento", "Método" o "Unidad invocable". Esto es básicamente un programa pequeño dentro de un gran programa. El programa puede "llamar" a la función en muchas ocasiones, permitiendo al programador crear programas complejos de forma eficiente.
- Ingreso de datos: este es un concepto amplio que se utiliza en casi todos los lenguajes. Implica controlar y almacenar los datos que ingresan los usuarios. La forma de recolectar estos datos depende del tipo de programa y de los métodos de entrada que el usuario tiene disponibles (teclado, archivos, etc.). Este concepto está muy ligado al de salida de datos, que es la forma de mostrar los resultados al usuario, ya sea a través de la pantalla o mediante un archivo.
-
2Instala el software necesario. Muchos lenguajes de programación requieren compiladores, es decir, programas diseñados para traducir el código a un lenguaje que pueda entender la computadora. Otros lenguajes, como Python, utilizan un intérprete el cual puede ejecutar programas de forma instantánea sin la necesidad de un compilador.
- Algunos lenguajes tienen IDEs (entorno de desarrollo integrado) que normalmente contienen un editor de código, un compilador o interprete y un depurador. Esto permite al programador llevar a cabo todas sus funciones en un mismo lugar. Los IDE a veces incluyen representaciones visuales de la jerarquía de objetos y directorios.
- Existen muchos editores de código disponibles en la internet. Estos programas ofrecen diferentes formas de resaltar la sintaxis y brindan otras herramientas de desarrollo muy útiles.
Parte 3
Parte 3 de 6:Crear tu primer programa
-
1Concéntrate en un concepto a la vez. Uno de los primeros programas que se suele enseñar es el programa "Hola mundo". Se trata de un programa muy simple que muestra por pantalla el texto "Hola, mundo" (o alguna clase de variación). Este programa enseña a los programadores novatos la sintaxis para crear un programa básico y funcional y también muestra cómo manejar la salida de datos. Cambiando el texto puedes aprender la forma en la que el programa maneja los datos básicos. Estas son guías de wikiHow que enseñan a crear el programa "Hola mundo" en varios lenguajes.
- Cómo escribir un programa en Python que muestre la frase "Hola mundo"
- How to Write a Hello World Program in Ruby (en inglés)
- How to Create a Hello World Program in C (en inglés)
- How to Write a Hello World Program in PHP (en inglés)
- How to Write "Hello World!" in Visual C Sharp (en inglés)
- Cómo crear tu primer programa Java en Ubuntu Linux
-
2Aprende analizando ejemplos de la internet. Existen cientos de códigos de ejemplo en la internet para prácticamente todos los lenguajes de programación. Usa estos ejemplos para examinar cómo funcionan los distintos aspectos del lenguaje y cómo interactúan las diferentes partes. Toma partes de distintos ejemplos para crear tus propios programas.
-
3Examina la sintaxis. La sintaxis es la forma en la que se escribe el lenguaje para que el compilador (o el intérprete) pueda entenderlo. Cada lenguaje tiene una sintaxis única, sin embargo algunos elementos pueden ser parte de varios lenguajes. Aprender la sintaxis es fundamental para aprender cómo programar en un lenguaje y a menudo es en lo que piensa la gente cuando piensa en la programación de computadoras. En realidad, no es más que la base en la cual se construyen otros conceptos más avanzados.
-
4Experimenta mediante cambios. Haz cambios a tus programas de ejemplo y luego evalúa los resultados. Al experimentar puedes aprender qué funciona y qué no mucho más rápido que leyendo un libro o una guía. No tengas miedo de romper tu programa; aprender a solucionar errores es una parte importante de cualquier proceso de desarrollo y las cosas nuevas casi nunca funcionan bien en el primer intento.[2]
-
5Empieza a practicar la depuración. Cuando estás programando, inevitablemente vas a experimentar errores. Estos errores se pueden manifestar prácticamente en cualquier lado. Los errores pueden ser rarezas inofensivas en el programa o pueden ser fallas graves que impiden que el programa se compile o ejecute. Encontrar y solucionar estos errores es un proceso importante en el ciclo de desarrollo de software, así que acostúmbrate a hacerlo desde un comienzo.
- A medida que experimentas cambiando programas básicos, te vas a encontrar con cosas que no funcionan. Descubrir cómo tomar un acercamiento diferente es una de las habilidades más importantes de un programador.
-
6Comenta todo tu código. Prácticamente todos los lenguajes de programación tienen una función para hacer "comentarios" que te permite incluir texto que no es procesado por el intérprete o el compilador. Esto permite dejar una explicación corta, pero clara, escrita en un lenguaje humano acerca de qué es lo que hace el código. Los comentarios no solo sirven como ayuda para recordar qué hace tu código dentro de un gran programa, sino que es una práctica esencial en ambientes colaborativos, ya que permite que los otros entiendan qué hace tu código.
Parte 4
Parte 4 de 6:Practicar con regularidad
-
1Programa todos los días. Lo más importante para dominar un lenguaje de programación es dedicarle tiempo. Incluso un lenguaje simple como Python, que solo requiere uno o dos días para entender su sintaxis básica, requiere mucho tiempo para llegar a ser un verdadero profesional en el lenguaje. Como en cualquier otra habilidad, la práctica es la clave para convertirse en alguien más competente. Intenta programar por lo menos una vez al día, incluso aunque sea solo una hora entre el trabajo y la cena.
-
2Establece metas para tus programas. Al establecer metas realistas pero desafiantes, podrás comenzar a resolver problemas y proponer soluciones. Intenta pensar en una aplicación simple, como una calculadora, y desarrolla una forma para crearla. Usa la sintaxis y los conceptos que aprendiste y aplícalos en la práctica.
-
3Habla con otros y lee otros programas. Existen muchas comunidades de programación dedicadas a lenguajes o disciplinas específicas. Ser parte de una comunidad puede ser muy útil para tu aprendizaje. Obtendrás acceso a una variedad de ejemplos y herramientas que te pueden ayudar en tu proceso de aprendizaje. Leer el código de otros programadores puede inspirarte y ayudarte a comprender conceptos que aún no dominas.[3]
- Dale un vistazo a los foros de programación y a las comunidades de la internet dedicadas al lenguaje que hayas elegido. Asegúrate de participar y no dedicarte únicamente a hacer preguntas. Estas comunidades normalmente son vistas como un lugar de colaboración y discusión y no solo como un sitio de preguntas y respuestas. Siéntete libre de pedir ayuda, pero mantente preparado para mostrar tu trabajo y estar abierto a probar diferentes enfoques.
- Una vez que tengas algo de experiencia, considera entrar a algún evento de programadores. En estos eventos se reúnen personas o equipos que compiten contra reloj para desarrollar un programa funcional, normalmente basándose en algún tema en particular. Estos eventos pueden ser muy divertidos y es una gran forma de conocer a otros programadores.
-
4Ponte a prueba para que las cosas sean más divertidas. Intenta hacer cosas que aún no sabes cómo llevarlas a cabo. Investiga formas de cumplir la tarea (o una similar) y luego intenta implementar eso en tu propio programa. Intenta evitar sentirte complacido por un programa que "simplemente" funciona; haz todo lo posible para asegurarte de que todos los aspectos del programa funcionen a la perfección.
Parte 5
Parte 5 de 6:Ampliar tu conocimiento
-
1Asiste a cursos de entrenamiento. Muchas universidades, colegios comunitarios y centros comunitarios ofrecen clases de programación y talleres a los que puedes asistir sin tener que formar parte de esa institución. Esto puede ser de mucha ayuda para los programadores novatos, ya que permiten obtener ayuda de programadores experimentados y comunicarse con otros programadores locales.
-
2Compra un libro o pídelo prestado. Existen miles de libros educacionales disponibles para cualquier lenguaje de programación. Si bien no debes basar todos tus conocimientos en los libros, pueden ser una gran referencia y a menudo contienen una gran cantidad de ejemplos muy útiles.
-
3Estudia lógica y matemática. Cuando se programa, la mayor parte del tiempo se utiliza aritmética básica, pero podría ser útil que aprendas conceptos más avanzados. Esto es muy importante sobre todo si piensas desarrollar simulaciones complejas o programas con algoritmos avanzados. Estudiar lógica, fundamentalmente lógica de computadoras, puede ayudarte a entender cómo tener un mejor enfoque al resolver problemas en programas avanzados.
-
4Nunca dejes de programar. Existe una teoría popular que dice que para convertirse en un experto se necesitan al menos 10.000 horas de práctica. Si bien este es un tema de debate, el principio general sigue siendo válido: la maestría requiere de tiempo y dedicación. No esperes aprender todo de la noche a la mañana, pero si te mantienes concentrado y continúas aprendiendo, no hay nada que te impida ser un experto en tu campo.[4]
-
5Aprende otro lenguaje de programación. Aunque seguramente puedas arreglártelas dominando un solo lenguaje, muchos programadores incrementan sus chanches de éxito en el campo al aprender varios lenguajes. Su segundo o tercer lenguaje normalmente es complementario con su lenguaje principal, lo que les permite desarrollar programas más complejos e interesantes. Una vez que tengas un buen nivel de comprensión de tu primer lenguaje de programación, quizás sea tiempo de aprender uno nuevo.
- Seguramente sentirás que aprender tu segundo lenguaje fue mucho más sencillo que el primero. Muchos conceptos básicos de programación son iguales en todos los lenguajes, sobre todo si los lenguajes se encuentran estrechamente relacionados.
Parte 6
Parte 6 de 6:Aplicar tus habilidades
-
1Inscríbete en un programa de cuatro años. Si bien no es estrictamente necesario, un programa de cuatro años en un colegio o en una universidad puede darte a conocer una gran variedad de lenguajes diferentes, además te será útil para relacionarte con profesionales y otros estudiantes. Sin dudas este método no es para todos y muchos programadores exitosos nunca han asistido a una institución de cuatro años.
-
2Haz un registro de tus trabajos. A medida que desarrollas programas y expandes tu conocimiento, asegúrate de guardar tus mejores trabajos. Puedes mostrar este registro a reclutadores y entrevistadores como un ejemplo del trabajo que realizas. Asegúrate de incluir los trabajos que realizaste por cuenta propia y de tener permiso para incluir aquellos trabajos que hiciste con otra compañía.
-
3Trabaja por tu propia cuenta. Hay un mercado independiente muy grande para programadores, especialmente para desarrolladores de aplicaciones móviles. Realiza algunos trabajos pequeños de forma independiente para tener una idea de cómo funciona la programación comercial. A menudo puedes usar estos trabajos para mejorar tu registro de trabajos y colocarlos como un trabajo publicado.
-
4Desarrolla tus propios programas gratuitos o comerciales. No tienes que trabajar para una compañía para ganar dinero programando. Si tienes las habilidades necesarias, puedes desarrollar software por tu propia cuenta y lanzarlo a la venta, ya sea a través de tu sitio web o mediante otra tienda de software. Debes estar preparado para dar soporte para cualquier software que pongas a la venta, ya que los clientes utilizarán el programa para trabajar.
- El freeware es una forma popular de distribuir programas y utilidades pequeñas. El desarrollador no recibe dinero, pero es una gran forma de construir un nombre y darse a conocer en la comunidad.
Consejos
- Si te interesa la programación de juegos, investiga Python, C++ y Java. De estos tres, C++ es probablemente el lenguaje de mejor rendimiento, Python es con diferencia el más fácil de aprender y Java es capaz de funcionar en Windows, Mac OS y Linux sin tener que adaptar el código.
- Aprende acerca del software libre. Estudia el código fuente de los programas disponibles en el Free Software Directory (directorio de software libre). ¿Para qué reinventar la rueda cuando simplemente puedes mejorarla? Solo asegúrate de entender qué es lo que estás programando.
- Para la mayoría de las personas, programar algo que les atrae o que pueden usar es más interesante que leer los ejemplos de un libro. Utiliza un motor de búsqueda para averiguar acerca de proyectos que te interesen.
- Cuando aprendas algo nuevo, es muy útil que lo implementes por tu propia cuenta y luego retoques el diseño, prediciendo los resultados para asegurarte de que entiendes el concepto.
- Utiliza las interfaces de programación actualizadas y materiales de consulta oficiales publicados por el creador del software.
- Las referencias están allí para ayudarte. No te avergüences si no recuerdas todo de memoria; esto viene con el tiempo. Lo importante es saber dónde encontrar material de referencia.
- Para practicar, intenta enseñarles a otras personas. No solo te hará alguien más competente, sino que te permitirá pensar de manera más profunda obteniendo diferentes puntos de vista.