2009-12-04 12 views
12

Sono stato programmatore, non professionale per circa 23 anni e trovo che sono un po 'bloccato nei miei modi. Trovo uno strumento che mi piace, e rimane così per anno dopo anno. Sfortunatamente questo significa che sono indietro nei tempi della mia programmazione.Un modo per apprendere le moderne tecniche di programmazione

Non sto pianificando direttamente la programmazione professionale in sé, tuttavia, è molto utile poter sviluppare applicazioni client (e ultimamente un desiderio di passare al cloud) per l'utilizzo da parte dei miei clienti, e anche per me stesso in il mio lavoro quotidiano (hardware, rete e servizi di supporto Internet).

Sfortunatamente, trovo che ho grandi difficoltà a comprendere i concetti recenti e, poiché sono intrappolato negli stili di programmazione degli anni '80 e '90, mi sto trovando lento a capire i concetti.

Quello che sto cercando sono suggerimenti per il materiale online e stampato che offre reali 'intro to concepts' e (materiale separato) utilizzo tecnico per concetti di programmazione moderna e il loro utilizzo in Java e C# (tutti e tre dei quali ho avuto solo esposizione minima a).

Sarei molto grato.

- UPDATE - Voglio solo aggiungere un grande ringraziamento a tutti coloro che hanno lasciato una risposta o un commento a questa domanda.

Ho trovato alcune risorse meravigliose a causa delle vostre raccomandazioni e un ritorno del mio entusiasmo per la programmazione. La via non sembra più una lotta in salita, e per la prima volta nell'ultimo anno o giù di lì, la luce alla fine del tunnel non sembra un camion in arrivo.

+1

"wiki della comunità"? – Bozho

+6

Step 1: getta via le schede perforate ... – crowne

+0

puoi fornire alcuni concetti di esempio con cui stai lottando? –

risposta

13

Leggi il blog degli sviluppatori. Cerca di mantenere una buona quantità di risorse nel tuo lettore di feed e di esaminarle ogni giorno (o così). Raccogli le cose che ti piacciono

Molti codificatori scrivono le loro opinioni, il loro punto di vista e così via. Puoi imparare MOLTO semplicemente leggendo ciò che fanno gli altri e filtrando ciò che ti piace o trova interessante e ciò che non fai. I libri sono utili, ma, con 23 anni di esperienza e che vogliono semplicemente essere sempre aggiornato ... io consiglierei di blog ...

Alcuni blog che ho letto:

StackOverflow è una grande risorsa troppo. Non solo per trovare le risposte ai tuoi problemi ma anche per leggere le risposte ad altri problemi. Seriamente, mi sono ritrovato a citare una risposta da StackOverflow un sacco di volte ultimamente ... o applicando qualcosa che ho visto qui.

Per quello che vale, essere aggiornati con le tendenze attuali (come TDD o Aspect Oriented Programming) è come essere aggiornati con il mondo stesso.Ti alzi la mattina e leggi il giornale, forse solo i titoli e poi qualcosa di specifico, per circa 5 o 10 minuti. Poi leggi gli articoli che ritieni interessanti ma in qualche modo sei consapevole delle cose più importanti che stanno accadendo. È lo stesso, ma quei blog (e alcuni altri) sono il tuo giornale per il mondo della programmazione.

+0

Grazie per i collegamenti. Guarderò questi siti a breve. Pianifica anche di passare attraverso le domande qui su Stack Overflow. Sento che sarà interessante vedere la varietà di modi in cui le persone considerano i problemi. –

4

I molti "nuovi" concetti non sono in realtà nuove. La maggior parte delle caratteristiche linguistiche "moderne" derivano, ad esempio, dai primi linguaggi funzionali. Le tecniche come TDD e Agile sono solo codifiche di cose che sono state fatte per molto tempo, forse non nel mainstream. Né sono difficili da capire di per sé.

Sospetto che i tuoi maggiori ostacoli siano la terminologia. Potresti essere abituato a sentire parole d'ordine, ma quando guardi cosa significano, li trovi semplicemente spiegati in termini di altre parole d'ordine.

La mia raccomandazione è di persistere. Trova la via del ritorno dove le cose sono spiegate in termini a cui puoi relazionarti e poi tornare indietro. Una volta che lo hai fatto con alcuni concetti, ti sentirai molto più fiducioso nell'affrontare di più e avere un'idea migliore di quali cose vuoi davvero concentrarti.

Per le cose relative alla lingua, questo è probabilmente più facile perché è possibile tornare, ad esempio, a Lisp e trovare i concetti spiegati in termini di ciò che era familiare negli anni '60 e prima! (ovviamente puoi trovare anche la copertura più recente).

Per i soggetti di progettazione e di processo, basta leggere le loro storie in wikipedia per darvi qualche indizio.

mantenere la vostra attenzione abbastanza stretto per non essere sopraffatti, ma abbastanza ampia da tener conto della eco-sistema che esiste uno strumento o tecnologia in.

+0

Ho pensato poco dopo aver postato la domanda, in realtà sto avendo problemi a comprendere i concetti che vengono gettati in giro come nuovo, ma sono stati generalmente concepiti e impiantati in qualche modo decenni prima che iniziassi a programmare. Senza dubbio, si è corretto in quanto è il gergo e le parole d'ordine che presentano la confusione. Ho speso molti anni a sviluppare spiegazioni "reali" di concetti tecnici per i miei clienti non tecnici, e raramente lo vedo quando guardo la documentazione di programmazione. Anche noi tecnici a volte abbiamo bisogno di una guida gergale per iniziare a far girare la palla. –

1

Suona come le tue abilità logiche di programmazione vanno bene. Mi sembra che il modo migliore per aggiornare le tue abilità sia di prendere una copia di C# (Express è gratis) - O java (sono un ragazzo .net) e convertire una delle tue vecchie applicazioni, allora trova i problemi del mondo reale e sarai in grado di risolverli (con l'aiuto di SO) usando i metodi "moderni".

Buona fortuna.

+0

In questo modo, Visual Studio 2008 Express è installato su una macchina e stava sviluppando un'applicazione di database che utilizza SQL 2008 Express e C# che mi ha fatto capire quanto fosse datato il mio skillset. L'esposizione al mondo reale è sicuramente una necessità, e quello che mi sono trovato a fare è setacciare il web per innumerevoli ore cercando di interpretare le soluzioni che trovo per problemi semplici - principalmente non comprendendo il concetto dietro l'uso di determinati codici e tecniche. Mi sento quasi come se stessi iniziando una nuova vita - solo che in questi giorni non imparo così velocemente come (e non ho la pazienza) che ero abituato. –

+0

I tuoi 29 anni. Penso che sei ancora giovane nello schema delle cose. La possibilità di regolare è ciò che rende un programmatore. – LiamB

+0

Assolutamente. Poiché negli ultimi 15 anni mi sono concentrato su hardware e sistemi orientati, l'aggiustamento forse mi sembra più difficile di quanto mi aspettassi. –

2

Se tutto quello che vuoi fare è stare al passo con i tempi, dovresti leggere i blog degli sviluppatori. Non ho intenzione di darti la lista dei blog normali perché non penso che sia una buona idea dipendere da 4-7 blogger per tutte le tue informazioni.

In precedenza ho usato per raggruppare tutti i blogger in Google Reader e la mia lista di lettura è cresciuta fino a oltre 400 blog. Questo sicuramente non aiuterà.

Migliori siti web visita come codebix.com, dzone.com, per ottenere gli ultimi articoli e un piccolo aiuto della comunità nella selezione dei migliori articoli;).

+1

Grazie per i siti degli articoli. Al contrario di stare al passo con i tempi, è più come rieducare me stesso per uscire dai periodi bui e anche per adottare alcune pratiche di programmazione migliori. –

2

Personalmente, ho imparato molto dalle lezioni e dai discorsi tecnici pubblicati da Google. Hanno un sacco di contenuti sull'ingegneria del software. Guardare video è ovviamente un'esperienza di apprendimento molto diversa dalla lettura, ma la maggior parte delle persone è molto intelligente e ha un talento.

http://www.youtube.com/GoogleDevelopers

http://www.youtube.com/GoogleTechTalks

+0

Grazie per i collegamenti, avrò uno sguardo a loro più tardi questo pomeriggio. –

4

Avrete bisogno di un certo approccio alternativo ai temi. Ho trovato la serie "Heads on ..." per essere sia divertente che tecnicamente valida.

Dai un'occhiata a capi su Java: http://oreilly.com/catalog/9780596009205

+0

Grazie per la raccomandazione, guarderò anche a questi libri. –

Problemi correlati