Si eres nuevo en el mundo de la programación y el desarrollo web, tiene sentido empezar por enseñarte a ti mismo usando todos los recursos gratuitos de aprender a programar online.
Aprovechando estos recursos mientras aprendes a codificar gratuitamente, puedes descubrir lo que te gusta y lo que no te gusta antes de invertir dinero en un determinado lenguaje de programación o conjunto de cursos.
Una vez que hayas pasado por suficientes lecciones de programación gratuita para encontrar esa dirección, podrás canalizar tu pasión para seguir aprendiendo a codificar en línea de la manera más eficiente.
Sin embargo, hay muchos recursos, clases y libros de programación gratuitos entre los que puedes elegir.
¿Cómo sabes cuáles son los mejores lugares para aprender a programar online?
Bueno, ¡he investigado un poco para ahorrarte tiempo! Aquí hay 71 de los mejores sitios web para aprender a programar gratuitamente, desde simples tutoriales de programación hasta cursos completos de programación en línea.
Para facilitar las cosas, he desglosado estos recursos de aprendizaje de código por temas.
Utiliza la tabla de contenidos que aparece a continuación para dar un salto.
Tutoriales y cursos para aprender programación online en general
¿Eres un friki de la informática al que le gusta la parte técnica del desarrollo web?
¿Te gusta tomar el control de las cosas, mientras conviertes tu idea de la aplicación o la idea del sitio web en realidad?
¿Eres un blogger al que le gusta llegar a la gente a través de un contenido de calidad y crear una interfaz de sitio fácil de usar?
Si tu respuesta es «sí» a cualquiera de las preguntas anteriores, entonces probablemente necesites aprender a escribir código por tu cuenta.
Atrás quedaron los días en los que se creía que la programación era sólo para los absolutos empollones de la informática.
Ahora, cualquiera puede participar en el proceso de escribir código para sus propias creaciones, como sitios web, aplicaciones para móviles y software.
Sin embargo, puede que todavía te preguntes por qué necesitas aprender a programar cuando puedes contratar a programadores o desarrolladores para que hagan el trabajo por ti
Bueno, para empezar, reduce tu dependencia de los programadores a tiempo completo.
Y, si te conviertes en un experto en programación o programación, puedes dejar de contratar programadores o prescindir de un programador para ayudarte a ahorrar costos.
Además, aunque sólo aprendas los fundamentos de la programación, tu equipo de desarrollo web no podrá engañarte en nada.
Pero, la razón más importante para aprender a programar es que le permitirá trabajar en su visión, en lugar de explicar su visión a otra persona (un programador) que no siempre puede hacer justicia a sus ideas creativas.
Por lo tanto, está claro que debes aprovechar cualquier herramienta de programación extremadamente simple que te ayude a aprender a programar de forma gratuita.
En este artículo, echamos un vistazo más de cerca a los 20 increíbles recursos para aprender a programar gratuitamente, todo lo que necesitas es acceso a una conexión a Internet y un buen ordenador portátil.
El objetivo es revelar las características que ofrece cada uno de los 20 recursos de aprendizaje de código libre para animarte a empezar a codificar por tu cuenta.
1. Codeacademy
La Codeacademy es donde la mayoría de la gente que es nueva en el mundo de la programación se inicia.
En su plataforma, puedes aprender a programar entre otras habilidades técnicas.
Su reputación es bien merecida.
La Codeacademy gira en torno al aprendizaje interactivo; es decir, lees un poco, tecleas tu código directamente en el navegador, y ves los resultados inmediatamente.
Como su nombre lo indica, este recurso de programación te enseña habilidades técnicas y de programación a través de una amplia gama de cursos.
El curso cubre los siguientes temas:
- Desarrollo de sitios web (incluyendo la programación interactiva)
- HTML, CSS, PHP, Python y más
- Ruby y Ruby on Rails
- AngularJS, Java, JavaScript, jQuery y así sucesivamente
- SQL y Git
- La línea de mando
Más de 25 millones de personas han aprendido o están aprendiendo a codificar usando esta gran plataforma.
Lo bueno de la Codecademy es que la plataforma te da la oportunidad de aprender y entender el código desde cero.
Codecademy es una plataforma de aprendizaje en línea que ofrece clases gratuitas de programación en lenguajes de programación como Python, Java, JavaScript, Ruby, SQL, C++, HTML y CSS.
Esta empresa de educación también tiene como objetivo proporcionarte una gran experiencia de aprendizaje en línea y ha tenido bastante éxito en hacerlo hasta ahora.
Qué lecciones de código libre ofrecen: HTML y CSS, JavaScript, PHP, Python, Ruby, Angularjs, La Línea de Comando, y más
2. freeCodeCamp
freeCodeCamp es una organización sin fines de lucro que se anuncia como «dedicada a enseñar al mundo cómo codificar gratuitamente»
Esta escuela gratuita de programación en línea enseña a codificar primero a través de un plan de estudios establecido (aprox.
800 horas en total), y después te da experiencia práctica trabajando en proyectos para organizaciones sin ánimo de lucro.
Es perfecta para los estudiantes que quieren aprender a programar online obteniendo una experiencia práctica que les servirá y se verá impresionante en un currículum.
Se ofrecen certificaciones de código libre: HTML, CSS, JavaScript, visualización de datos, DevTools, pruebas de control de calidad, Node.js, React, jQuery, y más
3. Coursera
Esta es una enorme biblioteca en línea para varios tipos de cursos basados en la programación que son impartidos por un surtido de profesores de diferentes universidades.
Coursera básicamente te ofrece acceso a algunos de los mejores cursos en línea del mundo (alrededor de 1 773 cursos) al asociarse con diferentes universidades y organizaciones (138 socios).
Así pues, hay una lista interminable de temas de informática que se imparten en Coursera, incluyendo grandes datos SQL, robótica y Python.
Aunque todos los cursos se ofrecen de forma gratuita, si se desea obtener una certificación en un tema concreto, es necesario pagar la cuota correspondiente a dicho tema.
El precio para obtener un certificado oscila entre 30 y 100 dólares, dependiendo de la elección de su curso.
Coursera es uno de los mejores lugares para aprender a programar gratuitamente, con sus opciones de cursos profesionales y versátiles.
El sitio es una gran biblioteca de cursos en línea donde las clases son impartidas por verdaderos profesores universitarios.
Todos los cursos son gratuitos, pero tiene la opción de pagar un «Certificado Verificado de Coursera» (los precios oscilan entre 30 y 100 dólares) para demostrar la finalización del curso.
A veces, el pago de un certificado también permite el acceso a contenidos que no están disponibles en las versiones gratuitas.
Coursera también ofrece «Especializaciones», que son colecciones de cursos sobre un tema específico, típicamente con un proyecto final al final.
Coursera es una plataforma de aprendizaje en línea que alberga contenidos de las mejores universidades, incluyendo más de 100 clases de programación.
Si estás listo para aprender a programar, podrías hacer algo peor que empezar aquí.
Las clases de Coursera son gratuitas.
Qué cursos de código libre ofrecen: Muchos (mucho más allá de sus temas básicos de programación/ciencia computacional)
4. edX
Esta plataforma de código abierto para la educación superior se está convirtiendo rápidamente en un recurso de aprendizaje de renombre mundial con más de 5 millones de alumnos.
En la categoría de «informática», edX.org ofrece alrededor de 166 cursos diferentes.
Varios de estos cursos, como el curso XSeries, son de pago.
Sin embargo, edX.org también ofrece varios cursos verificados de forma gratuita, lo que le permite aprender diferentes lenguajes de programación a su propio ritmo.
Sólo tendrás que pagar por los cursos gratuitos si requieres un certificado como prueba de que has completado el curso y de la experiencia adquirida.
A través de esta plataforma de aprendizaje, puedes estar expuesto a C#, Java, jQuery, C++, Python, aprendizaje automático, programación R, SQL, diseño o desarrollo de aplicaciones móviles, etc.
EdX es un programa de educación superior de código abierto regido por el MIT y Harvard, lo que lo convierte en otro recurso de alto calibre en el que puedes aprender a programar gratuitamente en línea.
El sitio ofrece 107 grandes cursos bajo la categoría de «ciencias de la computación», enseñando varios lenguajes de programación.
EdX es otra plataforma de aprendizaje en línea respaldada por la universidad con contenido de escuelas como Harvard y MIT.
Al igual que Coursera, muchas de las clases de EdX son gratuitas, incluyendo clases sobre diferentes lenguajes de programación, así como algunas opciones básicas de HTML, CSS y JavaScript.
Se ofrecen cursos de programación gratuitos: Java, C#, Python, y muchos más
5. Codewars
Este sitio web de aprendizaje de códigos te permite aprender tu lenguaje de programación preferido desafiándote.
En esta divertida plataforma de aprendizaje de código, puedes resolver un desafío a la vez (conocido como «kata») y afinar tus habilidades existentes.
Puedes aprender más sobre tu lenguaje de programación favorito o exponerte a un nuevo lenguaje del que sabes muy poco.
Algunos de los lenguajes de programación típicos que enseña Codewars son JavaScript, CoffeeScript, Java, Ruby, Python, C# y Clojure.
La idea detrás de esta plataforma es animar a los estudiantes a seguir mejorando con cada «kata» (reto) que se encuentran.
A medida que los desafíos se hacen más difíciles, se resuelven las «katas» de mayor rango.
Te ganas el honor de completar cada «kata» y pasar al siguiente nivel.
Al final de cada desafío, también puedes comparar tu solución con la de los demás y discutir varias formas innovadoras de tratar con técnicas de programación similares en la comunidad de desarrolladores correspondiente.
Para añadir más diversión a los desafíos, Codewars incluso te permite crear tus propias «katas» y desafiar a otros desarrolladores.
Su objetivo final es permitir a los desarrolladores alcanzar su máximo potencial.
Codewars ofrece una forma divertida y única de aprender a programar.
Con un tema de artes marciales, el programa se basa en desafíos llamados «kata» Completarlos para ganar honor y progresar a rangos más altos.
Codewars añade una peculiaridad a los procedimientos ofreciendo clases gratuitas de programación con un tema de artes marciales.
Resolver «katas» de programación específica (un término para ejercicios de entrenamiento de karate) le hará ganar rangos y honores a medida que avanza en su camino para convertirse en un codificador de buena fe.
¿Quién dijo que aprender a programar online no podía ser divertido? Codewars también ofrece una de las listas más diversas de lenguajes de programación.
Además de muchas más cosas, lo que significa que puedes decidir qué priorizar cuando aprendas a codificar.
Esta es una forma divertida de aprender programación en línea si te motiva un poco de juego!
Los desafíos de programación que ofrecen: CoffeeScript, JavaScript, Python, Ruby, Java, Clojure y Haskell
6. GA Dash
GA Dash presenta una forma divertida de aprender a hacer sitios web atractivos desde tu navegador.
Te permite aprender diferentes lenguajes de programación basados en la web, como JavaScript, HTML y CSS.
La parte divertida es que te ayudará a aprender a hacer sitios web en forma de proyectos.
Con cada recorrido dirigido a construir un sitio web impresionante, se construye un pequeño «proyecto».
Todos los recorridos te permitirán crear tu propio sitio web.
Además, te enseña a construir un sitio web receptivo (amigable con los móviles)!
Esta es la plataforma de aprendizaje en línea gratuita de la Asamblea General.
Está completamente basada en proyectos, se construye un «proyecto» con cada recorrido, lo que la hace ideal para aquellos a los que les gusta poner manos a la obra mientras aprenden a codificar en línea.
GA Dash es el brazo libre de la escuela de programación de pago Asamblea General.
Este curso gratuito enseña los fundamentos de HTML, CSS y JavaScript de una manera fácil de usar e interactiva con el mismo nivel de calidad que otras clases pagadas de GA.
Piensa en ello como un campamento de código de $0.
Te hará empezar a aprender a programar de forma gratuita.
Es uno de los pocos recursos gratuitos de aprendizaje del código que tiene un curso sobre cómo construir un tema de Tumblr desde cero.
Lea mi reseña aquí.
Qué proyectos de código libre ofrecen: HTML, CSS, JavaScript, diseño sensible
7. Academia Khan
Esta plataforma de aprendizaje hace que sea muy fácil aprender y desarrollar habilidades de programación.
Esto se debe a que no sólo se basa en instructores para enseñar a los estudiantes, sino que también permite a los estudiantes compartir cualquier programa que conozcan con otros estudiantes.
Este tipo de aprendizaje compartido aumenta el compromiso del usuario y ayuda a los participantes a comprender las cosas más rápidamente.
Además, el uso de vídeos para enseñar diferentes matices de la programación informática le ayudará a relacionarse rápidamente con lo que puede estar intentando hacer en su ordenador.
No sólo se limita a la programación informática, sino que también le ayuda a aprender diferentes cosas que entran en el ámbito de la informática y la programación con tutoriales de aprendizaje de códigos que duran una hora.
De este modo, puedes aprender HTML, CSS, JavaScript, animaciones y más para preparar sitios web y juegos.
Además, la Academia Khan tiene cursos para ayudarte a preparar tus propias bases de datos.
Esta plataforma también ofrece oportunidades de aprendizaje en línea que van más allá de la programación y abarcan varias otras materias.
La Academia Khan ofrece un montón de temas (como dice su portada, «Puedes aprender cualquier cosa»), incluyendo muchos sobre programación informática.
También se ofrecen algunos cursos para los niños más pequeños, ¡para que toda la familia pueda aprender a programar gratis!
La Academia Khan es una plataforma educativa sin fines de lucro dedicada a proveer herramientas educativas en línea GRATUITAS.
Eso incluye una robusta selección de clases de programación.
Los recursos de programación que ofrecen: JS, HTML/CSS, SQL, mucho más
8. MIT OpenCourseware
El OpenCourseWare (OCW) del Instituto Tecnológico de Massachusetts (MIT) es una gran iniciativa emprendida por el MIT.
Como parte de esta plataforma, todos los materiales de estudio de los cursos de licenciatura y de posgrado del MIT se ponen en línea para que pueda estudiarlos en cualquier momento y en cualquier lugar con acceso gratuito para todos.
Además de las demás asignaturas que se ofrecen, esta plataforma ofrece cursos gratuitos en línea relacionados con la informática.
Algunos de los cursos de introducción a la programación incluyen el aprendizaje en línea para Java, Python, C y C++, y la programación en MATLAB.
Puede navegar por estos cursos gratuitos para buscar uno que se ajuste a sus necesidades.
La competencia para entrar en el MIT puede ser dura, pero el acceso a su material de curso en línea no tiene una matrícula o una puntuación mínima en el SAT.
Mantienen una biblioteca en línea de cada tema que enseñan, sin necesidad de tener una cuenta para el acceso; sólo hay que buscar un curso y empezar a revisar el material.
Sí… puedes aprender programación gratis en el MIT. Qué mundo.
El OpenCourseWare del MIT forma parte de una iniciativa del MIT para publicar gratuitamente TODOS los materiales educativos de sus cursos en línea.
¿Suena demasiado bueno para ser verdad? No lo es Aaaaand, que incluye mucha introducción a la programación y a otras técnicas y códigos para las clases de mecanografía para principiantes.
Se ofrecen cursos: Muchos. Mira su página web para ver todos los de programación que ofrecen.
After Hours Programming
After Hours Programming existe desde hace unos años y tiene muchos tutoriales diferentes para aprender los conceptos básicos de Python, PHP y mucho más.
Lo anterior es sólo una breve lista de plataformas o sitios web que le permiten aprender a programar o programar online de forma gratuita.
Puede haber muchas otras herramientas efectivas para el aprendizaje del código.
Si has utilizado alguna de estas herramientas con gran éxito, por favor, comparte tu experiencia en la sección de comentarios de abajo y ¡gracias por leerla!
9. El Proyecto Odin
Este proyecto tiene como objetivo ayudarle a aprender el desarrollo de la web en línea de forma gratuita.
Como parte de su proceso de aprendizaje, usted participa en varios pequeños proyectos para ayudarle a construir su propio portafolio de trabajo.
También tienes la oportunidad de trabajar con otros estudiantes como grupo en diferentes proyectos, lo que mejora tu proceso de aprendizaje.
Este sitio web tiene como objetivo enseñarte la mayoría de los lenguajes de programación básicos, como Ruby y Ruby on Rails, JavaScript, HTML5, CSS3 y jQuery, necesarios para construir sitios web.
También ofrece un plan de estudios flexible, al que tú y otros estudiantes pueden contribuir, para su aprendizaje.
La idea es utilizar las herramientas de desarrollo web más efectivas disponibles.
Los guerreros de hoy en día pueden navegar para aprender a programar con el Proyecto Odín.
Está hecho por los creadores de la Escuela de Código Vikingo, un importante campamento de código en línea, y el Proyecto Odín es su versión gratuita y de código abierto.
Mientras aprendes a codificar gratis con sus tutoriales de programación, puedes buscar apoyo de otros estudiantes usando el grupo de chat en línea!
El Proyecto Odín es un recurso de programación para principiantes absolutos que ofrece un plan de estudios gratuito y de código abierto.
Una opción ideal para cualquiera que quiera aprender a programar online.
Temas técnicos disponibles: HTML, CSS, JavaScript & jQuery, programación Ruby, Ruby on Rails
10. Udacity
Esta plataforma ofrece varios cursos para desarrolladores.
Puedes acceder a todo el material del curso de forma gratuita y afinar tus habilidades como desarrollador web de front-end o como desarrollador de Android o iOS.
Sin embargo, si quieres ser reconocido como un poseedor de un «nanodegrado», entonces necesitas pagar por sus cursos y obtener asistencia guiada a lo largo de tu curso.
Los programas de nanodegrado tienen como objetivo ayudarle a dar la dirección correcta a su carrera y aumentar sus oportunidades de trabajo.
Además, si está interesado, puede consultar el material de sus cursos de forma gratuita para determinar si vale la pena hacer su curso de nanodegrado guiado.
La plataforma ofrece varios cursos construidos por empresas de renombre, como Google, Facebook, At&t y Cloudera.
Por ejemplo, puede acceder al curso de aprendizaje profundo gratuito de Google en el sitio web de Udacity.
Udacity ofrece cursos individuales de programación gratuitos, así como «nanodegrafías» que te capacitan para carreras específicas como desarrollador web de front-end o analista de datos.
Udacity es una escuela de programación en línea con una mezcla de clases gratuitas y de pago (alrededor de 200 de sus clases de programación, lo que ellos llaman «nanodegados», son gratuitas).
Los materiales de los cursos son gratuitos, pero los nanodegrees requieren una cuota de matrícula.
Qué programas de tecnología gratuita ofrecen: Muchos (no sólo de programación)
11. SoloLearn
SoloLearn es una plataforma social donde cualquiera puede aprender a programar.
Es diferente a otros proveedores de cursos porque está basada en el móvil: aprender a programar sobre la marcha, en cualquier dispositivo.
SoloLearn es una plataforma de aprendizaje online y móvil con clases de programación libre en 13 disciplinas de programación diferentes.
Con lecciones en tamaño de bocado, logros para desbloquear y pruebas interactivas, hace que aprender a programar sea divertido, y es de descarga gratuita.
Lecciones de programación que ofrecen: Muchas
12. El jugador de código
Una compilación de tutoriales de programación en línea basados en video para ayudarte a recorrer un proceso de principio a fin.
Es bueno para aprender el código en línea con proyectos/tareas «más pequeños» uno a la vez.
Hay disponibles tutoriales de código libre: HTML5, CSS3, Javascript, Regex, JQuery
13. Bento.io
Su misión es inspirar a la gente a convertirse en programadores haciendo el código accesible, asequible y divertido.
Dado que ofrecen más de 200 temas de tecnología, cualquier cosa que hayas pensado en aprender, la puedes encontrar aquí.
Bento es un sitio que cursa clases de código libre de toda la web y las estructura en un plan de estudios integral.
Pistas de desarrollo web para elegir: Muchas
14. Udemy
Se trata de una plataforma de aprendizaje electrónico de renombre mundial que ofrece miles de cursos que se imparten a través de videotutoriales.
Muchos de los cursos son de pago, pero Udemy también ofrece varios cursos gratuitos.
Los temas tratados por Udemy incluyen el desarrollo personal, el estilo de vida, la salud y la forma física, y el desarrollo.
Como codificador, también te ofrece toneladas de cursos de desarrollo en diferentes secciones, como aplicaciones para móviles, lenguajes de programación, desarrollo web, desarrollo de juegos, bases de datos y comercio electrónico.
Así que, en base a su propósito, puede seleccionar la sección relevante y optar por cualquiera de los cursos gratuitos disponibles para aumentar sus conocimientos.
Además, puede consultar las puntuaciones y reseñas de cada curso gratuito antes de inscribirse en él.
Esto te ayudará a elegir el mejor curso gratuito disponible de Udemy sobre el tema o el lenguaje de programación que te interesa.
Ofrecen cursos gratuitos y de pago.
Tenga en cuenta que en Udemy, los cursos pueden ser creados por cualquiera, así que asegúrese de leer las críticas.
Los cupones también se pueden encontrar fácilmente, y las ventas son frecuentes.
Udemy se proyecta como un mercado de aprendizaje en línea, albergando más de 130.000 cursos creados por los usuarios sobre todo tipo de temas (incluyendo más de 2.000 clases relacionadas con la programación).
Aunque algunas de las ofertas de Udemy son de pago (con un coste de 20 a 200 dólares por curso), también hay muchas clases de programación gratuitas, incluyendo algunos cursos más cortos del tipo Tech 101 que enseñan código para principiantes.
Echa un vistazo a sus cursos de desarrollo aquí.
Los cursos de código libre que ofrecen: Muchos
15. Code Conquest
Este sitio web puede darte una mano cuando estés a punto de entrar en el mundo de la programación.
Aunque no tengas ni idea de lo que es la programación o la programación, la plataforma de Code Conquest puede ayudarte a aprender lo básico y a mejorarlo.
Con Code Conquest, tendrás acceso a una guía de programación gratuita para principiantes que contiene un montón de tutoriales de programación gratuitos.
Con esta guía, aprenderás a usar un lenguaje de programación en particular.
También te hace lo suficientemente capaz para determinar qué entrenamiento en lenguaje de programación es apto para tus requerimientos y puedes entonces tomar tu decisión de acuerdo a ello.
Los diversos lenguajes de programación enseñados por Code Conquest incluyen PHP, JavaScript, Ruby, Python, C++, HTML y CSS.
15. Code.org
Code.org te ofrece acceso a una amplia gama de tutoriales en forma de guías de aprendizaje (tutoriales de aprendizaje de código de una hora de duración), vídeos y demás.
De hecho, también te ofrece acceso a diferentes tutoriales y aplicaciones, tal y como las ofrecen sus socios, para aprender sobre el desarrollo de juegos para los grados K-8, programación JavaScript y otros lenguajes de programación similares.
También realiza varias lecciones dirigidas por un instructor (o por un profesor) para un aprendizaje fácil y rápido.
Algunas de estas lecciones que están disponibles en el sitio son de nombres populares en la industria de la programación.
Por lo tanto, no es de extrañar que haya habido millones de participantes que han aprovechado los conocimientos de programación compartidos en este portal.
El objetivo básico de esta iniciativa sin fines de lucro es ayudar a los estudiantes de la escuela a aprender informática y hacerla una parte regular del plan de estudios.
Code.org proporciona materiales de aprendizaje dedicados específicamente a aumentar las tasas de estudiantes femeninos y de minorías que ingresan a las carreras de ciencias informáticas.
Sus cursos de código libre están diseñados para estudiantes de K-12, pero pueden ser útiles para todas las edades.
Code.org es un sitio web sin fines de lucro dedicado a alentar a todas las personas (pero con un enfoque en los estudiantes de edad escolar) a aprender a programar online.
No dejes que eso te desanime: después de todo, todos somos principiantes de la programación.
(También hay una sección para lecciones de programación más allá del K-12.)
Comienza con sus rápidas tutorías de Hour of Code, o construye proyectos en cursos de laboratorio.
Se ofrecen cursos de programación: HTML, CSS, JavaScript, programación de bloques
Codeasy
Codeasy es probablemente el más nuevo de toda la lista.
Es un curso educativo bastante interesante porque impulsa un nuevo concepto en el estudio de la informática.
Empiezas a aprender allí leyendo una historia de aventuras sobre las máquinas de combate del futuro.
En tu camino, te encontrarás con retos que requieren una programación real para resolverlos.
El objetivo final es salvar al mundo de la invasión de las máquinas.
Y como un efecto secundario muy importante: convertirte en un desarrollador de software.
El curso se centra en los fundamentos de la informática utilizando C#.
Es gratuito y está diseñado para principiantes completos.
Comienza con un programa «Hola mundo», te lleva a través de todo lo que necesitas para escribir tu primera calculadora, llegando a temas más avanzados como los arreglos, y la validación de entrada.
Todos los que saben leer pueden empezar a aprender allí.
Codeasy tiene un grupo de apoyo en el que cualquiera que se haya perdido en su viaje por la salvación del mundo puede hacer preguntas y obtener respuestas significativas en 12 horas.
Web Fundamentals
Web Fundamentals es un proyecto de Google para proporcionar lecciones y tutoriales gratuitos y de código abierto sobre la programación en línea a las masas.
Code Avengers
Code Avengers está dirigido a niños de 5 a 14 años y les da un entorno de aprendizaje de programación divertido e interactivo.
También es un gran recurso para los maestros de escuela que quieren ayudar a sus estudiantes a codificar.
Debido a que su objetivo es un grupo de edad más joven, es ideal para que los adultos entiendan también quiénes no son tan tecnológicos.
Los Code Avengers tienen su base en Nueva Zelanda.
También ofrecen campamentos de código donde hay de 1 a 3 días de entrenamiento en código.
Estos campamentos se encuentran en todo el mundo y en varios estados de los Estados Unidos.
Puedes aprender lenguajes de programación como C++, HTML, Python, diseño de juegos y muchos más.
También ofrecen estos cursos en múltiples idiomas, haciéndolos accesibles a todos.
Skillcrush Free Programming Camp
El Campamento de programación gratis de Skillcrush es nuestra introducción a la tecnología, a los técnicos y a las carreras más interesantes para principiantes, que puedes completar en menos de cinco minutos al día.
Se entrega directamente en su bandeja de entrada, aprenderá a codificar en los términos más simples posibles, e incluso podrá intentar escribir su propio código, para que pueda ver si el aprendizaje de la programación es el movimiento correcto para usted..
16. Scotch.io
Este sitio web de código libre cubre muchos temas relacionados con el desarrollo web y el flujo de trabajo.
La plataforma ofrece cursos cortos, tutoriales, guías, entradas de blog y vídeos.
Hay recursos disponibles sobre la programación libre: Angular, node.js, laravel, Sublime Text, y más.
17. Hackr.io
Esta no es una plataforma en sí misma, pero es una gran lista de recursos de programación curada por la comunidad.
Simplemente busca el idioma que quieres aprender y obtendrás una lista de los mejores cursos, tutoriales y libros en línea recomendados por los codificadores.
Ofrecen lecciones de código libre: Ninguna, pero recomiendan muchas
The Code Player
Lo único de esta plataforma de aprendizaje de programación en línea es que te expone a videos o presentaciones sobre el código creado por otros desde cero.
Además, cada lección de recorrido termina con un video y una descripción detallada del tema.
De esta manera, básicamente estás expuesto a varios códigos de la vida real que ya han sido implementados con éxito.
Al pasar por estos estudios de casos reales, tendrá una mejor idea de cómo utilizar el lenguaje de programación particular, basado en diferentes requerimientos.
Puedes aprender sobre lenguajes como HTML5, CSS3, JavaScript y jQuery que son usados por muchos para crear sitios web o aplicaciones móviles.
Code School
La Escuela de Código es otra buena plataforma de aprendizaje de código en línea, que ofrece cursos gratuitos y de pago.
Los diferentes cursos se organizan en forma de caminos, específicos para la tecnología y los conocimientos de programación.
Puedes navegar a través de estos diferentes caminos de aprendizaje para determinar qué curso es el adecuado para ti en función de tus necesidades.
Algunos de los principales temas técnicos y de programación que cubren los caminos de la Escuela de Código son Ruby, Python, HTML, CSS, iOS, JavaScript, SQL y Git.
Puedes empezar a probar los cursos gratuitos de la Escuela de Código aquí.
18. W3Schools
Considera que este es tu primer paso, ya que es perfecto para principiantes, W3Schools es el sitio de desarrollo web más grande del mundo, que ofrece tutoriales gratuitos de programación y materiales de referencia para aprender casi todos los aspectos de la programación web.
También puedes poner a prueba tus habilidades con pruebas y ejercicios de programación completos usando su editor en línea.
w3schools es una plataforma de aprendizaje gratuito en línea dedicada a la programación y el desarrollo web.
w3schools ofrece este tutorial gratuito de HTML, que es ideal para cualquiera que se pregunte cómo aprender a programar y esté abrumado con la idea de empezar.
De esta lista, este recurso de programación ha sido quizás el más largo, así que sí, saben exactamente cómo enseñarte a codificar.
Qué tutoriales de código libre ofrecen: HTML, CSS, JavaScript, SQL, PHP, jQuery, y más
CodeConquest
codeconquest es una plataforma de aprendizaje de códigos gratuita y de servicio completo que ofrece tutoriales in situ y revisiones de sitios de programación de primera calidad.
Tiene más texto que algunos de los otros recursos de nuestra lista, pero algunas personas aprenden mejor leyendo
19. Coderbyte
Aprende a programar haciéndolo! Coderbyte te enseña los fundamentos de los lenguajes de programación más populares y te permite desarrollar tus nuevas habilidades utilizando su biblioteca de más de 200 retos y soluciones de programación.
Desafíos de programación libre: JavaScript, Ruby, Python, HTML, CSS, Node.js, y más
20. Academia Virtual de Microsoft
Los Learning Paths de Microsoft Virtual Academy son cursos de código libre comisariados diseñados para ayudarte a construir habilidades valiosas a través de video tutoriales, demostraciones, evaluaciones y más.
También tendrás acceso a libros electrónicos gratuitos, descargas útiles y un foro de apoyo de la comunidad.
Rutas de aprendizaje gratuitas disponibles: MEAN stack, SQL, Azure, ASP.NET, HTML
21. Edabit
Edabit es «como Duolingo para aprender a programar», ofreciendo retos de programación del tamaño de un bocado que simulan cómo es la programación en el mundo real.
Los temas que cubren sus desafíos: Java, JavaScript, PHP, Python, C#, C++, Ruby, Swift
18. BitDegree
BitDegree es una plataforma de aprendizaje en línea con clases gratuitas y de pago dedicadas a las habilidades de programación, así como a los negocios en general, a la cadena de bloques y a las clases de diseño.
22. Libros de la escuela de Lanzamiento
Escritos para complementar el plan de estudios de ingeniería de software de la Escuela de Lanzamiento, estos libros gratuitos le ayudarán a aprender los fundamentos básicos de los idiomas populares.
Qué temas de código libre cubren: Git y GitHub, la línea de comandos, Ruby on Rails, SQL
Canales de YouTube para aprender programación
23. LearnCode.academy
¡Uno de mis favoritos! Este sitio presenta videos enfocados al desarrollo web hechos por Will Stern.
Hay un montón de tutoriales de código libre en JavaScript y otros lenguajes, además de vídeos sobre las diversas herramientas que utilizan los desarrolladores.
24. thenewboston
Aquí encontrarás más de 4.000 vídeos sobre diversos temas de programación, desarrollo de juegos y diseño.
Es uno de los canales más populares, con casi dos millones de suscriptores aprendiendo a codificar con ellos.
Qué videos de programación gratis ofrecen: Desarrollo de Android, programación C, MySQL, Python, y más
Suscriptores: 1,987,216
25. Derek Banas
La especialidad de Banas es condensar la información sobre los lenguajes de programación en un solo video por idioma.
Es bueno para los espectadores a quienes les gustan los videos más largos pero más completos en lugar de trozos del tamaño de un bocado, o que quieren ver videos de resumen de los idiomas antes de sumergirse en los cursos/currículos.
26. ProgramaciónConocimiento
Un canal perfecto para principiantes absolutos que quieren una base para aprender a programar.
Las listas de reproducción de los tutoriales paso a paso cubren varios idiomas sin asumir conocimientos previos.
27. Free Code Camp
Como su nombre lo indica, esta plataforma se trata de aprender a programar en un campamento o comunidad.
La gran parte de este sitio web es que ayuda a las organizaciones sin fines de lucro con la programación.
Todo lo que tienes que hacer es unirte a su comunidad online y participar en los retos de programación como grupo.
La plataforma te guía a través de los retos de programación ayudándote a aprender en el camino.
También te da acceso a cursos interactivos y tutoriales de programación.
Además, tienes la opción de conocer a otros codificadores en el sitio, que viven en tu ciudad, y tener sesiones de intercambio de conocimientos con ellos.
También puede acceder con frecuencia a las salas de chat de la comunidad en el sitio para buscar ayuda de otros codificadores.
Así, Free Code Camp no sólo te ayuda a aprender a programar de forma gratuita, sino que también te da la oportunidad de construir aplicaciones útiles para organizaciones sin ánimo de lucro en tiempo real.
Algunos de los lenguajes de programación notables que puedes aprender y trabajar, usando esta comunidad, incluyen JavaScript, HTML5, CSS3, Node.js, D3.js, Databases, Git y GitHub.
Blogs
27. David Walsh
Este blog de programación está dirigido por David Walsh (un desarrollador senior de Mozilla), aunque hay otros que también escriben en el sitio.
Sumérgete en los tutoriales de código libre, how-tos, demostraciones y más.
28. Softwarehow
Todo sobre el uso de herramientas de software para resolver problemas comunes que se encuentran en la tecnología.
Consejos, guías y revisiones de software específico.
29. SitePoint
Este es otro blog muy útil, si quieres material de calidad relacionado con diferentes lenguajes de programación.
No sólo te ayudan a aprender los fundamentos de los lenguajes, como HTML, CSS y JavaScript, sino que también comparten conocimientos sobre la seguridad de WordPress, Swift, React.js y demás.
SitePoint contiene información muy detallada sobre todos estos temas que pueden ayudar a su viaje de programación.
Tienen muchos escritores y publican a menudo.
Los temas van desde el HTML y el CSS hasta el espíritu empresarial.
También tienen libros pagados y cursos en su sitio infantil Learnable.
Asegúrate de echar un vistazo a sus nuevas «colecciones», que incluyen tutoriales de programación sobre temas como la seguridad de WordPress, React.JS y Swift.
(¡Y se añaden nuevas a diario!)
30. Tuts+
Este blog ofrece más de 20.750 tutoriales gratuitos, vídeos y más para ayudarte a aprender los fundamentos de varios lenguajes de programación y material técnico.
Los tutoriales están basados en proyectos y ofrecen instrucciones paso a paso, junto con capturas de pantalla apropiadas para entender mejor las instrucciones.
También tiene varios cursos en vídeo, que cubren la informática y otros temas.
El sitio web de TutsPlus también ofrece varios cursos pagados, libros electrónicos y demás para una experiencia de aprendizaje integral sobre el lenguaje de programación de su elección.
Desde la perspectiva de la programación técnica, puedes aprender sobre CSS, JavaScript, Node.js, Swift, WordPress, Joomla y demás.
Toneladas de tutoriales de programación gratuitos, así como opciones de pago como cursos reales.
Tuts+ es una biblioteca de tutoriales en línea que ofrece más de 20.000 tutoriales gratuitos (miles de ellos dedicados a temas de código y tecnología).
Tiene más de 1.130 cursos de video instruidos por expertos (sobre todos los temas, no sólo relacionados con la informática).
También publica libros electrónicos.
31. A list apart
Se centra en las habilidades de programación para el desarrollo de sitios web y cuenta con muchos autores que contribuyen a este blog de hermoso diseño.
Estos colaboradores escriben libros y llevan a cabo talleres o eventos relacionados con el contenido web, el diseño de sitios web y la programación.
A List Apart es el sitio web de referencia ideal para las personas que hacen sitios web o para aquellos que están interesados en hacer sitios web.
Muchos autores participan en «A List Apart». Escriben libros, tienen eventos y dirigen un gran blog de desarrollo/diseño.
32. CSS-Tricks
Este sitio web va muy a fondo en el CSS con su gran y malo almanaque del CSS.
Sin embargo, el blog ahora va más allá de sólo CSS y habla de otras cosas como Sass, JavaScript, PHP, y más.
Explora toneladas de recursos y echa un vistazo a sus fragmentos de código.
La línea de comandos
33. Aprende suficiente línea de mando para ser peligroso
Tutorial gratuito de línea de comandos para principiantes.
Te guía por los fundamentos de la línea de comandos de Unix, sin requisitos técnicos previos.
34. Usuario de energía de la línea de comando
Serie de videos gratis creada por Wes Bos.
Más en un nivel intermedio, así que no es para novatos totales.
35. Conquistar la línea de mando
Libro online gratuito de Mark Bates que profundiza mucho.
Puedes comprar una copia impresa o los screencasts.
Vuelva a la tabla de contenidos »
Git y GitHub
36. Inmersión de Git
Una visita guiada para enseñarte lo básico de Git.
Establece preferencias y crea tus propios proyectos.
37. Intenta Git
Una serie interactiva de desafíos para aprender y experimentar con Git.
Creado por la Escuela de Código.
HTML y CSS
HTML.com
HTML.com ofrece un tutorial gratuito de HTML para principiantes absolutos.
Si estás listo para aprender a programar de forma gratuita, podrías hacer algo peor que empezar con algo tan sencillo.
38. HTML5 Dog
Empieza a aprender a programar con uno de los lenguajes más simples.
Puedes encontrar un tutorial de HTML para principiantes aquí.
(También ofrecen tutoriales de HTML intermedio y avanzado).
Los tutoriales de CSS están aquí.
¿Estás listo para aprender HTML, amigo? Entonces dirígete a los tutoriales de HTML en HTML Dog.
24. Learn-HTML.org
Obtén tu tutorial interactivo y gratuito de HTML en Learn-HTML.org.
26. Codeacademy Introducción al HTML
La Codeacademy tiene cursos gratuitos sobre todo lo relacionado con la programación, así que es mejor que creas que tienen una introducción al HTML.
El punto de partida ideal cuando estás empezando a aprender a programar.
27. codeconquest Tutorial gratuito de HTML
Conquista la más fundamental de todas las habilidades de programación (HTML) con este tutorial de conquista de código.
28. Tutorial de CSS gratuito de Codeconquest
Codeconquest regresa con un tutorial para ayudarte a aprender el lenguaje hermano de HTML, CSS.
Si deseas aprender a programar, eso incluye aprender a estilizar dicho código.
Este no es un mal lugar para empezar.
29. tutorial de CSS de w3schools
La línea de tutoriales de w3schools continúa con esta entrada en CSS.
30. CSStutorial.net
CSStutorial.net es un sitio dedicado a guiarte paso a paso por los fundamentos de CSS.
31. Codeacademy Aprende CSS
Sabes que la Codeacademy no te va a dejar colgado con una de las habilidades de programación más fundamentales de la tecnología, ¿verdad? Aquí está su guía gratuita de CSS.
32. Tutoriales de HTML Dog CSS
¿Estás listo para aprender el CSS, amigo? Entonces dirígete a los tutoriales de CSS en HTML Dog (sí, también hacen CSS).
33. HTML & CSS para principiantes en Udemy
HTML y CSS para principiantes – Construir un sitio web y lanzarlo en línea (Udemy)
Esta clase dual de HTML/CSS es gratuita en Udemy, y es un gran curso intensivo en los fundamentos del desarrollo web.
39. Marksheet.io
Un recurso de programación en línea para principiantes.
Se divide en cuatro capítulos: la web, HTML5, CSS3 y Sass.
Es como un libro electrónico en línea, pero bajo una licencia internacional Creative Commons Reconocimiento-No comercial-CompartirIgual 4.0, así que puedes adaptarlo a tus necesidades.
40. Red de desarrolladores de Mozilla
Documentación gratuita sobre HTML y CSS (también JavaScript).
Tiene tutoriales para personas de diferentes niveles, de introducción a avanzado.
41. Aprende a codificar HTML y CSS
Tutoriales de programación en línea para ayudarte a construir sitios web bellos e intuitivos.
Cubre una variedad de temas de diseño y desarrollo web, desde principiantes hasta avanzados.
HTML5 Rocks
Como su nombre indica, esta plataforma se centra principalmente en el aprendizaje de los matices del HTML5, que se utiliza ampliamente para el desarrollo de sitios web y el desarrollo de aplicaciones móviles.
Lo fascinante de este sitio es que es un proyecto de Google.
Por lo tanto, las contribuciones a este sitio y todos los tutoriales de aprendizaje, incluyendo las guías de recursos y las cubiertas de diapositivas, que se ofrecen a usted son proporcionados por profesionales de Google.
Los detalles discutidos por HTLM5 Rocks son más útiles para aquellos que están tratando de mejorar sus habilidades HTML5 existentes.
Por lo tanto, es posible que se requiera una comprensión básica de HTML5 antes de que empieces a usar este sitio.
47. Reloj y código
Tutoriales de vídeo en JavaScript sencillos y sin tonterías.
Diseñados para llevarte desde cero hasta el nivel avanzado.
Además, participa en sesiones semanales de estudio en vivo para el apoyo de la comunidad mientras aprendes a codificar.
Cursos y tutoriales de JavaScript Framework y de la Biblioteca
34. Learn-JS.org
Learn-JS.org tiene una serie de tutoriales de JavaScript para principiantes y programadores experimentados.
35. MDN JavaScript
MDN (la gente detrás del navegador web Firefox) alberga esta sección de tutoriales gratuitos de JavaScript como parte de su serie de documentos web.
36. Elocuente JavaScript
Eloquent JavaScript es un libro de texto de JavaScript que va más allá del foro de «cortar y pegar» de algunos tutoriales en línea y añade estilo y sustancia a su instrucción y ejemplos.
Puedes leer el libro digitalmente de forma gratuita.
38. Microsoft Channel 9: Fundamentos y desarrollo de JavaScript para principiantes absolutos
El Canal 9 de Microsoft es un sitio comunitario que alberga discusiones en video, podcasts, aaay este curso gratuito para principiantes de JavaScript.
39. Codeacademy Introducción a JavaScript
¿No lo sabías? La Codeacademy tiene un curso gratuito de introducción a JavaScript, porque…bueno, la Codeacademy!
40. tutorial de JavaScript de w3schools
w3schools permanece en la mezcla del tutorial de código libre con este tutorial de JavaScript.
41. Tutorial de JavaScript para aprender solo
Si aún no has encontrado una clase o tutorial de JavaScript que te parezca bien, prueba esta oferta tan estudiada de Sololearn.
42. JavaScript Essentials (Udemy)
Por último, Udemy llega en el embrague con este curso gratuito de JavaScript Essentials.
43. Reactario
OK, usted SABE que un sitio llamado Reactarmory va a ser serio acerca de React, y sí, lo son, caminando el paseo con su tutorial de Aprender a Reaccionar por sí mismo.
44. jQuery.com
jQuery sigue siendo un elemento fundamental en el mundo de JavaScript, y puedes aprender todo sobre él en los tutoriales del sitio oficial de jQuery.
45. VueJS.org
Aumente su conocimiento del popular marco Vue directamente de estos tutoriales en el sitio web VueJS.org.
46. Scrimba Aprende a reaccionar de forma gratuita
El curso Learn React for Free de Scrimba.com es una colección de 48 screencasts interactivos dedicados a React JS.
47. Thinkster.io Una mejor manera de aprender angular
¿Listo para sumergir el dedo del pie en el ampliamente utilizado marco de JavaScript que es Angular? Corre (no camines) a esta guía de Thinkster.io.
48. Codeacademy Learn React JS
¡Oh, hai Codeacademy! ¿Qué es eso? ¿Tienes un tutorial gratuito para React JS? ¡Aww, por supuesto que sí!
42. JavaScript para Gatos
Es como un libro en una sola página web, dividido en secciones…
con gatos.
Creado por el programador Max Ogden.
Lleno de regalos sin gatos pero con fotos de gatos al final.
Sólo porque sí.
Lol.
¿Eres un amante de los gatos que quiere aprender a programar con JavaScript? BOOM, has encontrado tu recurso gratuito.
JavaScript para Gatos es un caprichoso (pero efectivo) tutorial de JavaScript escrito desde el punto de vista de un gato.
43. NodeSchool
Tiene talleres y eventos en persona en todo el mundo, así como una activa presencia en la web.
44. Aprende JS
¡Otra forma práctica de aprender el código en línea! A medida que avanzas en las lecciones, puedes escribir en la ventana de abajo.
Creado por la misma gente que hace learnpython.org.
45. Elocuente JavaScript
Otro libro en línea, pero más largo que la mayoría.
Tiene grandes patrocinadores financieros como Mozilla y Hack Reactor («el Harvard de los campos de entrenamiento»).
46. Javascript.com
9 mini-lecciones creadas por la Escuela de Código.
Rápido y perfecto tutorial de programación en línea para principiantes absolutos.
(Advertencia: JS en la vida real es mucho más difícil.) Al final, te indica materiales de aprendizaje de JS más profundos.
Cursos y tutoriales de Phyton
50. Un byte de Phyton
Libro online gratuito para principiantes que aprenden a codificar.
Puedes elegir entre descargarlo gratis en formato PDF o gastar dinero en una copia impresa.
52. Learn Phyton the hard way (Website)
El libro cuesta dinero, pero el sitio web es gratis.
Escrito por Zed Shaw.
(Utilicé el libro cuando empecé a aprender.)
49. Learnpython.org
¿Quieres aprender lo básico de Python gratis? Ve a Learnpython.org.
Es tan simple (o, supongo, BÁSICO) como eso.
Aprende a programar en Python de forma gratuita y práctica con este tutorial interactivo de programación online.
Tiene una pequeña ventana en la parte inferior donde puedes escribir tu código a medida que avanzas en las lecciones.
50. La Guía para principiantes de la Fundación Python
O puedes ir directamente a la fuente! El sitio web oficial de la Fundación Python alberga tutoriales gratuitos adaptados tanto a los recién llegados a la programación como a los recién llegados a Python con experiencia en programación.
51. Python-Guide.Org Guía del autoestopista para la Phyton
¿Sabías que Python se llama así en honor a MONTY Python? Bueno, si no lo sabes, ahora lo sabes, y qué mejor manera de honrar al tocayo de Python que aprender de una guía llamada así por la Guía del Autoestopista de la Galaxia de Monty Python.
Python-guide.org tiene su Guía del Autoestopista de la Phyton aquí mismo!
52. Real Python Aprenda a programar en Python con el ejemplo
¿De verdad quieres aprender Phyton? ¿De verdad? Entonces echa un vistazo al tutorial basado en ejemplos de Real Python.
53. La clase Python de Google
Quiero decir, cuando piensas en tecnología y sitios web, casi automáticamente piensas en Google, ¿verdad? Y aquí están ofreciendo una clase gratuita de Python.
Probablemente un buen lugar para recoger algunos consejos.
54. Codeacademy Aprende Python
Whoah, whoah, whoah…
¿quieres decirme que la Codeacademy tiene una clase de Phyton? ¡Pero por supuesto que la tienen!
55. w3schools Tutorial de Python
Y, no temas, si eres una persona más de w3schools, ellos también tienen uno!
Cursos y Tutoriales de PHP
65. learn-php.org
Si has llegado tan lejos en la lista, habrás notado que cada lenguaje de programación tiene al menos uno o dos sitios de tutoriales totalmente dedicados a aprenderlo.
PHP no es diferente, y learn-php.org no es una broma!
66. PHPBuddy.com
Cuando estás aprendiendo una nueva habilidad, un sistema de apoyo es clave.
¿Y qué es más de apoyo que un compañero? En este caso, ¡un compañero de PHP!
67. developPHP.com
PHP es un amigo de los desarrolladores, particularmente si trabajas con WordPress y plugins de WordPress, así que añádelo a tu propio kit de herramientas para desarrolladores consultando los tutoriales de developPHP.com.
68. PHP de la manera correcta
Así que hay dos formas de aprender PHP: la forma correcta o la incorrecta.
Um, supongo que quieres aprenderlo de la manera correcta, sin embargo? ¿Incorrecto? Entonces dirígete a PHP La Manera Correcta para sus tutoriales gratuitos.
69. El asesino PHP
¿Quieres aprender PHP pero te preocupa que tengas que ser un técnico o un «nerd» para hacerlo? ¡Entonces permíteme presentarte a Killer PHP! Han estado ofreciendo lecciones gratuitas de PHP a los «no nerds» durante diez años, haciendo de PHP lo que Guy Fieri es para los restaurantes.
70. Codeacademy Aprende PHP
Bueno, supongo que podemos seguir adelante.
No hay nada más que ver aquí en cuanto a recursos de PHP.
Jaja, es una broma.
La Codeacademy tiene un curso gratuito de PHP.
71. tutorial de PHP de w3schools
Aaand, redondeando las cosas para PHP está w3schools (o, como nos gusta llamarlos cariñosamente, «Good Old Trusty») con un tutorial gratuito de PHP.
Cursos y tutoriales de WordPress
72. Learn WordPress.com
¿Buscas mejorar tus habilidades básicas de WordPress? Ve directamente a la fuente y obtén indicaciones del equipo de WordPress con estos tutoriales.
73. Guía para principiantes de la revista Smashing para crear un sitio web de WordPress
La revista Smashing es el hogar de un montón de grandes sugerencias y tutoriales, su guía de WordPress para principiantes es uno de ellos.
74. WPBeginner.com
Recurso de bonificación: WordPress es un gran sistema de gestión de contenidos para blogs.
Si estás interesado en crear tu propio blog, te recomiendo encarecidamente que consultes la guía detallada de Ryan Robinson sobre cómo empezar un blog.
El sitio web wpbeginner alberga una ¡Guía para principiantes de WordPress en su sitio! Esta guía está diseñada para poder enseñarte lo básico de WordPress de forma gratuita en una semana o menos.
Sitio web para usuarios principiantes de WP.
Gran glosario de términos de WP, además de cupones de descuento, video tutoriales y un blog que publica artículos útiles de diferentes autores.
48. WordPress.tv
Grabaciones de conferencias en vivo de WordCamp en todo el mundo.
Creado por Automattic.
75. WPMU DEV Su guía de inicio para el SEO: Un tutorial de WordPress sobre SEO
El sitio de conocimiento de WordPress WPMU DEV ofrece esta guía única de WordPress, es específicamente una inmersión en cómo configurar un sitio de WordPress para SEO.
Ruby
56. Tutorial de Ruby on Rails-Aprende a desarrollar una web con Rails
Si eres un aprendiz de libro, apreciarás esta versión digital gratuita de Ruby on Rail Tutorial-Aprende Desarrollo Web con Rails por Michael Hartl.
57. Ruby Koans
¿Te atrae la naturaleza profunda y enigmática de los koanes Zen? ¿Puedes imaginarte aprendiendo a codificar con Ruby usando el mismo tipo de formato.
Bueno, ¡mira los koanes de Ruby!
58. Hoja de ruta tecnológica para el aprendizaje de Ruby on Rails
Si te gusta la idea de una hoja de ruta clara para aprender el riel, prueba esta de Techiferous.
59. Chicas de los Rails
Rails Girls es una impresionante organización de mujeres usuarias de Rails dedicada a difundir el amor por los Rails.
Y lo hacen aquí con sus guías gratuitas de Rails.
60. learnrubyonline.org
¿Quieres aprender Ruby en línea? Ve a learnrubyonline.org.
Caso cerrado.
61. Codeacademy Aprende Ruby on Rails
Podrías hacer algo mucho peor que ir a la Codeacademy para tu primera introducción a Rails.
De hecho, es la mejor elección.
62. tutorial de Ruby de w3resource
No, no w3schools, esto es w3resource, saliendo de la nada para enseñarte sobre Ruby.
Gratis.
63. tutorialspoint.com Tutorial de Ruby on Rails
¿Qué es lo que queremos? TUTORIALES DE RUBÍ SOBRE Rails! ¿Dónde los encontramos? Bueno, tutorialspoint.com tiene uno aquí mismo.
64. Aprende Rubí sobre Rails desde cero (Udemy)
¿Empezando con Rails de la nada? Como, ¿literalmente desde cero? Pruebe esta clase gratuita de Udemy: Aprende Ruby on Rails desde cero.
53. Aprende a Ruby de la manera más difícil
Otro libro escrito por Zed Shaw.
Una versión HTML gratuita del libro está disponible en línea.
Al comprar la copia impresa también se tiene acceso a los videos.
54. Rails para zombies
Una forma rápida e interactiva de aprender Ruby on Rails directamente en tu navegador.
Aprende lo básico de Rails como modelos, vistas y controladores en sólo 1 hora.
Creado por Code School.
55. Tutorial de Rails
Libro de 12 capítulos de Michael Hartl.
Puedes comprar ebooks, screencasts del autor, y más.
O simplemente leerlo gratis en línea.
56. RubyMonk
Un recurso completamente gratuito, aunque tienes la opción de donar.
Basado en los tutoriales interactivos de programación en línea, donde lees una lección y escribes el código.
Por último, «ejecútalo».
RubyMonk tiene una opción de curso para principiantes, dos intermedios y uno avanzado.
57. Ruby en 20 minutos
Creado por el sitio web oficial de Ruby, esta es una gran opción para los principiantes en el aprendizaje del código de Ruby.
Aprenderás los fundamentos del lenguaje en 20 minutos o menos, dándote un sólido punto de partida.
Ciencia de los datos / Análisis
58. Dataquest
Cursos prácticos de programación libre que te enseñan las habilidades necesarias para convertirte en un científico, analista o ingeniero de datos.
Construye proyectos en tu navegador y trabaja en problemas de ciencia de datos de la vida real.
59. Trampolín
Una breve pero intensa introducción al análisis de datos.
Aprende a manipular y analizar datos con un plan de estudios cuidadosamente planificado compuesto por clases en línea gratuitas, tareas, proyectos y más.
(Además, ¡no se necesita experiencia en análisis de datos o programación!)
60. EliteDataScience
Guías de ciencias de la información y aprendizaje de máquinas, minicursos y tutoriales para gente ocupada aprendiendo programación en línea.
También puedes descargar hojas de códigos, listas de control y hojas de trabajo para acortar la curva de aprendizaje de la ciencia de los datos.
Aprendizaje automático / IA
61. Dominio del aprendizaje automático
Creado por el desarrollador profesional y practicante de aprendizaje de máquinas Jason Brownlee, PhD.
Ofrece tutoriales y recursos gratuitos, incluyendo un curso intensivo de aprendizaje de máquinas, para iniciarse en el aprendizaje de máquinas y más allá.
62. Google AI
Aprende de los expertos en ML de Google.
Ofrece recursos -incluyendo tutoriales, cursos, videos y ejercicios- para ayudarte a desarrollar habilidades de inteligencia artificial.
Perfecto para principiantes hasta ingenieros experimentados en aprendizaje de máquinas.
Ciberseguridad
63. Cybrary
Videos gratuitos de ciberseguridad y aprendizaje de informática.
Cubre temas como computación y forense, criptografía e inteligencia de amenazas cibernéticas.
64. Los libros electrónicos de seguridad de O’Reilly
Sumérgete en el mundo de la ciberseguridad con estos libros electrónicos gratuitos.
Aprende sobre la red oscura, la privacidad, el cibercrimen y más.
Cursos y Tutoriales de Desarrollo de Aplicaciones Móviles
76. Documentación de Android para desarrolladores de aplicaciones
Si planeas desarrollar aplicaciones móviles para Android, es importante que te familiarices con las mejores prácticas directamente desde el propio Google.
Y puedes hacerlo con la Documentación para desarrolladores de aplicaciones del equipo de Android.
77. Formación de desarrolladores de Android para nuevos programadores
Aaand, si eres completamente nuevo en la programación y quieres aprender a desarrollar aplicaciones para Android, ¡comienza aquí!
78. Apple comienza a desarrollar aplicaciones iOS (Swift)
Si las aplicaciones para el iPad y el iPhone son más tu problema (o simplemente quieres aprender sobre ellas también), consulta los tutoriales y la documentación de Apple aquí.
79. Apple Swift Playgrounds
¿La documentación del sitio web se siente demasiado seca? Entonces descarga la aplicación Swift Playgrounds de Apple, una forma de aprender a construir aplicaciones para iOS.
80. Line25 Diseña y codifica una genial página web de aplicaciones para el iPhone en HTML5
¿Quieres que un tercero vea de qué se trata la construcción de una aplicación de iOS? Prueba la guía gratuita de Line25 para construir una aplicación para el iPhone con HTML5.
65. Desarrolladores de Android
Sitio oficial para los desarrolladores de aplicaciones para Android.
Aprende a construir tu primera aplicación para Android con detallados tutoriales de programación en línea y cursos de formación.
66. Formación para desarrolladores de Google
Cursos gratuitos de programación en línea a su propio ritmo para principiantes y desarrolladores experimentados de Android.
Creados por expertos de Google y Udacity.
Si está interesado en aprender los matices del desarrollo de aplicaciones para Android desde cero, entonces Google puede serle de gran utilidad.
Este gigante técnico ofrece numerosas clases de aprendizaje sobre el desarrollo de Android, incluyendo aquellas diseñadas para principiantes absolutos.
También le proporciona varios ejemplos de código que puede reutilizar para su propio desarrollo de aplicaciones para Android.
Por si fuera poco, Google incluso le ofrece acceso a diferentes cursos de formación en vídeo online relacionados con el desarrollo de Android.
67. Comienza a desarrollar aplicaciones iOS (Swift)
Parte del archivo de documentación de Apple, es un punto de partida perfecto para aprender a programar aplicaciones iOS del mundo real que se ejecutan en el iPhone y el iPad.
68. Los parques infantiles Swift
una aplicación para el iPad que te permite experimentar con Swift a través de mini-puzzles interactivos.
Además, podrás ver tu código ejecutarse en un hermoso mundo 3D.
Diseño UX / UI
69. La Enciclopedia de la Interacción Humano-Computadora
Una mirada profunda, de 52 capítulos, a la interfaz de usuario y el diseño de interacción.
Cubre todo lo que necesitas saber sobre el diseño de productos interactivos, como páginas web, software, teléfonos inteligentes e incluso objetos domésticos.
70. UXPin
Toneladas de libros electrónicos y guías UX gratuitos que cubren la creación de prototipos para móviles y para la web, wireframing, maquetas, pruebas de usabilidad y mucho más.
71. UX Principiante
Suscríbete a la formación gratuita de diseño semanal y sumérgete en el mundo de la UI/UX con recursos gratuitos, artículos de blog y listas de los mejores cursos, podcasts y libros sobre UX.
¿Cómo aprender a programar?
En este artículo, veremos cómo aprender programación de manera adecuada.
Este artículo sería útil tanto para los que buscan trabajo como para los estudiantes.
Aquí está el mapa de ruta de cómo aprender a programar que puede actuar como las 101 guías para principiantes:
1. Familiarizarse con un lenguaje de programación
El primer paso para aprender a programar es sentirse cómodo con un lenguaje de programación.
La gente suele empezar con C, C++, Java o Python.
Personalmente prefiero C++ al principio ya que no es ni demasiado simple (como lo es Python), ni demasiado deficiente en términos de librerías (como lo es C).
C++ es bastante rápido y también tiene un buen soporte de librerías – ¡lo mejor de ambos mundos! Además, C++ es una buena elección para la programación competitiva porque es bastante rápido y tiene el soporte de la Standard Template Library (STL).
La elección del primer lenguaje es altamente subjetiva basada en tus intereses y objetivos.
Puede que te interese el front-end, el back-end, el desarrollo de aplicaciones para móviles, el desarrollo de juegos, la ciencia de los datos, etc.
Si tu principal objetivo es conseguir un trabajo, entonces echa un vistazo a nuestro artículo sobre qué lenguaje de programación es mejor para conseguir un trabajo
Puedes empezar por aprender lo básico: sintaxis, tipos de datos, variables, bucles, matrices, etc.
Intenta resolver preguntas sencillas basadas en la implementación para familiarizarte con estos conceptos básicos.
2. Aprende estructuras de datos y algoritmos
Una vez que se sienta cómodo con cualquiera de los idiomas mencionados en la sección anterior, lo siguiente que debe hacer es aprender las estructuras de datos y los algoritmos.
Las estructuras de datos y los algoritmos ayudan a construir la aptitud correcta requerida para la programación.
El conocimiento de las estructuras de datos te ayudará a elegir la correcta para el problema que estés resolviendo – no todas las estructuras de datos pueden ser usadas en todas partes.
Cuando aprendas sobre los algoritmos, serás capaz de entender el mecanismo de trabajo de muchas funciones de la biblioteca, que, de otra manera, se te presentarían como cajas negras.
Hay muchos buenos cursos en línea en los que puedes estudiar.
La parte 1 y la parte 2 de Algoritmos son buenos cursos para empezar.
Es importante que dediques tiempo a pensar en la implementación de estas estructuras de datos y algoritmos para que te sientas cómodo con ellos.
Puedes pensar que aprender su implementación podría no ser importante ya que en última instancia se utilizan las funciones de la biblioteca.
Este es uno de los conceptos erróneos más comunes que tiene la gente.
Comprender la implementación te ayudará a evaluar la complejidad del tiempo, lo que te ayudará a optimizar aún más tu código.
Hay un asombroso sitio web, Visualgo, donde puedes visualizar el funcionamiento de las diversas estructuras de datos y algoritmos.
3. Ensuciarse las manos con la programación competitiva
Una vez que hayas aprendido las estructuras de datos y los algoritmos, deberías empezar a resolver problemas en sitios web como SPOJ, Codechef, Codeforces, Topcoder, Hackerrank, Geeksforgeeks etc.
Cuantos más problemas resuelvas, mejor será.
Es mejor, sin embargo, resolver los problemas en un orden creciente de dificultad.
Puedes ordenar los problemas en orden descendente del número de soluciones presentadas y empezar a resolverlos.
Después de resolver alrededor de 100 problemas de variedad mixta, te sentirás seguro de tus habilidades de programación.
Después de que te sientas cómodo resolviendo las preguntas y codificando las soluciones, puedes empezar a participar en varios concursos de programación en línea.
Hacer esto mejorará mucho tus habilidades de programación.
4. Hacer un proyecto
Ahora que has mejorado tus habilidades de resolución de problemas y programación, es hora de crear algunas aplicaciones útiles.
Puedes tomar algún marco de desarrollo web popular (Django, Flask, Ruby on Rails, etc.) y hacer un proyecto con él.
Hacer una aplicación te dará una sensación de desarrollo de software real, que es lo que hace la mayoría de los programadores.
Una vez que hayas hecho algunos proyectos de desarrollo web, puede que quieras probar tu mano en el desarrollo de Android o iOS.
No te limites, ¡aprende lo que quieras!
5. Explora
Una vez que se sienta seguro de sus habilidades de programación y haya realizado algunos proyectos, debería pasar a explorar los diversos dominios de la informática y ver qué es lo que más le fascina.
La ciencia de la computación es un campo vasto y rico, con muchos subcampos interesantes.
Algunos de los dominios más populares de la Ciencia de la Computación son la Inteligencia Artificial, Aprendizaje Automático, Criptografía, Computación en Nube, Programación de Sistemas, Visión por Computadora, Procesamiento de Lenguaje Natural, Cadena de Bloques, Realidad Virtual, Desarrollo Web, Desarrollo de Aplicaciones Móviles, y muchos más.
Deberías intentar explorar tantos campos como puedas para saber dónde está tu interés.
Hoy en día, hay muchos recursos en línea para estudiar cualquiera de los campos mencionados.
Pero con una plétora de recursos disponibles, es difícil para un principiante encontrar un gran tutorial entre tantas opciones.
Sea cual sea tu interés, puedes encontrar los mejores tutoriales, recomendados por la comunidad de programadores, para ese lenguaje/framework en Hackr.io.
Además de los tutoriales y cursos, también puedes encontrar los mejores libros y ejercicios/proyectos/problemas de práctica en Hackr.
Una vez que estudies algo, intenta hacer un proyecto relacionado con ello.
Los proyectos ayudan a fortalecer los conceptos que se han aprendido.
También son buenos desde la perspectiva de hacer un currículum.
En este artículo, vimos un enfoque para el aprendizaje de la programación.
Así es como aprendí a programar:) Ya que estás leyendo este artículo, supongo que te tomas en serio el aprendizaje de la programación, ¡lo cual es algo bueno! Espero que este artículo te haya resultado útil.
Todo lo mejor para tu viaje de aprendizaje! Siéntete libre de hacerme tus preguntas/dudas en los comentarios.
Si alguna vez has pensado en aprender a programar pero te has sentido desanimado por el coste de las clases de programación, este es el resumen para ti.
Porque, sí, si quieres dominar las habilidades de programación, eventualmente querrás sumergirte en una opción de clase de programación más profunda.
¿Pero aprender lo básico? Puedes hacerlo gratis.
¿aprender a programar GRATIS?
Sip.
Y mejor aún: Puedes aprender a programar gratis en línea desde la comodidad de tu propio sofá.
Hemos elaborado una nueva lista de las mejores formas de aprender a programar gratis en 2019.
A continuación encontrará más de 80 clases de programación en línea para cada estilo de aprendizaje, nivel de compromiso y objetivo profesional.
Elija la que quiera y aprenderá a codificar en poco tiempo.
Cómo aprender a programar más rápido – 10 consejos y trucos
Si decidiste que querías ser programador, debes recordar que eso significa que vas a aprender constantemente.
No importa si acabas de empezar, o si tienes una experiencia, habrá algo nuevo, que quieras dominar.
Por supuesto, al principio de tu aventura de programación, tienes mucho más que aprender.
Al principio, todo puede parecer muy emocionante.
Después de reunir todas las fuentes, cursos, libros, y todo lo que necesitas, puede parecer que vas a estudiar durante años para completar todo y alcanzar tu objetivo.
Pero no tiene por qué ser así, si aprendes con sabiduría, entonces es posible aprender programación más rápido.
En este artículo, me gustaría compartir con ustedes algunos métodos que me ayudaron a aprender más rápido.
Espero que también os sea útil a vosotros.
Empecemos!
1. Lo básico es importante
Para entender cualquier tema, tienes que entender los fundamentos.
La misma regla se aplica a la programación.
No tiene sentido empezar a construir una aplicación avanzada si no conoces los conceptos básicos del lenguaje de programación.
Te frustrará, y te dará la sensación de que la programación es muy complicada.
Si empiezas desde el principio, todo estará claro.
Nunca pienses en ello, ya que es una pérdida de tiempo.
Te ahorrará mucho tiempo en el futuro.
Lo mismo ocurre con el aprendizaje de los marcos, sin conocer el lenguaje de programación.
Por supuesto, es posible, pero es un reto.
Así que, recuerda, empieza de cero, y entiende lo esencial.
2. Encontrar el método correcto
Hay tonos de diferentes recursos para aprender programación, videos, libros, tutoriales, cursos.
Algunas personas prefieren leer un libro, otras quieren ver el curso en video y otras prefieren hacer un curso interactivo (como el curso de HTML y CSS de Duomly).
Está bien hasta que se ajuste a tu preferencia.
Si seleccionas los recursos adecuados, no te aburrirás rápidamente, y el aprendizaje te aportará mucha diversión.
Así que, recuerda, lo más importante es encontrar la mejor manera para ti.
3. Práctica, práctica, práctica
La programación se basa en la teoría y en mucha práctica.
Cuando aprendas algo nuevo del recurso teórico, crea un proyecto.
Aprender haciendo te dará la mejor experiencia y mucha comprensión.
Leer la teoría o el código no es suficiente para entender la programación.
Tu trabajo va a consistir en crear el código, así que tienes que hacerlo para aprender.
Además, recuerda aumentar la complejidad de tus proyectos cuando estés aprendiendo cosas nuevas.
Desde un simple formulario de acceso HTML, puedes crear toda la aplicación, implementando otras cosas que has aprendido.
También puedes mejorar tu código existente usando las mejores prácticas.
Cada tarea práctica es un nuevo reto, y con nuevos retos, no te aburrirás fácilmente, y el aprendizaje se convertirá en una agradable rutina diaria.
Recuerda, cuantas más líneas de código crees, más aprenderás.
4. Tengan curiosidad
La curiosidad te ayudará mucho con el aprendizaje.
Puedes aprender cosas nuevas cuando en realidad no estás aprendiendo.
Lo que quiero decir es que si te interesa el tema, buscarás recursos adicionales, como artículos o vídeos de Youtube, para desarrollar tu conocimiento.
Además, puedes unirte a los foros de programación o a los grupos de Facebook, y aprender mucho haciendo preguntas a los programadores más experimentados.
Ellos pueden darte el conocimiento que no encontrarás en los libros y cursos porque están compartiendo contigo su experiencia en la vida real de la programación.
Así, la curiosidad te ayuda a obtener grandes conocimientos de personas experimentadas y la posibilidad de discutir temas de programación interesantes desde una perspectiva diferente.
5. Pida ayuda
Cuando te quedas con el problema, y tu código no funciona, pasas días depurándolo y arreglándolo; es una buena idea pedir ayuda.
Probablemente encontrarás la solución si pasas otros días arreglando tu código, pero alguien con experiencia puede echarle un vistazo a tu código y ayudarte a encontrar la solución en unas pocas horas probablemente.
Además, te explicará qué es lo que está mal.
De esta forma entenderás tu error, y depende de cuánto tiempo te lleve depurar, pero estoy seguro de que recordarás lo que debes evitar en el futuro.
Para pedir ayuda, deberías obtener una cuenta en el sitio web como Stackoverflow o unirte a los grupos de programación de Facebook.
Para saber cómo debería ser la solicitud de ayuda adecuada, mira este vídeo https://www.youtube.com/watch?v=aKb_2MyTRhw
6. Cuidar la productividad
La programación del aprendizaje requiere un entorno y una organización adecuados.
Prepárate un escritorio bonito y limpio con el ordenador, si te gusta la música para concentrarte, establece una lista de reproducción para el aprendizaje, apaga todo lo que pueda molestarte o distraerte.
Es una gran idea planear un pequeño descanso de 5 minutos después de cada hora.
Es esencial tomar unos minutos de descanso.
Te ayudará a despejar tu mente, y tu cerebro absorberá mucho más conocimiento.
7. Aprende a depurar
Programar es resolver tonos de problemas, no importa si eres principiante o experto, tendrás que depurar tu código muy a menudo.
Si no estás acostumbrado a resolver problemas, puede ser frustrante a menos que aprendas a encontrar lo que está mal.
Lo más importante es saber qué es lo que no funciona, entonces encontrar la solución adecuada es mucho más rápido.
Es una gran idea aprender a usar las herramientas de depuración.
Si eres bueno en la depuración, el aprendizaje de la programación será mucho más rápido.
8. Aprender la lógica de la programación
Cuando empiece a programar, notará que hay algunos patrones comunes y repetidos.
Es esencial echar un vistazo a los problemas desde una perspectiva de programación y aprender esta lógica específica.
Además, recuerda que casi todas las tareas que tienes que hacer en la programación son posibles de resolver.
Es genial si aprendes los patrones, y tratas de crear soluciones simples para no complicar demasiado tu código.
La programación te parecerá bastante fácil si aprendes a pensar, y cuál es la lógica detrás.
9. Entra en la comunidad
La comunidad de programación es enorme.
Hay tonos de foros, sitios web como Stackoverflow, grupos de Facebook, foros de Reddit, reuniones, y muchos más lugares virtuales o reales donde puedes unirte.
Conocer a otros programadores y compartir el conocimiento y las experiencias es una gran manera de aprender programación también.
Estás obteniendo conocimiento de otros, puedes compartir, discutir o incluso mostrar tu código a otros para que lo revisen.
Si otros programadores pueden ver tus proyectos, pueden decirte lo que se puede hacer mejor, y un consejo útil no tiene precio.
10. Construye tu cartera
Probablemente la razón por la que empezaste a aprender a programar, es para encontrar un trabajo de programación.
Para hacerlo más rápido, puedes aprovechar el tiempo que estás aprendiendo, empieza a construir tu repositorio Github desde el principio.
Te recomiendo que inicies una cuenta en Github y uses git en tus proyectos de formación.
Si no sabes cómo hacerlo, lo que aquí
Una guía detallada sobre cómo aprender la habilidad de la programación
Foto del equipo de Icons8 en Unsplash
Si quieres convertirte en un experto programador, prepárate para pasar al menos 5 años de programación diaria.
Sin embargo, si sólo quieres aprender lo básico que te dará un trabajo o te permitirá trabajar en tus proyectos, puedes aprender la habilidad de programar en menos de 100 horas de práctica.
100 horas de práctica es más o menos el equivalente que obtendrías de una licenciatura promedio de 4 años en Ciencias de la Computación, pero esta guía te mostrará cómo practicar de manera eficiente para que puedas encontrar el tiempo para aprenderlo en hasta 7 meses (y en la mayoría de los casos, mucho menos).
¿Suena emocionante?
¡Vamos a ello!
1. ¿Qué es la programación?
No pasaré mucho tiempo aquí ya que si estás leyendo esto, probablemente tengas una idea bastante sólida de lo que es la programación.
Aquí está mi definición:
El acto de escribir un código entendido por un dispositivo computacional para realizar varias instrucciones.
Así que, para mejorar en la programación, ¡escribirás mucho código!
2. ¿Por qué debo aprender a programar?
No estoy aquí para motivarte a aprender programación, eso depende de ti.
Si se te ocurrió la respuesta simplemente leyendo el titular de esta sección, es una muy buena señal.
Uno de los mayores factores por los que la gente no sigue aprendiendo ninguna habilidad es porque su «por qué» es inexistente o ambiguo.
Saber el por qué…
no puedo enfatizar esto lo suficiente.
Tómese un momento para anotar ideas sobre por qué quiere aprender programación.
Si puedes visualizarte haciéndolo en el contexto que quieres en el futuro, es perfecto.
Cuanto más clara sea tu imagen de por qué quieres hacerlo, más claro será tu camino para hacerlo realidad.
Aquí hay algunas ideas para empezar:
- Consigue un mejor trabajo;
- Sé más feliz;
- Obtener el respeto de los demás;
- Tener más impacto;
- Hacerse rico;
- Ser financieramente seguro;
- Descubrir nuevos hobbies o pasiones;
- ¡y más!
Lo que sea que se te ocurra, profundiza en los detalles.
¿Qué trabajo específico quieres hacer? ¿Qué significa la felicidad para ti? ¿De quién quieres que te respeten? ¿Qué tipo de impacto quieres tener? ¿En quién? ¿Qué significa para ti ser rico? ¿Por qué quieres ser rico? ¿Qué significa para ti tener seguridad financiera? ¿Qué tipo de nuevos hobbies o pasiones estás buscando descubrir?
De nuevo, cuanto más clara sea tu respuesta, mayor será tu motivación para aprender programación o cualquier otra habilidad.
3. ¿Cómo debo practicar la programación?
Algunas habilidades pueden tener una mayor proporción de conocimiento vs.
aplicación, este NO es el caso de la programación.
La programación es una de estas habilidades donde necesitarás practicar mucho más que concentrarte en la teoría.
Entonces te recomiendo que pases al menos el 80% de tu tiempo escribiendo código y el 20% aprendiendo la teoría.
A medida que aprendas más y más, incluso aumentaría la proporción de práctica.
En la sección 4 y 5, entraremos en los conceptos básicos de la programación.
Por cada minuto que pases tratando de entender los conceptos, deberías pasar 5 veces más tiempo poniéndolos en práctica.
Así es como los conceptos se hundirán en tu cerebro y comenzarán a tener sentido; no releyéndolos varias veces.
Si tu objetivo es encontrar un trabajo como programador junior o simplemente quieres construir tu proyecto, necesitarás unas 100 horas de práctica para lograrlo.
Y no es un camino fácil, especialmente si no has tenido mucha práctica con otras habilidades lógicas en el pasado.
Por eso ser bueno en matemáticas es a menudo un requisito para entrar en un programa de programación de computadoras.
Las matemáticas que usarás en la programación rara vez son tan complejas, pero la lógica que aprendiste al aplicar las matemáticas acelera enormemente tus habilidades de programación.
3.1 ¿Cómo puedo administrar mi tiempo?
Si su objetivo son 100 horas de práctica, ¿cómo se dividen las sesiones de aprendizaje?
Esto depende en gran medida de su situación.
Algunos de ustedes podrán hacerlo a tiempo completo y ser lo suficientemente competentes con un mes completo de práctica.
Algunos de ustedes tienen otras responsabilidades y no pueden dedicar mucho tiempo.
Para la mayoría de las habilidades, recomiendo practicar por lo menos 15 minutos al día en un momento del día donde puedan concentrarse fácilmente.
Pero para la programación, eso simplemente no es suficiente.
Para la programación, si practicas durante 30 minutos todos los días, son 3,5 horas por semana o 14 horas por mes.
Para 100 horas de práctica, eso es un poco más de 7 meses de práctica.
Yo diría que deberías aspirar a por lo menos 15 horas por mes, lo que lo hace posible en menos de 7 meses.
Si tienes mucho tiempo libre, yo no me metería en todo este aprendizaje en 2 semanas (50 horas por semana).
A menos que seas un genio (eso es extremadamente raro, por cierto), tu cerebro simplemente no procesa la información tan rápidamente.
Sobrecargar la información de esa manera producirá la ilusión de competencia.
Mientras todo esté fresco en tu mente, las cosas parecerán fáciles, pero si dejas de practicar aunque sea por un mes, perderás al menos el 60 por ciento de lo que has aprendido anteriormente.
Esto se basa en la curva de olvido.
La regla de oro es el aprendizaje espaciado y la repetición espaciada.
Esto significa que debes espaciar tu aprendizaje en ráfagas cortas para que tu cerebro tenga tiempo de asimilar los conceptos.
Y deberías recordar lo que has aprendido con suficiente regularidad.
¿Con qué regularidad?
La respuesta fácil es después de 24 horas, después de 7 días, y después de un mes.
3.2 ¿Cuándo debo practicar la programación?
Todos los días.
Cuanto más pueda hacer de la práctica de sus habilidades un hábito, más fácil será hacer un seguimiento y obtener resultados.
El enfoque y el proceso más que los resultados tangibles.
Siempre es más motivador centrarse durante 30 minutos, por ejemplo, que centrarse en escribir un código complejo.
Pero como la programación es una habilidad intelectualmente compleja, asegúrate de practicar cuando tu mente esté más aguda.
Mientras que la mayoría de los programadores proclaman ser noctámbulos, las investigaciones muestran que la mayoría de la gente tiene la mente más aguda poco después de despertarse.
Si no estás seguro de cuándo es el momento adecuado para ti, yo empezaría por la mañana temprano, antes de que nadie a tu alrededor esté despierto.
Esto minimiza las distracciones.
Si no funciona de inmediato, por favor no te rindas de inmediato.
Los nuevos hábitos toman tiempo para formarse.
Inténtelo constantemente durante al menos dos semanas y vea si hay alguna mejora.
Si no, intente en otro momento.
La clave es encontrar tiempo sin distracciones a menos que estés practicando en un grupo (lo cual es genial, por cierto).
3.3 ¿Dónde debo practicar la programación?
Su entorno tiene más impacto de lo que esperaría en su capacidad para aprender algo.
En la escuela, ¿recuerdas haber pensado que sabías algo hasta que estabas en la sala de examen y no podías recordar nada?
El problema es que el cerebro hace asociaciones con el contexto en el que aprendes algo.
No mucha gente lo sabe, pero es un concepto crucial para aprender realmente algo.
Aquí hay algunos factores a considerar cuando se trata de tu contexto:
- La ubicación física;
- La temperatura;
- Distracciones;
- Música y ruidos;
- Confort;
- La gente con la que estás;
- El material que estás usando;
- Tu estado mental (relajado, agitado, nervioso, excitado, aburrido, entusiasta, etc.);
- Lo que estás usando;
- Lo que estás comiendo o bebiendo; y
- mucho más!
Cuando estás en el proceso de aprendizaje de algo, tu cerebro «toma una instantánea» de tu entorno.
Cuanto más estimula tus sentidos, más fuerte es la conexión.
Pero no todo son buenas noticias.
Dentro del mismo contexto y ambiente, te desempeñas muy bien. Fuera de él, no tanto.
Estoy seguro de que no necesitas pensar mucho en el momento en que eso ocurrió. Ahora ya sabes por qué.
Así que, para poder usar las cosas que aprendiste de una forma más adaptable, es muy recomendable que varíes tu entorno mientras intentas aprender cualquier habilidad.
¿Aprendiendo a jugar al tenis? Practica en diferentes canchas. Practica a diferentes temperaturas.
Practica contra diferentes oponentes. Practica con diferentes raquetas.
Te garantizo que mejorarás tu juego de tenis si cambias todas esas cosas. En cuanto a la programación, practica usando diferentes lenguajes.
Practica con diferentes marcos de trabajo. Practica con el frontend y el backend.
Practica con diferentes IDEs. Pruebe la programación en parejas.
Haz programación funcional. Hacer programación orientada a objetos.
Hacer programación basada en componentes. Pruebe la programación de scripts.
Pruebe el aprendizaje automático. Codifica en tu habitación, en la sala de estar, en la cocina, en los cafés, en la escuela, fuera, etc.
Intenta con diferentes tipos de música. Hay una combinación infinita de cosas que puedes hacer!
4. ¿Cuáles son los conceptos básicos de la programación?
La verdad es que la habilidad de programación es demasiado amplia.
Si quieres aprender «programación», perderás la motivación rápidamente.
¡Es abrumador más allá de la imaginación verlo como una sola entidad! Como tal, la separaremos en las siguientes subhabilidades (no te dejes llevar por los nombres, te simplificaré todo):
4.1 Lógica booleana y condicional
Una expresión booleana es algo que evalúa a un valor binario de verdadero o falso.
En la mayoría de los idiomas, se evalúan usando estos signos de igualdad:
- ==: Equivale a
- >=: Mayor o igual que
- <=: Menor o igual a
- >: Más grande que
- <: Menos que
- !=: No es igual
En la mayoría de los idiomas, = es una asignación de valor, no una expresión booleana.
A veces también verás :=, ->, o =>.
Si imprimes los valores de a después de var a = 3, se imprimiría 3.
Si imprime a == 3, el valor será o bien true o bien falso dependiendo del valor de a.
Si previamente le asignó a a el valor de 3, se imprimirá true.
Si no, se imprimirá falso.
La lógica condicional es la evaluación de una expresión booleana.
Básicamente: si esto es esto, entonces eso.
Vemos que todo ese tiempo en nuestra vida cotidiana.
Si aprendo a programar, entonces obtendré [un mejor trabajo, felicidad, dinero, etc.].
aprender a programar, en este caso, es la expresión booleana que es verdadera.
Una expresión condicional puede tener múltiples partes definidas por y/o.
si como proteínas Y hago un entrenamiento duro en el gimnasio entonces me crecerán los músculos.
Si la mayoría de los lenguajes, «y» se define por && y «o» se define por ||.
También puedes agrupar expresiones booleanas con ( y ).
si (a || (b && c)) entonces d.
si (compro flores || (cocino la cena && lavo los platos)) entonces mi esposa estará feliz.
Como probablemente se imaginan, esto puede ponerse muy complejo.
En la sección 5.2, les mostraré cómo los buenos programadores mantienen esto fácil de entender para cualquiera que lea su código.
4.2 Variables
Para mantenerlo realmente simple, las variables son algo llamado que tiene un valor.
Por ejemplo:
int numTrees = 6
;string orchardName = «Golden Apple Orchard»;
bool isOpen = true;
int[] applesInTrees = {12, 4, 8, 7, 2, 4};
float collectionRatePerHour = 23.2;
Los buenos programadores usarán las variables de forma descriptiva en lugar de los valores de «código duro».
Aquí hay un ejemplo de un valor «hard-coding»:
si (numTreesCollected < 6) {//
TODO: hacer algo}
¿Qué significa 6 aquí para alguien que no está familiarizado con el huerto o el código? Nada.
Ahora, si usamos variables en su lugar, es mucho más claro:
si (numTreesCollected < numTrees) {///
Sigue recolectando}
Podríamos escribirlo de esta manera debido a la matriz de manzanas-árboles:
si (numTreesCollected < manzanasInTrees.length) {///
Sigue recolectando}
Tipos de datos primitivos
En el código anterior, se le presentaron los tipos de datos presentes en cada idioma:
- int es un valor numérico que no admite decimales.
Algunos idiomas permiten valores «con signo» o «sin signo», lo que significa que evita los números negativos de no.
Por defecto, se permiten los números negativos.
- string es una «cadena de caracteres».
Básicamente: texto.
Su longitud es variable a cualquier tamaño.
- bool es un valor booleano de sólo dos valores posibles: verdadero o falso.
Cada declaración if que se ve evalúa el valor de una expresión booleana (uno o más valores booleanos)
- la flotación es un valor numérico que soporta los decimales.
Algunos idiomas soportan el doble para una mayor precisión en los decimales.
- la matriz se representa aquí con int[].
Esto significa una colección de valores int.
Se pueden crear arrays a partir de la mayoría de los tipos de datos, y ciertamente de todos los primitivos mencionados anteriormente.
Yendo más allá
Esta subsección apenas arañó la superficie de lo que son las variables.
Se recomienda encarecidamente investigar el tema más a fondo una vez que se tenga una mayor comprensión de la programación en general.
4.3 Bucles
¿Cuál es la suma de los siguientes números: 2, 6 y 7? Bastante simple, ¿verdad? ¿Cómo lo hiciste?
La mayoría de la gente repasa cada número, manteniendo una suma continua y sólo suma dos números a la vez.
Algo así:
- 2+6 = 8
- 8 + 7 = 15
En tu cerebro, esto requirió dos iteraciones.
En este ejemplo muy simple, sabemos cuántos números tenemos y cuáles son sus valores.
Eso es raramente el caso en la programación.
Como se mencionó brevemente en la sección anterior, tienes el concepto de una matriz.
En su forma más simple, es una lista de valores.
No sabes cuántos valores hay y cuáles son los valores.
Digamos que quieres escribir un algoritmo que cuente el número total de manzanas en cualquier huerto.
Los datos se recogerían en una matriz para registrar cuántas manzanas posee un árbol.
Para un huerto, la matriz podría ser algo así:
var manzanas = [12, 4, 8, 7, 2, 4]
Otra huerta puede tener este arreglo:
var manzanas = [8, 7, 6, 5, 9]
¿Cómo se crea un algoritmo que funcione en cualquier escenario para contar la suma de las manzanas? La respuesta es con un concepto llamado bucles.
En última instancia, no es en absoluto diferente de lo que hiciste en tu cabeza arriba.
Hagámoslo de nuevo usando la primera matriz:
- 12+4 = 16
- 16+8 = 24
- 24+7 = 31
- 31+2 = 33
- 33+4 = 37
Así es como se vería el código:
var manzanas = [12, 4, 8, 7, 2, 4];
var suma = 0;for (var i = 0; i < manzanas.longitud; i++) {suma
= suma + manzanas[i]; }imprimir
suma;
Esa última línea imprimiría 37 en su pantalla.
Están pasando muchas cosas en el código de arriba.
Un bucle de for pasa por cada valor de una matriz uno por uno, de un índice a otro.
En el ejemplo anterior, empezamos desde el índice 0 (ver var i = 0;).
En la mayoría de los lenguajes de programación, el primer índice de una matriz no es 1, sino 0.
En el caso anterior, en el índice 0, el valor es 12.
En el índice 1, el valor es 4.
Nuestro rango de índices en el caso anterior es de 0 al número de valores presentes en la matriz, indicados por apples.length.
Esencialmente, var i = 0; i < apples.length; i++ significa que el algoritmo está recorriendo cada índice uno por uno (i++), empezando por el primer índice hasta el último.
Por lo tanto, hay tres componentes de un bucle de for:
- Índice inicial;
- Índice final; y
- Número de pasos por iteración.
para (startIndex; endIndex; numSteps)
Si el código anterior, si cambiara i++ por i + 2 sumaría todos los demás valores: 12+8+2 = 22.
apples[i] significa el valor en el índice en el que se encuentra el bucle actualmente.
Si sustituyes i aquí por apples[3], el valor que obtendrás es 7.
Aquí está la matriz de nuevo como referencia:
var manzanas = [12, 4, 8, 7, 2, 4];
- manzanas[0] = 12
- manzanas[1] = 4
- manzanas[2] = 8
- manzanas[3] = 7
- manzanas[4] = 2
- manzanas[5] = 4
El bucle de arriba básicamente realiza esto:
var suma = manzanas[0] + manzanas[1] + manzanas[2] + manzanas[3] + manzanas[4] + manzanas[5]
¿Entendido?
Sé que esto parece complejo ahora mismo, y por eso necesitas practicar durante el 80% de tu tiempo de aprendizaje.
porque es el bucle más común.
También encontrarás regularmente el bucle while.
Significa «haz algo hasta que termine».
Ejemplo: Recoge manzanas hasta que no haya más manzanas que recoger.
Digamos que tomamos el primer huerto que tiene 37 manzanas:
var numApples = 37
;while (numApples > 0) {numApples
= numApples – 1;
print numApples; }
¿Qué crees que pasará aquí?
Verás esto impreso en tu pantalla:
- 36
- 35
- 34
- 33
- …
- 0
Verá 37 valores impresos.
El código en el bucle while se seguirá ejecutando hasta que se cumpla la condición: numApples > 0, alias – ¡hasta que todavía tengamos manzanas que recoger!
4.4 Funciones
Las funciones hacen que las piezas del código sean reutilizables.
¿Recuerdas el bucle de for de arriba para calcular la suma de manzanas del primer huerto? ¿Cómo haces que funcione para CUALQUIER huerto? Hagamos algunos ajustes:
función countApples(manzanas) {var
suma = 0; for (var i = 0; i < manzanas.longitud; i++) {sum
= suma + manzanas[i]; }
devolver
suma;
}
¡Has creado tu primera función/método! Esto, por sí solo, en realidad no hace nada.
Así es como usarías la función:
var huerto1 = [12, 4, 8, 7, 2, 4];
var huerto2 = [8, 7, 6, 5, 9];imprimir cuentaAmpollas(huerto1
); imprimir
cuentaAmpollas(huerto2);
Esto imprimiría 37 y 35 en su pantalla.
¿Cómo? Excavemos más profundamente.
Cuando escribes print countApples(orchard1) estás enviando la matriz de orchard1 al algoritmo que creaste anteriormente.
Esencialmente se vuelve exactamente como los ejemplos en 4.2:
var manzanas = [12, 4, 8, 7, 2, 4];
var suma = 0;for (var i = 0; i < manzanas.longitud; i++) {suma
= suma + manzanas[i]; }imprimir
suma;
Mientras que fuera de la función, huerta1 se refiere a [12, 4, 8, 7, 2, 4], se convierte en una variable más genérica llamada manzanas en la función.
En términos de valores, al llamar a countApples(orchard1), orchard1 es igual a manzanas en la función countApples.
De manera similar, cuando se llama a countApples(orchard2), orchard2 es igual a manzanas en la función countApples.
Con esa función, ahora puede contar el número de manzanas de cualquier huerto sin necesidad de reescribir los múltiplos lógicos/algorítmicos.
Sólo tienes que usar la función/método countApples y pasarle el conjunto de valores que has recogido.
4.5 Idioma(s)
Si tomamos el algoritmo anterior y lo convertimos a diferentes idiomas, se vería algo así:
Javascript
función contarManzanas(manzanas) {var
suma = 0;
for (var i = 0; i < manzanas.longitud; i++) {suma
= suma + manzanas[i];
}suma
de retorno
; }var
huerto1 = [12, 4, 8, 7, 2
, 4
]
; var
huerto2 = [8, 7, 6, 5, 9];console.log (contarManzanas(huerto1
)); console.log (contarManzanas
(
huerto2));
Java
int countApples(manzanas) {int
sum = 0;
for (int i = 0; i < manzanas.longitud; i++) {sum
= suma + manzanas[i];
}suma de retorno
; }int
[] orchard1 = {12, 4, 8, 7, 2, 4}; int
[] orchard2 = {8, 7, 6, 5, 9};Sistema.
o
ut.println (cuentaApples(huerto1));
System.out.println (cuentaApples(huerto2));
Python
def countApples(manzanas)
:sum = 0 por x en manzanas:
sum = sum + x
volver huerta1 = [12, 4, 8, 7, 2, 4
]huerta2 = [8, 7, 6, 5, 9]imprimir cuentaAmpollas(huerta1)imprimir cuenta
Ampollas
(huerta2)
¿No es fascinante?
Es como las lenguas habladas que vienen de la misma raíz.
El francés: Je parleItalian
:
Lo parlo
Si entiendes «je parle» en francés, es muy fácil entender «lo parlo» en italiano.
Del mismo modo, si entiendes cómo crear un bucle en un lenguaje de programación, puedes aprender fácilmente a crear un bucle en otro lenguaje.
Todos los lenguajes modernos tienen variables, bucles y funciones.
Sólo que tienen una sintaxis diferente.
Así que, cuando la gente me pregunta qué lenguaje de programación deberían aprender primero, normalmente respondo que depende de lo que quieran lograr.
Cada lenguaje tiene marcos de trabajo que lo soportan.
4.6 Framework(s)/Aplicaciones del lenguaje
Si quieres hacer aprendizaje de máquina o estadística, probablemente usarás Python o R.
Si quieres crear un software rápido y robusto, usarías Java o C++.
Tal vez C#.
Si quieres programar una aplicación web, usarías Javascript.
Si quieres escribir código de fondo, usarías Python, Ruby, Javascript, o Go.
Si quieres escribir scripts, usarías Go, Python, o Swift.
Sin embargo, estas no son reglas de oro.
Es sólo que estos lenguajes tienen marcos de trabajo que te permiten usar el lenguaje más fácilmente para contextos específicos.
4.7 Guiones
El objetivo principal de escribir guiones es automatizar los procesos.
Digamos que quieres cambiar el tamaño de una colección de 10.000 fotos en miniaturas.
Hacerlo todo manualmente suena horrible, ¿no? Escribiendo un guión, puedes automatizar el proceso sin tener que cambiar el tamaño de una sola.
Puedes usar el guión para muchos propósitos diferentes.
Puedes crear páginas web para almacenar datos en una hoja de cálculo.
Puedes copiar el contenido de una página web en tu portapapeles.
Puedes convertir cualquier tipo de datos en otro tipo de datos.
Las posibilidades son infinitas.
Usualmente, usarías scripts para una tarea específica que es autónoma, lo que significa que no necesita ser parte de un marco de trabajo más grande.
Por ejemplo, los trozos de código que hemos escrito hasta ahora se considerarían scripts.
4.8 Frontend
El desarrollo del frontón tiene que ver con cualquier cosa que puedas ver visualmente.
Por ejemplo, un sitio web con su diseño (HTML) y su estilo (CSS).
El código del frontend se ejecuta en el ordenador del usuario.
Un sitio web estático es completamente código de frontend.
Si usas herramientas visuales como WordPress o Squarespace, eso también es frontend.
WordPress y Squarespace tienen código en su backend que hace que tu frontend funcione.
Cuando la gente habla de frameworks como React, Angular, y Vue.js por ejemplo, estos son todos frameworks de frontend.
¡Hay TONELADAS de ellos!
El desarrollo del frontend solía ser simple, con sólo HTML, Javascript y CSS para trabajar.
Luego vino jQuery.
Luego vino todo lo demás.
Nuevos frameworks están saliendo casi todas las semanas.
Debido al siempre cambiante conjunto de «herramientas» de frontend, puede que quieras empezar a aprender los frameworks más populares y aprender los otros en el trabajo, según sea necesario.
4.9 Backend
El desarrollo del backend tiene que ver con cualquier cosa que se haga fuera de lo que la gente ve.
Se ejecuta en servidores normalmente lejos del ordenador del usuario, en el servidor o servidores de una empresa.
Podemos ver el frontend como el cuerpo y el backend como el cerebro.
Sabes que el cerebro es responsable de lo que hace tu cuerpo, pero nunca lo «ves» en acción.
Muchas aplicaciones web dependen en gran medida de los backends para ejecutar el trabajo intensivo de la CPU o la memoria.
¿Has estado alguna vez en un sitio web donde te digan que vuelvas más tarde y que puedas cerrar la ventana? Eso es porque su backend está trabajando en la tarea.
Está trabajando en sus servidores, no en tus ordenadores.
Sólo se envía el resultado a tu ordenador una vez que se ha ejecutado en sus servidores.
Las principales ventajas son que los servidores son más poderosos que tu máquina y pueden ejecutar código más rápido.
El backend es también el responsable de almacenar los datos en una base de datos.
Normalmente, el frontend sólo tiene acceso a una subsección de los datos para su recuperación.
También puede enviar los cambios de los datos al backend para su procesamiento.
En su forma más simple, puede significar simplemente «insertar en la base de datos».
5. ¿Cómo puedo convertirme en un buen programador?
Lo básico de arriba te ayuda a empezar, pero no serás un muy buen programador aún con eso.
A continuación, explicaré algunas formas de pasar de novato a bueno en poco tiempo.
Esta sección es la más compleja, así que si no puedes seguirla en este momento, ¡no olvides marcarla para volver a visitarla más tarde cuando tu mente esté más despierta!
5.1 Escribir un código limpio como un campeón
Digamos que estás trabajando en un juego de plataformas 2D en Unity.
Quieres añadir una simple detección de alcance para decidir cuándo un enemigo debe atacar al jugador.
Un programador normal puede escribir código que se vea así (si no utiliza colisionadores):
void Update() {if
(Mathf.Abs(transform.position.x * 100.0 – player.transform.position.x * 100.0) <= 10.0) {isAttacking
= true;
animation.SetAnimation(0, «attack», false); }}
Si eso te aterroriza, debería hacerlo.
Escribir un código limpio se trata de hacer tan fácil de entender que simplemente estás leyendo inglés.
El ejemplo anterior es extremadamente simple, pero podemos hacerlo mucho mejor.
Aquí hay una forma en que un programador más avanzado puede escribirlo:
////
Núcleo lógico Evitar Actualizar() {if
(IsCloseToPlayer())
Atacar(); }////
Detalles
de implementaciónbool IsCloseToPlayer() {
retorno
(PositionDifference(transform, player.transform) <= ATTACK_DETECTION_RANGE); }flota
PositionDifference(Transform t1, Transform t2) {retorno
Mathf.
A
bs(GetHorizontalPosition(t1) – GetHorizontalPosition(t2)); }float GetHorizontalPosition(Transform t) {return
t
.position.x * PIXELS_PER_UNIT; }void
Attack() {if
(isAttacking) return; // No es necesario repetir si ya está atacando isAttacking = true;
int animationTrack = 0;
bool loop
= false;
animación.SetAnimation(animationTrack, «attack», loop); // Se reiniciará isAttacking después de AnimationComplete}const
float PIXELS_PER_UNIT = 100.0; // Número de píxeles en un solo Unity world view unitconst
float ATTACK_DETECTION_RANGE = 10.0;
¿Cuál es una de las primeras cosas que estás notando?
«Hay mucho más código», ¿verdad?
¿Me llevó más tiempo escribir? ¡Puedes apostarlo! Pero aquí está el porqué es mejor que el primer bloque de código (más explicación también en la sección 5.2):
Abstracción y encapsulación
Ocultar los detalles de la aplicación.
Si miras de nuevo la función Update() del segundo bloque de código:
anula Update() {if
(IsCloseToPlayer())
Attack(); }
Es fácil de leer, ¿verdad? Especialmente junto a la primera versión que viste anteriormente:
void Update() {if
(Mathf.Abs(transform.position.x * 100.0 – player.transform.position.x * 100.0) <= 10.0) {isAttacking
= true;
animation.SetAnimation(0, «attack», false); }}
Cuando alguien más (o tú futuro) lee tu código, quiere entender lo que pasa primero antes de saltar a los detalles.
A veces, los detalles no son tan importantes.
Si lees el segundo bloque de código, te llevará mucho más tiempo entender lo que significa: «si estoy cerca del jugador, debería empezar a atacar».
Crear métodos de tamaño de mordida bien nombrados hace que tu código sea mucho más legible.
Nombra tus condiciones booleanas.
IsCloseToPlayer() es mucho más fácil de leer que Mathf.Abs(transform.position.x * 100.0 – player.transform.position.x * 100.0) <= 10.0
En la medida de lo posible, nombra todas tus expresiones booleanas a algo claro.
Una buena manera de hacerlo es preparando es o tiene delante el nombre de la acción.
isCloseToPlayer, hasEnEnoughStorage, isAlive, etc.
Nombra tus acciones.
Attack() es mucho más fácil de leer que:
esAttacking = true; animation
.SetAnimation(0, «attack», false);
¿Puedes encapsular un conjunto de instrucciones en una sola función con nombre? Si es así, ¡hazlo!
La mayoría de los buenos códigos no necesitan comentarios para explicar la lógica, porque las variables y las funciones se nombran correctamente.
Si necesitas un comentario para explicar un bloque de código, lo más probable es que puedas crear un método bien nombrado en su lugar.
La regla de 7
¿Cuántas líneas de código debe tener una función/método? Aquí hay una respuesta simple: 7 ± 2.
La razón de esto es que nuestro cerebro sólo puede trabajar en más o menos tantas instrucciones al mismo tiempo.
Me estremezco cada vez que veo métodos que tienen más de 9 líneas de código.
Aquí hay un ejemplo de un juego en el que estoy trabajando:
public void SetUp() {this
.SoulReaper.SetUp(GridAllies.Team); LoadPrefabs ();
InitLists ();
grids.ForEach (grid => InitGrid (grid)); InitTimeline
(true);
InitAllyRowBonuses (
teams [0]); InitOpponentRowBonuses (
teams [1]); }
Si lees el código anterior, sabes todos los pasos necesarios para configurar esta clase (esto configura la escena de «Combate»).
Es un poco técnico, pero aún así es legible para la gente normal.
La mayoría de los principiantes pondrían toda la lógica de inicialización aquí.
Te ahorraré el ejemplo largo, pero combinado, son unas 250 líneas de código.
Nunca serías capaz de leer la lógica de una sola vez.
Si escarbas en algunos de estos métodos, verás que también son menos de 7 líneas de código:
void InitLists () {monsters
= new List<CombatMonster> (); unreaps
= new
List<
CombatUnreap> (); stolenSouls
= new List< CombatMonster> (); }void InitTimeline
(bool soulReaperAssisting) {this.timeline
= new Timeline
(
esto); if (soulReaperAssisting)this.timeline.Add (esto
.
S
oulReaper); if (UnreapSupport)
TimelineController.gameObject.SetActive (true); }
Evitar
InitAllyRowBonuses
(
equipo
, PanelStart.transform.GetChild(2), 0); DisplayRowBonus (equipo,
PanelStart.transform.GetChild(
3), 3)
; DisplayRowBonus (equipo, PanelStart.transform.GetChild(
4), 6
);
}
Hicimos lo mismo con nuestros métodos en esta misma sección de arriba:
bool IsCloseToPlayer() {retorno
(PositionDifference(transform, player.transform) <= ATTACK_DETECTION_RANGE); }float
PositionDifference(Transform t1, Transform t2) {retorno
Mathf.Abs(GetHorizontalPosition(t1) – GetHorizontalPosition(t2)); }float Get
HorizontalPosition(Transform t) {retorno
t
.position.x * PIXELS_PER_UNIT;
}
Mantenibilidad
La abstracción y la encapsulación hacen más fácil mantener el código en el futuro porque se entiende lo que todo significa sin tener que buscar en más de 100 líneas de código.
En el ejemplo anterior de mi juego, si hay un problema con la línea de tiempo que no se inicia correctamente, puedo simplemente buscar en mi código «Línea de tiempo inicial» y es muy probable que el problema radique en ese método.
Todo esto hace que el código sea mucho más fácil de depurar.
5.2 Escribir las clases como un campeón
Ahora que sabemos por qué el segundo bloque de código de la sección 5.1 es mejor, añadamos más.
Digamos que ahora tienes un enemigo diferente que quieres codificar.
El problema es que esta vez ataca verticalmente, y su rango de detección es mayor.
Un programador junior puede copiar + pegar el código de arriba y reemplazar el position.x con el position.y y cambiar la constante ATTACK_DETECTION_RANGE.
Podemos hacerlo mejor con el uso de clases para minimizar la duplicación de código.
Los buenos programadores no reescriben el código que no necesitan también.
Es por eso que a menudo oirás que los buenos programadores son «perezosos».
Esto es lo que la clase «padre» podría parecer:
clase pública Enemy : MonoBehaviour { public float AttackDetectionRange = 10.0f; public string
AttackAnimationName = «attack»; protected const float PIXELS_PER_UNIT = 100.0; // Número de píxeles en una sola unidad de visión mundial Unity/// N
ulo de lógica del núcleo Update
() {if
(IsCloseToPlayer())
Attack(); }
//// Detalles
de implementación bool abstracto protegido IsCloseToPlayer(); vacío virtual protegido Attack() {if
(
isAttacking) return; // No hay necesidad de repetir si ya está atacando isAttacking = true;
int animationTrack = 0;
bool loop = false;
animación.SetAnimación(animaciónTrack, AtaqueNombreDeAnimación, bucle); // Se reiniciará isAtaque después de AnimaciónCompleta}
flotador protegido PositionDifference(Transform t1, Transform t2) {retorno
GetWorldPosition(t1) – GetWorldPosition(t2); } flot
ador GetWorldPosition
(Transform t) {retorno
t
.position * PIXELS_PER_UNIT;
}}
Hasta ahora, sólo hemos hecho una bonita clase abstracta de nuestro anterior guión enemigo.
Notarán algunas diferencias:
- las variables públicas en la parte superior
- variables y métodos protegidos
- métodos abstractos
- métodos virtuales
- una PositionDifference() más «genérica»
Una variable o método que es público es aquel que puede ser llamado por (usando la notación .
en la mayoría de los idiomas) cualquier instancia de la clase (un Objeto):
var instance = new Enemy();
print instance.AttackAnimationName;
Esto imprimiría «attack».
Si la variable no fuera pública, le daría un error, diciendo que la variable no es accesible.
Una variable o método que está protegido es aquel que puede ser llamado por las clases de padres e hijos.
En breve nos adentraremos más en el concepto.
Un método virtual (en C#) significa que puede ser anulado por una clase infantil usando la palabra clave de anulación.
Los métodos abstractos también necesitan usar la palabra clave de anulación.
Ahora, no podrás instanciar Enemigo debido al método abstracto.
Cada método abstracto necesita ser implementado en las clases de niños.
Si queremos instanciarlo, necesitamos crear una clase infantil.
Hagamos primero el atacante horizontal:
clase pública EnemigoHorizontal : Enemigo { protected override bool IsCloseToPlayer() {retorno
(PositionDifference(transform, player.transform).x <= AttackDetectionRange); }}
¡Eso es!
Herencia
El bloque de código anterior toca un concepto muy importante de clases.
Probablemente el más importante, ¡así que presta atención! 🙂
La herencia es una jerarquía de clases que deriva su lógica de otras clases.
En el código anterior, EnemyHorizontal hereda todas las variables y métodos públicos y protegidos de Enemy.
Enemigo es la clase padre.
EnemyHorizontal es la clase hija.
En la clase Enemigo, IsCloseToPlayer era abstracta.
Creamos una «definición» para ello en la clase infantil llamada EnemyHorizontal.
EnemyHorizontal hará lo mismo que Enemy excepto por su detección del jugador en el rango (IsCloseToPlayer()).
Esta línea: clase pública EnemyHorizontal : Enemy puede ser leída como EnemyHorizontal es un tipo de Enemigo.
Es un Enemigo, pero con lógica adicional.
El bloque de código anterior es 100% equivalente a la siguiente versión que no utiliza la herencia:
clase pública EnemyHorizontal : MonoBehaviour { public float AttackDetectionRange = 10.0f; public string
AttackAnimationName = «attack»; protected const float PIXELS_PER_UNIT = 100.0; // Número de píxeles en una sola unidad de visión mundial de la Unidad //// N
ulo de la lógica del núcleo
Update() {if
(IsCloseToPlayer())
Attack(); }
//// Detalles
de implementación protegido bool IsCloseToPlayer() {
retorno
(PositionDifference(transform, player.transform).x <= AttackDetectionRange); }
vacío
virtual protegido Attack() {if
(
isAttacking) return; // No es necesario repetir si ya está atacandoisAttacking = true; int
animationTrack = 0;bool
loop = false;
animación.SetAnimación(animaciónTrack, AtaqueNombreAnimación, bucle); // Se reiniciará isAtaque después de AnimaciónCompleta}
flotador protegido PositionDifference(Transform t1, Transform t2) {retorno
GetWorldPosition(t1) – GetWorldPosition(t2); } flot
ador GetWorldPosition
(Transform t) {retorno
t
.position * PIXELS_PER_UNIT;
}}
Eso es un poco más largo, ¿verdad?
Ahora, vamos a crear el atacante vertical:
clase pública EnemigoVertical : Enemigo { bool de anulación protegido IsCloseToPlayer() {retorno
(PositionDifference(transform, player.transform).y <= AttackDetectionRange); }}
¡Eso es!
En ambos casos, como AttackDetectionRange y AttackAnimationName son variables públicas, podemos establecer cualquier valor para ellas.
Por lo tanto, podemos crear una cantidad infinita de enemigos que pueden atacar tanto horizontal como verticalmente.
Por ejemplo:
# Goomba : EnemigoHorizontal#
AttackDetectionRange = 5.0;# Koopa : EnemigoHorizontal#
AttackAnimationName = «hide_in_shell»# HammerBro : EnemigoVertical#
AttackDetectionRange = 15.0;# At
tackAnimationName
= «throw_hammer»;
Todo eso está bien, pero ¿qué pasa si el patrón de ataque es diferente? ¿Qué pasa si quiero un monstruo que está atacando constantemente cuando está en el rango?
¿Puedes averiguarlo por ti mismo?
Si no, aquí hay una forma de implementarlo:
clase pública EnemyBrawler : HorizontalEnemy { void Update() {this
.isAttacking = IsCloseToPlayer();
Attack(); }
protected override void Attack() {if
(!isAttacking || animation.animationName == AttackAnimationName) return; // No continúe si ya está atacando
int animationTrack = 0
;bool loop = true;
animation.SetAnimation(animationTrack, AttackAnimationName, loop);
}
Aquí está cómo se vería la jerarquía de clases en este punto:
Enemigo es la clase madre de Horizontal y Vertical.
Horizontal es la clase madre de Brawler.
Horizontal y Vertical son clases hijas de Enemigo.
Y Brawler es una clase infantil de Horizontal.
Así que, mientras que en el segundo bloque de código de la sección 5.1, puede parecer que añadimos tanto código inútilmente, que acortamos el código a largo plazo y evitamos cualquier duplicación de código.
Esto nos lleva al concepto de Cohesión:
Cohesión
La cohesión se refiere al grado en el que los elementos dentro de un módulo pertenecen juntos.
En nuestro sencillo ejemplo anterior, cada enemigo sólo tiene una acción que realizar: Atacar.
Si tuviéramos que añadir más acciones, ¿cuáles serían?
La simple pregunta que hay que hacerse es dónde se decide qué métodos debe tener una clase: «¿Tiene sentido que este objeto realice esa acción?» Si no, la acción debe ser añadida a una clase diferente.
Aquí hay un ejemplo:
clase pública Animal {Evitar
Mover() {//
TODO: Implementar esto}}clase
pública Perro
: Animal {Evitar
Ladrido
() {//
TODO: Implementar esto}}}clase
pública
Gato : Animal {Evitar maullido() {// TODO: Implementar
esto}
ladrido de vacío
()
{// TODO
: ???
}}
Este ejemplo es intencionadamente ridículo para probar un punto.
Es extremadamente común que los programadores añadan un método a una clase a la que no pertenece porque tampoco pertenece a otras clases existentes.
La clase Gato aquí es un ejemplo de una clase con baja cohesión.
5.3 Usar Git como un campeón
¡Tómese esto muy en serio, por favor! ¡No hay nada que los programadores veteranos odien más que resolver conflictos de fusión y cuando se pueden evitar!
Lo más básico
En su forma más básica, Git es un «marco» para colaborar en una base de código.
Git se encarga del versionado y la fusión de archivos de una confirmación en otra.
El código de Git se almacena en un repositorio, que vive en un servidor de Git.
Como usuario, comprobarás una rama del código, normalmente desarrollada o masterizada.
Esto significa que ahora está almacenado en tu ordenador.
Cualquier cambio que hagas permanecerá en tu ordenador local hasta que envíes tus confirmaciones a una rama remota.
Sin embargo, no puedes enviar los cambios hasta que los hayas confirmado en tu versión local de la rama.
Uf!
Aunque suena complicado, aquí está el proceso más básico cuando se trabaja solo:
git commit – es «algo
» git push origin
develop
La primera línea crea una instantánea de su código (una confirmación) con la anotación: «algo».
La segunda línea envía el código de confirmación al servidor remoto, a la rama llamada «develop».
Eso es bastante simple hasta ahora ya que estás trabajando solo, pero digamos que Jane se une al proyecto.
Para mantener las cosas simples, Jane también está trabajando en la rama de desarrollo.
La rama de desarrollo remota es la «fuente de la verdad».
Es donde se almacena la versión más final del código que puede ser ejecutada por todos en el proyecto.
Ahora, tanto tú como Jane tienen una rama local del mismo nombre (develop).
Digamos que ambos quieren trabajar en el mismo archivo al mismo tiempo: EnemigoHorizontal.
Quieres definir el método IsCloseToPlayer() (especificado por la palabra clave override), y ella quiere añadir un nuevo método llamado UpdateRange().
Una vez que termine de implementar su código, lo hará:
git commit -am «implemented IsCloseToPlayer
«git push origin
develop
Poco después, Jane termina su parte y hace lo mismo:
git commit -am «added UpdateRange method to EnemyHorizontal
«git push origin develop
Git no permitirá que la segunda línea pase.
¿Por qué crees que es así?
En el momento en que Jane presiona su código, el desarrollo remoto tiene un nuevo commit de ti, está más adelantado que su sucursal local en términos de código.
Antes de que ella pueda empujar su confirmación, tendrá que tirar de los últimos cambios en el desarrollo remoto.
Se hace de esta manera:
git pull origin develop
Esto fusiona los últimos compromisos de la rama de desarrollo remoto con su rama de desarrollo local.
Así que ahora Jane tiene implementado el método IsCloseToPlayer en su rama local también, además de su código.
Ahora puede empujar con seguridad (¡siempre que nadie más lo haga antes que ella!).
git empujar origen desarrollar
Para estar seguro, siempre debes tirar antes de empujar.
git commit -am «algo
» git pull origin developgit
push
origin develop
Conflictos
Le temerás a la palabra.
Y te pasará a ti.
Digamos que tú y Jane no se comunicaron correctamente y ambos trabajaron en el método IsCloseToPlayer para la clase de HorizontalEnemy.
Jane se compromete y empuja sus cambios primero, seguido de ti:
git commit -am «implemented IsCloseToPlayer on EnemyHorizontal
«git pull origin
develop
BAM! Gran advertencia de Git: «¡Tienes conflictos de fusión!»
Bueno, esto apesta.
¿Qué ha pasado?
Git no puede decidir si su versión del código es «mejor» que la de Jane.
Ambos comenzaron desde la misma base de confirmación y cambiaron la misma parte del código.
No hay forma de saber qué versión del nuevo código es mejor.
Entonces depende de ti decidir.
Git te mostrará las diferencias, y tú tienes que resolver el conflicto.
Tú decides si tu versión es mejor o la de ella.
Podrías hacer una de dos cosas aquí: (1) revertir tus cambios y aceptar los de ella o (2) resolver el conflicto usando tu versión del código, y luego empujar de nuevo.
Flujo de trabajo de GitFlow
Sé que todo esto suena complicado por ahora, pero se vuelve mucho más complicado..
El proceso anterior funciona bien para los equipos muy pequeños que trabajan en proyectos pequeños, pero empieza a quedarse corto muy rápidamente.
Quieres minimizar los conflictos y las pérdidas de código tanto como puedas.
Un «marco de trabajo» común es el flujo de trabajo de GitFlow.
Lo uso todo el tiempo en mis proyectos.
Entrar en los detalles del flujo de trabajo estaría fuera del alcance de este artículo, pero terminaría pareciéndose a algo así:
Puedes encontrar más información sobre ello aquí.
5.4 Volverse locamente ingenioso
Esta es la habilidad número uno de cualquier programador.
Lo cual es genial porque también es una de las habilidades más útiles que puedes dominar.
A medida que sigas aprendiendo a programar, te encontrarás frecuentemente con stackoverflow.com o sitios web similares.
Cuando buscas en Google cómo hacer algo en programación, es probable que alguien más haya tenido el mismo problema que tú y que otra persona haya dado una respuesta clara y cómo solucionarlo.
Esa pregunta/respuesta probablemente se encuentra en StackOverflow.
Así que, como desarrollador junior, pasa una buena cantidad de tiempo buscando en Google cómo resolver las cosas en el lenguaje y el marco de trabajo que estás usando.
No hay que avergonzarse de no saber todas las respuestas.
Simplemente hay demasiado en la programación para saberlo todo.
Si estoy trabajando en un lenguaje con el que no estoy familiarizado, a menudo busco en Google la sintaxis.
Si estoy trabajando en un marco de trabajo que nunca he usado antes, busco en Google «How do I do <this> in <that> framework».
Todo el mundo hace eso.
En el mundo de la programación, siempre se espera que seas ingenioso y que averigües las respuestas por ti mismo primero, lo cual es una gran manera de aprender cualquier cosa.
Si no puedes averiguarlo después de intentarlo, entonces es el momento de buscar ayuda de otros, ya sea en persona o preguntando en StackOverflow.
La programación es el tipo de habilidad que nunca deja de evolucionar.
Si no puedes adaptarte, te quedas fuera.
Cuando contrato programadores, me gusta darles tareas en lenguajes con los que nunca han trabajado.
¿Estresante? Claro, pero eso demuestra lo adaptables que son.
Y eso, para mí, es más valioso que alguien que conoce el 95% de un idioma.
6. ¿Dónde puedo encontrar un buen material para aprender a programar?
Nada es eterno con la Programación, así que es difícil recomendar cosas que permanecerán valiosas para siempre.
En el momento de escribir esto, estos sitios web han seguido siendo excelentes para aprender programación (no estoy afiliado a ninguno de ellos):
- https://www.codecademy.com
- https://www.khanacademy.org/computing/computer-programming
- https://www.udacity.com
- https://lambdaschool.com
- https://www.appacademy.io
- https://www.freecodecamp.org/
- https://www.youtube.com/user/learncodeacademy
Si te gustan los libros, hace más de una década, leí Code Complete, de Steve McConnell, y se ha mantenido como la guía más completa sobre cómo convertirse en un gran programador.
Aparte de eso, sigue siendo ingenioso.
Esfuérzate siempre por encontrar nuevos y grandes recursos!
7 consejos y trucos para aprender a programar más rápido
Una de las preguntas comunes y básicas entre los estudiantes o alguien que quiere aprender código es «¿Cómo puedo aprender a programar rápido y hacer una carrera como programador?».
Tanto si eres un estudiante, como si eres una persona nueva o experimentada que intenta cambiar tu trabajo en la programación, definitivamente intentarás encontrar consejos y trucos para aprender a programar de forma rápida y efectiva.
El trabajo de los programadores es uno de los trabajos mejor pagados del mercado y uno de los más interesantes que la gente encuentra.
aprender a programar y dominarlo puede llevar años para un principiante.
La mayoría de la gente se da por vencida antes de empezar de verdad.
Al principio, nos entusiasma el concepto de aprender a programar, pero más tarde, en la mayoría de los casos, los estudiantes o principiantes se rinden rápidamente porque les resulta difícil continuar, se quedan atascados y tienen dificultades para encontrar la solución de un código.
Aprender a programar no es un viaje nocturno pero tampoco es tan difícil como la gente piensa, todo lo que requiere es dedicación, pasión, interés y definitivamente paciencia.
Hay tantos recursos en línea y fuera de línea disponibles para aprender a programar de manera fácil, rápida y efectiva.
Discutiremos algunos consejos para aprender a programar de manera efectiva y rápida.
1. Aclare sus fundamentos:
Un error común que un estudiante o principiante comete mientras aprende programación es saltarse los fundamentos o el capítulo 1 y saltar directamente al siguiente capítulo de inmediato.
Para entender los conceptos avanzados de programación es necesario tener muy claros los fundamentos de la programación.
Si en algún momento cometes el mismo error, acabarás con muchas confusiones y tendrás que volver a tus fundamentos de nuevo.
Estos fundamentos son Estructuras de Datos, variables, estructuras de control, sintaxis, herramientas o editores de texto.
Cuando empieces a programar, elige un lenguaje de programación, cíñete a él y aclara primero todos los fundamentos de la programación antes de pasar al siguiente nivel.
Tu tiempo total para aprender a programar se ahorrará definitivamente si sigues este camino.
2. Aprende haciendo, practicando y no sólo leyendo:
Un error común que los principiantes cometen mientras aprenden a programar es leer un libro o mirar el código de muestra en su escritorio sin practicarlo.
Es fácil leer acerca de los bucles, las variables y tener todas las cosas en la cabeza, pero la programación real no funciona de esta manera.
Realmente necesitas ensuciarte las manos en la programación y seguir practicándola regularmente.
Cuando empiezas a programar te enfrentas a muchos problemas, te quedas atascado ahí, se te pedirá que implementes el código de forma práctica y que encuentres la solución a un problema específico y ahí te rascarás la cabeza mientras implementas el código.
Cuando escribes el código, juegas con el código, cambias tu código para ver diferentes resultados, optimizas el código y pruebas diferentes soluciones, tu capacidad de pensamiento lógico mejora día a día y eventualmente aprendes muchas cosas que te hacen un mejor programador.
Cuando empieces a codificar, practica el mismo código o muestra una y otra vez hasta que o a menos que no necesites referirte al mismo libro o recurso de donde has aprendido.
También construye tu propio proyecto, participa en retos de programación, juega a juegos relacionados con la programación, practica en tu propio extremo cada día.
3. Código a mano:
Cuando empieces a programar como un principiante estarás pensando que por qué debería codificar a mano.
Es un proceso que consume mucho tiempo, no puedo correr y comprobar mi código en papel y también si realmente necesito implementar algo en mi sistema entonces por qué debería usar lápiz y papel.
Una de las mayores razones es la entrevistas.
Cuando solicites los trabajos de programación, la mayoría de las veces el proceso de evaluación técnica incluirá el código a mano.
Se te pedirá que escribas el código usando lápiz y papel o quizás tengas que usar una pizarra.
Codificar a mano es una técnica de la vieja escuela, pero en realidad implica una prueba para la competencia de un programador.
Codificar a mano puede darte una clara comprensión de la sintaxis y los algoritmos, haces una conexión más profunda en tu cerebro.
Aprender a programar de esta manera hará que tu trabajo sea más fácil y rápido más adelante.
4. Compartir, enseñar, discutir y pedir ayuda:
Una de las mejores maneras de entender la programación fácil y rápidamente es enseñando.
Enseñar a alguien, compartir tus conocimientos, hacer discusiones con otros programadores te hará un mejor programador rápidamente.
Enseñar a alguien es enseñarte a ti mismo también, así que si eres capaz de enseñar a alguien eso significa que realmente entiendes los conceptos.
Es el mejor hábito aprender algo en profundidad y te darás cuenta de que no necesitas volver sobre el mismo tema.
También puedes participar en proyectos de código abierto, discutir tu código con tus co-programadores o contribuir en Github, también puedes recibir ayuda del foro o del sitio de discusión.
Cuando aprendas a programar no dudes en pedir ayuda.
Los principiantes cometen este error y se sienten tímidos cuando necesitan pedir ayuda.
No importa si haces preguntas tontas y te ves estúpido, te ayudará a la larga y si no lo haces tendrás problemas de programación más adelante.
Así que es bueno encontrar un mentor o tomar ayuda de otros programadores para entender los conceptos fácil y rápidamente.
Tu mentor o profesional puede guiarte mejor porque ya han estado en tu lugar antes.
5. Utilice los recursos en línea:
Hay muchos recursos en línea disponibles, pagados o no.
Puedes tomar ayuda de estos recursos en línea y comenzar tu viaje de programación.
Puedes suscribirte a los canales de youtube o intentar codificar los campamentos de entrenamiento para aprender la programación de manera rápida y efectiva.
GeeksforGeeks, Udemy, Coursera y un montón de recursos disponibles para orientarte y aprender programación.
También hazte el hábito de leer blogs relacionados con la programación, y de tomar ayuda de Stackoverflow, el sitio subreddit de Reddit para «aprender programación», como el sitio o la comunidad online.
6. Tomar descansos:
Si quieres aprender a programar no es bueno sentarse frente a una computadora por horas y horas y tratar de entender todo de una sola vez.
Te agotarás al hacer esto, así que es mejor aprender a programar en trozos.
Tómate unos pequeños descansos para refrescarte.
También deberías tener esto en mente mientras depuras tu código.
A veces pasas horas y horas buscando el error, pero no encuentras la solución para tu código, así que es bueno tomar un pequeño descanso, aclarar tu mente y hacer algo más.
Esto te devolverá la atención y puede que encuentres la solución para tu código en el punto en el que estabas atascado.
Además, intenta eliminar todo tipo de distracciones.
Apaga tu notificación telefónica, notificaciones de correo electrónico y trata de aislarte para estar enfocado.
Haciendo esto ahorrarás mucho tiempo y te mantendrás alejado del dolor de cabeza o la frustración.
7. Aprende a usar el depurador:
Cometer errores en la programación es muy común y es completamente aceptable en la programación.
Encontrarás muchos errores en tu código al principio, así que es bueno usar depuradores para encontrar errores, impactos en tu resultado y comprobar dónde has cometido el error.
Te ahorrarás mucho tiempo usando un depurador o una herramienta para arreglar los errores en tu código.
Si eres bueno depurando, será más fácil aprender a programar.
Así que aprende a usar alguna buena técnica de depuración o usa herramientas para comprobar tu pedazo de código.
Al final, el último consejo es que no abandones cuando empieces a programar.
Puede que en el medio pienses que no eres lo suficientemente inteligente para codificar, pero ten en cuenta que para pensar como un codificador se necesita algo de tiempo y paciencia, pero para aprenderlo rápidamente, sólo tienes que seguir el camino correcto y ser coherente.
Sigue todo paso a paso, deja claros tus fundamentos primero, sigue practicando y una vez que termines con los fundamentos toma los retos y participa en la programación competitiva en diferentes sitios para mejorar en ello, para construir tu habilidad lógica y para pensar como un codificador.
Más tarde te darás cuenta de lo buen codificador que te has vuelto al practicarlo todos y cada uno de los días.
5 Consejos de programación para principiantes
Si ya sabes cómo codificar, entonces hay una pregunta para ti...
¿Cuál fue la razón por la que entraste en programación?…
¿Por qué tomaste la decisión de enseñarte a ti mismo a codificar y hacer una carrera en el campo de la informática?
Puede que te haya fascinado algún software o aplicación.
Puede que te hayas dado cuenta del poder del software y de cómo ha cambiado completamente nuestro estilo de vida hoy en día o puede que te hayas inspirado en la contribución de algunos grandes programadores a la sociedad.
Cualquiera que fuera la razón, te inspiraste en algún lugar y decidiste entrar en el campo de la informática para enseñarte a ti mismo a codificar y construir algún software que puede hacer la vida de millones de personas más fácil.
La mayoría de los estudiantes sueñan con construir sus propias aplicaciones o software y eso los lleva a aprender a programar.
Con total entusiasmo, también empiezan a aprender a programar cogiendo algún lenguaje de programación pero, en la mayoría de los casos, los estudiantes se frustran por la dificultad que encuentran al hacer algunos programas y también se vuelve aburrido para ellos.
La razón por la que esto sucede es la falta de orientación.
Siguen una estrategia equivocada y cometen errores mientras aprenden a programar.
Vamos a discutir algunos consejos que los estudiantes deben seguir para aprender a programar de una mejor manera para evitar todos esos errores.
1. Aplica tus conocimientos teóricos de forma práctica (Práctica, Práctica, Práctica…)
La mayoría de los estudiantes sólo consumen conceptos teóricos y evitan los problemas de la práctica.
Miran algunos tutoriales de youtube, asisten a algunos programas de clase y piensan de una manera que entendieron todo para no tener que practicar para las preguntas de programación.
Este es uno de los peores errores que los principiantes siempre cometen en la programación.
No podrás resolver la pregunta de matemáticas en tu examen si sólo recuerdas la fórmula matemática, lo mismo ocurre en la programación.
Ensuciarse las manos en la programación y no saltarse la pregunta en los ejercicios pensando que es fácil, así que no hay necesidad de escribir el programa.
Muchos estudiantes también piensan que las preguntas de programación son difíciles para ellos.
La razón es que su cerebro no está lo suficientemente entrenado para resolver esas preguntas.
Cuando practicas lo suficiente para la pregunta de programación el tiempo de respuesta se reduce para tu cerebro y eventualmente obtienes la lógica para resolver el problema.
Lo práctico es importante en la programación:
- Te vuelves habitual de la sintaxis y ganas velocidad de tecleo.
- Necesitas pensar mucho para resolver problemas en la programación para que eventualmente desarrolle la habilidad de resolver problemas.
- Ayuda a obtener la lógica rápidamente para resolver los problemas.
- Te vuelves consciente de los problemas comunes de programación.
2. No dejes un hueco en tu aprendizaje
Este es otro error común que la mayoría de los programadores novatos cometen…
el aprendizaje irregular.
Se enseñan a sí mismos a codificar durante dos días y al tercer día se lo saltan lo que rompe el ritmo en la programación.
Mantener la consistencia, hacer programas todos los días y enfrentar nuevos retos de programación en su aprendizaje diario.
Enfrentar nuevos desafíos en la programación reduce el tiempo de respuesta de su cerebro que ayuda a obtener la lógica rápidamente.
También te enseña a pensar y a resolver los problemas más complejos que son realmente valiosos en las industrias (habilidad para resolver problemas) y también es útil para resolver problemas de la vida real.
Puedes tomar la ayuda de cualquier libro de texto para resolver los problemas o también puedes practicar en el sitio de GeeksforGeeks, HackerRank, Codecademy.
3. No hagas un análisis excesivo del concepto
La mayoría de los estudiantes o programadores novatos hacen sobreanálisis de conceptos en programación, lo cual es otro error.
No pasan al siguiente capítulo y pierden su tiempo en un solo concepto.
Tener un buen dominio de un tema específico es bueno, pero el sobreanálisis puede convertirte en el peor programador y tu progreso será lento.
No podrá completar el objetivo en un plazo determinado, así que entienda y capte el tema de forma sencilla, utilice el concepto de forma práctica y siga avanzando.
Analizar un concepto a fondo por primera vez no es bueno, una vez que tienes suficiente experiencia puedes profundizar en el concepto específico.
4. Lea el mensaje de error con cuidado
Muchos principiantes no prestan atención a los errores que aparecen en la pantalla y piden ayuda a sus mentores o a los programadores principales inmediatamente.
Comprende que los errores en la pantalla dicen mucho sobre los problemas y puedes encontrar la solución desde allí también si lees el mensaje de error cuidadosamente.
No de todos los errores se puede encontrar la solución, pero antes de pedir ayuda presten atención a ella.
Si no encuentras la solución, busca en Internet el mensaje de error.
5. Resolver las preguntas de los MCQ en la programación
Si estás aprendiendo a programar por primera vez, resuelve los MCQ tanto como puedas.
Puedes encontrar muchos MCQs o preguntas relacionadas con la depuración en Internet.
Te ayudará en las entrevistas en el campus y fuera del campus también.
Hacer que un programa desarrolle la capacidad de pensamiento lógico, pero resolver la pregunta de MCQs ayuda a hacer buenos comandos en la sintaxis y empiezas a entender algunas reglas importantes en la programación.
También ayuda a analizar cómo se comporta un programa en diferentes tipos de situaciones.
Así que no ignores la importancia de las preguntas de los MCQs y practica diariamente para aclarar tus conceptos en la programación.
Nota: Recuerda que el aprendizaje del primer lenguaje de programación siempre requiere esfuerzos especiales.
La programación también necesita mucha paciencia y práctica.
Inicialmente, lucharás e intentarás rendirte pero es el momento en que necesitas tener la paciencia para resolver las preguntas.
Tu cerebro necesita ejercicio para resolver las preguntas en la programación y sólo vendrá con la práctica.
Comienza con problemas más pequeños y entrena tu cerebro para resolver primero problemas simples y luego pasa al siguiente nivel o a algún problema complejo.
No puedes resolver los problemas matemáticos del décimo nivel si tu cerebro no está lo suficientemente entrenado para resolver los problemas del noveno nivel.
Así que no te saltes la pregunta y muévete nivel por nivel en la programación.
12 Definiciones de programación que debes saber para aprender a programar
Cuando les hablo a mis amigos, familiares e incluso a completos desconocidos sobre iD Tech, a menudo me hacen la misma pregunta: ¿pueden los niños aprender a programar?
Para cualquiera que no sea un programador, la habilidad suele resultar ser una brujería; algo que sólo pueden dominar aquellos que tienen superpoderes.
Incluso después de trabajar en la industria de los videojuegos durante años, me ha sorprendido ver lo que se ha producido en nuestros campamentos de programación y clases de programación de niños de tan solo siete años
La programación es accesible para todos.
Y la mejor manera de empezar a aprender programación es obteniendo un entendimiento básico de la programación, empezando por lo básico.
Estoy hablando de lo realmente básico.
Como definir palabras básicas.
¿Por qué? Porque cuando oímos cosas como «programación» o «Java» o «aplicación» sin un nivel básico de comprensión, es intimidante.
Es natural tener miedo a lo desconocido…
así que hagamos que lo desconocido se conozca.
(Con aún más por descubrir si estás buscando términos de programación específicos.)
Además, cuando intentas conectar con tus hijos, quieres, no, necesitas hablar su idioma.
El inglés ya es bastante difícil, por no hablar de los muchos lenguajes de programación diferentes a los que los niños pueden saltar.
No es necesario que te conviertas en un codificador, pero ayuda tener al menos cierta familiaridad con los términos básicos para poder seguir el ritmo.
Por ejemplo, tal vez usted tiene un adolescente que está tratando de «mod» un juego de Minecraft, mientras que «codificar» una API .net.
¿Quieres saber lo que realmente están haciendo? Podemos ayudar.
En primer lugar, como una palabra de precaución, la programación para los niños debe ser abordado un proceso.
Claro, usted puede aprender la programación más rápido con unos pocos pasos clave, pero va a tomar la práctica regular.
Tienes que empezar en alguna parte, ¡así que empecemos!
1. «Programación»
Digamos que tienes un perro, y lo llamaremos Max.
Quieres ser capaz de entrenar a Max hasta el punto de que cuando se le ordene, responda y actúe según tus instrucciones.
«Siéntese» «Quédese» «Ni siquiera pienses en perseguir a esa ardilla»
Cuando escribes un programa, la base de tus acciones no se aleja mucho de la misma.
Tú, el dueño, estás dando una serie de órdenes a tu ordenador (o al perro, en este ejemplo) y esperas un determinado resultado basado en esas órdenes.
Pero en lugar de hablar esas instrucciones con un bolsillo lleno de golosinas de tocino, estás escribiendo instrucciones en un idioma que se parece al inglés normal, pero con algunos parámetros y reglas adicionales.
Sin mencionar que, a diferencia de un perro, la computadora siempre escucha, si la orden se da correctamente.
La programación es la base de la robótica, los videojuegos, las aplicaciones, los gráficos informáticos y mucho más.
Cada programa de ordenador es un conjunto de instrucciones; una secuencia de comandos cortos, uno tras otro.
Se trata de dividir una tarea compleja en un conjunto de instrucciones más pequeñas e individuales y usar un lenguaje de programación para escribir esas instrucciones.
2. «Lenguaje de programación»
Para seguir con el punto anterior, para poder comunicarse con un ordenador (y conseguir que ejecute esas instrucciones) debe hablar su idioma.
En la programación, un lenguaje se compone de un vocabulario y un conjunto de reglas gramaticales, ¿te suena familiar? Donde se pone un poco difícil es que cada lenguaje se basa en su propia y única sintaxis (estructura gramatical) y semántica (significado).
Hay un número de diferentes lenguajes de programación, y cuando se trata de cuál de ellos deberías estar aprendiendo, todo depende de lo que quieras hacer.
C++ es la base de los navegadores web más populares, los productos de Adobe, y más, mientras que Java es bueno saberlo cuando se diseñan videojuegos.
Python impulsa sitios como Pinterest e Instagram, y en el caso de Internet, HTML (Hypertext Markup Language) se utiliza para crear páginas web que muestran información.
Esta útil infografía del Lifehacker rompe todas las diferencias de lenguaje.
3. «Declaración de programación»
Debido a que los términos «instrucciones» y «comandos» se usaron bastante en las explicaciones anteriores, pensé que lo mejor era definir a continuación «declaraciones»
Básicamente, la forma en que le dices a un ordenador que haga algo es dándole instrucciones o escribiendo declaraciones para explicar una acción deseada.
De nuevo, es similar a escribir frases en inglés, pero con palabras, números y puntuación añadidos dependiendo del lenguaje de programación que estés usando.
Así que para unirlo, un programa se escribe a través de una secuencia de una o más declaraciones.
Piénsalo como si le dieras a un amigo instrucciones para conducir: «Ve derecho por una milla».
Gira a la izquierda.
Sigue recto durante otras dos manzanas».
Deténgase en la señal de alto.
Gira a la derecha» La tarea que quieres lograr es llevar a tu amigo del punto A al punto B.
Divides esa tarea en una serie de declaraciones individuales para hacerla realidad.
4. «Tipo de datos»
La inteligencia artificial puede cambiar esto algún día, pero actualmente, las computadoras no pueden diferenciar entre letras o números.
Por lo tanto, los programadores informáticos deben establecer un tipo de datos.
Esta es una clasificación del tipo de datos que una variable u otro objeto puede ser asignado en un programa de computadora.
Las variables en la programación son como las que se aprenden en la clase de matemáticas, con la diferencia de que una variable de programación puede representar más que un número.
Es decir, podría, por ejemplo, contener un carácter alfabético como la «c» o una palabra o frase entera como «Hola Mundo», comúnmente llamada cadena o booleana (más sobre «booleana» abajo).
Los tipos de datos están presentes en prácticamente todos los lenguajes de programación de computadoras, incluyendo Visual Basic, C#, C++ y JavaScript.
Algunos ejemplos de tipos de datos incluyen:
- Booleano (por ejemplo, Verdadero, Falso)
- Carácter (por ejemplo, Z)
- Fecha (por ejemplo, 29/06/2020)
La comprensión de los tipos de datos permite a los programadores diseñar mejores aplicaciones.
5. «Booleana»
¿Recuerdas los viejos exámenes de VERDADERO o FALSO en la escuela? Podrías llamarlos tests booleanos, ya que una expresión booleana es un valor de VERDADERO o FALSO.
El booleano fue desarrollado por el matemático y pionero informático inglés George Boole,
Las booleanas se almacenan típicamente dentro de un bit, que es la cantidad más pequeña de almacenamiento en una computadora cuando se trata de órdenes de magnitud.
Tiene un solo dígito binario.
Binario, al ser un sistema numérico de base 2, significa que sólo puede contener el valor 0 o 1.
En el caso de un booleano, 0 suele significar falso mientras que 1 suele usarse para verdadero.
Lo que nos lleva al clásico chiste de programación, «Lo mejor de un booleano es que aunque te equivoques, sólo te equivocas un poco»
6. «Binario»
Todos los ordenadores hablan en binario: 1 y 0.
Un simple y elegante sistema de 2 números, el binario es la base de todo el código binario, y ese código es la base de todos los lenguajes de programación.
Debido a que el binario puede detectar rápidamente el estado de activación o desactivación de una señal eléctrica, lo convierte en una forma eficiente de controlar los circuitos lógicos en medios magnéticos (los polos positivos y negativos se transfieren rápida y fácilmente al binario).
7. «Aplicación» (AKA «App»)
Sí, tienes un iPhone o un teléfono inteligente Android y probablemente estás muy familiarizado con las «aplicaciones», cómo descargarlas, cómo usarlas, etc.
Pero la aplicación móvil es sólo un ejemplo.
Abreviatura de «aplicación», las aplicaciones también pueden tomar forma de aplicaciones web o aplicaciones en línea.
El término «app» se ha convertido en una palabra de moda, moderna, de moda, pero en realidad no se diferencia de un programa de software.
Una aplicación está diseñada para un propósito particular, y en tu iPhone o dispositivo Android, eso puede significar casi cualquier cosa.
Encuentra un restaurante.
Hay una aplicación para eso.
Pide una pizza.
Hay una aplicación para eso.
Facebook.
Hay una aplicación para eso.
La mayoría de estas cosas se pueden hacer a través de un navegador web, pero las aplicaciones para móviles, diseñadas específicamente para ser accedidas desde tu teléfono, hacen la vida mucho más fácil.
Para construir una aplicación para el iPhone, necesitarás conocer XCode, el entorno de desarrollo integrado de Apple.
Para construir una aplicación para Android, tu entorno de desarrollo requerirá Eclipse.
Ver todas las clases de programación para adolescentes y niños.
8. «Programación de rasguños»
Ahora pasemos a algo un poco más tangible.
Scratch es un lenguaje de programación gráfica desarrollado por el MIT, en el que los niños pueden aprender los fundamentos de la programación de arrastrar y soltar para crear historias interactivas y cómics.
Aunque puedes ponerte al día en todos los diferentes lenguajes de programación que se muestran arriba, las clases de programación de Scratch son fantásticas para cualquier niño que necesite una introducción a nivel de principiante.
En lugar de líneas de código, los usuarios de Scratch construyen con coloridos bloques de comandos y sprites de dibujos animados.
La verdadera belleza de esto es que, incluso sin escribir código, los usuarios pueden ganar experiencia con las declaraciones, aprender ideas computacionales, y pensar creativamente para resolver problemas.
Además, Scratch es increíblemente atractivo.
9. «ASCII»
Cada bit de datos que una computadora procesa tiene que ser convertido en algo para que los humanos lo entiendan y lo usen.
Podría ser una imagen de una pizza, sus documentos de impuestos, o el último video viral de un gato.
Pero de lo que no te das cuenta es que esos documentos de impuestos y la deliciosa pizza, cualquier cosa, en realidad, empieza como números; lo único que los ordenadores entienden.
Los 1 y los 0 (binarios) son los datos de la computadora y el ASCII (se pronuncia «ask-e») es un sistema que mapea los datos/números en la memoria de la computadora como texto.
El acrónimo ASCII significa American Standard Code for Information Interexchange (Código Estándar Americano para el Intercambio de Información) y ASCII asigna letras y caracteres a las 256 ranuras disponibles en el código de 8 bits.
10. «API»
De la misma manera que se necesitan herramientas para construir una casa, también se necesitan herramientas, rutinas y protocolos para construir aplicaciones de software.
Eso es lo que es una interfaz de programa de aplicación (API).
Una API (que se pronuncia fonéticamente como «a-p-i») describe cómo el software y sus componentes deben funcionar juntos.
Las API también se utilizan en la programación de interfaces gráficas de usuario o GUI (pronunciado «goo-ey»).
11. «BÁSICO»
Los programadores de computadoras necesitan empezar en algún lugar, y ese lugar solía ser el lenguaje de programación BÁSICO.
El BASIC (Beginner’s All-Purpose Symbolic Instruction Code) fue creado en 1964 por John G.
Kemeny y Thomas E.
Kurtz en el Dartmouth College.
Como ya se ha mencionado, los lenguajes de programación permiten dar instrucciones y órdenes a los ordenadores.
El BÁSICO, por lo tanto, es un lenguaje que es muy adecuado para las personas que quieren aprender programación de computadoras pero que no tienen una inclinación matemática.
El lenguaje tiene una estructura muy similar a la del inglés, con comandos simples y directos.
En los últimos años, los lenguajes de programación como Java y Python han superado la popularidad del BASIC debido a su proliferación.
12. «.net»
El .NET Framework es un marco de programación desarrollado por Microsoft que funciona principalmente en Microsoft Windows.
El .net framework puede soportar una variedad de diferentes lenguajes de programación y permite a los desarrolladores crear aplicaciones más fácilmente.
Básicamente, es un lote de código que los programadores pueden usar para reunir múltiples componentes sin tener que escribirlo en el código.
Puedes pensar en el .net como la versión para computadora de un cobertizo de trabajo.
El cobertizo está provisto de diferentes herramientas, y dependiendo del trabajo, puedes usar esas herramientas en consecuencia.
Si un programador construye un programa que necesita realizar una determinada tarea (como leer información de un disco duro) el programador puede simplemente dirigirse al cobertizo (.net) y conseguir la herramienta para hacerlo.
El propietario del cobertizo (departamento de TI) puede añadirle, mientras que el proveedor (Microsoft) del cobertizo requiere que lo coloque en un lugar específico de su patio trasero (Windows).
¿Es difícil aprender a programar?
Aquí hay una lista de razones por las que algo puede ser considerado difícil o difícil:
- Es nuevo
- Es diferente
- Lleva tiempo
- Se necesita persistencia
- Carece de recursos
¿Cae el código en alguno de esos cubos? Claro, potencialmente podrías poner la programación en todos ellos dependiendo de las circunstancias.
Pero si lo piensas, puedes decir lo mismo de casi todo.
Por ejemplo, para mí personalmente, diría que aprender a tocar la guitarra es difícil.
Aprender a hacer malabares es difícil.
¿Ves a dónde quiero llegar con esto?
Aprender a hacer algo nuevo es normalmente difícil, y eso es lo que hace a los que saben hacer ese algo especial.
Lo que nos lleva a..
¿Es difícil aprender a programar?
No, la programación no es difícil de aprender.
Mientras que aprender a programar puede requerir que te metas en áreas con las que no tienes experiencia previa, aquellos que tienen el tiempo, la persistencia y la dedicación pueden aprender a programar tan fácilmente como pueden aprender a hacer otra cosa.
Es decir, mucha gente sabe codificar, lo que lleva a muchos de los que son competentes en la programación a lanzar las cosas que todos disfrutamos usando diariamente, desde nuestras aplicaciones, juegos, sitios web, robots, medios sociales y mucho más.
Entonces, ¿por qué la resistencia?
Si la programación no es difícil, ¿por qué existe esa percepción?
Bueno, para empezar, la programación es un tema candente y relevante.
Sin ofender a nadie que haga malabares, pero no es una actividad de la que se oiga hablar a diario.
Por lo tanto, podría ser el recordatorio constante de que «la programación es importante» pero aún así «necesitamos más codificadores» lo que hace que la programación parezca una tarea difícil.
A partir de ahí, todo lo que tienes que hacer es lanzar la programación contra cualquiera de los puntos enumerados en la introducción anterior para empezar a ver que la programación podría no ser tan intimidante después de todo.
«La programación es difícil porque es nueva»
Se cree que la programación es difícil porque es nueva para casi todos nosotros.
Los adultos fueron a la escuela aprendiendo todas las cosas que pensaban que necesitarían aprender, y la programación no era una de esas cosas.
Y para los niños y adolescentes que todavía están en la escuela hoy en día, la programación no se enseña en la mayoría de los lugares, así que si necesitan encontrar oportunidades alternativas sólo para ganar experiencia en esta cosa llamada programación, debe ser bastante difícil, ¿verdad?
Incorrecto.
aprender a programar no está disponible en muchas escuelas por una variedad de razones, que van desde las restricciones del presupuesto escolar, la inflexibilidad del plan de estudios, la falta de recursos de enseñanza y más.
Sin mencionar que si la programación fuera difícil de aprender, no tendrías niños que asistan a campamentos de programación, y si la programación fuera difícil de enseñar, no tendrías cursos de programación en línea, etc.
«La programación es difícil porque es diferente»
Se cree que la programación es difícil porque es un tipo de habilidad diferente; y «diferente» en el sentido de que no se parece a nada que la mayoría de nosotros haya experimentado antes.
Es decir, si quieres aprender a tocar la guitarra, sabes lo que se requiere de ti, tienes este instrumento y necesitas dominar cómo tus dedos interactúan con sus cuerdas.
¿Quieres aprender a hacer malabares? Sabes que necesitas lanzar y atrapar objetos simultáneamente.
¿Pero aprender a programar? Es un poco difícil de entender lo que está involucrado.
Puede que conozcas los diferentes lenguajes de programación de los niños, y cómo es el código, etc., pero el otro 90% es muy diferente.
Sin embargo, no es que sea más difícil aprender…
si acaso, podría ser más difícil empezar a aprender, pero una vez que estás en ello, es como cualquier otra cosa…
se siente raro y diferente al principio, pero cuanto más profundo te sumerjas, más te familiarizas y más fácil te resulta comprender la tarea que tienes entre manos.
«Codificar es difícil porque lleva tiempo (y persistencia)»
Claro, ¿pero qué es lo que no lleva tiempo? Puedes estar de acuerdo o no con la teoría de Malcolm Gladwell de que se necesitan 10.000 horas para dominar tu oficio, pero la cuestión sigue siendo la misma: aprender algo lleva tiempo.
Mucho de ese tiempo se gasta en superar mini-retos en el camino hacia la maestría, lo que requiere la persistencia de aquellos que quieren alcanzar la meta final.
De hecho, se puede decir que sólo porque algo requiera persistencia no hace que sea difícil de aprender, pero en realidad, lo hace más útil.
Con la programación, específicamente, el aprendizaje de la habilidad principal proporciona beneficios sorprendentes, pero es el viaje, el ensayo y error y el salto de obstáculos lo que hace que toda la experiencia sea aún más útil.
«La programación es difícil porque hay una falta de recursos relacionados»
No es un error que empecé con la programación siendo nuevo/diferente y terminé con esta parte sobre los recursos.
Todo está relacionado con el hecho de que el hecho de que algo no se sirva en bandeja de plata o se presente con luces brillantes no significa que no exista.
Así que, sólo porque la programación no se enseñe en muchas escuelas no significa que los niños no deban aprenderla.
Del mismo modo, sólo porque nosotros como padres no sepamos codificar, o los profesores de tu hijo en la escuela no sepan codificar no significa que no haya nadie capaz de enseñarlo.
Del mismo modo, sólo porque la mayoría de los amigos de su hijo no estén aprendiendo a programar no significa que no quieran hacerlo, o que uno de ellos no lo haga.
El punto es que aprender a programar y encontrar las oportunidades para hacerlo va a requerir un poco de investigación.
No son las Ligas Menores.
No es karate.
No es algo que la mayoría de los niños crecen haciendo todavía.
No hace que sea más difícil aprender, es sólo que los recursos pueden tomar una forma diferente a la que estás generalmente acostumbrado como padre.
Como se mencionó anteriormente… campamentos de verano, aprendizaje en línea, autoaprendizaje e investigación.
Los recursos y las oportunidades están ahí fuera.
Para ayudar a que su hijo se dirija en la dirección correcta, aquí hay algunas publicaciones adicionales:
¿Qué es la programación? Pasos de bebé, ¿verdad? A veces es útil empezar lo más básico posible, aprendiendo qué es la programación (y qué no es).
¿Nunca has codificado?: ¿Tener un hijo con intereses fuera de la tecnología, como los deportes y la música? Lo creas o no, hay una conexión con la tecnología, y darse cuenta de que ese vínculo podría ser todo lo que necesitan para ponerse en marcha.
¿Codificar es para mí? Del mismo modo, es difícil saber si la programación es para su hijo o si están hechos para la programación.
Empiece con estas preguntas orientadoras.
¿Es la programación una buena carrera? La respuesta depende totalmente de su situación única, pero si los niños lo disfrutan y quieren una carrera con oportunidades y buena paga, entonces la programación puede ser definitivamente una buena carrera.
programación para Niños: Razones por las que los niños deberían empezar a codificar, y cómo pueden encontrar el éxito.
programación para adolescentes: Claro, empezar temprano en cualquier cosa tiene sus ventajas, pero hacerlo cuando se es adolescente también es valioso.
Vea por qué!
Lenguajes de programación para niños: Tal vez el mayor obstáculo para la mayoría de los que quieren empezar a codificar, ¿con qué lenguaje deberían empezar? Esta guía debería ayudar!
Terminología de programación: Como en cualquier lenguaje nuevo, aquellos que esperan dominarlo necesitarán familiarizarse con nuevos términos y jerga.
Conclusión: Hay tantos recursos gratuitos para aprender a programar!
Como puedes ver, hay un montón de opciones que puedes usar para enseñarte a ti mismo a codificar gratis.
Y ciertamente, aprovechar todos los recursos gratuitos de programación en línea que existen es definitivamente el camino a seguir cuando estás empezando.
La programación es la habilidad más buscada hoy en día.
Según Indeed, «Ingeniero de Software» es la posición de mayor demanda en la industria.
Considerando la gran demanda de programadores cualificados, tiene sentido para los que buscan trabajo, aprender a programar para principiantes.
Aprender a programar parece difícil para muchos.
Esto es a menudo debido al enfoque equivocado que aplican para aprender a programar.
La gente aspira a hacer aplicaciones complejas, y a menudo ni siquiera saben programación básica.
Esto también me pasó a mí.
Asistí a un taller de Android en la universidad, incluso sin saber lo básico de Java.
No me sorprendió que la mayor parte fuera más allá de mi comprensión en ese momento.
Hay muchas personas que podrían haber tenido experiencias similares, y por lo tanto pensaron que la programación es difícil.
Ahora, cuando reflexiono sobre ese incidente, me doy cuenta de que es un problema muy común.
Por lo tanto, me gustaría compartir un enfoque para aprender programación que es mucho menos frustrante, y es, de hecho, ¡divertido! Toda la premisa de este artículo es que el aprendizaje de la programación puede ser divertido si se hace de la manera correcta!
Este artículo cubrió mucho material.
No se espera que entiendas todo de una sola vez.
Recuerda, para la programación, debes practicar al menos 5 veces más de lo que estás adquiriendo conocimientos.
Este artículo, si se lee en su totalidad sin detenerse a entenderlo, toma 30 minutos de lectura.
Si te detuviste a pensar en los conceptos, puede fácilmente tomar 1 hora.
Yo diría que para entender todo en este artículo, necesitarás unas 5 horas de práctica si ya eres una persona lógica, y probablemente más de 10-15 horas en caso contrario.
Así que, guarda este artículo y consulta una y otra vez mientras trabajas para mejorar en la programación.
Recuerda siempre por qué estás haciendo esto.
Practica a diario y no te rindas cuando las cosas se compliquen.
Aplica todos los buenos principios de la sección 3 y estarás equipado para aprender la habilidad de la Programación más rápido de lo que nunca esperaste.