Для внешнего мира программисты, программисты, разработчики программного обеспечения и разработчики могут показаться одинаковыми, но это далеко не так для людей, которые создают программное обеспечение для жизни. Возможности и знания любого отдельного программиста могут варьироваться очень широко, а также их инструменты (ОС, язык и, да, предпочтительный редактор), и это разнообразие порождает множество субкультур в программном обеспечении - как программисты, которые активно используют Stack Overflow и этот сайт, против многих других, кто этого не делает.
Мне любопытно услышать от других, с какими программными субкультурами они сталкивались, к которым они относились, которыми восхищались, не любили или даже создавали. Для начала я столкнулся с:
- Компании и разработчики под управлением Microsoft : весь их стек от Redmond, WA. Электронная почта это Outlook это электронная почта. Интернет - это IE и IIS. У них есть большие подшивки их подписки MS Developer Network, полные нескольких версий VB, .net, Visual Studio и т. Д. Избегает работы с оболочкой / командной строкой. Не понимаю, что за суета с открытым исходным кодом и все такое. MS-ориентированные компании, как правило, 9-5 и вполне корпоративные (движимые бизнес-менеджерами, а не программистами). В настоящее время (учитывая широкую доступность инструментов, не принадлежащих MS), это антитезис хакерской культуры.
- Старые люди из CS : они часто очень хорошо знают 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 : много обучения статистике, байесовским моделям и умозаключениям; не говори «ИИ», говори «машинное обучение». Больше Java, чем Lisp, но также может быть опытным программистом на Haskell. Наблюдение за крупными реальными успехами экспертов в своей области (Google, финансы / кванты) часто делает их (чрезмерно) уверенными. Но большие данные и их распределенная обработка действительно меняют мир.
Приведенные выше примеры ни в коем случае не являются полными, правильными, ортогональными или объективными. :) Только то, что я видел лично, и предоставило, чтобы зажечь некоторое обсуждение и обрисовать в общих чертах вопрос. Не стесняйтесь не соглашаться!
Ответы:
Я бы считал себя частью группы систем реального времени . Есть некоторые характеристики «старой школы», но с меньшим акцентом на CS, больше на аппаратном обеспечении.
Архетип:
источник
Не забудьте программистов мэйнфреймов. Они тоже субкультура.
источник
Я представляю одинокий контингент Delphi Devs до 30 лет. Наша группа мала, но наши сердца большие.
источник
Я предполагаю, что существует несколько культур, которые как-то живут вместе, а не борются и как-то трансцендентно:
Обратите внимание, что:
Я думаю, что в настоящее время я в основном с открытым исходным кодом с небольшим влиянием академии (пассивной).
источник
Я вроде как в лагере Alt.NET/old-school CS. Я работаю с технологией Microsoft (C # и т. Д.), Но я знаю, что вокруг меня целый мир, другие языки, алгоритмы, фреймворки, «все под капотом» и т. Д. Очевидно, не идеально, но это работа в ходе выполнения.
источник
Я не совсем согласен с этим утверждением о субкультуре MS: «Не понимаю, что такое шумиха с открытым исходным кодом и тому подобное - кроме того, кому нужно знать другой язык? В общем, я нашел такие места, чтобы 9-5 и вполне корпоративный (управляемый бизнес-менеджерами, а не программистами). Анти-тезис о хакерской культуре. " Я уже работал в двух магазинах .Net, и обстановка на самом деле была очень хакерской. Мы использовали много проектов с открытым исходным кодом в нашей работе. В моем варианте все зависит от того, с какими людьми вы работаете. Если они настоящие разработчики, они будут постоянно искать пути улучшения, расширяться. Какие технологии они используют, не имеет значения.
Не забывайте о субкультуре Agile Methodology, в которую входят разработчики из разных областей.
источник
Я думаю, что есть какая-то золотая середина между Old School CS и веб-разработчиками New School .
Я бы традиционно считал себя «веб-разработчиком». PHP и Java и граждане первого класса для меня, наряду с правильным, смысловым, действительным HTML / CSS. Добавьте SQL, и вы получите надежный, хорошо округленный набор навыков.
Переместите новую школу в Script Kiddies и ребрендинг веб-разработчика .
Сценарий Kiddies - Люди с небольшим, если таковые имеются, «под капотом» знаниями о языке. Имеет тенденцию гуглить учебники, прежде чем слепо копировать / вставлять код на место. Обычно не полностью понимает синтаксис более чем одного языка.
источник
Ученые, которые проводят исследования с использованием компьютеров, а не исследования о компьютерах.
Они:
- пишут программное обеспечение , которое может потреблять неограниченное количество процессорного времени, память и дисковое пространство , так что они заботятся (или , по крайней мере , попытаться помощь) производительности, либо с использованием вещи , как
-O3
,time
, профайлеры, MemCheck и тратить часы более или менее случайное изменение кода для ускорения или бездумное применение некоторых мифических трюков к своим сценариям.- используйте реальные цифры и знайте, что это достаточно сложно, чтобы существовала отдельная наука под названием «цифры».
- часто используют некоторые очень специфические языки программирования / библиотеки / программы и очень фанатичны в этом отношении; пламенные войны распространены, в основном из-за производительности.
- Назовите свои программы «кодами», чтобы подчеркнуть, что у них настолько запутанный пользовательский интерфейс, что только его создатели знают, как им пользоваться.
- обычно работают в Linux или, по крайней мере, используют PuTTY для подключения ssh к какой-либо рабочей станции / кластеру Linux.
источник
Я, вероятно, сочетание старших школьников CS и веб-разработчиков New-school : я изучал программирование, написав веб-сайты на PHP, Javascript и SQL, и сейчас учусь в университете, где все делается в командной строке и Emacs в UNIX.
источник
Считай меня, как парня из "старой школы". Я никогда не делал LISP хорошо, хотя. Emacs? Нет,
vi
аset -o vi
в моей оболочке за меня спасибо.источник