Quali sono i concetti più importanti da comprendere per "fluency in developer English"? [chiuso]

10

Ad aprile farò un discorso chiamato ** Inglese 2.0 - Capire il linguaggio degli sviluppatori "a un gruppo di insegnanti di inglese: lo scopo è tra due ore per dare loro un rapido background in concetti chiave così che possano capire meglio i blog degli sviluppatori e i podcast e sono in grado di porre domande migliori quando parlano con gli sviluppatori.

Quali pensi che siano i concetti più importanti da comprendere, concetti che gli sviluppatori danno per scontati ma il pubblico non conosce? Ecco alcune idee:

  • controllo versione
  • astrazioni
  • pub / sub
  • push vs. pull
  • debug
  • modularità
  • architettura a tre livelli
  • classe / oggetto
  • "codice spaghetti" vs. OOP
  • lancio di eccezioni
  • crowd sourcing
  • refactoring
  • the cloud
  • ASCIUTTO: non ripeterti
  • client / server
  • test delle unità
  • designer / developer
posta Edward Tanguay 21.01.2011 - 09:05
fonte

8 risposte

7

Per le definizioni di questi termini, consulta il Dizionario di rete

Questo ti darà un elenco quasi completo di tutti i termini che tu abbia mai incontrato (copre tutte le frasi che potrebbero mancare in questa pagina). Ovviamente, vorrai sfogliare questi alla ricerca di quelli che sono rilevanti per te e il tuo pubblico previsto.

Ad esempio, considera alcune delle voci in D:

Daemon
Data Architect
Database Normalization

Tutti sembrano abbastanza utili. Tuttavia, ci sono milioni di voci quindi potresti voler applicare alcune regole (se ne hai sentito parlare, quindi è dentro, altrimenti è fuori):

  1. Nessun acronimo (ad esempio TCP / IP è inserito, OOD è fuori)
  2. Nessun nome di applicazione specifico (ad esempio, Microsoft Word è attivo, Kazaa-Lite è fuori servizio)
  3. Nessun nome di lingua specifico (ad esempio Java è in, Haskell è fuori)

Spero che aiuti

EDIT: Originariamente tratto da: link ma il sito sembra essere stato abbandonato.

EDIT 2: Sembra che l'archivio Internet abbia una copia: link Grazie a @locster per il link.

    
risposta data 21.01.2011 - 14:31
fonte
5

Alcune parole dalla matematica:

  1. Canonical. Rappresentante distinto di un gruppo di articoli equivalenti.
  2. Hash. Non di solito prodotto con cavolo.
  3. euristica. Una soluzione imperfetta che può andare bene date le circostanze e che non promette troppo.
  4. Lineare / esponenziale. In che modo la velocità della memoria o del processore è influenzata dalla dimensione dell'input.

Alcune parole spesso erroneamente interpretate:

  1. Proxy. Qualcosa che agisce per conto di un altro.
  2. Client / Server. Come il tuo browser o un server web.
  3. Master / Slave. Niente a che vedere con la schiavitù umana o S & M, di solito.
  4. Daemon. Un processo che di solito funziona senza interazione umana. Niente di diabolico.
  5. Wizard. Un elemento dell'interfaccia utente che guida un essere umano attraverso una procedura.

Alcune parole le cui connotazioni violente sono solitamente non intenzionali:

  1. Uccidere. Quando applicato ai processi, non ai gattini.
  2. Thrash. Un processo che non sta ottenendo nulla a causa della mancanza di memoria da espandere in.
  3. Bash. Un linguaggio di scripting.
  4. Crash. Eminently survivable for anything capable to rebooting.
  5. Bang. Un altro nome per il simbolo '!'.
  6. ecc.

E potrebbe valere la pena includere un elenco di epiteti poiché tutti vogliono sapere quando si parla di: capo dai capelli a punta, ecc.

    
risposta data 21.01.2011 - 17:38
fonte
2

Vorrei aggiungere quelli:

  • agile
  • KISS (Keep it Simple Stupid)
  • refactoring
  • interfaccia di programmazione dell'applicazione
risposta data 21.01.2011 - 09:17
fonte
1
  • YAGNI - Non ne avrai bisogno
  • Scrum
  • KISS
  • Ajax
  • incapsulamento
  • Inheritance
  • Servizio Web
  • Componenti
risposta data 21.01.2011 - 14:27
fonte
1

Potresti discutere della precisione della lingua. A volte scherzo che lo sviluppo del software ci trasforma necessariamente in pedanti, non perché ci divertiamo, ma perché quando si sta programmando molto spesso è necessario essere precisi. Questo porta quindi alla grande quantità di termini tecnici, perché il linguaggio specifico del dominio ti consente di essere sia veloce che preciso.

    
risposta data 14.01.2014 - 16:09
fonte
1

Mi piacerebbe se si indirizzassero a usi non standard della punteggiatura tipica di alcuni programmatori, ad esempio "Mi rifiuto di inserire la virgola in una citazione letterale stringa quando la sorgente non utilizzava una virgola", < ---- disse Brian.

L'uso di parentesi, [] e baffi (o parentesi graffe, per la folla meno alla moda) {} potrebbe essere trattato similmente.

3- La ricorsione potrebbe essere divertente da sottolineare. Vedi il punto 3.

Per una pausa divertente, potrebbe essere divertente sottolineare alcune ispirazioni puramente culturali che sono comuni a gran parte della comunità degli sviluppatori, dai rapaci (grazie, XKCD), a Monty Python, a un puntatore indietro ad alcuni dei primi motivi comuni che hanno fondato la moderna comunità: IRC, bacheche / forum e Usenet.

    
risposta data 14.01.2014 - 17:55
fonte
0

SDLC sarebbe il mio suggerimento per un altro argomento da trattare.

Pochi altri termini che potrebbero valere:

  • Application
  • Sistema
  • Programma
  • Requisiti

Se esci da tecnici, alcuni di questi termini possono assumere altri significati. Fare domanda per un posto di lavoro può significare prendere una domanda in modo che alcune persone non possano pensare al software in termini di applicazioni. Allo stesso modo, ci sono attività ricreative e iniziative governative che alcune persone potrebbero considerare come programmi. Pertanto, potrebbe esserci una differenza tra i responsabili dei programmi di Microsoft e i responsabili dei programmi presso l'YMCA, solo per dare un esempio specifico qui.

Sarei tentato di vedere se potresti sollecitare idee dai partecipanti in anticipo e far sì che una parte del discorso sia un po 'più interattiva. Questa è solo un'idea per il discorso in sé che non so se lo hai già considerato o no.

    
risposta data 21.01.2011 - 17:21
fonte
0

Includerei una scheda di riferimento / un cheat-sheet per tutti da portare a casa. Ricordare tutte queste cose sarà difficile se molte sono nuove.

Riguardo all'argomento, aggiungerei sicuramente "schemi di progettazione" come concetto generale.

    
risposta data 21.01.2011 - 14:03
fonte

Leggi altre domande sui tag