Una amiga mía está ansiosa por aprender a programar, ¿cuál debería ser su mejor enfoque para ponerse al día, ya que no tiene conocimientos de programación?

He interactuado con muchas personas que estaban muy ansiosas por aprender a programar, a quienes ofrecí ayudar a que se convirtieran en programadores y con toda sinceridad les ayudé, solo para que se escaparan después de algunas lecciones cuando descubrieron que la programación no era tan fácil como ellos habian pensado

Aquí está mi blog favorito de todos los tiempos por Peter Norvig, que lo resume perfectamente: Enseñe la programación en diez años

El mejor enfoque para su amigo sería apartar diez años de su vida para convertirse en programador, ingresar en un programa de informática o ingeniería, practicar sus proyectos personales, eventualmente encontrar una pasantía o trabajo temporal, interactuar con otros programadores, trabajar en proyectos de la vida real, y adaptar el estilo de vida de un programador.

No hay otra manera de evitarlo. No hay atajo para convertirse en programador.

Programar es difícil, no es fácil, lleva tiempo, compromiso, sacrificio, paciencia, todo sin renunciar.

Lo siento si sonaba difícil, pero esto es lo que es la realidad.

El mejor enfoque es “POR QUÉ” , sí, ¿por qué enfoque?

Dale el motivo por el que quiere aprender a programar y luego lo aprenderá por su cuenta.

como “Si realmente quieres aprender algo, todo el mundo se convertirá en maestro”

así que aquí hay razones para que “POR QUÉ”:

  1. Es realmente divertido !! Sí, la codificación es realmente DIVERTIDO y lo mejor que puedes hacer
  2. No es algo como que quieras hacer algo para trabajar o simplemente crear un sitio web o una aplicación para Android: una computadora es una Beautiful Dumb Fastest Girl y ella solo conoce lenguajes de programación (como c, c ++, python, etc.) y si quieres hablar con ellos. ella debe aprender a programar, mientras está programando, está hablando con la computadora y le dice qué hacer
  3. puede reiniciar el pensamiento, sí, podemos reiniciar el pensamiento como un niño ahora, después de que crecimos por cualquier problema que tengamos, buscaremos en Internet / Quora, pero al programarlo lo dejará, empezará a pensar por su cuenta que le encantará cuando obtenga el resultado (Respuesta ) por su cuenta
  4. Puedes hacer del mundo un lugar mejor. La programación en algo no limitado a las computadoras hoy en día se está volviendo omnipresente desde la tostadora, el horno a los cohetes, las naves espaciales, todo funciona en código.
  5. INTELIGENCIA ARTIFICIAL: presente Buzzword en la industria informática, puede crear sus propios bots.
  6. Si quieres puedes HACK en la cuenta de amigos de FB.
  7. En los próximos años, la seguridad en línea amenazará al mundo debido al uso cada vez mayor de Internet y, como todo el mundo está aprendiendo a usarlo, es posible que todos no conozcan los puntos ciegos de Internet, lo que puede llevarlos a algún problema, por lo que la programación es la mejor en esta preocupación.
  8. Programación Los trabajos son los trabajos mejor pagados del mundo.
  9. Por favor, aprende por favor por favor por favor … (realmente te encantará)

Comience con la programación de Python : es el lenguaje más sencillo y fuerte en este momento.

Aquí tienes, te enseñaré la primera lección en Python:

Imprimir “hola mundo”

La línea anterior hará que la computadora diga “Hola” a todo el mundo.

Te lo pregunto de nuevo ” por favor aprende”

El enfoque que tomo para “enseñar” a las personas a programar y también a las personas que no han programado recientemente y que quieren volver al juego es hacer un proyecto. Es como aprendí. Ahora soy programador de Java, pero aprendí primero con Basic y luego con C y C ++.

Básicamente, el paso 1 es – Averigua ALGO que quieres hacer. Puede que no tenga una idea de cómo hacerlo, pero si sabe lo que quiere hacer, ¡es un comienzo! Digamos que es una aplicación para ingresar y mantener una lista de las personas que conoce. El siguiente paso es dividirlo en pasos: no cómo la computadora lo maneja, sino cómo lo haría. Lo primero que podría preguntar en ese escenario que elegí es “¿Desea iniciar sesión en este sistema?” O incluso tal vez “¿Es esta una aplicación web o una aplicación de interfaz de usuario de escritorio o una aplicación de consola?”. Yo sugeriría la consola para una primera aplicación, pero tal vez incluso la interfaz de usuario. Depende. Con la interfaz de usuario, hay más bibliotecas y clases para aprender y con. Si el lenguaje es algo como Visual Basic y no .Net, entonces probablemente será UI y no consola o web, pero si es algo .Net o Java, tiene las 3 opciones.

Una vez que haya decidido el idioma (dependiendo de lo que esté tratando de aprender en primer lugar), el tipo de solicitud y cualquier pregunta introductoria, es posible que tenga que preguntar “¿Cómo hago eso?” … Esa es la abrumadora pregunta principal que se repite a través de este proceso porque en cada paso se pregunta “¿Cómo hago eso?” … Puede ser que el paso sea “Crear una ventana principal” … así que, ¿cómo hace eso? Realice una búsqueda en Google y coloque el idioma al final “¿Cómo creo una ventana principal [en] Java” y es posible que necesite especializarse una vez que tenga más información? “¿Cómo creo una ventana principal en Java swing?” ( Swing es una biblioteca para la escritura de interfaz de usuario de escritorio en Java, JavaFX es otra, AWT es otra predecesora de Swing).

Cuando comencé a programar por primera vez, me gustaban mucho las mazmorras y los dragones y era muy experto en juegos. Un problema que encontré fueron mis manuales de monstruos y mantenerlos disponibles. No quería arrastrarlos, así que estaba tratando de hacerlos en la computadora. El único problema con mi aplicación fue que estaba 100% basado en texto como una aplicación de consola, pero aparte de eso, creé una base de datos de Mosnter, así que tuve los datos necesarios para ejecutar mi campaña. Los datos se almacenaron en un archivo plano formateado (archivo de texto básicamente pero con un formato especial). Tuve que buscar la forma de manejar el mouse y otras minucias que aún no había aprendido.

Claro que el código no será BUENO, pero ahí es donde entran las aplicaciones 2ª y 3ª o se vuelve a escribir la 1ª aplicación que se codificará mejor. Mi primera aplicación PHP fue una especie de aplicación web de biblioteca que accedió a mi biblioteca de mi propia poesía en TXT, DOC y archivos PDF, lea los archivos y los muestre en la pantalla, pero primero produjo una tabla de contenido en la que puede hacer clic. El código no era bonito, por lo que antes de una de mis entrevistas de trabajo en las que planeaba mostrar el código, volví a redactar (reescribí, corregí, cambié cosas) el código para que se vea mejor y más fácil de entender. Aprendí PHP de esa aplicación. Sin embargo, también aprendí C / C ++ de la base de datos de mi Monster … y aprendí Java de los libros, pero ha pasado mucho tiempo y he estado trabajando con Java durante más de 14 años. Todos los días sigo utilizando el modelo “¿Cómo hago eso?” Si necesito hacer algo para que el procedimiento me sea desconocido.

Vea la respuesta de Richard Kenneth Eng a ¿Por qué debo aprender a programar y qué idioma debo aprender?

Si tu amiga es una principiante total, lo más probable es que ella quiera la forma más fácil y suave de aprender a programar. Eso significa comenzar con un buen lenguaje de instrucción que sea realmente fácil de aprender. Eso significa NO comenzar con un lenguaje industrial como JavaScript, Python o Ruby. Los lenguajes industriales llevan una gran cantidad de equipaje que puede interponerse en el camino de un principiante.

Sin embargo, ella necesita entender que la programación es difícil . Pasará mucho tiempo antes de que ella se “ponga al día” porque la única forma de aprender a programar es a través de una gran cantidad de software de escritura práctica. ¿Cuánto tiempo? Yo diría que al menos uno o dos años antes de que ella se sienta cómoda escribiendo aplicaciones. Por eso la programación no es para todos. No estoy tratando de desalentarla, pero ella necesita ser realista al respecto. Ella necesita ser decidida y trabajadora.

Mucha suerte para ella.

Mi consejo es que ella descubra primero lo que quiere desarrollar porque esa es la razón principal por la que programas (y para resolver problemas). Si quiere desarrollar aplicaciones nativas, tiene que aprender java (que es para Android) o c #, que con xamarin le permite crear aplicaciones multiplataforma utilizando una base de código y luego usar Swift para crear aplicaciones IOS. Si ella quiere crear aplicaciones web y sitios web, obviamente tiene que aprender HTML5 css3 y javascript para aprovechar Cordova para construir tales aplicaciones. Si ella quiere construir juegos y contenido para vr, entonces debería aprender la unidad. Mi consejo es que descubra qué quiere construir / desarrollar b4 para que aprenda qué tecnologías debería usar. Pero volviendo a la pregunta, ella debería unirse a MVA (academia virtual de Microsoft). Los cursos son gratuitos y geniales y también tienen muchas cosas buenas. Puede consultar la coursera para los cursos que no encuentra en MVA.

La pregunta crítica es POR QUÉ ella quiere aprender programación.

Si solo se trata de “ganar mucho dinero como programador”, debería detenerse.

La programación, como la escritura, tiene que ser sobre algo. El mejor lugar para comenzar es por algo que ya sabe: agregar herramientas al repertorio de habilidades en un campo con el que ya está familiarizada. Comience utilizando y aprendiendo herramientas de software en su propio campo (sean esas hojas de cálculo, Labview, MATLAB, lo que sea). Luego aprende a configurarlos y ampliarlos.

Compruebe este sitio web que le proporcionará forma: sitio web

Creo que el desarrollo web es ideal para los principiantes porque estarán motivados de poder ver los resultados en el navegador sin tener que configurar un entorno de desarrollo.

Le sugeriría encarecidamente que la guíe a Aprender a programar y ayudar a organizaciones sin fines de lucro, donde podrá adquirir habilidades modernas de desarrollo web. Después, puede obtener un poco más de técnica y tomar clases de informática, como CS50 de Harvard, sin estar completamente desanimada de no poder entender la mayor parte de lo que se enseña.