Was sind die wichtigsten Konzepte, um „fließend Entwickler-Englisch zu sprechen“? [geschlossen]


10

Im April werde ich einer Gruppe von Englischlehrern einen Vortrag mit dem Titel ** Englisch 2.0 - Die Sprache der Entwickler verstehen "halten. Der Zweck besteht darin, ihnen in zwei Stunden einen schnellen Hintergrund zu Schlüsselkonzepten zu geben, damit sie dies können Entwicklerblogs und Podcasts besser verstehen und im Gespräch mit Entwicklern bessere Fragen stellen können.

Was sind Ihrer Meinung nach die wichtigsten zu verstehenden Konzepte, Konzepte, die Entwickler für selbstverständlich halten, mit denen die breite Öffentlichkeit jedoch nicht vertraut ist? Hier einige Ideen:

  • Versionskontrolle
  • Abstraktionen
  • Pub / Sub
  • drücken gegen ziehen
  • Debuggen
  • Modularität
  • dreistufige Architektur
  • Klasse / Objekt
  • "Spaghetti-Code" gegen OOP
  • Ausnahme werfen
  • Crowd Sourcing
  • Refactoring
  • die Wolke
  • DRY - wiederhole dich nicht
  • Kundenserver
  • Unit-Test
  • Designer / Entwickler

2
Ich frage mich, ob es möglich ist, sie über mehrere Websites (Open Source-Projekte usw.) zu führen und sie dann dazu zu bringen, Wörter / Begriffe auszuwählen, die sie nicht verstehen.
Martijn Verburg

2
@ Martinijn: Diese Seite wäre perfekt dafür
;-)

9
Spaghetti-Code gegen OOP? Sie können Spaghetti-OOP-Code und gut strukturierten, lesbaren Nicht-OOP-Code haben.
Jon Hopkins

4
Warum wollen Englischlehrer besonders mit Softwareentwicklern sprechen, im Gegensatz beispielsweise mit Ärzten oder Physikern?
Kevin Cline

2
Kann ich fragen, warum ein Englischlehrer diese Begriffe kennen muss? Bei den meisten handelt es sich um Informationen auf Implementierungsebene, bei denen sich der Englischlehrer, wenn er ein Stakeholder wäre, mehr um einige sehr unterschiedliche Begriffe kümmern würde.
Rig

Antworten:


7

Definitionen dieser Begriffe finden Sie im Netzwerkwörterbuch

Auf diese Weise erhalten Sie eine fast vollständige Liste aller Begriffe, auf die Sie jemals stoßen werden (dies gilt für alle Sätze, die auf dieser Seite möglicherweise übersehen werden). Natürlich möchten Sie diese durchsuchen, um diejenigen zu finden, die für Sie und Ihr beabsichtigtes Publikum relevant sind.

Betrachten Sie als Beispiel einige der Einträge unter D:

Daemon
Data Architect
Database Normalization

Alle scheinen sehr nützlich zu sein. Es gibt jedoch Millionen von Einträgen, daher möchten Sie möglicherweise einige Regeln anwenden (wenn Sie davon gehört haben, ist es in, sonst ist es out):

  1. Keine Akronyme (zB TCP / IP ist in, OOD ist out)
  2. Keine spezifischen Anwendungsnamen (z. B. Microsoft Word ist in, Kazaa-Lite ist out)
  3. Keine spezifischen Sprachnamen (zB Java ist in, Haskell ist out)

Ich hoffe es hilft

BEARBEITEN: Ursprünglich bezogen von: http://www.networkdictionary.com/software/dictionary.php, aber die Site scheint aufgegeben worden zu sein.

BEARBEITEN 2: Es scheint, dass das Internetarchiv eine Kopie hat: https://web.archive.org/web/20120507195610/http://www.networkdictionary.com/software/d.php Vielen Dank an @locster für den Link.


Daemon schön! +1

3
Der Link scheint nicht mehr zu funktionieren.
Jan Hudec

@ JanHudec Bearbeitet, um zu reflektieren, dass es weg ist. Schade - es war eine gute Materialquelle.
Gary Rowe


5

Ein paar Worte aus der Mathematik:

  1. Kanonisch. Der angesehene Vertreter einer Gruppe gleichwertiger Gegenstände.
  2. Hash. Normalerweise nicht aus Kohl hergestellt.
  3. Heuristik. Eine unvollkommene Lösung, die unter den gegebenen Umständen in Ordnung sein kann und die nicht zu viel verspricht.
  4. Linear / exponentiell. Wie die Speicher- oder Prozessorrate von der Größe der Eingabe beeinflusst wird.

Einige Wörter, die oft falsch interpretiert werden:

  1. Proxy. Etwas, das im Namen eines anderen handelt.
  2. Kundenserver. Wie Ihr Browser gegen einen Webserver.
  3. Master / Slave. Normalerweise nichts mit menschlicher Sklaverei oder S & M zu tun.
  4. Daemon. Ein Prozess, der normalerweise ohne menschliche Interaktion abläuft. Nichts teuflisches.
  5. Magier. Ein Benutzeroberflächenelement, das einen Menschen durch eine Prozedur führt.

Ein paar Worte, deren gewalttätige Konnotationen normalerweise unbeabsichtigt sind:

  1. Töten. Bei Anwendung auf Prozesse, nicht auf Kätzchen.
  2. Prügeln. Ein Prozess, bei dem aufgrund des Speichermangels nichts erreicht werden kann.
  3. Bash. Eine Skriptsprache.
  4. Absturz. Hervorragend überlebensfähig für alles, was neu gestartet werden kann.
  5. Knall. Ein anderer Name für das Symbol '!'.
  6. usw.

Und es kann sich lohnen, eine Liste mit Beinamen beizufügen, da jeder wissen möchte, wann über ihn gesprochen wird: spitzer Chef usw.


2

Ich würde diese hinzufügen:

  • agil
  • KISS (halte es einfach dumm)
  • Refactoring
  • Programmierschnittstelle

Sie werden oft genug in Blogs und Programmierern herumgeworfen. Ich wurde von KISS erzogen. (Wir werden nicht über die Band sprechen ...)
Berin Loritsch

1
  • YAGNI - Du wirst es nicht brauchen
  • Gedränge
  • KUSS
  • Ajax
  • Verkapselung
  • Erbe
  • Internetservice
  • Komponenten

1

Vielleicht möchten Sie die Genauigkeit der Sprache diskutieren. Ich scherze manchmal, dass Softwareentwicklung uns notwendigerweise zu Pedanten macht, nicht weil es uns Spaß macht, sondern weil Sie beim Programmieren sehr oft präzise sein müssen. Dies führt dann zu einer großen Menge an Jargon, da Sie mit der domänenspezifischen Sprache sowohl schnell als auch präzise arbeiten können.


+1 das ist sehr wahr. Sehen Sie sich hier alle Fragen an, die fragen, ob X "erforderlich" oder "erforderlich" ist, wenn der Fragesteller wirklich "empfohlen" bedeutet. Wenn man Fragen nicht genau stellen kann, sind sie im Nachteil, weil unser Gebiet Präzision erfordert.
Großmeister

1

Ich würde es lieben, wenn Sie sich mit nicht standardmäßigen Interpunktionsverwendungen befassen würden, die für einige Programmierer typisch sind, wie "Ich lehne es ab, das Komma in ein Zeichenfolgenliteralzitat zu setzen, wenn die Quelle kein Komma verwendet", <----- sagte Brian.

Die Verwendung von Brackets []und Schnurrbärten (oder Brackets für die weniger hippe Menge) {}könnte auf ähnliche Weise behandelt werden.

3- Rekursion könnte Spaß machen, darauf hinzuweisen. Siehe Punkt 3.

Für eine unterhaltsame Pause könnte es Spaß machen, auf einige rein kulturelle Inspirationen hinzuweisen, die einem Großteil der Entwicklergemeinde gemeinsam sind, von Raptoren (danke, XKCD) über Monty Python bis hin zu einem Hinweis auf einige der frühen Gemeinsamkeiten gründete die moderne Community: IRC, Bulletin Boards / Foren und Usenet.


0

SDLC wäre mein Vorschlag für ein anderes Thema.

Einige andere Begriffe, die es wert sein könnten, behandelt zu werden:

  • Anwendung
  • System
  • Programm
  • Bedarf

Wenn Sie sich außerhalb der technischen Fachwelt befinden, können einige dieser Begriffe andere Bedeutungen annehmen. Eine Bewerbung kann bedeuten, dass Sie eine Bewerbung annehmen, sodass manche Menschen möglicherweise nicht an Software denken. Ebenso gibt es Freizeitaktivitäten und Regierungsinitiativen, die manche Menschen als Programme betrachten. Daher kann es einen Unterschied zwischen Programmmanagern bei Microsoft und Programmmanagern bei YMCA geben, um hier nur ein konkretes Beispiel zu nennen.

Ich wäre versucht zu sehen, ob Sie im Voraus Ideen von den Teilnehmern einholen und einen Teil des Vortrags etwas interaktiver gestalten können. Dies ist nur eine Idee für das Gespräch selbst, von der ich nicht weiß, ob Sie dies bereits in Betracht gezogen haben oder nicht.


0

Ich würde eine Referenzkarte / einen Spickzettel beifügen, die jeder mit nach Hause nehmen kann. Es wird schwierig sein, sich an all das zu erinnern, wenn vieles neu ist.

Zu diesem Thema würde ich definitiv "Designmuster" als allgemeines Konzept hinzufügen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.