Pregunta ¿Cómo puede alguien sin experiencia aprender a programar? [cerrado]


Un amigo y yo hemos estado ideando ideas para sitios web durante un par de años, la mayoría de las veces apuntándolos cada vez que se nos ocurre una buena idea útil cuando navegamos por la web. Durante los últimos 6 meses, hemos contratado a un par de programadores diferentes para que nos hagan un par de sitios, pero nos ha decepcionado la forma en que se ha ido. Ha sido demasiado lento y demasiadas malas comunicaciones para nuestro gusto. Así que, como dice el refrán, si quieres hacer algo bien, hazlo tú mismo, vamos a hacerlo nosotros mismos.

No sé nada sobre programación, nunca escribí una línea de código en mi vida. Me considero muy bueno con las matemáticas y lo más lógico que puedo obtener, pero tengo cero conocimientos de programación de la vida real. Los sitios que queremos hacer son muy bonitos 'Web 2.0', es decir, contenido generado por el usuario, comentarios sobre publicaciones, páginas que cambian sobre la marcha, etc.

Estas son algunas de mis preguntas para cualquiera que haya estado allí antes:

¿Hay algún idioma que recomiendes aprender primero? ¿Algo que es un buen indicador de cómo funcionan la mayoría de los otros idiomas?

¿Qué idiomas de programación web recomienda aprender primero en función de la popularidad tanto ahora como en el futuro? No quiero aprender un idioma que esté desactualizado para cuando sea un experto en él.

¿Algún libro específico que recomendarías?

¿Algún consejo general que le darías a alguien, literalmente, comenzando en el cero cuadrado para codificar quién planea estar en él para el largo plazo?


8
2018-05-25 22:04


origen


Respuestas:


No lo hagas Simplemente no.

En general, los sitios creados por aficionados que creen que pueden codificar sitios web complejos al principio, descienden rápidamente a un caos inmanejable. Puede que se considere lógico y bueno con las matemáticas, pero francamente eso realmente no contará para mucho cuando se trata de cortar un código limpio y fácil de mantener directamente de los bloques. Esto no es para ser elitista y decir que no hay una gran cantidad de codificadores autodidactas dotados, pero hay, como cualquier oficio, práctica, errores y fallas para lograr competencia.

En cambio, mira por qué tus intentos anteriores fallaron:

  • ¿Empleó mano de obra 'barata'? Es bastante común encontrar personas que tienen una experiencia limitada de 'sitios web' que están francamente fuera de su alcance con algo más que simple HTML.
  • ¿Fallaste en especificar correctamente? Si tuvo problemas de "falta de comunicación" con su desarrollador, es más probable que el problema sea su especificación que el desarrollador. Es muy común que personas como usted "especifiquen" sitios web agitando sus manos en algunos ejemplos de "web 2.0" pero no realmente entreguen una especificación dura de lo que realmente esperan. La decepción sigue inevitablemente.
  • ¿Confundiste diseñador con codificador? Además de los sitios muy pequeños, los dos no son lo mismo y debe esperar emplear diferentes personas con conjuntos de habilidades adecuadas para cada área.

Puedo sugerir un par de enfoques. Si realmente quieres probar "desarrollar", utiliza un sistema de gestión de contenido como Drupal o Joomla. Ofrecen muchas cosas, tienen comunidades sólidas y extensiones para casi todo. Incluso podría omitir el uso de un diseñador mediante el uso de Artitseer o comprar una plantilla prediseñada. Y si necesita crear una nueva extensión porque se centrará en un módulo limitado, tendrá muchas más posibilidades de éxito porque no tendrá que tomar las decisiones más fundamentales sobre la estructura del código que será viaje a un principiante.

Alternativamente, si lo que está buscando no encajará en un CMS y necesita un desarrollo a medida, asegúrese de que su sitio esté exhaustivamente especificado. Balsamiq es una excelente herramienta visual para diseñar diseños, pero también requerirá una extensa documentación escrita que especifique todas las entradas, salidas y procesos por completo. Una vez que tenga ese aspecto, contrate a un desarrollador profesional que tenga un historial comprobado. El lenguaje es una consideración secundaria, pero desconfíe de cualquier programador que se desarrolle en PHP, ya que tiene fama de ser fácil de usar y, por lo tanto, tiende a atraer a los menos experimentados. La implementación en un marco sólido y bien establecido también es un plus.

Finalmente recuerda el viejo adagio de ingeniería: Bueno, rápido, barato. Elija dos.


21
2018-05-25 22:32



Comience haciendo un sitio web usando HTML. Si te quedas atascado, construye eso y progresa lentamente hasta que sepas todo lo que necesitas saber. Enjuague y repita durante los próximos 15 años.

  1. Aprende HTML básico
  2. Aprende CSS básico para diseñar tu HTML
  3. Volver a aprender HTML correctamente siguiendo los estándares web
  4. Volver a aprender CSS correctamente al seguir los estándares web
  5. Aprender PHP (o algún lenguaje de desarrollo web del lado del servidor)
  6. Aprender SQL
  7. Aprende a utilizar PHP + SQL juntos de manera adecuada (evitando la inyección de SQL y cosas así)
  8. Aprende jQuery u otro marco de JavaScript
  9. Cuando lo que sabes está desactualizado, vuelve al paso 1

9
2018-05-25 22:14



La siguiente pregunta sobre stackoverflow contiene muchas sugerencias interesantes y puntos de partida con respecto a la creación de sitios web públicos: https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

No se preocupe demasiado por la elección del idioma para aprender: si está en el camino a largo plazo, aprenderá varios.

Consejos para todos los programadores principiantes: ve a construir algo.


3
2018-05-25 22:10



Diría que lo primero es aprender a crear un sitio web estático con HTML y CSS. Tal vez aprenda un poco de Javascript (¡mire jQuery!) Y cree un sitio decente. No importa si realmente no "hace" nada.

Después de esto, es hora de aprender un idioma del lado del servidor. Por ahora, probablemente sabrá lo suficiente sobre la programación (con suerte a partir de los bits de JavaScript que hizo) para tomar una decisión racional. Algunos de los marcos notables incluyen:

  • PHP
  • Ruby on Rails
  • ASP.Net
  • C ++ CGI (nah, estoy bromeando)

3
2018-05-25 22:22



Pude enseñarme a mí mismo al dividir otros proyectos. Tome algunas aplicaciones de código abierto que son relativamente livianas y vea cómo funcionan. Cambie las cosas y vea lo que hace, busque tutoriales sobre cómo agregar cosas y trate de crear sus propios complementos para el programa.

Finalmente, podrá escribir algo por su cuenta sin el apoyo de otro programa.


2
2018-05-25 22:20



Su problema parece ser una falta de comprensión de las tecnologías disponibles. Le tomará meses si no años aprender a usarlos de manera efectiva.

Yo recomendaría que investigue qué es exactamente lo que está tratando de hacer. No es difícil encontrar programadores confiables que hagan el trabajo por usted, pero necesita poder especificar lo que está buscando.

Explicar lo que está buscando tomará mucho menos tiempo que aprenderlo todo usted mismo.

Esto no es para desanimarte de seguir un camino en la programación, pero ten en cuenta que te llevará años de esfuerzo llegar a ser tan bueno como querrás ser.


1
2018-05-25 23:30



A menos que usted De Verdad Creo que la programación web será tu pasión durante los próximos 20 años, entonces no comenzaría a aprenderla. Los mejores programadores son apasionados por su oficio, esos son el tipo de chicos / chicas que quieres contratar. Le tomará de 2 a 3 años obtener una sólida formación y experiencia suficiente para ser lo suficientemente competente como para comenzar a pensar en hacer un proyecto como el suyo.

Si realmente tiene los fondos para hacer un proyecto, entonces vaya a un sitio web como TopCoder y comenzar desde cero:

  1. Ejecuta una competencia para la conceptualización.
  2. Ejecuta una competencia por especificaciones de software.
  3. Ejecute una competencia de diseño / arquitectura.
  4. Ejecuta una competencia para el desarrollo.
  5. Ejecuta una competencia para probar.

Hazlo en el orden especificado anteriormente y en cada paso usa los resultados de los anteriores. Obtendrá entre 10 y 15 personas compitiendo por cada parte de su proyecto, se completará con una fecha límite sólida y podrá elegir la mejor de todas. varios  compitió versiones, y no le costará más que un contratista independiente / independiente que hace todo el trabajo.


1
2018-05-25 23:55



Si realmente quiere aprender a programar, y está interesado en dedicar el tiempo necesario para pasar de un "bebé recién nacido" a un adulto, tomaría un par de clases en una universidad comunitaria. Comience con una introducción a la clase de programación. Tener un profesor que conozca las cuerdas será útil cuando recién comiences. Mientras tomas clases de informática, enséñate a ti mismo HTML.

Una vez que comprende los conceptos principales de la programación, cambiar de un idioma a otro es principalmente una cuestión de aprender nueva sintaxis.

¡Buena suerte!


1
2018-05-26 00:32



Ser curioso. Intenta algo pequeño (probablemente más pequeño de lo que crees que sería interesante). Fallar. Intenta algo más Comete algunos errores Inténtalo de nuevo. Haz algo pequeño y correcto. Disfruta de eso. Intenta algo más duro. Repetir.

Asuma que las frustraciones que inevitablemente tendrá son debido a algo que usted no sabe, no porque sus herramientas apestan. De hecho, pueden apestar, pero probablemente apestan menos que tú. Lea con voracidad (libros, códigos, artículos, ocasionalmente algo de poesía), para que sepa, al menos en términos generales, cómo se han resuelto problemas similares a los suyos.

No creo que necesites un compromiso de por vida, pero sí debes comprometerte a aprender algo que no sabías ayer. Si, después de algunos años, todavía estás aprendiendo y has construido algunas cosas útiles, pero no las construirías de la misma manera si empezaste de nuevo, lo harás principalmente bien. Sigue hasta que deje de ser interesante. Si crees que sabes todo lo que importa, sal de la industria, porque en ese momento no eres tan bueno como crees o no estás haciendo algo que valga la pena.

Para la programación web, el idioma que elijas no es importante, pero si no encuentras Ruby o Python gratificante, no hay mucha esperanza para ti. No va a hacer nada particularmente incorrecto aprendiendo C #, Java o más idiomas "mainstream". Tendrás que aprender suficiente HTML para hacer algo feo, suficiente JavaScript para confundirte, y probablemente suficiente SQL para ser peligroso.


0
2018-05-26 00:10



¡Oye, eres como yo! Tenía excelentes ideas para sitios web y quería crear una para un hobby. Hace solo unos meses, sabía 0% de HTML. Ahora puedo crear foros simples de web 2.0, sitios de anuncios clasificados, etc. Esto es lo que hice y espero que te ayude. (Esta es mi opinión sobre qué te ayudaría mejor)

  1. Ir w3schools. Es un sitio que te explica los conceptos básicos de muchos lenguajes de programación. Mire primero la sección de HTML. Es OBLIGATORIO aprender HTML. Pase 2-3 días aprendiendo y creando un sitio web básico en HTML.

  2. Ve a la sección de PHP. PHP es específicamente para el desarrollo web (hacer sitios web). Es MUY MUY fácil de aprender en comparación con otros lenguajes de desarrollo web. PHP es muy fácil de configurar en tu computadora (xampp). Básicamente, puedes tener un sitio web en funcionamiento en pocos días; es así de fácil, solo tienes que esforzarte. Eche un vistazo a esa sección y si PHP parece una buena opción para que usted aprenda, vaya al paso 3. Si no, vea otros idiomas, python / rails en ruby ​​/ java.

  3. Obtener XAMPP. Este programa básicamente hace que su computadora o computadora portátil sea un servidor, lo que significa que puede ejecutar sitios. Utilizar esta video de Youtube para ayudarte a instalarlo (lo llevará paso a paso)

  4. Obtenga este libro cabeza primero PHP / Mysql. Este será probablemente el MEJOR libro para usar para aprender PHP / Mysql si no has hecho ningún desarrollo web antes. Se trata como un "recién nacido" y le dice que haga clic en esto, copie esto y lo que no. Después de terminar este libro, probablemente pueda crear sitios web 2.0 simples. TODOS los primeros libros son buenos.

  5. Practica, practica y practica.


0
2018-05-26 00:17



Prueba este e-book: Aprende Python de la manera difícil

El libro es un libro para principiantes para las personas que quieren aprender a codificar. Está destinado a personas que no tienen habilidades de codificación para desarrollar sus habilidades antes de comenzar un libro más detallado.

Puedes descargar el libro aquí:
LearnPythonTheHardWay.pdf

El libro es muy simple:

  • 52 ejercicios en total.
  • 26 cubrir solo entrada / salida, variables y funciones.
  • 26 lógica de portada (álgebra booleana, declaraciones if, ciclos while, etc.)

Cada ejercicio tiene una o dos páginas y sigue el mismo formato. Escriba cada uno (¡sin copiar y pegar!), Haga que se ejecute, haga el crédito adicional, y luego continúe. Si te quedas atascado, al menos escríbelo y omite el crédito adicional para más adelante.


0
2018-05-26 00:41