2010-05-25 22 views
8

Un amigo y yo hemos estado ideando ideas para sitios web durante un par de años, la mayoría de las veces anotá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.¿Cómo puede alguien sin experiencia aprender a programar?

No sé nada acerca de la programación, nunca he escrito 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 en publicaciones, páginas que cambian sobre la marcha, etc.

Así que aquí están algunas de mis preguntas para cualquiera que haya sido allí antes:

¿hay un idioma que recomiendo aprender primero? ¿Algo que es un buen indicador de cómo funcionan la mayoría de los otros idiomas?

¿Qué lenguajes de programación web me recomiendan el aprendizaje basado en primer lugar en popularidad tanto en la actualidad y en el futuro. No quiero aprender un idioma que esté desactualizado para cuando sea un experto en él.

Los libros específicos que recomendarías?

Cualquier consejos generales que le daría a alguien que, literalmente, a partir de la plaza de cero para la codificación que planea estar en él para el largo plazo?

+7

"¿Algún consejo general que le daría a alguien, literalmente, comenzando en el cero cuadrado para la codificación que planea estar en él para el largo plazo?" Sí, no planeas hacer un compromiso de por vida con algo que aún no has probado. Visita w3schools.org y lee los numerosos tutoriales de desarrollo web. –

+9

"Demasiado lento" y "demasiadas incomunicaciones" me preguntan si estaría mejor desarrollando las habilidades de gestión de proyectos (definición de requisitos, programación, estimación, etc.) en lugar de habilidades de programación. –

+0

Tom, no planeo hacer un compromiso de por vida, planeo bucear y ver a dónde me lleva. Podría odiarlo o amarlo, ya veremos. Gracias por las escuelas de w3, he estado allí antes y definitivamente será una piedra angular de mi investigación. Jim, mis habilidades de gestión de proyectos no son el problema, creo que es mi falta de conocimiento de codificación. Anteriormente trabajé con desarrolladores en proyectos más sencillos, como las aplicaciones de iPhone, y todo salió a la perfección. Una gran razón por la que quiero aprender a codificar es para que pueda saber de dónde vienen otros programadores y cuáles son las expectativas razonables que deben ser – Mugatu

Respuesta

3

La siguiente pregunta en StackOverflow contiene una gran cantidad de interesantes sugerencias y puntos de partida en relación a la construcción de sitios web públicos: https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

No sea demasiado preocupado por la elección de la lengua para aprender: si estás en él a largo plazo, aprenderá varios.

consejo para todos los programadores principiantes: vaya a construir algo.

9

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. aprender HTML básico
  2. Aprende CSS básico para el estilo de su HTML
  3. Relearn HTML correctamente mientras siguiendo los estándares web
  4. Relearn CSS correctamente, mientras que después estándares web
  5. Aprender PHP (o alguna del lado del servidor lenguaje de desarrollo web)
  6. Learn SQL
  7. Aprenda a usar PHP + SQL juntos correctamente (evitando la inyección SQL y cosas por el estilo)
  8. Aprende jQuery o algún otro marco Javascript
  9. Cuando lo que sabe es obsoleta, vuelva al paso 1
+0

Seguramente aprender HTML no toma 15 años solamente :) – Earlz

+0

No, pero empezar con HTML, entonces ves que quieres/necesidad de aprender CSS, JavaScript, diversos marcos, oh algunos script del lado del servidor no estaría de modo PHP, Python, .....:? D – KTC

+0

¿por qué es javascript a las 8 .. yo lo pondría en 5. – SysAdmin

2

yo era capaz de enseñar a mí mismo, rompiendo 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.

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

3

Yo diría que lo primero es aprender a hacer 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 es broma)
21

no. Simplemente no.

En general, los sitios creados por aficionados que creen que pueden codificar sitios web complejos, por primera vez, 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.

lugar vistazo a por qué sus intentos anteriores fracasaron:

  • ¿Se emplean 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.
  • ¿No especificó 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 administración de contenido como Drupal o Joomla. Ofrecen muchas cosas, tienen comunidades sólidas y extensiones para casi todo. Incluso puede omitir el uso de un diseñador mediante el uso de Artitseer o la compra de 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 hará viaje un principiante arriba.

Alternativamente, si lo que está buscando no cabe 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.

Por último, recuerde el viejo refrán de ingeniería: Bueno, rápido, barato. Elija dos.

+1

Gracias por la honestidad Cruachan. Respondí a tu comentario en la publicación anterior sobre por qué fracasó con otros desarrolladores, por lo que no me repetiré aquí. Pero no hemos dejado de buscar desarrolladores y si encontramos otro que nos guste, nos encantaría trabajar con ellos. No estoy reemplazando mi búsqueda con la programación de aprendizaje por mi cuenta, los estoy haciendo uno al lado del otro. Todavía siento que hay buenos lugares para encontrar desarrolladores donde no hemos buscado, y algunas respuestas hasta ahora confirman esa sensación. Pero incluso si nos encontramos con una gran desarrollador mañana todavía me gustaría aprender de codificación ... – Mugatu

+1

... para que pueda entender mejor lo que está pasando detrás de las escenas, obtener una mejor sensación de lo que nuestras ideas futuro sitio web tendrán trabajo y tiempo, y entonces puedo saber de qué demonios estoy hablando cuando debato cómo quiero que nuestros sitios funcionen. Tengo ganas de tratar de contratar gente para crear sitios web sin saber cómo se crean los sitios web. Nunca terminará siendo demasiado bueno. También estoy tratando de repensar y rehacer nuestras ideas actuales para hacerlos más simples por lo que si/cuando lo hacemos encontrar otro desarrollador tenemos un proyecto más fácil para él para trabajar. No voy a poner todos los huevos en mi propia cesta de codificación por así decirlo – Mugatu

1

Parece que su problema es la falta de comprensión de las tecnologías disponibles. Le tomará meses si no años aprender a usarlos de manera efectiva.

recomendaría que la investigación en 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 disuadirlo de seguir un camino en la programación, pero tenga en cuenta que le llevará años de esfuerzo llegar a ser tan bueno como le gustaría ser.

1

A menos que realmente piensen que la programación web será su pasión para 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 realizar un proyecto, y luego ir a un sitio web como TopCoder y empezar de cero:

  1. ejecutar una competencia por la conceptualización.
  2. ejecutar una competencia por las especificaciones de software.
  3. ejecutar un concurso para el diseño/arquitectura.
  4. ejecutar una competencia para el desarrollo.
  5. ejecutar una competencia para la prueba.

Hágalo en el orden especificado anteriormente y en cada paso use 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 variascompitiendo con las versiones, y no le costará más que un contratista independiente/independiente que hace todo el trabajo.

0

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.

Supongamos que las frustraciones que inevitablemente tendrá son por algo que no conoce, 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 deba comprometerse con la vida, pero sí tiene que comprometerse a aprender algo que no sabía 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

¡Hola, eres como yo! Tenía grandes 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 lo ayude. (Esta es mi opinión sobre lo que le ayudaría a mejor)

  1. Ir a 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. Vaya 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. Obtenga XAMPP. Este programa básicamente hace que su computadora o computadora portátil sea un servidor, lo que significa que puede ejecutar sitios. Use este youtube video para ayudarlo a instalarlo. (lo llevará paso a paso)

  4. Obtenga este libro. head first 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.

1

Si realmente desea aprender a programar, y está interesado en poner en el tiempo para madurar a partir de "recién nacido" a un adulto, me gustaría tener un par de clases en un colegio comunitario. 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!

+0

El cambio de un idioma a otro puede ser simplemente aprender una nueva sintaxis, pero igualmente puede ser mucho más - no hay una gran diferencia, por ejemplo, entre C y Prolog , y aprender la sintaxis es una parte menor de eso – Cruachan

0

probar este libro electrónico: Learn Python the Hard Way

El libro es un libro muy principiante para las personas que quieran aprender a código.Está destinado a personas que no tienen habilidades de codificación para desarrollar sus habilidades antes de comenzar un libro más detallado.

se puede descargar el libro aquí:
LearnPythonTheHardWay.pdf

El libro es muy simple:

  • 52 ejercicios en total.
  • 26 solo entrada/salida, variables y funciones.
  • 26 de lógica de la cubierta (Álgebra de Boole, las sentencias if, while-bucles, etc.)

Cada ejercicio es uno o dos páginas y sigue el mismo formato exacto. 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.

Cuestiones relacionadas