Wie erkläre ich Nicht-Programmierern, was .NET ist? [geschlossen]

11

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.

Eric
quelle
3
Die Programmierung sollte sehr getrennt von .NET sein. Die 2 als gleich zu interpretieren ist wie zu sagen, dass die Welt von einem Land regiert wird (keine Namen hier: D)
Fanatic23
Wenn Sie es mit einer Geschäftsperson zu tun haben, sagen Sie, es ist eine "Best Practice".
Scott Whitlock

Antworten:

15

.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.

Kenneth Cochran
quelle
nitpick: Bibliotheken werden oft nicht in Computerese vorübersetzt
amara
14

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!]

Steven A. Lowe
quelle
Ich würde dies mehr abstimmen :)
Duros
+1: Es ist nicht wichtig, bis es wichtig ist. Zu diesem Zeitpunkt gibt es einige Grundkenntnisse, auf die man zurückgreifen kann.
Steven Evers
4

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.

Johnny
quelle
1
Ja, das würde ich tun, dann würde ich ihnen Bücher aus der Head-First-Serie geben. (Großartige Anfängerbücher, aus denen man leicht lernen kann und in denen viele bewährte Methoden enthalten sind.) Sie können sie im Buch "Head First Programming" beginnen. Auch die ersten drei Kapitel des C # -Buches
robertpateii
2

.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.

Jon Onstott
quelle
2

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:

  • eine ganze Menge Steine ​​sind schon zusammengesetzt
  • eine vorab schriftliche Vereinbarung, in der Sie nur einige Felder ausfüllen
  • Kauf eines Autos anstelle der einzelnen Teile, aus denen ein Auto besteht
Nippysaurus
quelle
2

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:

  • Es ist eine große flauschige Wolke :)
  • Es ist Microsoft Tech
  • Läuft auf PCs, XBOX, Windows Phone
  • Es "versteht" viele verschiedene Sprachen
  • Kann mit ihnen Spiele, Businees-Anwendungen und Websites erstellen
Dunkle Nacht
quelle
1
Ein bisschen herablassend, nicht wahr?
Robert Harvey
nein, überhaupt nicht, nicht im geringsten. Immer wenn ich Leuten, die keine Techniker sind, technische Dinge beschreiben / erklären musste. Ich finde es am besten, die 1000.000000 ft Ansicht zu geben. WARUM? weil sie in 90% der Fälle einfach nichts dagegen haben. Sie wollen nur, dass es funktioniert. Die 10%, die interessiert sind, werden jedoch immer nach einem Follow-on fragen, gefolgt von einem Follow-on. Dies ist nur die effizienteste Art der Kommunikation. Beginnen Sie auf der höchsten Abstraktionsebene und arbeiten Sie so, wie Sie es getan haben ...
Darknight
1

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.

Genius
quelle
0

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.

BlackICE
quelle
Ja das hilft. Ich denke, ein Teil des Problems ist, dass ich nicht sehr gut verstehe, wie .net selbst funktioniert. Zum Beispiel, warum so viele Programme, mit denen ich arbeite, jetzt .NET APis haben. Ist es nur, weil es die heiße neue Technologie ist, oder gibt es etwas Grundlegendes in .Net, das es besser macht, als VBA oder VBScript zu sagen?
Eric
Oh Gott, ja, es ist besser als VBA oder VBScript. Eine .Net-API anstelle von VBA zu haben, ist wie das Programmieren in VB6 gegen VB.Net.
BlackICE
0

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.

JBRWilkinson
quelle
-1

"Es erleichtert Programmierern / Softwareentwicklern das Erstellen von Anwendungen für Microsoft-Produkte und sogar für einige andere Plattformen wie Linux."

ElGringoGrande
quelle
2
Man könnte dasselbe für einen Texteditor sagen, für die automatische Vervollständigung, für ... für viele Dinge.
Rook