2009-12-04 3 views
12

Ich habe seit ungefähr 23 Jahren programmiert, nicht professionell und finde, dass ich etwas in meinen Wegen stecken bleibe. Ich finde ein Werkzeug, das ich mag, und es bleibt so für Jahr für Jahr. Leider bedeutet das, dass ich in meiner Programmierung hinter den Zeiten zurückgeblieben bin.Ein Weg, um moderne Programmiertechniken nachzuholen

Ich plane nicht direkt auf professionelle Programmierung per se, aber es ist sehr praktisch, clientseitige (und in letzter Zeit den Wunsch, in die Cloud zu wechseln) Apps für meine Kunden und auch für mich selbst zu entwickeln meine tägliche Arbeit (Hardware-, Netzwerk- und Internet-Support).

Leider finde ich, dass ich große Schwierigkeiten habe, neuere Konzepte zu verstehen, und weil ich in Programmierstilen der 80er und 90er gefangen bin, finde ich mich langsam, Konzepte zu verstehen.

Was ich suche sind Vorschläge für online und gedrucktes Material, die echte "Einführung in Konzepte" und (separate) technische Nutzung für moderne Programmierkonzepte und deren Verwendung in Java und C# (alle drei nur) minimale Exposition gegenüber).

Ich wäre am meisten verpflichtet.

-UPDATE - Ich will nur in einem großen hinzuzufügen danke an alle, die eine Antwort oder Kommentar zu dieser Frage verlassen.

Ich habe einige wunderbare Ressourcen aufgrund Ihrer Empfehlungen gefunden, und eine Rückkehr meiner Begeisterung für die Programmierung. Der Weg nach vorne fühlt sich nicht mehr mühsam an, und zum ersten Mal im letzten Jahr sieht das Licht am Ende des Tunnels nicht wie ein entgegenkommender Lastwagen aus.

+1

"Community-Wiki"? – Bozho

+6

Schritt 1: Werfen Sie die Lochkarten weg ... – crowne

+0

Können Sie einige Beispielkonzepte vorstellen, mit denen Sie zu kämpfen haben? –

Antwort

13

Entwickler Blog lesen. Versuchen Sie, eine angemessene Menge an Ressourcen in Ihrem Feed-Reader zu halten und sie jeden Tag (oder so) zu durchlaufen. Nimm einfach die Dinge auf, die du magst.

Die meisten Programmierer schreiben ihre Meinungen, ihre Ansicht und so weiter. Sie können viel lernen, indem Sie nur lesen, was andere tun und filtern, was Sie mögen oder interessant finden und was nicht. Bücher sind hilfreich, aber mit 23 Jahren Erfahrung und wollen einfach auf dem neuesten Stand sein ... Ich Blogs empfehlen würde ...

Einige Blogs lese ich:

Stackoverflow ist eine große zu Ressource. Nicht nur für die Suche nach Antworten auf Ihre Probleme, sondern auch für Lesen von Antworten auf andere Probleme. Ernsthaft, ich habe in letzter Zeit oft eine Antwort von Stackoverflow zitiert ... oder etwas angewendet, was ich hier gesehen habe.

Für was es wert ist, mit den aktuellen Tendenzen (wie TDD oder Aspect Oriented Programming) auf dem neuesten Stand zu sein, ist wie mit der Welt selbst auf dem neuesten Stand zu sein.Du stehst morgens auf und liest die Zeitung, vielleicht nur die Schlagzeilen und dann etwas Bestimmtes für etwa 5 oder 10 Minuten. Dann liest du die Artikel, die du interessant findest, aber du bist dir einigermaßen bewusst über die wichtigsten Dinge, die passieren. Das ist das Gleiche, aber diese Blogs (und einige andere) sind Ihre Zeitung für die Programmierwelt.

+0

Danke für die Links. Ich werde mir diese Seiten in Kürze ansehen. Plane auch, dass du hier auf Stack Overflow die Fragen durchgehst. Ich denke, es wird interessant sein zu sehen, wie die Menschen Probleme betrachten. –

11

Lesen Sie einige neuere Programmierbücher wie Der Pragmatic Programmer. Dieses Buch spricht über Programmierung mit modernen Werkzeugen, die Idiome und Techniken usw.

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

+0

Vielen Dank, wir werden uns das später ansehen. –

+0

Ich denke, Sie werden feststellen, dass dies eine relativ gute Basisarbeit in einem relativ Jargon-freien Weg ist, also +1 für diese Empfehlung – philsquared

4

ich viele „neue“ Konzepte sind nicht wirklich neu. Die meisten "modernen" Sprachmerkmale stammen zum Beispiel aus frühen funktionalen Sprachen. Techniken wie TDD und Agile sind nur Kodifizierungen von Dingen, die seit langer Zeit gemacht wurden, nur vielleicht nicht im Mainstream. Sie sind auch nicht schwer zu verstehen.

Ich vermute, Ihre größten Hindernisse werden Terminologie sein. Sie sind vielleicht daran gewöhnt, Schlagworte zu hören, aber wenn Sie sich ansehen, was sie bedeuten, finden Sie sie nur in Bezug auf andere Schlagworte erklärt.

Meine Empfehlung ist zu bestehen. Finden Sie Ihren Weg dorthin zurück, wo die Dinge in Bezug auf die Beziehung erklärt werden und dann wieder funktionieren. Sobald Sie das mit ein paar Konzepten gemacht haben, werden Sie viel sicherer darin sein, mehr zu tun und eine bessere Vorstellung davon zu haben, auf was Sie sich wirklich konzentrieren wollen.

Für sprachbezogene Dinge ist dies wahrscheinlich einfacher, weil Sie zum Beispiel zu Lisp zurückkehren können und die Konzepte in Bezug auf das, was in den 60ern und davor bekannt war, erklären! (natürlich können Sie auch neuere Berichterstattung finden).

Für Design- und Prozessbezogene Themen sollten Sie nur ein wenig über ihre Geschichte in Wikipedia nachlesen.

Halten Sie Ihren Fokus schmal genug, um nicht überwältigt zu sein, aber breit genug Rechnung des Öko-Systems zu übernehmen, die ein Werkzeug oder Technologie in vorhanden ist.

+0

Ich dachte kurz nach dem Posten der Frage, wirklich habe ich Probleme, Konzepte zu verstehen, die herumgeworfen werden neu, wurden aber in der Regel Jahrzehnte vor dem Programmieren konzipiert und umgesetzt. Ohne Zweifel haben Sie Recht, dass es der Jargon und die Schlagworte sind, die die Verwirrung darstellen. Ich habe viele Jahre damit verbracht, 'reale Welt' Erklärungen von technischen Konzepten für meine nicht technischen Kunden zu entwickeln, und sehe das selten, wenn ich mir irgendeine Programmdokumentation ansehe. Sogar wir Techniker brauchen manchmal eine kostenlose Anleitung, um den Ball ins Rollen zu bringen. –

1

Es klingt wie Ihre Programmierlogik Fähigkeiten sind in Ordnung. Es scheint mir der beste Weg für Sie, Ihre Fähigkeiten zu aktualisieren, ist es, eine Kopie von C# (Express ist kostenlos) abzuholen - oder Java (ich bin ein .net Kerl) und konvertieren Sie eine Ihrer alten Anwendungen, werden Sie dann finden reale Probleme und können sie (mit Hilfe von SO) mit den "modernen" Methoden lösen.

Viel Glück.

+0

Zufällig habe ich Visual Studio 2008 Express auf einem Computer installiert, und es entwickelte eine Datenbank-App mit SQL 2008 Express und C#, die mir klar machte, wie alt meine Fähigkeiten waren. Wirkliche Weltausstellung ist definitiv eine Notwendigkeit, und was ich selbst dabei getan habe, ist das Web unzählige Stunden lang zu durchsuchen, um die Lösungen zu finden, die ich für einfache Probleme finde - hauptsächlich durch das Nichtverstehen des Konzepts hinter der Verwendung bestimmter Codes und Techniken. Ich fühle mich fast wie ich bin eine frische beginnen - nur in diesen Tagen lerne ich nicht so schnell wie früher (und habe nicht die Geduld), die ich früher. –

+0

Ihre 29 Jahre alt. Ich denke, du bist immer noch jung im Plan der Dinge. Anpassungsfähigkeit macht einen Programmierer aus. – LiamB

+0

Absolut. Da ich mich in den letzten 15 Jahren auf Hardware und Systeme konzentriert habe, fühlt sich die Anpassung vielleicht nur schwieriger an als erwartet. –

2

Wenn Sie nur mit der Zeit Schritt halten wollen, sollten Sie Entwicklerblogs lesen. Ich werde dir nicht die normale Blog-Liste geben, weil ich nicht glaube, dass es eine gute Idee ist, sich auf 4-7 Blogger für all deine Informationen zu verlassen.

Früher habe ich alle Blogger in Google Reader zusammengefasst und meine Leseliste wuchs auf über 400 Blogs. Das wird definitiv nicht helfen.

Besser besuchen Sie Websites wie codecix.com, dzone.com, um die neuesten Artikel und ein wenig Hilfe der Gemeinschaft bei der Auswahl der besten Artikel;).

+1

Vielen Dank für die Artikelseiten. Anders als mit der Zeit zu bleiben, ist es mehr wie ich mich selbst neu zu erziehen, um aus dem dunklen Zeitalter zu kommen und auch einige bessere Programmierpraktiken zu übernehmen. –

2

Persönlich habe ich viel gelernt von Vorträgen und Tech-Talks von Google. Sie haben eine Menge Inhalte über Software-Engineering. Das Anschauen von Videos ist offensichtlich eine ganz andere Lernerfahrung als das Lesen, aber die meisten Leute sind sehr intelligent und talentierte Sprecher.

http://www.youtube.com/GoogleDevelopers

http://www.youtube.com/GoogleTechTalks

+0

Vielen Dank für die Links, ich werde sie später an diesem Nachmittag anschauen. –

4

Sie werden zu den Themen einigen alternativen Ansatz brauchen. Ich finde die "Heads on ..." -Serie sowohl unterhaltsam als auch technisch versiert.

Werfen Sie einen Blick auf Heads auf Java: http://oreilly.com/catalog/9780596009205

+0

Danke für die Empfehlung, ich werde auch in diese Bücher schauen. –

Verwandte Themen