Como explico aos não programadores o que é o .NET? [fechadas]

11

Não trabalho em uma empresa de software e sou uma das poucas pessoas da empresa que sabem alguma coisa sobre programação. Gasto muito tempo automatizando outros programas que são usados ​​no escritório por meio de APIs públicas e também criei alguns aplicativos independentes. Trabalho quase inteiramente em C # .NET, pois todos os aplicativos que usamos no escritório parecem ter algum tipo de API .NET.

Algumas pessoas me perguntaram sobre como aprender a "programar" e por onde começar. Acho que faz muito mais sentido aprender uma linguagem .NET, pois quase todos os programas que eles gostariam de automatizar têm uma API .NET, e parece que o VBA está saindo e sendo substituído pelo VSTA.

No entanto, estou tentando descobrir como explicar o que é o .NET e por que eles deveriam aprender com alguém que não sabe nada sobre programação. Não é realmente um idioma, pois há vários idiomas que são considerados idiomas .NET. Além disso, acho que há uma distinção entre ".NET" e "O .NET framework", pois o último é mais sobre as bibliotecas fornecidas pela Microsoft.

Eric
fonte
3
A programação deve ser muito separada do .NET; interpretar os 2 da mesma forma é como dizer que o mundo é governado por 1 país (sem nomes aqui: D) #
Fanatic23
Se você está lidando com uma pessoa de negócios, diga que é uma "melhor prática".
Scott Whitlock

Respostas:

15

.NET para não programador

Programação - basicamente dizendo ao computador o que fazer e como fazê-lo.

Arquivo de origem - este é um documento escrito em uma linguagem de programação que informa ao computador o que você deseja que ele faça.

Linguagem de programação - é uma linguagem que (geralmente) se assemelha a uma mistura de inglês e matemática. É simples e rigoroso o suficiente para um compilador entender.

Compilador - traduz uma linguagem de programação que você pode entender em uma linguagem que o computador possa entender, você pode chamá-la de computador .

Biblioteca - Uma coleção de códigos úteis que já foram traduzidos para o computador e podem ser usados ​​nos programas que você escreve.

Plataforma .NET - Uma grande coleção de ferramentas, linguagens e bibliotecas para a criação de programas com forte ênfase na produtividade.

Claro, há muito mais do que isso. Você pode falar sobre a compilação ou coleta de lixo de IL e JIT, mas esses detalhes não são muito relevantes para um não programador.

Kenneth Cochran
fonte
nitpick: As bibliotecas geralmente não são pré-traduzidas para o computador
amara
14

Não

Diga a eles "C #" e, se seguirem, descobrirão. Não faz sentido explicá-lo no vácuo.

[ou diga a eles "Java" para que não procurem ajuda!]

Steven A. Lowe
fonte
Eu votaria mais nisso :)
duros
+1: não é importante até que seja importante. Nessa época, existe algum conhecimento básico para se basear.
Steven Evers
4

Apenas diga a eles que é um programa que permite escrever programas e não se preocupar com isso no momento. Em seguida, comece pelos princípios de programação que mais importam no momento.

johnny
fonte
1
sim, eu faria isso, então eu entregaria a eles livros da primeira série. (ótimos livros para iniciantes, fáceis de aprender e com muitas práticas recomendadas.) Você pode iniciá-los no livro "Head First Programming". Também o 1º 3 capítulos do livro C # são livres, assim você pode conferir o estilo de ensino: headfirstlabs.com/books/hfcsharp
robertpateii
2

.NET é uma estrutura que pode ser usada por linguagens de programação .NET. Você pode usá-lo para escrever aplicativos de área de trabalho WinForm (não WPF), aplicativos de área de trabalho WPF, Silverlight, ASP.NET e dispositivos móveis. Assim, ao aprender uma parte do .NET (como escrever aplicativos de desktop), um programador pode aprender facilmente como escrever outras coisas, como aplicativos da Web.

Sou desenvolvedor Java e coisas semelhantes podem ser ditas para a linguagem Java, mas IMHO, recursos do Visual Studio e .NET (por exemplo, editores e assistentes de GUI do Visual Studio, além de ligação de dados) tornam o desenvolvimento no .NET um pouco mais rápido. e mais fácil

Jon Onstott
fonte
2

Sempre relacione com algo que a pessoa possa entender. Se eles não entenderem a programação, então:

.NET é uma coleção de coisas pré-fabricadas. Então é como:

  • um monte de tijolos já juntos
  • um contrato pré-escrito onde você apenas preenche alguns campos
  • comprar um carro em vez das peças individuais que compõem um carro
Nippysaurus
fonte
2

É uma grande nuvem fofa ..

Diga a eles que é a nova tecnologia sexy da Microsoft. E isso permite que os desenvolvedores de diferentes idiomas se envolvam e criem códigos super sexy. Diga a eles que ele funciona automaticamente em coisas como PC, XBOX e Windows Phone. E também diga que eles podem criar qualquer coisa, de jogos a aplicativos de negócios chatos, além de sites também.

Mantenha breve:

  • É uma grande nuvem fofa :)
  • Sua tecnologia da Microsoft
  • Funciona em PCs, XBOX, Windows Phone
  • "Entende" muitas línguas diferentes
  • Pode criar, jogos, aplicativos de negócios e sites com eles
Noite escura
fonte
1
Um pouco condescendente, não é?
Robert Harvey
não, nem um pouco, nem um pouco. Sempre que tive que descrever / explicar coisas técnicas para pessoas que não são técnicas. Acho melhor dar a visão de 1.000,000000 pés. PORQUE? porque 90% das vezes eles simplesmente não dão a mínima para isso. Eles só querem que funcione. No entanto, os 10% que estão interessados ​​em todos os aspectos pedem um acompanhamento, seguido de um acompanhamento. Esta é apenas a maneira mais eficiente de se comunicar. Comece pelo mais alto nível de abstração e trabalhar seu caminho feito ...
Darknight
1

As pessoas que não são programadores têm muito medo de termos especiais de computador como "framework", "ASP.NET" e "Silverlight". Então, vamos explicar a coisa em termos fáceis:

O .NET é uma tecnologia de programação moderna que é melhor usada para criar aplicativos de negócios, sites, jogos e multimídia.

Gênio
fonte
0

Eu acho que você está seguindo o caminho certo, possui os compiladores .Net que traduzem um programa em um idioma específico para o MSIL e, em seguida, a biblioteca de códigos, que na verdade é apenas uma biblioteca de classes / códigos para facilitar nossa vida. Se eles não entenderem o que é uma biblioteca de códigos, não saiba o que você poderia fazer para fazê-los entender isso. Você pode orientá-los na seleção de C # da mesma forma que na sua pergunta.

Gelo preto
fonte
Sim, isso ajuda. Acho que parte do problema é que não tenho uma compreensão muito boa de como o .net funciona comigo mesmo. Por exemplo, por que tantos programas com os quais trabalho tenho o .NET APis agora. É apenas porque é a nova tecnologia quente ou há algo fundamental no .Net que o torna melhor do que dizer VBA ou VBScript?
Eric
oh Deus, sim, é melhor que VBA ou VBScript. Ter uma API .Net em vez de VBA é como programar em VB6 vs VB.Net.
BlackICE
0

Parece uma oportunidade para você nesta empresa.

À medida que você se torna conhecido como alguém proficiente em programação, e as pessoas o procuram em busca de conselhos / sugestões, parece que há uma necessidade comercial de programação nesta empresa em geral.

Eu recomendo conversar com alguém em uma posição de autoridade que possa estabelecer que isso se torna parte de sua função - por exemplo, você encabeça os esforços de desenvolvimento de software e é reconhecido de acordo.

Se isso for possível, você pode começar a bola educacional rolando com uma sessão de giz e conversa sobre o que está programando, por que você programa esses aplicativos de escritório etc. e introduz o C # ao fazer isso. Se isso der certo, é provável que você queira avançar para o Controle de versão, aproveitando estruturas e nUnit (ou similar) logo depois.

Se não houver oportunidade disponível, uma sessão de giz e conversa ainda é uma boa opção, pois você pode disseminar as mesmas informações para várias pessoas, visando o caso médio, e elas podem se apoiar.

JBRWilkinson
fonte
-1

"Isso torna mais fácil para programadores / desenvolvedores de software criar aplicativos para produtos da Microsoft e até algumas outras plataformas como o Linux".

ElGringoGrande
fonte
2
Você poderia dizer o mesmo para um editor de texto, para preenchimento automático, para ... para muitas coisas.
Rook