it-swarm.com.de

Wie lange würde ein Nicht-Programmierer brauchen, um C #, .NET Framework und SQL zu lernen?

Ich kann nicht so gut programmieren. Ich habe mein Masterstudium in Elektronik abgeschlossen. Ich möchte C #, .NET Framework und SQL lernen. Wie lange dauert es Ihrer Meinung nach (wenn ich täglich 5 Stunden Zeit habe)? In welcher Reihenfolge lerne ich sie auch? Ich habe Visual Web Developer 2008. Ist das genug, um zu beginnen?

Vom gleichen Benutzer aus einer neuen Frage kopiert:
Ich hätte sagen sollen, dass ich .NET Development Karriere machen möchte. Ich möchte mir 2 Monate Zeit geben, um die 'Grundlagen' zu erlernen. Was erwarten Sie als Entwickler von IT-Unternehmen? Welche Fähigkeiten benötigen sie und welche Aufgaben haben sie als Junior- oder Mid-Level-Entwickler? Ich habe keine Branchenerfahrung. Kann ich die beruflichen Pflichten zu Hause kennenlernen?

16
user51713

Das ist, als würde man fragen, wie lange es dauern würde, Französisch zu lernen:

  • 1 Tag um zu erfahren was es ist
  • 1 Woche, um es auf einem Säuglings-/Grundschulniveau zu erlernen
  • 1 Jahr für Profis als Anfänger
  • Mehrere Jahre als erfahrener Profi
  • Außerdem gibt es ein "tiefes" Wissen über jene Themen, die ein bloßer Sterblicher wie Sie oder ich niemals lernen wird

Dann wieder viele Menschen (die meisten normalen Leute, Nicht-Programmierer) nie lernen diese Themen. Wenn Sie also wie die "meisten" Leute sind, dann wäre die Antwort "es würde ewig dauern" oder "es wird niemals" geschehen".

51
ChrisW

Richtig tauchen, ein Hobby machen und Spaß haben :)

Ich komme aus einem elektronischen Hintergrund und kann Ihnen sagen, dass Sie ihn ziemlich schnell abholen sollten. Ein elektronischer Hintergrund vermittelt Ihnen ein tieferes Verständnis der zugrunde liegenden Hardware.

IMHO ist die Wurzel der Informationstechnologie die Elektronik.

Zum Beispiel..

Stellen Sie sich Objekte als Komponenten vor.

Das .NET-Framework ist im Wesentlichen mit Standardkomponenten gefüllt.

Zum Beispiel wissen Sie, wozu eine 7400 (NAND-Gate) fähig ist. Sie haben ein Datenblatt mit den Pin-Ausgängen und Beispielkonfigurationen. Sie interessieren sich normalerweise nicht für die Schaltung im Inneren. Softwareobjekte sind auf dieselbe Weise. Wir haben Eingaben und wir haben Methoden, die etwas zu den Eingaben tun, um vorhersagbare Ausgaben zu erzeugen. Als Entwickler ist es uns in der Regel egal, wie das Objekt geschrieben wurde ... nur dass es das tut, was es sagt.

Sie wissen auch, dass Sie mit zwei oder mehr NAND-Gattern zusätzliche Logikschaltungen aufbauen können. Dies als Instantiierung.

Sie wissen auch, dass Sie ein NAND-Gatter in eine Schaltung einbauen können, in der Sie die Eingangssignale ändern können, damit die Ausgänge ein unterschiedliches Verhalten haben. Dies ist ein grobes Beispiel, aber Sie können sich das als Vererbung vorstellen.

Ich habe auch gelernt, dass es hilfreich ist, an einem Projekt zu arbeiten. Es könnte ein Hobbyprojekt oder ein Arbeitsprojekt sein. Fangen Sie klein an, machen Sie etwas sehr einfaches Arbeiten und arbeiten Sie von dort aus weiter.

Um Ihre spezifische Frage zu beantworten "Was muss ich zuerst lernen?".

1) Denken Sie an Ihr Projekt und teilen Sie es in Schritte auf. Zum Beispiel ... holen Sie sich eine Nummer vom Benutzer, fügen Sie der Nummer eine Nummer hinzu, zeigen Sie das Ergebnis an. Betrachten Sie dies als Ihr Design.

2) Lernen Sie grundlegendes C #. Schreiben Sie eine einfache Konsolenanwendung, die etwas tut. Erfahren Sie, was eine if-Anweisung ist (dies ist alles boolesche Logik, daher sollte sie etwas vertraut sein), lernen Sie Schleifen kennen, lernen Sie mathematische Operationen kennen, lernen Sie Funktionen (Unterprogramme) kennen. Spielen Sie mit einfachen Datei-E/A (Lesen und Schreiben von Textdateien). Das grundlegende C # kann als Ihre Verdrahtung und diskrete Komponenten (Widerstände, Kappen, Transistoren usw.) zu Ihren Chips (Objekt) betrachtet werden. 

3) Erfahren Sie, wie Sie Objekte aus dem Framework instanziieren und verwenden. Sie haben dies bereits getan, aber jetzt ist es Zeit, weiter zu gehen. Zum Beispiel ... spielen Sie mit System.Console noch etwas ... versuchen Sie, den Lautsprecher zu piepen. Beginnen Sie auch mit der Suche nach Objekten, die Sie möglicherweise für die Datenbankarbeit verwenden möchten.

4) Lernen Sie grundlegende SQL. Viel Hilfe und Beispiele online. Wählen Sie eine Datenbank aus, mit der Sie arbeiten möchten. Ich persönlich denke, dass MS Access eine großartige Einsteiger-Datenbank ist. Ich würde es nicht für Multi-User- oder Cross-Plattform-Desktopanwendungen verwenden ... aber es ist eine großartige Einzelbenutzerdatenbank für Windows-Benutzer ... und es ist eine großartige Möglichkeit, die Grundlagen von SQL zu erlernen. Es gibt andere einfache freie Datenbanken (Open Office hat zum Beispiel eine), wenn Sie $ for Access nicht aussteigen möchten.

5) Erweitern Sie Ihre App, um etwas mit einer Datenbank zu tun.

17
Andy Webb

Nun, es wird dich für immer brauchen. Es gibt so viel über Programmierung zu lernen, dass 10 Jahre nicht ausreichen.

http://norvig.com/21-days.html

Versteht mich nicht falsch, Sie werden die Grundlagen schnell genug lernen, aber um gut zu werden, wird es viel länger dauern. 

Sie sollten sich auf einen Bereich konzentrieren und versuchen, einige Beispiele zu nennen. Wenn Sie sich für die Webentwicklung entscheiden, beginnen Sie mit einer Hallo-Welt-Webseite und fügen Sie dann etwas Code hinzu. Erfahren Sie mehr über Postbacks, Viewstate und Sessions. Versuchen Sie, Wenns, Zyklen und Funktionen zu meistern, Sie haben wirklich viel zu tun, es ist nicht leicht zu sagen "dies ist die beste Art zu lernen".

Ich denke, am Ende werden Sie lernen, was Sie tun müssen.

8
Sergio

Mach es einfach! Schwitzen Sie nicht die Details.

7
Craig

Wie lang ist eine Schnur? Ich finde das subjektiv. Ich kenne Programmierer, die aufgrund der Erfahrungen, denen sie sich ausgesetzt haben, in kürzester Zeit eine außergewöhnliche Menge gelernt haben.

Im Grunde sollten Sie sich die Hände schmutzig machen und Sie werden bestimmt mehr erfahren.

5
Kezzer

Es hängt wirklich davon ab, was Sie mit "lernen" meinen. Sie könnten wahrscheinlich eine Woche verbringen und ein paar Seiten im Web aufrufen, die über ein Mindestmaß an Interaktivität verfügen, um vom Benutzer eingegebene Informationen in einer Datenbank zu speichern, und dann weitere Seiten zum Abfragen und Anzeigen der Informationen haben. Sie könnten dann die nächsten 10 Jahre Ihres Lebens damit verbringen, alle Feinheiten des .NET-Frameworks, von SQL und das Mastering mithilfe der IDE zu lernen.

4
Kibbee

Der Zeitraum, in dem Sie lernen können, hängt wirklich von Ihrer Fähigkeit ab, die Logik hinter dem Programmieren zu verstehen, während der Lernstil von Ihrem Lernort abhängt. 

Wenn Sie ein "lernen-durch-ein-Buch" Typ sind, springen Sie einfach auf Amazon.com und führen Sie eine schnelle Suche durch, holen Sie das Buch mit den besten Rezensionen ab oder warten Sie, bis jemand hier ein Buch empfiehlt Programmierung von Buchmacher)

Wenn Sie Screencasts (Video-Feeds, die zeigen, was zu tun ist) oder Tutorials bevorzugen, gehen Sie direkt zur Quelle: http://www.asp.net/learn/ . Es gibt jede Menge Videos und Tutorials, in denen alles erklärt wird, was Sie benötigen, um loszulegen.

Visual Web Developer 2008 Express sollte ausreichen, um loszulegen. Grundsätzlich handelt es sich bei den Express-Editionen um Visual Studio, das auf einen bestimmten Funktionsumfang beschränkt ist, um eines zu erreichen. Sie haben nicht die Glocken und Pfeifen, die für eine groß angelegte Entwicklung benötigt werden, aber alles, was Sie brauchen sollten.

4
Chance

Das Beste an C # ist, dass es sehr eingängig ist. Einfach zu erlernen und Sie haben auch Spaß dabei.

Aber .Net Framework ist eine sehr große Bibliothek mit wunderbaren Dingen, die es zu entdecken gilt, und aufgrund der Natur von .Net haben Sie auch viel Spaß beim Erlernen. Es ist eine kohärente, objektorientierte, gut dokumentierte Bibliothek, und C # macht es so einfach, damit zu arbeiten, dass Sie beim Codieren einfach den Weg dorthin finden können. 

Die große Mehrheit der Artikel, Bücher oder Ressourcen zu .Net und C # konzentriert sich lediglich auf die Erklärung der Funktionalität und des Frameworks und weit weniger auf die Vermeidung von Macken, Problemumgehungen oder Ausnahmefällen, wie dies bei anderen Sprachen der Fall ist, die ich nicht nennen möchte * Cough C++ *) Am Ende ist das Erlernen von C # und .Net von Anfang bis Ende sehr angenehm, und die Dinge, die Sie mit .Net erreichen können, machen es auch sehr lohnend.

Sie haben meiner Meinung nach eine gute Sprache gewählt, und um Ihre Frage zu beantworten, brauchen Sie:

  • 2 bis 3 Monate, um die Grundlagen zu erlernen 
  • 1 bis 2 Jahre, um ein erfahrener Entwickler zu werden
  • 5 Jahre oder länger, um ein Experte zu werden oder, abhängig von Ihrem Engagement, ein "Guru".

Aber die Zahlen zu schlagen und die Grenzen zu überschreiten, liegt in der menschlichen Natur. Können Sie es schneller machen? ;-)

4
Pop Catalin

Ich kann nicht sagen, wie lange es dauern würde, es hängt wirklich von Ihrem vorhandenen Wissen ab. Ich habe es geschafft, die C # /. NET 2.0 -Kern-Grundlagen in etwa 2 Monaten zu erlernen. Mein Vorschlag an Sie: Versuchen Sie, in Richtung Prüfungen zu lernen neue Technologie. Siehe Microsoft Learning .

3
driAn

Wenn Sie lernen wollen, wirklich wollen, dann ist die Zeit nicht von Bedeutung. Bewegen Sie sich jeden Tag vorwärts. Lassen Sie sich von Ihrer Leidenschaft für dieses Zeug treiben. Und eines Tages werden Sie feststellen, dass Sie in C # /. NET gut sind. 

2
Alex Baranosky

Sie werden c # ziemlich schnell aufgreifen (die Sprachsyntax ist nicht so kompliziert). Es dauert lange, bis Sie wirklich das .NET-Framework kennenlernen, aber Sie werden die stark beanspruchten Teile des Frameworks ziemlich schnell aufgreifen, und Sie sollten Muster im Framework erkennen.

Mein Rat an Sie: nicht lernen Sie einfach aus einem Buch oder einer Website. Sie werden dir die Sprache und den Rahmen beibringen, aber nicht, wie man etwas Nützliches programmiert. 

Wenn Sie kleine Code-Snippets erstellen, lernen Sie, wie Sie sehr spezifische Aufgaben ausführen, aber nicht, wie Sie Anwendungen schreiben. Mein Vorschlag ist, dass Sie an eine App denken, an der es Spaß machen könnte, daran zu arbeiten (und machbar ist). Denken Sie beispielsweise nicht daran, dass Sie in ein oder zwei Monaten ein Betriebssystem oder eine Crysis schreiben werden. Als ich lernte, schrieb ich meine eigene voll funktionsfähige IRC App, die reich an Text, persönlichen Nachrichten usw. war.

2
Giovanni Galbo

Wenn Sie Programmiererfahrung haben, können Sie die C # -Syntax in wenigen Stunden lernen und sich innerhalb einer Woche damit auskennen. Sie schreiben jedoch keine komplexen Strukturen, wenn Sie nicht viel Code damit schreiben. Es ist im Grunde dasselbe wie das Erlernen einer beliebigen Sprache: Sie können alle Wörter und Grammer ziemlich schnell lernen, aber es dauert eine Weile, bis Sie fließend sind.

EDIT

Ein Buch, das Sie zum Lernen von C # verwenden möchten, ist C # in Nutshell (3.0) , das ich als sehr nützlich empfand und von mehreren Leuten hier empfohlen wurde.

1
Elie

Die Antwort meiner Meinung nach hängt davon ab, ob Sie ein greifbares Problem haben oder einfach nur lernen wollen, um beispielsweise auf einen möglichen neuen Job vorbereitet zu sein. Wenn Sie ein Problem haben, sind Sie in einem besseren Zustand. Sie können anfangen, indem Sie sich umschauen und sehen, wie andere Leute dieses Problem gelöst haben. Sprachen sollten Sie in der Regel relativ schnell erlernen können (immerhin haben Sie einen MS in EE, kein kleines Talent IMO). 

Nach was Sie Ausschau halten müssen, sind gute Programmierpraktiken. Sie werden sich wahrscheinlich fragen, "warum ist diese Methode so klein", "warum ist diese Methode leer und was macht dieses abstrakte Wort hier?". Das gibt Ihnen eine Perspektive über die Syntax hinaus in Richtung auf gutes Schreiben.

1
Otávio Décio

Als ich meine Karriere aus dem Finanzbereich wechselte, nahm ich mir 9 Monate Zeit, um C++ in Vollzeit aus einem Buch von Ivor Horton zu lernen. Ich hatte viel Unterstützung von meinem besten Freund, der ein Guru ist, und ich hatte seit der Highschool als Hobby programmiert (damals war ich 36). 

Nicht nur die Syntax ist ein Problem. Die Vorstellung von Dingen wie Zeigern, Referenzübergängen, mehrstufigen Architekturen, Struktur vs. Klassen usw., all dies braucht Zeit, um zu verstehen und zu lernen. Und Sie fügen das .Net-Framework hinzu, das riesig und ständig weiterentwickelt wird, und SQL, eine völlig andere Fähigkeit als C #. Sie haben auch keine verschiedenen Untermengen des Frameworks erwähnt, die immer häufiger verwendet werden, wie WPF, WCF, WF usw.

Sie sind ein Akademiker, also können Sie dies definitiv tun, aber es wird lange Zeit ernsthafte Anstrengungen erfordern, und Sie werden definitiv einige Projekte benötigen, an denen Sie arbeiten und von denen Sie lernen können. Viel Glück.

1
Mike K

Malcolm Gladwell zufolge dauert es 10.000 Stunden, um wirklich gut zu werden. Also loslegen.

0

Bauen Sie auf das auf, was Sie bereits wissen, und sehen Sie sich viele Stellenanzeigen an. Ich habe beispielsweise gesehen, wie nach WinForms/WPF UND Elektronik gefragt wird, um eine Benutzeroberfläche zu schreiben, mit der ein benutzerdefiniertes Stück Hardware gesteuert werden kann. 

Das "Robotics" .net-Toolkit könnte interessant sein. 

.Net ist jetzt zu groß, um sowohl WEB als auch Desktop kennen zu lernen. Sie müssen also entscheiden, wie Sie vorgehen. Im Web gibt es viel mehr Jobs, aber es gibt nur wenige Leute, die gute Desktop-Standbilder haben.

0
Ian Ringrose

Einfache Antwort: viel länger als zwei Monate. Lernen, kompetent zu programmieren, wird länger dauern, egal was passiert. Ich habe Jahre gebraucht, um ein kompetenter objektorientierter Programmierer zu werden, und ich bin gut darin.

Ausführlichere Antworten: Es spielt keine Rolle, ob Sie zuerst C # oder SQL lernen, da sie sehr unterschiedlich sind. Ich würde wahrscheinlich SQL vorschlagen, da es einfacher zu erlernen und unabhängiger ist.

Sie werden es schwer haben, sich an die Realität am Arbeitsplatz zu Hause zu gewöhnen, als ob Sie Klempnerarbeiten oder quantitative Finanzierungen studieren würden.

Sie werden es schwer haben, alle Informationen zusammenzustellen, ohne ein oder mehrere Projekte, die Sie versuchen, auszuführen. Sie müssen andere Leute haben, die Ihnen sagen, wann Sie dumm sind, wenn Sie übertrieben sind und später dafür bezahlen werden und wann Sie es tatsächlich bekommen.

Versuchen Sie, ein Open-Source-Projekt zu finden, das Sie vage interessant finden. Studiere ihren Code. Finde heraus, warum sie das tun, was sie tun. Schauen Sie sich die Fehlerliste an und versuchen Sie, etwas so banales wie möglich zu finden. Arbeit von dort aus. Zu lernen, etwas beizutragen, wird Ihnen Dinge beibringen, die in der Arbeitswelt nützlich sind, und Ihnen etwas geben, auf das Sie zeigen können. Es ist viel einfacher, Ihren ersten Job zu bekommen, wenn Sie Erfahrung haben.

0
David Thornley

Alle "Relativität" beiseite, nicht schnell. Basierend auf der Tatsache, dass Sie sagten, Sie hätten noch nie zuvor programmiert ... ein paar Jahre, um ein grundlegender Programmierer zu werden. 

Und um ein guter bis herausragender Programmierer zu werden (unter Verwendung von Entwurfsmustern und branchenweit anerkannten Standards, die sich auf gängige Standards beziehen, wie sie in der ISO/IEC 9126-Norm definiert sind, z. B. Testbarkeit, Wartbarkeit usw.), braucht es oft Jahre Erfahrung und Codierung werde nicht "Sr." oder ein "Architekt" über Nacht und dasselbe gilt für einen Entwickler auf mittlerer Ebene, der kein Slop programmiert.

Es ist immer ein Prozess, in dem Sie sich verbessern. Lernen ist also relativ. Die Grundlagen zu erlernen, scheint jedoch einfach zu sein, bis Sie mit dem Entwerfen von Klassen und Schnittstellen beginnen. Und sogar Leads stolpern über die Grundlagen ... Dinge falsch zu machen. Jeder tut es. Es gibt so viel zu beachten.

Wenn Sie nur Features hinzufügen (mit Klassen, die Ihr Lead oder Architect für das Team übernommen hat) und nicht wirklich neue Klassen usw. hinzufügen, ist das einfacher ..., aber Sie sollten beim Codieren unter Verwendung von Standards und Ihnen vorsichtig sein müssen noch komplexe Bereiche der OOP kennen. Aber das ist nicht wirklich OOP. Wenn Sie mit dem Erstellen von Klassen, Interfaces und dem Wissen über Vererbung, Heap, Referenzen usw. beginnen, yada yada ... und das WIRKLICH Verstehen erfordert Zeit, egal wie intelligent Sie sind oder wie Sie denken.

Also für einen neuen Programmierer. Nicht einfach. Seien Sie darauf vorbereitet, viel zu codieren. Und wenn Sie nicht sind, finden Sie einen Job, wo Sie sind. Es geht darum, so viel zu programmieren, dass Sie besser werden können.

Lesen Sie zuerst diese Bücher. Tauchen Sie nicht in andere ein, da sie nicht darauf ausgelegt sind, Ihnen die Sprache auf eine Weise zu vermitteln, die Sie schnell auf den neuesten Stand bringen können:

http://www.Amazon.com/Head-First-Object-Oriented-Analyse-Design/dp/0596008678/ref=pd_bbs_sr_4?ie=UTF8&s=books&qid=1231280335&sr=8-4

http://www.Amazon.com/Head-First-SQL-Brain-Learners/dp/0596526849/ref=pd_bbs_sr_7?ie=UTF8&s=books&qid=1231280335&sr=8-7

http://www.Amazon.com/Head-First-Crain-Friendly-Guides/dp/0596514824/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1231280393&sr=8-1

http://www.Amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124/ref=pd_bbs_sr_3?ie=UTF8&s=books&qid=1231280393&sr=8-3

sie werden Ihnen den schnellsten Einstieg in das Verständnis erleichtern, besser als alle anderen Bücher. 

Auch für diese lahmen Antworten ignorieren Sie sie:

"Andererseits lernen viele Menschen (die meisten normalen Menschen, Nicht-Programmierer) diese Themen nie. Wenn Sie also" die meisten "Menschen sind, dann lautet die Antwort" es würde ewig dauern "oder" es wird nie passieren ". "

Die kommen von Entwicklern (normalerweise führt), die einen Ego-Trip haben, den Sie NICHT erlernen möchten. Jeder lernt anders und in verschiedenen Schritten und irgendwann wird man "schnell". Ich habe es satt, Sr.-Entwickler sagen zu hören, wenn sie solche Aussagen machen, wenn ihr Scheiß auch oft stinkt, egal wie gut sie sind. Stattdessen sollten sie dem Team helfen, erfolgreich zu sein und zu lernen, solange das Team hart daran arbeitet, auf dem neuesten Stand zu bleiben und das zu tun, was sie können, auch auf sich allein gestellt (nicht auf Auslaute).

Stellen Sie sicher, dass Sie zuerst eine Jr. Level Developer-Stelle suchen ...

0

2-3 Monate, um die Grundlagen zu erlernen ... auf keinen Fall. Es sei denn, Sie werden sicher Spaghetti codieren. Gleiches gilt für die 1-2 Jahre. Spaghetti ist es dann ..

0