Jakie są najważniejsze pojęcia, które należy rozumieć pod kątem „płynności w języku angielskim dla programistów”? [Zamknięte]

10

W kwietniu mam zamiar wygłosić przemówienie o nazwie ** English 2.0 - Zrozumienie języka programistów "grupie nauczycieli języka angielskiego. Celem jest uzyskanie w ciągu dwóch godzin szybkiego zapoznania się z kluczowymi pojęciami, aby mogli lepiej zrozumieć blogi i podcasty dla programistów oraz zadawać lepsze pytania podczas rozmowy z programistami.

Jak myślisz, jakie są najważniejsze pojęcia do zrozumienia, które programiści przyjmują za pewnik, ale opinia publiczna nie jest im znana? Oto kilka pomysłów:

  • kontrola wersji
  • abstrakcje
  • pub / sub
  • push vs. pull
  • debugowanie
  • modułowość
  • architektura trójwarstwowa
  • klasa / obiekt
  • „kod spaghetti” vs. OOP
  • rzucanie wyjątków
  • pozyskiwanie tłumu
  • refaktoryzacja
  • Chmura
  • SUCHO - nie powtarzaj się
  • klient / serwer
  • testów jednostkowych
  • projektant / programista
Edward Tanguay
źródło
2
Zastanawiam się, czy jest możliwe przeprowadzenie ich przez kilka stron internetowych (projekty open source itp.), A następnie skłonienie ich do wybrania słów / terminologii, której nie rozumieją?
Martijn Verburg
2
@Martijn: ta strona byłaby do tego idealna ;-)
Syg
9
Kod Spaghetti vs. OOP? Możesz mieć kod OOP Spaghetti i dobrze skonstruowany, czytelny kod inny niż OOP.
Jon Hopkins
4
Dlaczego nauczyciele języka angielskiego szczególnie chcą rozmawiać z twórcami oprogramowania, a nie z lekarzami lub fizykami?
kevin cline
2
Czy mogę zapytać, dlaczego nauczyciel języka angielskiego musi znać te warunki? Większość z nich to informacje na poziomie wdrażania, w przypadku których jeśli nauczyciel języka angielskiego byłby interesariuszem, bardziej zależałyby mu na bardzo różnych terminach.
Rig

Odpowiedzi:

7

Definicje tych terminów znajdują się w Słowniku sieci

To daje prawie kompletną listę wszystkich terminów, które możesz napotkać (obejmuje to wszystkie frazy, które mogą zostać pominięte na tej stronie). Oczywiście będziesz chciał przejrzeć te, szukając tych, które są odpowiednie dla Ciebie i Twoich docelowych odbiorców.

Jako przykład rozważ niektóre wpisy w D:

Daemon
Data Architect
Database Normalization

Wszystko wydaje się całkiem przydatne. Istnieją jednak miliony wpisów, więc możesz chcieć zastosować pewne reguły (jeśli o tym słyszałeś, to jest w środku, w przeciwnym razie nie ma go):

  1. Brak akronimów (np. TCP / IP jest włączony, OOD jest wyłączony)
  2. Brak konkretnych nazw aplikacji (np. Microsoft Word jest włączony, Kazaa-Lite jest niedostępny)
  3. Brak konkretnych nazw języków (np. Java jest włączony, Haskell jest niedostępny)

Mam nadzieję, że to pomoże

EDYCJA: Oryginalnie pochodzi z: http://www.networkdictionary.com/software/dictionary.php, ale strona wydaje się być opuszczona.

EDYCJA 2: Wygląda na to, że Archiwum Internetowe ma kopię: https://web.archive.org/web/20120507195610/http://www.networkdictionary.com/software/d.php Dzięki @locster za link.

Gary Rowe
źródło
Daemon miły! +1
3
Link wydaje się już nie działać.
Jan Hudec
@JHHudec Edytowano, aby odzwierciedlić, że zniknął. Wstyd - to było dobre źródło materiału.
Gary Rowe
5

Kilka słów z matematyki:

  1. Kanoniczny. Wybitny przedstawiciel grupy równoważnych pozycji.
  2. Haszysz. Zwykle nie z kapusty.
  3. Heurystyczny. Niedoskonałe rozwiązanie, które może być dobre, biorąc pod uwagę okoliczności, i które nie obiecuje zbyt wiele.
  4. Liniowy / wykładniczy. Jak wielkość pamięci lub procesora zależy od wielkości wejścia.

Kilka słów, które często są źle interpretowane:

  1. Pełnomocnik. Coś, co działa w imieniu innej osoby.
  2. Klient / serwer. Podobnie jak Twoja przeglądarka kontra serwer WWW.
  3. Master / Slave. Zwykle nie ma to nic wspólnego z ludzkim niewolnictwem lub S&M.
  4. Daemon. Proces, który zwykle przebiega bez interakcji człowieka. Nic diabelskiego.
  5. Czarodziej. Element interfejsu użytkownika, który prowadzi człowieka przez procedurę.

Kilka słów, których gwałtowne skojarzenia są zwykle niezamierzone:

  1. Zabić. W przypadku procesów nie kociąt.
  2. Prać. Proces, który nic nie robi z powodu braku pamięci do rozszerzenia.
  3. Grzmotnąć. Język skryptowy.
  4. Wypadek. Znakomicie przeżywalny dla wszystkiego, co może się zrestartować.
  5. Huk. Inna nazwa symbolu „!”.
  6. itp.

Warto też dołączyć listę epitetów, ponieważ każdy chce wiedzieć, kiedy się o nich mówi: spiczasty szef itp.

Mike Samuel
źródło
2

Dodałbym te:

  • zwinny
  • KISS (Keep It Simple Stupid)
  • refaktoryzacja
  • Interfejs aplikacji do programowania

źródło
Są one rzucane wystarczająco często na blogach i programistach. Wystarczająco często. Wychowałem się z KISS. (nie będziemy rozmawiać o zespole ...)
Berin Loritsch 21.01.11
1
  • YAGNI - Nie będziesz go potrzebować
  • Scrum
  • POCAŁUNEK
  • Ajax
  • Kapsułkowanie
  • Dziedzictwo
  • Serwis internetowy
  • składniki
Sorantis
źródło
1

Możesz omówić precyzję języka. Czasami żartuję, że rozwój oprogramowania koniecznie zmienia nas w pedantów, nie dlatego, że nam się to podoba, ale dlatego, że podczas programowania bardzo często musisz być precyzyjny. Prowadzi to do dużej liczby żargonu, ponieważ język specyficzny dla domeny pozwala być zarówno szybki, jak i precyzyjny.

Rory Hunter
źródło
+1 to jest bardzo prawda. Zobacz wszystkie pytania, które zadają pytanie, czy X jest „wymagany” czy „potrzebny”, gdy pytający naprawdę oznacza „polecony”. Jeśli nie można precyzyjnie zadawać pytań, są one w niekorzystnej sytuacji, ponieważ nasza dziedzina wymaga precyzji.
GrandmasterB
1

Bardzo bym chciał, gdybyś zajął się niestandardowymi zastosowaniami interpunkcji typowymi dla niektórych programistów, takimi jak: „Odmawiam wstawiania przecinka w dosłownym ciągu znaków, gdy źródło nie użyło przecinka”, <----- powiedział Brian.

Zastosowanie wsporników []i wąsów (lub aparatów ortodontycznych dla mniej hip-tłumu){} może być podobnie traktowane.

3- Rekursja może być fajna do wskazania. Punkt 3.

Na przerwę na zabawę może być wskazanie inspiracji czysto kulturowych, które są wspólne dla dużej części społeczności programistów, od ptaków drapieżnych (dzięki, XKCD), do Monty Pythona, do wskaźnika z powrotem do wczesnych wspólnych powodów, które: założył nowoczesną społeczność: IRC, tablice ogłoszeń / fora i Usenet.

BrianH
źródło
0

SDLC byłoby moją propozycją omówienia innego tematu.

Kilka innych warunków, które mogą być warte uwzględnienia:

  • Podanie
  • System
  • Program
  • Wymagania

Jeśli wyjdziesz poza ludzi technicznych, niektóre z tych terminów mogą mieć inne znaczenie. Ubieganie się o pracę może oznaczać przyjęcie aplikacji, więc niektóre osoby mogą nie myśleć o oprogramowaniu w kategoriach aplikacji. Podobnie są zajęcia rekreacyjne i inicjatywy rządowe, które niektóre osoby mogą postrzegać jako programy. Dlatego może istnieć różnica między menedżerami programów w firmie Microsoft a menedżerami programów w YMCA, aby podać konkretny przykład tutaj.

Kusiłoby mnie, aby zobaczyć, czy można wcześniej uzyskać od uczestników pomysły i sprawić, by część rozmowy była bardziej interaktywna. To tylko pomysł na samą rozmowę, której nie wiem, czy już to rozważałeś, czy nie.

JB King
źródło
0

Chciałbym dołączyć kartę referencyjną / ściągę, aby każdy mógł zabrać do domu. Zapamiętywanie wszystkich tych rzeczy będzie trudne, jeśli wiele z nich jest nowych.

W tym temacie zdecydowanie dodałbym „wzorce projektowe” jako ogólną koncepcję.

Syg
źródło