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ę!
Odpowiedzi:
Uważam się za część grupy Real-Time Systems . Istnieją pewne cechy „starej szkoły”, ale mniej skupia się na CS, więcej na sprzęcie.
Archetyp:
źródło
Nie zapomnij o programistach komputerów mainframe. Są też subkulturą.
źródło
Reprezentuję samotny kontyngent Delphi Devs poniżej 30. Nasz klub jest mały, ale nasze serca są duże.
źródło
Sądzę, że istnieje kilka kultur, które w jakiś sposób żyją obok siebie, a następnie walczą i są w jakiś sposób transcendentne:
Proszę to zanotować:
Myślę, że obecnie jestem głównie Open Source z niewielkim wpływem Academia (pasywny).
źródło
Jestem trochę w obozie Alt.NET/old-school CS. Pracuję z technologią Microsoft (C # itp.), Ale zdaję sobie sprawę, że wokół mnie jest cały świat, inne języki, algorytmy, frameworki, „rzeczy pod maską” itp. Oczywiście nie idealne, ale to praca w trakcie.
źródło
Nie do końca zgadzam się z tym stwierdzeniem na temat subkultury stwardnienia rozsianego: „Nie rozumiem, o co tyle zamieszania z open-source i tak dalej - poza tym, kto musi znać inny język? Ogólnie, znalazłem takie miejsca 9-5 i dość korporacyjne (kierowane przez menedżerów biznesowych, a nie ludzi oprogramowania). Anty teza kultury hakerów. ”. Pracowałem już w dwóch sklepach .Net, a środowisko było bardzo podobne do hakerów. W naszej pracy wykorzystaliśmy wiele projektów typu open source. W mojej opcji wszystko zależy od rodzaju ludzi, z którymi współpracujemy. Jeśli są prawdziwymi programistami, będą nieustannie szukać sposobów na ulepszenie, rozszerzenie działalności. Jakie technologie wykorzystują są nieistotne.
Nie zapomnij o subkulturze Agile Methodology, która obejmuje programistów z różnych środowisk.
źródło
Wydaje mi się, że między Old School CS a New School Web Developers znajdzie się coś pośredniego .
Tradycyjnie uważałbym się za „programistę WWW”. PHP i Java oraz obywatele pierwszej klasy, wraz z odpowiednim, sympatycznym, poprawnym HTML / CSS. Rzuć SQL, a będziesz mieć solidny, dobrze zaokrąglony zestaw umiejętności.
Przenieś nową szkołę do Script Kiddies i rebranduj Web Developer .
Script Kiddies - ludzie z niewielką, jeśli w ogóle, „pod maską” znajomością języka. Zwykle google dla samouczków przed ślepym kopiowaniem / wklejaniem kodu na miejsce. Zazwyczaj nie rozumie w pełni składni więcej niż jednego języka.
źródło
Pracownicy naukowi, którzy prowadzą badania przy użyciu komputerów, a nie badań na temat komputerów.
One:
- piszesz oprogramowanie, które można spożywać nieograniczonej ilości czasu procesora, pamięci i dysk przestrzeń tak dbają (lub przynajmniej spróbować opieki) świadczenia, albo za pomocą takich rzeczy
-O3
,time
, profilowania, memcheck i spędzają godziny mniej lub bardziej losowo zmieniając kod, aby uzyskać przyspieszenie lub bezmyślnie stosując mityczne sztuczki w swoich pismach.- używaj liczb rzeczywistych i wiedz, że jest to wystarczająco trudne, aby istniała osobna nauka o nazwie „numeryczna”.
- często używają bardzo specyficznych języków programowania / bibliotek / programów i są bardzo fanatyczni; wojny płomieniowe są powszechne, głównie o wyniki.
- nazywają swoje programy „kodami”, aby podkreślić, że mają tak zaciemniony interfejs użytkownika, że tylko ich twórcy wiedzą, jak go używać.
- zwykle działa na Linuksie lub przynajmniej używa PuTTY do ssh do niektórych stacji roboczych / klastrów Linux.
źródło
Prawdopodobnie jestem kombinacją Old-School CS i New-school web developers : Nauczyłem się programowania, pisząc strony internetowe z PHP, JavaScript i SQL, a teraz uczęszczam na uniwersytet, gdzie wszystko odbywa się w wierszach poleceń i Emacsie w systemie UNIX.
źródło
Uważaj mnie za faceta ze starej szkoły. Jednak nigdy nie robiłem LISP dobrze. Emacs? Nah,
vi
aset -o vi
w swojej skorupy dla mnie dziękuję.źródło