Come faccio a spiegare ai non programmatori che cos'è .NET? [chiuso]


11

Non lavoro in una società di software e sono una delle poche persone che sanno qualcosa sulla programmazione. Passo molto tempo ad automatizzare altri programmi che vengono utilizzati in ufficio tramite API pubbliche e ho anche creato alcune applicazioni autonome. Lavoro quasi interamente in C # .NET poiché ogni applicazione che sembriamo usare in ufficio sembra avere una qualche forma di API .NET.

Ho avuto alcune persone qui che mi chiedono di imparare "come programmare" e dove dovrebbero iniziare. Penso che abbia molto più senso imparare un linguaggio .NET poiché quasi tutti i programmi che vorrebbero automatizzare hanno un'API .NET e sembra che VBA stia per uscire e venga sostituito da VSTA.

Tuttavia, sto cercando di capire come spiegare cos'è .NET e perché dovrebbero impararlo a qualcuno che non sa nulla di programmazione. In realtà non è un linguaggio, in quanto esistono diverse lingue considerate lingue .NET. Inoltre, penso che ci sia una distinzione tra ".NET" e "Il framework .NET" poiché quest'ultimo riguarda maggiormente le librerie fornite da Microsoft.


3
La programmazione dovrebbe essere molto separata da .NET; interpretare il 2 allo stesso modo è come dire che il mondo è governato da 1 paese (nessun nome qui: D)
Fanatic23

Se hai a che fare con un uomo d'affari, dì che è una "best practice".
Scott Whitlock,

Risposte:


15

.NET per il non programmatore

Programmazione - Fondamentalmente dire a un computer cosa fare e come farlo.

File di origine - Questo è un documento scritto in un linguaggio di programmazione che dice al computer cosa vuoi che faccia.

Linguaggio di programmazione - Questo è un linguaggio che (di solito) ricorda una miscela di inglese e matematica. È sia semplice che rigoroso da comprendere per un compilatore.

Compilatore - Questo traduce un linguaggio di programmazione che puoi capire in una lingua che il computer può capire, puoi chiamarlo Computerese .

Libreria - Una raccolta di codice utile che è già stata tradotta in computerese che puoi usare nei programmi che scrivi.

Piattaforma .NET - Una vasta raccolta di strumenti, lingue e librerie per la scrittura di programmi con una forte enfasi sulla produttività.

Certo, c'è molto di più. Potresti dire loro della compilazione di IL e JIT o della garbage collection, ma questi dettagli non sono molto rilevanti per un non programmatore.


nitpick: le biblioteche spesso non sono pre-tradotte in computerese
amara,

14

non

Di 'loro "C #" e se lo seguono lo capiranno. Non ha senso spiegarlo nel vuoto.

[o di 'loro "Java" in modo che non vengano da te per chiedere aiuto!]


Vorrei votare di più :)
duros

+1: non è importante fino a quando non è importante. A quel punto ci sono alcune conoscenze di base su cui attingere.
Steven Evers il

4

Dì loro che è un programma che ti consente di scrivere programmi e di non preoccuparti per il momento. Quindi inizia dai principi di programmazione che contano di più al momento.


1
sì, lo farei, poi consegnerei loro i libri della prima serie principale. (grandi libri per principianti che sono facili da imparare e in cui sono bollate molte buone pratiche.) Potresti avviarli sul libro "Head First Programming". Anche i primi 3 capitoli del libro C # sono gratuiti, quindi puoi dare un'occhiata allo stile di insegnamento: headfirstlabs.com/books/hfcsharp
robertpateii

2

.NET è un framework che può essere utilizzato dai linguaggi di programmazione .NET. Puoi usarlo per scrivere app desktop WinForm (non WPF), app desktop WPF, Silverlight, ASP.NET e dispositivi mobili. Quindi, imparando una parte di .NET (come la scrittura di app desktop), un programmatore può facilmente imparare a scrivere altre cose come le app web.

Sono uno sviluppatore Java e cose simili si possono dire per il linguaggio Java, ma IMHO, le funzionalità di Visual Studio e .NET (ad es. Editor e procedure guidate della GUI di Visual Studio, nonché l'associazione dei dati) rendono lo sviluppo in .NET un po 'più veloce e più facile.


2

Collegalo sempre a qualcosa che la persona può capire. Se non comprendono la programmazione, allora:

.NET è una raccolta di materiale prefabbricato. Quindi è come:

  • un sacco di mattoni già messi insieme
  • un accordo pre-scritto in cui devi solo compilare alcuni campi
  • comprare un'auto invece delle singole parti che compongono un'auto

2

È una grande nuvola soffice ..

Di 'loro che è la nuova tecnologia sexy di Microsoft. E che consente agli sviluppatori di lingue diverse di tenersi per mano e creare un codice super sexy. Dì loro che funziona magicamente su cose come PC, XBOX e Windows Phone. E dì anche loro che possono fare qualsiasi cosa, dai giochi alle noiose applicazioni aziendali con loro e anche i siti Web.

Per farla breve:

  • È una grande nuvola soffice :)
  • È Microsoft Tech
  • Funziona su PC, XBOX, Windows Phone
  • "Capisce" molte lingue diverse
  • Possono creare, giochi, applicazioni e siti Web aziendali con loro

1
Un po 'condiscendente, no?
Robert Harvey,

no, per niente, per niente. Ogni volta che ho dovuto descrivere / spiegare cose tecniche alle persone non tecnologiche. Trovo che sia meglio dare la vista di 1000,000000 piedi. PERCHÉ? perché il 90% delle volte non gliene frega niente. Vogliono solo che funzioni. Tuttavia, il 10% che è interessato chiederà sempre un seguito, seguito da un seguito. Questo è solo il modo più efficiente di comunicare. Inizia dal più alto livello di astrazione e lavora come hai fatto ...
Darknight,

1

Le persone, che non sono programmatori, hanno molta paura dei termini speciali del computer come "framework", "ASP.NET" e "Silverlight". Quindi spieghiamo la cosa in termini semplici:

.NET è una moderna tecnologia di programmazione che viene utilizzata al meglio per creare applicazioni aziendali, siti Web, giochi e contenuti multimediali.


0

Penso che stai seguendo la strada giusta, hai i compilatori .Net che traducono un programma in un linguaggio specifico in MSIL, quindi hai la libreria di codici, che è davvero solo una libreria di classi / codici per semplificarci la vita. Se non capiscono cos'è una libreria di codici, non sono sicuro di cosa potresti fare per farli capire. Puoi guidarli nella loro selezione di C # come hai fatto nella tua domanda.


Sì, questo aiuta. Penso che parte del problema sia che non ho un'ottima comprensione di come .net funziona da solo. Ad esempio, perché molti programmi con cui lavoro hanno API .NET ora. È solo perché è la nuova tecnologia calda o c'è qualcosa di fondamentale in .Net che lo rende migliore di dire VBA o VBScript?
Eric,

oh dio sì, è meglio di VBA o VBScript. avere un'API .Net invece di VBA è come programmare in VB6 vs VB.Net.
BlackICE il

0

Questa sembra un'opportunità per te all'interno di questa azienda.

Man mano che stai diventando un esperto della programmazione e le persone vengono da te per consigli / input, sembra che ci sia bisogno di business per la programmazione in questa società in generale.

Consiglierei di parlare con qualcuno in una posizione di autorità che potrebbe essere in grado di stabilire che questo diventa parte del tuo ruolo - ad esempio, sei a capo degli sforzi di sviluppo del software e sei riconosciuto di conseguenza.

Se ciò è possibile, potresti iniziare a girare la palla educativa con una sessione di chiacchiere su ciò che sta programmando, perché programmate queste app per ufficio, ecc. E introducete C # mentre lo fate. Se questo va bene, probabilmente vorrai passare al controllo versione, sfruttando framework e nUnit (o simili) poco dopo.

Se non ci sono opportunità disponibili, una sessione di chiacchiere è ancora una buona opzione in quanto è possibile divulgare le stesse informazioni a un numero di persone, mirando al caso medio e possono quindi supportarsi a vicenda andando avanti.


-1

"Rende più facile per programmatori / sviluppatori software creare applicazioni per prodotti Microsoft e persino alcune altre piattaforme come Linux."


2
Potresti dire la stessa cosa per un editor di testo, per il completamento automatico, per ... per molte cose.
Rook,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.