Jak wyjaśnić programistom, czym jest .NET? [Zamknięte]

11

Nie pracuję w firmie programistycznej i jestem jedną z niewielu osób w firmie, które wiedzą coś o programowaniu. Spędzam dużo czasu na automatyzacji innych programów używanych w biurze za pośrednictwem publicznych interfejsów API, a także stworzyłem kilka samodzielnych aplikacji. Pracuję prawie całkowicie w C # .NET, ponieważ każda aplikacja, z której zdaje się korzystać w biurze, wydaje się mieć jakąś formę interfejsu API .NET.

Kilka osób zapytało mnie o naukę „jak programować” i od czego powinny zacząć. Wydaje mi się, że nauka języka .NET ma dużo więcej sensu, ponieważ prawie wszystkie programy, które chcieliby zautomatyzować, mają interfejs API .NET i wygląda na to, że VBA jest na dobrej drodze i zostaje zastąpiony przez VSTA.

Próbuję jednak dowiedzieć się, jak wyjaśnić, czym jest .NET i dlaczego powinni się go nauczyć kogoś, kto nie wie nic o programowaniu. To nie jest tak naprawdę język, ponieważ istnieje wiele języków uważanych za języki .NET. Ponadto myślę, że istnieje rozróżnienie między „.NET” a „The .NET Framework”, ponieważ ten ostatni dotyczy bibliotek dostarczonych przez Microsoft.

Eric
źródło
3
Programowanie powinno być bardzo oddzielne od .NET; interpretacja 2 w ten sam sposób jest jak powiedzenie, że światem rządzi 1 kraj (brak nazw tutaj: D)
Fanatic23
Jeśli masz do czynienia z przedsiębiorcą, powiedz, że to „najlepsza praktyka”.
Scott Whitlock,

Odpowiedzi:

15

.NET dla programistów

Programowanie - Mówiąc komputerowi, co robić i jak to zrobić.

Plik źródłowy - jest to dokument napisany w języku programowania, który mówi komputerowi, co ma robić.

Język programowania - jest to język, który (zwykle) przypomina mieszankę angielskiego i matematyki. Jest to zarówno proste, jak i wystarczająco rygorystyczne, aby kompilator mógł to zrozumieć.

Kompilator - tłumaczy zrozumiały język programowania na język zrozumiały dla komputera, można go nazwać Computerese .

Biblioteka - Zbiór przydatnego kodu, który został już przetłumaczony na Computerese , którego można używać w pisanych programach.

Platforma .NET - duży zbiór narzędzi, języków i bibliotek do pisania programów z dużym naciskiem na produktywność.

Jasne, jest o wiele więcej. Możesz powiedzieć im o kompilacji IL i JIT lub wyrzucaniu elementów bezużytecznych, ale te szczegóły nie są zbyt istotne dla osób niebędących programistami.

Kenneth Cochran
źródło
nitpick: Biblioteki często nie są wstępnie tłumaczone na Computerese
amara
14

Nie rób

Powiedz im „C #”, a jeśli to zrobią, zrozumieją. Nie ma sensu wyjaśniać tego w próżni.

[lub powiedz im „Java”, żeby nie przyszli do ciebie po pomoc!]

Steven A. Lowe
źródło
Głosowałbym na
+1: Nie jest ważne, dopóki nie jest ważne. Do tego czasu istnieje podstawowa wiedza, z której można czerpać.
Steven Evers,
4

Po prostu powiedz im, że jest to program, który pozwala pisać programy i nie martwić się o to w tej chwili. Następnie zacznij od zasad programowania, które w tej chwili mają największe znaczenie.

Jasio
źródło
1
tak, zrobiłbym to, a potem wręczyłbym im książki z pierwszej serii. (świetne książki dla początkujących, z których można łatwo się nauczyć i które zawierają wiele najlepszych praktyk.) Możesz je rozpocząć od książki „Head First Programming”. Również pierwsze 3 rozdziały książki C # są bezpłatne, więc możesz sprawdzić styl nauczania: headfirstlabs.com/books/hfcsharp
robertpateii
2

.NET to framework, który może być używany przez języki programowania .NET. Możesz go używać do pisania aplikacji komputerowych WinForm (innych niż WPF), aplikacji komputerowych WPF, Silverlight, ASP.NET i urządzeń mobilnych. Ucząc się jednej części platformy .NET (takiej jak pisanie aplikacji komputerowych), programista może dość łatwo nauczyć się pisać inne rzeczy, takie jak aplikacje internetowe.

Jestem programistą Java i podobne rzeczy można powiedzieć o języku Java, ale IMHO, funkcje Visual Studio i .NET (np. Edytory i kreatory GUI Visual Studio, a także powiązanie danych) sprawia, że ​​programowanie w .NET jest nieco szybsze i łatwiejsze.

Jon Onstott
źródło
2

Zawsze odnosić to do czegoś, co osoba może zrozumieć. Jeśli nie rozumieją programowania, to:

.NET to zbiór gotowych rzeczy. To jest jak:

  • wiele cegieł już połączonych
  • wstępnie napisana umowa, w której wystarczy wypełnić niektóre pola
  • kupując samochód zamiast poszczególnych części, które składają się na samochód
Nippysaurus
źródło
2

To wielka puszysta chmura.

Powiedz im, że nowa seksowna technologia firmy Microsoft. I to pozwala programistom z różnych języków trzymać się za ręce i tworzyć super seksowny kod. Powiedz im, że działa automatycznie na komputerach, XBOX i Windows Phone. Powiedz im również, że mogą tworzyć z nimi zarówno gry, jak i nudne aplikacje biznesowe, a także strony internetowe.

Krótko mówiąc:

  • To wielka puszysta chmura :)
  • Jego Microsoft Tech
  • Działa na komputerach PC, XBOX, Windows Phone
  • „Rozumie” wiele różnych języków
  • Można z nimi tworzyć gry, aplikacje biznesowe i strony internetowe
Ciemna noc
źródło
1
Trochę protekcjonalne, prawda?
Robert Harvey,
nie, wcale nie, ani trochę. Za każdym razem musiałem opisywać / wyjaśniać ludziom rzeczy techniczne Non-techs. Uważam, że najlepiej jest dać widok 1000,000000 stóp. CZEMU? ponieważ w 90% przypadków po prostu tego nie obchodzą. Chcą tylko, żeby to działało. Jednak 10%, którzy są zainteresowani, na zawsze poprosi o kontynuację, a następnie o kontynuację. To tylko najbardziej efektywny sposób komunikacji. Zacznij od najwyższego poziomu abstrakcji i pracuj tak, jak chcesz ...
Darknight
1

Ludzie niebędący programistami bardzo boją się specjalnych terminów komputerowych, takich jak „framework”, „ASP.NET” i „Silverlight”. Wyjaśnijmy więc to w prosty sposób:

.NET to nowoczesna technologia programowania, która najlepiej nadaje się do tworzenia aplikacji biznesowych, stron internetowych, gier i multimediów.

Geniusz
źródło
0

Myślę, że zmierzasz właściwą ścieżką, masz kompilatory .Net, które tłumaczą program w określonym języku na MSIL, a następnie masz bibliotekę Code, która jest tak naprawdę tylko biblioteką klasy / kodu, która ułatwi nam życie. Jeśli nie rozumieją, czym jest biblioteka kodów, nie wiem, co możesz zrobić, aby to zrozumieć. Możesz poprowadzić ich w wyborze C # tak samo jak w swoim pytaniu.

Czarny lód
źródło
Tak, to pomaga. Myślę, że część problemu polega na tym, że nie bardzo rozumiem, jak działa .NET. Na przykład dlaczego tak wiele programów, z którymi pracuję, ma teraz .NET APis. Czy to tylko dlatego, że jest to nowa, gorąca technologia, czy też jest coś fundamentalnego w .Net, co czyni go lepszym niż powiedzenie VBA lub VBScript?
Eric,
o Boże tak, jest lepszy niż VBA lub VBScript. Posiadanie interfejsu API .Net zamiast VBA jest jak programowanie w VB6 vs VB.Net.
BlackICE,
0

To wygląda na okazję dla ciebie w tej firmie.

Kiedy stajesz się znany jako ktoś biegły w programowaniu, a ludzie przychodzą do ciebie po porady / wkład, wydaje się, że w tej firmie istnieje ogólna potrzeba programowania.

Polecam rozmowę z kimś na stanowisku władzy, który może być w stanie ustalić, że staje się to częścią twojej roli - np. Kierujesz pracami nad rozwojem oprogramowania i jesteś odpowiednio rozpoznawany.

Jeśli jest to możliwe, możesz rozpocząć edukacyjną kulkę od sesji kredą i mówieniem o tym, co programujesz, dlaczego programujesz te aplikacje biurowe itp. I wprowadzasz C # w ten sposób. Jeśli wszystko pójdzie dobrze, prawdopodobnie wkrótce przejdziesz do kontroli wersji, wykorzystując frameworki i nUnit (lub podobny) wkrótce.

Jeśli nie ma możliwości, sesja kredą i rozmową jest nadal dobrą opcją, ponieważ możesz rozpowszechniać te same informacje wśród wielu osób, dążąc do przeciętnego przypadku, a następnie mogą wspierać się nawzajem.

JBRWilkinson
źródło
-1

„Ułatwia to programistom / programistom tworzenie aplikacji dla produktów Microsoft, a nawet niektórych innych platform, takich jak Linux”.

ElGringoGrande
źródło
2
To samo można powiedzieć o edytorze tekstu, o autouzupełnianiu, o ... o wielu rzeczach.
Wieża