Dla świata zewnętrznego programiści, informatycy, inżynierowie oprogramowania i programiści mogą wydawać się tacy sami, ale nie jest tak w przypadku ludzi, którzy tworzą oprogramowanie na życie. Umiejętności i wiedza każdego programisty mogą mieć bardzo szeroki zakres, a także ich narzędzia (system operacyjny, język i tak, preferowany edytor), a różnorodność ta powoduje powstawanie wielu podkultur w oprogramowaniu - takich jak programiści, którzy aktywnie korzystają z przepełnienia stosu i tej witryny, w porównaniu z wieloma innymi, którzy tego nie robią.
Z ciekawością słyszę od innych podkultur oprogramowania, które napotkali, do których należą, podziwiali, nie lubili, a nawet stworzyli. Na początek napotkałem:
- Firmy i programiści napędzani przez Microsoft : cały ich stos pochodzi z Redmond w stanie Waszyngton. E-mail to Outlook to e-mail. Sieć to IE i IIS. Mają duże segregatory swojej subskrypcji MS Developer Network pełne wielu wersji VB, .net, Visual Studio itp. Unika pracy z powłoką / wierszem poleceń. Nie rozumiem, o co w tym kłopot z open source. Firmy zorientowane na MS zwykle mają 9-5 lat i są dość korporacyjne (kierowane przez menedżerów, a nie ludzi oprogramowania). W dzisiejszych czasach (biorąc pod uwagę szeroką dostępność narzędzi innych niż MS) jest to przeciwieństwo kultury hakerów.
- Oldschoolowi ludzie CS : często bardzo dobrze znają Lisp i Unix; czasami sami napisali półpopularne Lisp lub narzędzie systemowe. Niewiele, jeśli w ogóle, „inżynierii oprogramowania” jest dla nich czymś nowym i nie jest to pod wrażeniem. Poznaj referencje, historię i implikacje wyższego poziomu języków programowania, takich jak Lisp, C, Prolog i Smalltalk. Może być zgorzkniały, jeśli chodzi o wyniki AI w latach 80. i 90. Zwykle są użytkownikami Emacsa. Może wpisywać wieloliniowe polecenia powłoki bez mrugnięcia okiem. Ich rada może być tajemnicza, ale zawiera zrozumiałe złoto.
- Nowoprzybyli twórcy stron internetowych : bawili się z komputerami i grami wideo, ale tak naprawdę dopiero zaczęli programować pod koniec lat 90. lub na początku 00. Wygodny z 1 do 1,5 językami skryptowymi / dynamicznymi; myślę, że C i języki poza Ruby / Perl / Python są niepotrzebne / magiczne. Być może początkowo uważano HTML za programowanie. Zdobądź komputer Mac i bądź fanatyczny / irracjonalny. Używaj ram bardziej niż je buduj. Często zbyt entuzjastycznie nastawiony do NoSQL i / lub Ruby On Rails.
- New-school CS : wiele szkoleń w zakresie statystyki, modeli bayesowskich i wnioskowania; nie mów „AI”, mów „uczenie maszynowe”. Więcej Javy niż Lisp, ale mogą też być ekspertami programistami Haskell. Widząc duże sukcesy w świecie rzeczywistym ekspertów w swojej dziedzinie (Google, finanse / kwanty) często sprawia, że są (nadmiernie) pewni siebie. Ale duże zbiory danych i ich rozproszone przetwarzanie naprawdę zmieniają świat.
Powyższe przykłady w żadnym wypadku nie są kompletne, poprawne, ortogonalne ani obiektywne. :) Właśnie to, co widziałem osobiście, i pod warunkiem, aby zainicjować dyskusję i zarys szerszego pytania. Nie zgadzaj się!