Как мне объяснить непрограммистам, что такое .NET? [закрыто]

11

Я не работаю в софтверной компании, и я один из небольшого числа людей в компании, которые что-то знают о программировании. Я трачу много времени на автоматизацию других программ, которые используются в офисе, через общедоступные API, а также я создал несколько автономных приложений. Я почти полностью работаю в C # .NET, так как каждое приложение, которое мы используем в офисе, похоже, имеет какую-то форму .NET API.

У меня здесь было несколько человек, которые спрашивали меня об изучении того, «как программировать», и где они должны начать. Я думаю, что имеет больше смысла изучать язык .NET, поскольку почти все программы, которые они хотели бы автоматизировать, имеют .NET API, и похоже, что VBA находится на выходе и заменяется на VSTA.

Тем не менее, я пытаюсь выяснить, как объяснить, что такое .NET и почему они должны изучать это кому-то, кто ничего не знает о программировании. Это не совсем язык, так как есть ряд языков, которые считаются языками .NET. Кроме того, я думаю, что существует различие между «.NET» и «.NET Framework», поскольку последнее больше относится к библиотекам, предоставляемым Microsoft.

Эрик
источник
3
Программирование должно быть очень отдельным от .NET; интерпретировать 2 как одно и то же - все равно, что сказать, что миром правит 1 страна (здесь нет названий: D)
Fanatic23
Если вы имеете дело с деловым человеком, скажите, что это «лучшая практика».
Скотт Уитлок

Ответы:

15

.NET для непрограммиста

Программирование - в основном, говорит компьютеру, что делать и как это сделать.

Исходный файл - это документ, написанный на языке программирования, который сообщает компьютеру, что вы хотите от него делать.

Язык программирования - это язык, который (как правило) напоминает смесь английского и математики. Это просто и достаточно строго для понимания компилятором.

Компилятор - это переводит язык программирования, который вы понимаете, в язык, который понимает компьютер, вы можете называть его Computerese .

Библиотека - коллекция полезного кода, который уже был переведен в Computerese, который вы можете использовать в написанных вами программах.

Платформа .NET - большая коллекция инструментов, языков и библиотек для написания программ с большим упором на производительность.

Конечно, это намного больше, чем это. Вы могли бы рассказать им о компиляции IL и JIT или сборке мусора, но эти детали не очень важны для непрограммиста.

Кеннет Кокран
источник
Нитпик: Библиотеки часто не переводятся в Computerese
amara
14

не

Скажите им "C #", и если они выполнят, они это поймут. Нет смысла объяснять это в вакууме.

[или скажи им «Ява», чтобы они не пришли к тебе за помощью!]

Стивен А. Лоу
источник
Я бы проголосовал за это больше :)
duros
+1: это не важно, пока это не важно. К тому времени есть некоторые базовые знания, на которые можно опираться.
Стивен Эверс
4

Просто скажите им, что это программа, которая позволяет вам писать программы и не беспокоиться об этом на данный момент. Затем начните с принципов программирования, которые наиболее важны в данный момент.

Джонни
источник
1
да, я бы сделал это, а затем вручил бы им книги из первой серии. (отличные книги для начинающих, в которых легко учиться и которые содержат множество передовых практик.) Вы можете начать их с книги "Head First Programming". Также 1 - 3 главы C # книги бесплатно, так что вы можете проверить стиль преподавания: headfirstlabs.com/books/hfcsharp
robertpateii
2

.NET - это фреймворк, который может использоваться языками программирования .NET. Вы можете использовать его для написания WinForm (не-WPF) настольных приложений, WPF-приложений для настольных компьютеров, Silverlight, ASP.NET и мобильных устройств. Таким образом, изучая одну часть .NET (например, написание настольных приложений), программист может довольно легко научиться писать другие вещи, такие как веб-приложения.

Я являюсь разработчиком Java, и подобные вещи можно сказать о языке Java, но IMHO, возможности Visual Studio и .NET (например, редакторы и мастера графического интерфейса Visual Studio, а также привязка данных) делают разработку в .NET немного быстрее и проще.

Джон Онстотт
источник
2

Всегда связывайте это с тем, что человек может понять. Если они не понимают программирование, то:

.NET - это коллекция готовых вещей. Так что это как:

  • много кирпичей уже собрано
  • предварительно написанное соглашение, где вы просто заполняете некоторые поля
  • покупка машины вместо отдельных деталей, которые составляют машину
Nippysaurus
источник
2

Это большое пушистое облако ..

Скажите им, что это Microsoft сексуальная новая технология. И это позволяет разработчикам из разных языков держаться за руки и создавать супер сексуальный код. Скажите им, что он автоматически работает на ПК, XBOX и Windows Phone. А также скажите им, что они могут делать с ними что угодно, от игр до скучных бизнес-приложений, а также веб-сайтов.

Держать его коротким:

  • Это большое пушистое облако :)
  • Это Microsoft Tech
  • Работает на ПК, XBOX, Windows Phone
  • «Понимает» много разных языков
  • Можно сделать, Игры, Бизнес-приложения и веб-сайты с ними
Темная ночь
источник
1
Немного снисходительно, не правда ли?
Роберт Харви
нет, совсем нет, ни в малейшей степени. В любое время мне приходилось описывать / объяснять технические вещи людям, не являющимся специалистами. Я считаю, что лучше всего дать 1000,000000 футов. ЗАЧЕМ? потому что 90% времени они просто не дурачатся. Они просто хотят, чтобы это сработало. Тем не менее, 10%, которые заинтересованы в этом, будут просить о продолжении, а затем о последующем. Это просто самый эффективный способ общения. Начните с высочайшего уровня абстракции и продолжайте работу, которую вы сделали ...
Darknight
1

Люди, которые не являются программистами, очень боятся специальных компьютерных терминов, таких как «framework», «ASP.NET» и «Silverlight». Итак, давайте объясним вещь в простых терминах:

.NET - это современная технология программирования, которая лучше всего используется для создания бизнес-приложений, веб-сайтов, игр и мультимедиа.

гениальность
источник
0

Я думаю, что вы идете по правильному пути, у вас есть .Net-компиляторы, которые переводят программу на определенном языке в MSIL, а затем у вас есть библиотека Code, которая на самом деле является просто библиотекой классов / кодов, чтобы сделать нашу жизнь проще. Если они не понимают, что такое библиотека кода, не уверены, что вы могли бы сделать, чтобы они это поняли. Вы можете руководствоваться ими при выборе языка C # так же, как и в своем вопросе.

Черный лед
источник
Да, это помогает. Я думаю, что часть проблемы в том, что я не очень хорошо понимаю, как .net работает сам. Например, почему так много программ, с которыми я работаю, теперь имеют .NET APis. Это просто потому, что это горячая новая технология или есть что-то фундаментальное для .Net, которое делает его лучше, чем VBA или VBScript?
Эрик
о боже да, это лучше, чем VBA или VBScript. Наличие .Net API вместо VBA похоже на программирование в VB6 против VB.Net.
BlackICE
0

Это выглядит как возможность для вас в этой компании.

По мере того, как вы становитесь известными как люди, опытные в программировании, и люди приходят к вам за советом / мнением, кажется, что в этой компании вообще есть потребность в программировании.

Я бы порекомендовал поговорить с кем-то, кто обладает авторитетом и может установить, что это становится частью вашей роли - например, вы возглавляете усилия по разработке программного обеспечения и получаете соответствующее признание.

Если это возможно, вы могли бы начать образовательный бал с сеанса мела и разговора о том, что такое программирование, почему вы программируете эти офисные приложения и т. Д., И вводите C # при этом. Если все идет хорошо, вы, вероятно, захотите перейти к управлению версиями, используя фреймворки и nUnit (или аналогичные) вскоре после этого.

Если нет возможности, сеанс мела и разговора все еще является хорошим вариантом, так как вы можете распространять одну и ту же информацию среди множества людей, ориентируясь на средний случай, и тогда они могут поддерживать друг друга в дальнейшем.

JBRWilkinson
источник
-1

«Это облегчает программистам / разработчикам программного обеспечения создание приложений для продуктов Microsoft и даже некоторых других платформ, таких как Linux».

ElGringoGrande
источник
2
Вы можете сказать то же самое для текстового редактора, для автозаполнения, для ... для многих вещей.
Ладья