Ich arbeite nicht bei einer Softwarefirma und bin einer von wenigen Leuten in der Firma, die etwas über Programmierung wissen. Ich verbringe viel Zeit damit, andere Programme, die im Büro verwendet werden, über öffentliche APIs zu automatisieren, und habe auch einige eigenständige Anwendungen erstellt. Ich arbeite fast ausschließlich in C # .NET, da jede Anwendung, die wir im Büro zu verwenden scheinen, eine .NET-API zu haben scheint.
Einige Leute hier haben mich gefragt, wie man programmiert und wo sie anfangen sollen. Ich denke, es ist viel sinnvoller, eine .NET-Sprache zu lernen, da fast alle Programme, die sie automatisieren möchten, eine .NET-API haben, und es scheint, als ob VBA auf dem Weg nach draußen ist und durch VSTA ersetzt wird.
Ich versuche jedoch herauszufinden, wie man .NET erklärt und warum man es jemandem lernen sollte, der nichts über Programmierung weiß. Es ist nicht wirklich eine Sprache, da es eine Reihe von Sprachen gibt, die als .NET-Sprachen gelten. Außerdem gibt es meines Erachtens einen Unterschied zwischen ".NET" und ".NET Framework", da sich letzteres mehr mit den von Microsoft bereitgestellten Bibliotheken befasst.
Antworten:
.NET für Nicht-Programmierer
Programmieren - Grundsätzlich einem Computer sagen, was zu tun ist und wie es zu tun ist.
Quelldatei - Dies ist ein Dokument, das in einer Programmiersprache geschrieben ist und dem Computer mitteilt, was er tun soll.
Programmiersprache - Dies ist eine Sprache, die (normalerweise) einer Mischung aus Englisch und Mathematik ähnelt. Es ist sowohl einfach als auch streng genug, damit ein Compiler es verstehen kann.
Compiler - Dies übersetzt eine Programmiersprache, die Sie verstehen können, in eine Sprache, die der Computer verstehen kann. Sie können sie Computerese nennen .
Bibliothek - Eine Sammlung nützlichen Codes, der bereits in Computerese übersetzt wurde und in den von Ihnen geschriebenen Programmen verwendet werden kann.
.NET-Plattform - Eine große Sammlung von Tools, Sprachen und Bibliotheken zum Schreiben von Programmen mit Schwerpunkt auf Produktivität.
Klar, da steckt noch viel mehr dahinter. Sie könnten ihnen von IL- und JIT-Kompilierung oder Garbage Collection erzählen, aber diese Details sind für einen Nicht-Programmierer nicht sehr relevant.
quelle
Tu es nicht
Sagen Sie ihnen "C #" und wenn sie durch folgen, werden sie es herausfinden. Es macht keinen Sinn, es im luftleeren Raum zu erklären.
[oder sag ihnen "Java", damit sie nicht um Hilfe zu dir kommen!]
quelle
Sagen Sie ihnen einfach, dass es sich um ein Programm handelt, mit dem Sie Programme schreiben können und sich im Moment keine Sorgen machen müssen. Beginnen Sie dann mit den Programmierprinzipien, die im Moment am wichtigsten sind.
quelle
.NET ist ein Framework, das von .NET-Programmiersprachen verwendet werden kann. Sie können damit WinForm-Desktop-Apps (Nicht-WPF), WPF-Desktop-Apps, Silverlight, ASP.NET und Mobile schreiben. Durch das Erlernen eines Teils von .NET (z. B. das Schreiben von Desktop-Apps) kann ein Programmierer ziemlich einfach lernen, wie man andere Dinge wie z. B. Web-Apps schreibt.
Ich bin ein Java-Entwickler und ähnliche Dinge können für die Java-Sprache gesagt werden, aber IMHO, Funktionen von Visual Studio und .NET (z. B. die GUI-Editoren und Assistenten von Visual Studio sowie die Datenbindung) beschleunigen die Entwicklung in .NET etwas und einfacher.
quelle
Beziehen Sie es immer auf etwas, das die Person verstehen kann. Wenn sie die Programmierung nicht verstehen, dann:
.NET ist eine Sammlung vorgefertigter Materialien. Also ist es wie:
quelle
Es ist eine große, flauschige Wolke.
Sagen Sie ihnen, dass es eine sexy neue Technologie von Microsoft ist. Und dass es Entwicklern aus verschiedenen Sprachen ermöglicht, alle Hände zu halten und super sexy Code zu erstellen. Sagen Sie ihnen, dass es automatisch auf Dingen wie PCs, XBOXs und Windows Phone funktioniert. Und sagen Sie ihnen auch, dass sie mit ihnen alles machen können, von Spielen über langweilige Geschäftsanwendungen bis hin zu Websites.
Halte es kurz:
quelle
Leute, die keine Programmierer sind, haben große Angst vor speziellen Computerbegriffen wie "Framework", "ASP.NET" und "Silverlight". Lassen Sie uns die Sache in einfachen Worten erklären:
.NET ist eine moderne Programmiertechnologie, mit der Geschäftsanwendungen, Websites, Spiele und Multimedia am besten erstellt werden können.
quelle
Ich denke, Sie gehen den richtigen Weg, Sie haben die .NET-Compiler, die ein Programm in einer bestimmten Sprache in MSIL übersetzen, und dann die Codebibliothek, die eigentlich nur eine Klassen- / Codebibliothek ist, um unser Leben zu erleichtern. Wenn sie nicht verstehen, was eine Codebibliothek ist, sind sie sich nicht sicher, was Sie tun können, damit sie das verstehen. Sie können sie bei der Auswahl von C # genauso führen wie bei Ihrer Frage.
quelle
Dies scheint eine Chance für Sie in diesem Unternehmen zu sein.
Da Sie als jemand bekannt werden, der sich mit Programmierung auskennt, und Leute zu Ihnen kommen, um Rat / Input zu erhalten, scheint es, dass in diesem Unternehmen im Allgemeinen ein geschäftlicher Bedarf an Programmierung besteht.
Ich würde empfehlen, mit jemandem in einer Autoritätsposition zu sprechen, der möglicherweise feststellen kann, dass dies Teil Ihrer Rolle wird - z. B. Sie leiten die Softwareentwicklungsbemühungen und werden entsprechend anerkannt.
Wenn dies möglich ist, können Sie den Lernball mit einer Chalk-and-Talk-Sitzung darüber starten, was programmiert wird, warum Sie diese Office-Apps programmieren usw. und dabei C # einführen. Wenn dies gut geht, möchten Sie wahrscheinlich mit der Versionskontrolle fortfahren und bald darauf Frameworks und nUnit (oder ähnliches) nutzen.
Wenn keine Gelegenheit zur Verfügung steht, ist eine Chalk-and-Talk-Sitzung immer noch eine gute Option, da Sie dieselben Informationen an eine Reihe von Personen weitergeben können, um den Durchschnittsfall zu erreichen, und diese sich dann gegenseitig unterstützen können.
quelle
"Es erleichtert Programmierern / Softwareentwicklern das Erstellen von Anwendungen für Microsoft-Produkte und sogar für einige andere Plattformen wie Linux."
quelle