Які субкультури програмування / програмного забезпечення існують? Що їх визначає? До якого ви належите? [зачинено]


13

Зовнішньому світу програмісти, комп'ютерні науковці, інженери програмного забезпечення та розробники можуть здатися схожими, але це далеко не так для людей, які створюють програмне забезпечення для життя. Можливості та знання будь-якого програміста можуть варіюватися в широких межах, а також їх інструменти (ОС, мова та так, бажаний редактор), і це різноманіття породжує багато субкультур у програмному забезпеченні - наприклад, програмісти, які активно використовують Stack Overflow та цей сайт, проти багатьох інших, хто цього не робить.

Мені цікаво почути від інших, до яких програмних субкультур вони стикалися, належали, захоплювалися, не любили або навіть створювали. Для початку я стикався:

  • Компанії та розробники, керовані Microsoft : весь їхній стек - від компанії Redmond, WA. Електронна пошта Outlook - це електронна пошта. Мережа - IE та IIS. Вони мають великі в'яжучі підписки на свою мережу MS Developer, наповнені кількома версіями VB, .net, Visual Studio тощо. Уникайте роботи з оболонкою / командним рядком. Не бачите, у чому це суєта з відкритим кодом та таке. Компанії, орієнтовані на MS, мають тенденцію 9-5 та досить корпоративні (керуються менеджерами бізнесу, а не програмними особами). Сьогодні (зважаючи на широку доступність інструментів, що не належать до MS), це є антитезою хакерської культури.
  • Люди зі старого шкільного віку : вони часто дуже добре знають Lisp та Unix; іноді вони, можливо, самі написали напівпопулярний Lisp або системну утиліту. Мало хто, якщо таке є, "інженерія програмного забезпечення" для них не є новою, і не вражає таких. Знайте посилання, історію та наслідки мов програмування, таких як Lisp, C, Prolog та Smalltalk. Може бути гірко з приводу результатів ШІ 80-х та 90-х. Як правило, користувачі Emacs. Можна набирати багаторядкові команди оболонки, не моргаючи оком. Їх поради можуть бути загадковими, але містять золото, колись зрозуміло.
  • Веб-розробники для нових шкіл : грали з комп’ютерами та відеоіграми, підростаючи, але часто насправді почали програмувати в кінці 90-х або на початку 00-х. Зручний з 1–1,5 сценарійними / динамічними мовами; думаю, що C і мови поза Ruby / Perl / Python непотрібні / магічні. Можливо, спочатку HTML розглядав як програмування. Прагнуть придбати Mac і будьте фанатичні / ірраціональні щодо цього. Використовуйте рамки більше, ніж будуйте їх. Часто надто захоплені NoSQL та / або Ruby On Rails.
  • CS для нових шкіл : багато навчання статистиці, байесівським моделям та висновкам; не кажіть "AI", а "машинне навчання". Більше Java, ніж Лісп, але також можуть бути досвідченими програмістами Haskell. Бачити основні реальні успіхи експертів у своїй галузі (Google, фінанси / учасники) часто робить їх (над) впевненими. Але великі дані та розподілена обробка таких дійсно змінюють світ.

Наведені вище приклади аж ніяк не є повними, правильними, ортогональними чи об'єктивними. :) Якраз те, що я бачив особисто, і забезпечив розгорнуту дискусію та окреслення більш широкого питання. Не соромтеся погоджуватися!


1
"Lil" невиразно, але звучить цікаво.
Грак

6
Я думаю, що відповіді показують одне: запитання намагається провести чіткі розділові лінії там, де насправді немає. Ми маємо справу з приблизно 5 ортогональними концепціями, кожна з яких є континуумом, і намагаємось розділити цю гіперплан на легко ідентифіковані дискретні групи. ІМО, це безнадійне починання.
Джеррі Труну

3
@Jerry Coffin - так, згоден. Не кажучи вже про те, що деякі відповіді межують з образливими по відношенню до деяких "культур", ІМХО. Однак ці відповіді приємні тим, що вони показують, що сьогодні (програмісти? Чи принаймні ця спільнота) думають про інші спільноти, які складають навіть частину цієї (у невеликому відсотку).
Грак

@ JerryCoffin Добре, сер, є люди, які хочуть використовувати це слово "ортогональне", і ті, хто не тільки тому, що це було популярно в стеці в останні десятиліття ...
Ерік Reppen

Відповіді:


12

Я вважаю себе частиною групи « Системи реального часу» . Є деякі характеристики "Old School", але з меншою увагою на CS, більше на апаратному забезпеченні.

Архетип:

  • Володіє експертними знаннями "C"
    • Має оригінальну копію K&R
    • Пише іншими мовами так, ніби вони є лише альтернативним синтаксисом для 'C'
  • Може передбачити вихід асемблера з їх коду.
  • Може прочитати схему
  • Не знає, як написати код, не роблячи «передчасну оптимізацію».
  • Цілком комфортно з командним рядком.

Захоплююче, дякую. Я зустрічав деяких людей у ​​режимі реального часу, але не працював у такому місці, тому не намагався охарактеризувати культуру. Я думаю, що багато хто з нас, програмістів, назвали би вас "хлопцями". :)
ліміст

1
Я думаю, це як і будь-яка інша дисципліна - є жорсткі «рок-зірки», а там - звичайні старі скелі. (Я сподіваюся, що я десь між ними)
AShelly

2
Я теж в цій групі. Більшість моїх колег "підійшли" до цього місця з інженерії електроніки, але я "спустився" до цього, оскільки був розробником бази даних / додатків. Зараз мені дуже комфортно в цій групі, і іноді мій різний досвід може принести іншу корисну перспективу.
Вікі

1
Також це може бути моє сприйняття, але відчувається, що жінки в цій групі навіть рідше, ніж в інших групах.
Вікі

1
Нічого собі - це описує мене майже ідеально, за винятком того, що я не тільки читаю схеми, я теж проектую схеми. Працював над моєю першою вбудованою системою (в PL / M-86) наприкінці 1970-х.
tcrosley

6

Не забувайте програмістів мейнфрейму. Вони теж субкультура.


1
Я б із задоволенням почув більше про культуру кодерів мейнфреймів; Я зустрічав дуже мало людей, які навіть багато часу проводять з мейнфреймами, не кажучи вже про регулярне кодування.
ліміст

1
Це люди з поважними стрижками, які не відрізняються від інших людей, що носять ділові костюми. Їм подобається COBOL. Для них немає іншої системи, крім системи / 360.
oosterwal

5

Я представляю самотній контингент Дельфі Девс до 30 років. Наш какус невеликий, але наші серця великі.


Деякі з моїх колег - <30.
Toon Krijthe

2
Що ж, скажіть, щоб розпочати обмін стеками, і ми можемо поговорити про нові функції, ми попросимо старого Джонні Борланда реалізувати після того, як ви мертві ;-)
Пітер Тернер

4

Я здогадуюсь, що існує кілька культур, які якось живуть поруч, а не борються і якимось чином трансцендують:

  • Хакерська / відкрита культура : код обміну, використовує справжнє ім’я чи ні. Зосереджено, ймовірно, на невеликих інструментах, які вирішують одну проблему. Дозволяє хаки в програмі. Мови: C , Lisp , C ++ , Python . Можливо, перегукується з вашими людьми з старої школи .
  • Академія : зосередженість на алгоритмах та правильність роботи. Справжнє ім’я обов’язково (воно все одно з’являється на папері). Мови: Java , Haskell , ( F # ?)
  • Відповідь : концентрація на розчинах (мабуть, у всьому). Якщо з відкритим кодом, то давати ім'я не потрібно . Мови: Java , C # , VB.net , Ruby .
  • " Середня школа ": вона товари, якщо вона працює, але це не обов'язково. Концентрація на таких назвах, як "SuperProgram 1.0 для Windows XP". (вибачте - я не знайшов хорошого імені, але маю на увазі програмістів, які почали освоювати CS і не дуже добре в ньому - принаймні поки що). Мови: PHP , VB , Ruby
  • Нові веб-розробники шкіл : Як вище.

Будь ласка, зверніть увагу, що:

  • можна змішати культури в організаціях та в одній людині. Насправді це часто трапляється.
  • Мови є ПРИКЛАДАми, і це, наприклад, досить велика група "хакерів", які працюють над C #. Це більше гра в асоціації, а справжнє дослідження, тому, будь ласка, не ображайтесь (так - я знаю, що є великі програми, написані на PHP з хорошою інженерною практикою тощо. Але це, як правило, є першою мовою для багатьох людей, які не хочуть не знаю, що, наприклад, XSS)
  • Я не хотів когось ображати на ім’я High School. Я мав на увазі, що це часто перший крок до програмування через цю культуру (і, сподіваюся, не останній)
  • Редагувати: Академія не означає, що людина перебуває в академії, а також те, що вона знаходиться в академії, не означає, що хтось належить до академії (незважаючи на те, що вона є геніальною вченою / дослідницею тощо) Він позначає, що він надає перевагу інструментам, який дає чітке, очевидно правильне рішення, навіть якщо йому не вистачає продуктивності / потребує більш тривалого часу / ... Подібні Корпоративна культура не рівнозначна корпораціям.

Я думаю, що зараз я переважно з відкритим кодом із незначним впливом Academia (пасивний).


Я тільки думав про сильне перекриття сучасної субкультури CS / academia та програмістів Haskell. Трохи погравши з Haskell, я можу зрозуміти, чому це подобається тим, хто навчається з формальних наук (CS, математика), і, справді, я вважаю, що Haskell допомагає бачити програмування з вищого рівня.
ліміст

Тільки Ява та Хаскелл в Академії? А як щодо Fortran, C, C ++, R, MATLAB, * sh + awk (так, я знаю таких людей), Mathematica, Python, LabVIEW? Також Haskell, мабуть, слід замінити на "будь-яку функціональну мову".
mbq

Це приклад. Приклади BIASED . Як я зазначив, мови НЕ є специфічними для культури. Також зверніть увагу, що культура академій не обмежується академією, і не всі в академіях повинні сприймати культуру академічних шкіл. Хоча я погоджуюся, що Fotran / C / C ++ / R / Matlab / ... використовуються в академічних колах, вони не формують з ним сильної асоціації. * sh + awk, безумовно, не є академічним (як культура - користувач може працювати в академії та бути геніальним вченим - це зовсім інша річ0.
Maciej Piechotka,

1
Я думаю, ти йдеш до наукових кадрів з інформатики.
mbq

2

Я начебто в таборі CS Alt.NET/old-school. Я працюю з технологією Microsoft (C # та ін.), Але я усвідомлюю, що навколо мене є цілий світ, інші мови, алгоритми, рамки, "речі під капотом" і т. Д. Не ідеально, очевидно, але це робота в процесі.


1
Натовп Alt.NET - це, безумовно, субкультура програмування, і абсолютно не відрізняється від лімістського опису культури, керованої Microsoft (для мене це звучить більше, як ця культура була десятиліття тому, ніж те, що є зараз).
Carson63000

2

Я не повністю згоден з цим твердженням про субкультуру МС: "Не бачите, у чому суєта з відкритим кодом і подібним - крім того, кому потрібно знати іншу мову? Взагалі, я знайшов такі місця, щоб бути 9-5 і досить корпоративний (керується менеджерами бізнесу, а не програмними людьми). Антитеза про хакерську культуру ". Я працював у двох магазинах .Net, і навколишнє середовище було дуже хакерським. Ми працювали у багатьох проектах з відкритим кодом. На мій вибір, все залежить від того, з якими людьми працює людина. Якщо вони справжні розробники, вони постійно шукатимуть шляхи вдосконалення, розгалуження. Які технології вони використовують, не має значення.

Не забувайте про субкультуру Agile Methodology, яка включає розробників з різних груп.


Так, спритні люди - це субкультура. Хороший момент. розробник та інструмент, і, звичайно, ваш досвід цілком може відрізнятися від мого. З мого обмеженого відбору проб я лише встановив, що інструменти досить сильно сформували виробників.
ліміст

Я працював у магазині MS (і я навіть можу бути фанбоєм), але менталітет, який я відчував, - це "зверніться до MS спочатку, якщо він безкоштовний, то використовуйте його. В іншому випадку шукайте все, і все, що є в наявності для заповнення потреби . "
Стівен Еверс

2

Я думаю, що серед Old School CS та New School Web Developers буде середнє місце .

Я б традиційно вважав себе "веб-розробником". PHP та Java та громадяни першого класу для мене, поряд із належним, символічним, дійсним HTML / CSS. Увійдіть у SQL і у вас є надійний, добре округлений набір навичок.

Перемістіть нову школу до сценаріїв дітей та перейміть веб-розробник .

Діти сценарію - люди з мало, якщо такі є, «під кришкою» знань про мову. Як правило, Google підручники перед тим, як сліпо скопіювати / вставити код на місце. Зазвичай не повністю розуміє синтаксис більш ніж однієї мови.


2

Вчені, які проводять дослідження за допомогою комп’ютерів, а не дослідження комп'ютерів.

Вони:
- пишуть програмне забезпечення , яке може споживати необмежену кількість процесорного часу, пам'ять та дисковий простір , так що вони піклуються (або , по крайней мере , спробувати допомогу) продуктивності, або з використанням речі , як -O3, time, профайлери, MemCheck і витрачати годинник більш-менш довільно змінюючи код, щоб зібрати деякий прискорений або безглуздо застосувати якісь міфічні хитрощі до своїх скриптів
- використовуйте реальні числа і знайте, що це досить хитро, щоб могла існувати окрема наука під назвою "числові".
- часто використовують деякі дуже специфічні мови програмування / бібліотеки / програми і дуже фанатично ставляться до цього; полум’яні війни поширені, переважно щодо продуктивності.
- називати свої програми "кодами", щоб підкреслити, що у них настільки заплутаний користувальницький інтерфейс, щоб тільки їхні творці знали, як ним користуватися.
- зазвичай працюють в Linux або принаймні використовують PuTTY для ssh на якусь робочу станцію / кластер Linux.


1
Так, я теж в цьому клубі. Цей список є гарним початком для опису типового фізика високої енергії (я маю на увазі, вивчає кварки, не випив занадто багато кави) або астронома, який працює з нинішніми великими інструментами.
DarenW

1
Оскільки ця субкультура дуже піклується про практичну, повторювану та надзвичайну ефективність, вони часто мало піклуються про більшість речей, що відбуваються у світі інформатики, якщо це не стосується паралельної обробки, розумних схем кешування, HPC тощо .
DarenW

@DarenW: Що ти означає, що їх мало хвилює світ інформатики? Ви маєте на увазі, як вони не дбають про добру практику програмного забезпечення тощо? Бо я б не погодився. Піклуючись про ефективність, не потрібно викидати хороші принципи інженерії програмного забезпечення.
n1ckp

1

Я, мабуть, є комбінацією людей, які займаються програмою CS Old Old School та веб-розробників New School : я навчився програмуванню, написавши веб-сайти з PHP, Javascript та SQL, і зараз відвідую університет, де все робиться в командних підказках та Emacs під UNIX.


0

Зарахуйте мене як хлопця "старої школи". Я ніколи не робив добре LISP. Emacs? Ні, viі set -o viв своїй оболонці за мене дякую.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.