2009-12-04 7 views
12

He estado programando, no profesionalmente, durante unos 23 años y encuentro que estoy un poco atascado en mis formas. Encuentro una herramienta que me gusta, y se mantiene así por año tras año. Desafortunadamente, esto significa que estoy atrasado en mi programación.Una forma de ponerme al día con las técnicas de programación modernas

No estoy planeando programar profesionalmente per se, sin embargo, es muy útil poder desarrollar aplicaciones del lado del cliente (y últimamente un deseo de pasar a la nube) para el uso de mis clientes, y también para mí en mi trabajo diario (hardware, red y servicios de soporte de Internet).

Desafortunadamente, encuentro que tengo una gran dificultad para comprender conceptos recientes, y como estoy atrapado en los estilos de programación de los años 80 y 90, me encuentro lento para entender los conceptos.

Lo que estoy buscando son sugerencias para material en línea e impreso que ofrezca 'introducción a conceptos' y uso (material separado) de conceptos de programación modernos y su uso en Java y C# (los tres que he tenido solo exposición mínima a).

Estaría muy agradecido.

- ACTUALIZACIÓN - sólo quiero añadir en un gran agradecimiento a todos los que dejó una respuesta o comentario a esta pregunta.

He encontrado algunos recursos maravillosos debido a sus recomendaciones, y un retorno de mi entusiasmo por la programación. Ya no se siente el camino hacia adelante como una lucha cuesta arriba, y por primera vez en el último año más o menos, la luz al final del túnel no se ve como un camión que se aproxima.

+1

'wiki de la comunidad'? – Bozho

+6

Paso 1: Bote las tarjetas perforadas ... – crowne

+0

¿Puede proporcionar algunos ejemplos de conceptos con los que está luchando? –

Respuesta

13

Lea el blog de desarrolladores. Intente mantener una buena cantidad de recursos en su lector de feeds y repáselos todos los días (más o menos). Solo recoge las cosas que te gustan.

La mayoría de los codificadores escriben sus opiniones, su punto de vista, etc. Puede aprender MUCHO leyendo lo que hacen los demás y filtrando lo que le gusta o lo que le parece interesante y lo que no. Manuales son útiles, pero, con 23 años de experiencia y que sólo quieren estar al día ... Me gustaría recomendar blogs ...

Algunos blogs que leo:

Stackoverflow es un gran recurso también. No solo para encontrar respuestas a sus problemas sino también para al leer las respuestas a otros problemas. En serio, me he encontrado citando alguna respuesta de stackoverflow muchas veces últimamente ... o aplicando algo que he visto aquí.

Por lo que vale la pena, estar al día con las tendencias actuales (como TDD o Programación Orientada a Aspectos) es como estar al día con el mundo.Te levantas por la mañana y lees el periódico, tal vez solo los titulares y luego algo específico, durante unos 5 o 10 minutos. Luego, lees los artículos que te parecen interesantes, pero estás algo consciente de las cosas más importantes que están sucediendo. Esto es lo mismo, pero esos blogs (y algunos otros) son su periódico para el mundo de la programación.

+0

Gracias por los enlaces. Voy a mirar estos sitios en breve. También planee abrirme camino a través de las preguntas aquí en Stack Overflow. Siento que será interesante ver la variedad de formas en que las personas miran los problemas. –

11

Lea algunos libros de programación más recientes como The Pragmatic Programmer. Este libro habla sobre programación utilizando herramientas modernas, las expresiones idiomáticas y técnicas, etc.

The Pragmatic Programmer http://www.pragprog.com/images/covers/190x228/tpp.jpg?1184184147

+0

Gracias, lo buscaremos más tarde hoy. –

+0

Creo que encontrará que esto ofrece mucho trabajo de campo de una manera relativamente libre de jerga, así que +1 para esta recomendación – philsquared

4

que muchos de los "nuevos" conceptos no son realmente nuevos. La mayoría de las características del lenguaje "moderno" se derivan de los primeros lenguajes funcionales, por ejemplo. Técnicas como TDD y Agile son simplemente codificaciones de cosas que se han hecho durante mucho tiempo, tal vez no en la corriente principal. Tampoco son difíciles de entender per se.

Sospecho que sus mayores obstáculos serán la terminología. Puede que esté acostumbrado a escuchar palabras de moda, pero cuando ve lo que significan, las encuentra explicadas en términos de otras palabras de moda.

Mi recomendación es que persista. Encuentre su camino de regreso a donde se explican las cosas en términos con los que se puede relacionar y luego volver a trabajar. Una vez que hayas hecho eso con algunos conceptos, te sentirás mucho más seguro al abordar más y tener una mejor idea de en qué cosas realmente quieres concentrarte.

Para cosas relacionadas con el lenguaje esto es probablemente más fácil porque puede volver a, por ejemplo, Lisp y encontrar los conceptos explicados en términos de lo que era familiar en los años 60 y antes. (por supuesto, puedes encontrar una cobertura más reciente también).

Para temas relacionados con el diseño y el proceso, solo leer sobre sus historias en wikipedia debería darle algunas pistas.

mantener su enfoque suficientemente estrecha como para no ser abrumado, pero lo suficientemente amplio como para tener en cuenta el ecosistema que existe una herramienta o tecnología en.

+0

Pensé poco después de publicar la pregunta, realmente estoy teniendo problemas para entender los conceptos que se están lanzando como nuevo, pero en general fueron concebidos e implementados de alguna forma décadas antes de que comenzara a programar. Sin lugar a dudas, tiene razón en que es la jerga y las palabras de moda las que presentan la confusión. He pasado muchos años desarrollando explicaciones 'reales' de conceptos técnicos para mis clientes no técnicos, y rara vez lo veo cuando veo cualquier documentación de programación. Incluso nosotros, los expertos en tecnología, a veces necesitamos una guía libre de jerga para comenzar a rodar la pelota. –

1

Suena como sus habilidades de la lógica de programación están bien. Me parece que la mejor manera de actualizar tus habilidades es recoger una copia de C# (Express es gratis) - O Java (soy un chico de .net) y convertir una de tus aplicaciones anteriores, entonces podrás encuentre problemas del mundo real y podrá resolverlos (con la ayuda de SO) usando los métodos 'modernos'.

Buena suerte.

+0

Da la casualidad, tengo instalado Visual Studio 2008 Express en una máquina y estaba desarrollando una aplicación de base de datos con SQL 2008 Express y C# que me hizo darme cuenta de lo anticuado que estaba mi perfil. La exposición en el mundo real es definitivamente una necesidad, y lo que me he encontrado haciendo es recorrer la web incontables horas tratando de interpretar las soluciones que encuentro para problemas simples, principalmente a través de no entender el concepto detrás del uso de ciertos códigos y técnicas. Casi me siento como si estuviera empezando de nuevo - solo que en estos días no aprendo tan rápido como (y no tengo la paciencia) solía hacerlo. –

+0

Tus 29 años. Creo que aún eres joven en el esquema de las cosas. La capacidad de ajuste es lo que hace que un programador. – LiamB

+0

Absolutamente. Debido a que en los últimos 15 años me he enfocado en hardware y sistemas, entonces el ajuste tal vez se sienta más difícil de lo que esperaba. –

2

Si todo lo que quiere hacer es mantenerse actualizado, debe leer los blogs de desarrolladores. No voy a darte la lista de blogs habitual porque no creo que sea una buena idea depender de 4-7 bloggers para toda tu información.

Antes solía reunir a todos los bloggers en Google Reader y mi lista de lectura creció a más de 400 blogs. Eso definitivamente no va a ayudar.

Mejor visite sitios web como codebix.com, dzone.com, para obtener los últimos artículos y un poco de ayuda de la comunidad en la selección de los mejores artículos;).

+1

Gracias por los sitios del artículo. En lugar de estar al día con los tiempos, es más como reeducarme para salir de las edades oscuras y también para adoptar algunas mejores prácticas de programación. –

2

Personalmente, aprendí mucho viendo conferencias y charlas técnicas publicadas por google. Tienen toneladas de contenido sobre ingeniería de software. Ver videos es obviamente una experiencia de aprendizaje muy diferente a la lectura, pero la mayoría de la gente es muy inteligente y habla con talento.

http://www.youtube.com/GoogleDevelopers

http://www.youtube.com/GoogleTechTalks

+0

Gracias por los enlaces, voy a echarles un vistazo más tarde esta tarde. –

4

Se necesita algo de enfoque alternativo a los temas. He encontrado que la serie "Heads on ..." es entretenida y técnicamente sólida.

echar un vistazo a los Jefes de Java: http://oreilly.com/catalog/9780596009205

+0

Gracias por la recomendación, voy a buscar en estos libros también. –

Cuestiones relacionadas