Да про девиантов тоже хорошего мало говорят. Впрочем, что девиант, что маргинал — и то, и другое может иметь как отрицательные, так и положительные последствия. Маргиналы не обязательно на дно опускаются. Если их много, так они вообще до революции могут докатиться. Монархическая революция — это было бы круто. А там и реформа языка, как же без неё :)
Интересное понятие, благодарю за наводку, я как-то давно его уже подзабыл… а может и не знал никогда толком :)
Ну что ж, согласен, Mithgol у нас межкультурный феномен. Не сказать, что взял из двух культур лучше, но что взял, то взял :) Сплав-то интересный получился. Судьба только у маргиналов не сахер. Свой среди чужих, чужой среди своих, да и хрен из знает, где тут свои. Зато жить нескучно.
Интересно ещё и то, что одна культура как бы искусственная, расконсервированная из пыльных томов. Практически вымершая, как латынь. Островки ещё наверное остались за рубежом, но вряд ли Mithgol из бывших дворян-островитян.
Забавно, не так давно приходила в голову мысль «эх, было бы что-нибудь типа XUL или XAML, но на основе YAML. И вот оно :)
Кстати, в комментах там многие недовольны, типа что за JSON, надо всё на XML. Предлагаю вам такой аргумент в подобных спорах: „JSON — подмножество YAML, языка не на много моложе XML, живёт с 2001 года, RFC 2822 (который основан на знаменитом RFC 822 от 1982 года). Просто менее популяризированный, но гораздо более человекочитаемый, и, главное, человекописательный“ :)
Я сам про YAML узнал недавно. Проект, которым сейчас занят, использует RDF и OWL, в основе тут XML обычно. Но есть и более простые формы записи (Turtle), в основе которых как раз YAML. Это просто спасение. Разумеется, есть конверторы туда-сюда-обратно. И поддержка самого YAML (и JSON) в куче языков. Мода на XML — это мода, и ничего более. Да, иногда это посредник между человеком и машиной (хотя сделан скорее для обмена между машинами разных платформ), и он чуть ближе к человеку, чем форматы до него. Но это далеко не идеал, пусть лучше машина за меня пишет/читает, чем я за неё :)
Со мной что-то случится :) Плюсам-то да, ничего не будет. Хуже того, что уже есть. Отток молодых имею ввиду. Или скорее отсутствие притока.
И мне придётся перепрыгивать с Visual Studio. Не помру, справлюсь, иногда юзаю Eclipse, в чём-то он лучше, но там в основном на Java пишу, некорректное сравнение. В «детстве» юзал Borland C++. Кое-что вообще без IDE пишется прекрасно, в Notepad++. Но вообще подсел я на эту студию, давно вне конкуренции для меня лично.
Впрочем, переход на .NET, C#, WPF совершенно не исключаю. Когда (и если) дозреют. Тонкие ценители перечисленного — не ругайтесь. У каждого свои критерии для оценки. О причинах «недооценки» WPF, к примеру, я писал. Это совершенно не означает, что мне не нравится технология. Наоборот, для графики я собираюсь опробовать WPF в С++ обёртке или как внешний процесс.
Там много что есть. Свой браузер, например, Webkit вроде. Свой движок ECMAScript и т.п.
Но не тем путём идут товарищи вот именно в этом вопросе. Закрытость платформы ведёт к её коллапсу, ака Дельфи.
С той же MFC я могу CppUnit юзать, а могу и Boost.Test. И ещё полдюжины всяких разных.
Впрочем, я надеюсь, что и с Qt многое стороннее вполне можно использовать.
Жаль. MFC я в юнит-тестах спокойно запускаю несколько раз (т.е. GUI запускаю в консоли, WinMain в main), и это работает. В нескольких файлах тестов у меня несколько «микро-приложений» — с наследованием от CWinApp, CWindow. Кто-то говорит, что GUI очень сложно тестить автоматически. Хм. Если целиком всю махину — то конечно. Но тогда это уже не юнит тестирование. А если писать так, что целое легко разобрать на запчасти — то вполне легко и тестить.
Огорчает, что Microsoft вообще сокращает поддержку C++. Встроенное тестирование, Calculate Code Metrics, и т.п. — всё это доступно лишь для C#, Visual Basic, на крайняк в C++/CLI. Наличие поддержки последнего говорит о том, что это чистый маркетинг, а не технические сложности.
Да, Qt — вещь. Я сказал тут чуть выше, что уже присматриваюсь, но я обычно смотрю руками :) Я писал немного на Qt. Порог вхождения низок. При том, что дело осложняло переход с Windows на Linux, с Visual Studio на KDevelop, я написал требуемое за пару недель не напрягаясь, скорее получая удовольствие. Слегка переделать мозги понадобилось лишь для понимания сигналов и слотов, непривычна была концепция moc.
WPF юзал конечно же на C#. Я не такой уж «полиглот», но считаю, что глупо соваться в чужой монастырь со своим уставом. Сейчас пишу проект, где ядро «IDE» на C++, основной функционал вынесен в отдельные процессы на Java (из-за готовых библиотек в предметной области), работа с текстом и HTML/CSS — на Perl. И в «IDE» ещё встроил Lua scripting ради гибкости без перекомпиляции и кастомизации юзерами. И есть ещё .cmd-батники. В общем, где что больше подходит, на том стараюсь и писать. При этом не забывая использовать имеющийся опыт и наработки.
Зато весьма и весьма приличный рейтинг.
Довольно часто это признак оригинально и независимо мыслящего человека на Хабре, давно заметил.
Нулевая сумма при таком количестве задетых за живое — далеко, очень далеко не нейтральность, зря вы так. Это буйство стихий в гармоничном равновесии :)
Когда Mithgol только появился на Хабре, я сгоряча поставил ему плюс. Потом пожалел, что поставил. Потом пожалел, что пожалел. Потом пожалел, что нельзя ему ставить все имеющиеся у меня плюсы, чтобы его не затоптали. Потом понял, что его есть кому пожалеть. Сейчас начинаю понимать, что он в жалости не нуждается. Начинаю жалеть себя :)
Мы привыкли говорить «сделай морду попроще, и люди к тебе потянутся». Но разве плохо, что кто-то имеет своё лицо среди простых морд? Пусть даже и не слишком привлекательное :)
Я сразу сказал, почему MFC неудобная — потому что это хоть и обёртка, но тонкая. Большинство её проблем — прямое следствие проблем WinAPI, с его синтаксисом и отсутствием лаконичности с понятностью.
Опять же, нежелание Microsoft переписать MFC с нуля тоже вполне объяснимо. Не их стиль. Их фишка — совместимость. Я качал древние проекты на MFC с codeproject.com, компилил в Visual Studio, которая старше на несколько поколений — и всё работало. Правки очень редки и минимальны, типа заменить UINT на UINT_PTR в одном месте.
Проблемы же от стрельбы в ногу — ну, это уже проблемы самого программиста. Просто не давайте чужому коду оружия: я всегда пишу отдельную DLL, где располагается реализованный мною функционал, а GUI в EXE отдельно стоит и не вмешивается, там никакой стрельбы и других рискованных занятий, всё работает как часы, баги редки до ужаса, вот в чём весь ужас. Поэтому если я в DLL стреляю себе в ногу, я точно знаю, что виноват сам, и не на кого валить свой промах. Ну или попадание. В ногу :)
MFC — тонкая обёрка над WinAPI (классическая фраза). В меру удобная, потому что обёртка, в меру неудобная, потому что тонкая :)
Очень удобна для изучения WinAPI, потому что не мешает до него добираться, и помогает не повешаться/застрелиться/выпить яду (нужное подчеркнуть) в процессе изучения.
После слияния в экстазе с более молодой и продвинутой ATL, старенькая MFC существенно похорошела. Новый набор контролов (давно ожидаемый, заменивший кучу сторонних расширений) добавил старушке привлекательности. Интерфейс а'ля MS Office, риббоны и прочая…
Чем MFC лучше WPF, например? (Ещё раз, я не говорю «лучше», я говорю «чем лучше», для кого-то минусы перевесят плюсы, но это же не значит, что плюсов совсем нет). Например, визард сгенерит кучу вариантов заготовки вашего приложения за секунды, нужно лишь выбрать нужные опции. А мой коллега, агитирующий за WPF, лишь за неделю сделал маленькую часть всего одной такой заготовки, к тому же глючную. И без таких давно стандартных фич, как горячие клавиши, хинты в статусбаре и т.п. Оно может и не надо сейчас кому-то, но в корпоративной среде… Там всё стабильно, если не сказать старомодно. WPF ещё долго нарабатывать ту базу кода, что давно отлажена в MFC.
Впрочем, сам я смотрел в сторону WPF давненько. На тот момент там ещё не определились даже с таким важным механизмом, как маршрутизация команд, народ делал свои альтернативные реализации. Называть настолько недоделанные вещи фреймворком… обман, имхо. Это так, набор классов, конструктор лего, комплект «сделай сам». WPF скорее сама новое API, нуждающееся в обёртке, чем библиотека над каким-то API.
Вот… А MFC вещь завершённая, зрелая, чем и хороша. От чего и помрёт. После зрелости не избежать старости. Но она прожила долгую славную жизнь. Хоть и не вся слава была доброй :) О её смене пока нельзя этого сказать, и долго ещё нельзя будет. (Я пока присматриваюсь к Qt, тоже долгожительница, к тому же ей всё равно где жить.)
Могу лишь повторить, что я не против всестороннего образования. Просто этим человек должен заниматься сам. Меня и программистом-то взяли «за кругозор и эрудицию», как мне потом признались через какое-то время после собеседования. Точнее, взяли тестером, а потом я уже доказал на деле, что могу работать программистом.
У нас многие руководители отделов выпускники «курсов/пту/техникумов». Это показательно, на фирме 250 человек работает (в русских филиалах). Отшибают у человека волю и тягу к саморазвитию напрочь в наших вузах. Ну это я так интерпретирую, у вас может быть другое объяснение найдётся. Я не замкнут на своём опыте, чужой мне тоже интересен.
Если взять за… одно место, и хорошо сжать, то очень даже рилейтед, и даже весьма реалистик. Это как бэ намекает. ДНК ещё только не хватает. Но и это рано или поздно… выжмут.
Изучать «все стороны» кроме одной (действительно нужной) целых 2 года — это не всестороннее образование, а «многобокое» :) Нельзя ведь сказать, что однобокое, но главного направления явно не хватает.
Специализация практически всегда лучше универсальности. И не зря люди поступают не просто в универ, а на вполне определённый факультет. Иначе было бы только один факультет — всесторонний.
Я только со своей колокольни могу судить. Принимаем студентов со специальностью «программист» (разные названия в разных вузах). Продолжать наверное не стоит. Об уровне качества образования выпускников уже писалось не раз. Причём практически без разницы, что за человек — бывает, что это отличник по жизни, золотая медаль в школе, красный диплом в вузе, победитель олимпиад… Но к работе человек не готов. И долго ещё не будет готов. 5 лет коту под… всестороннее образование.
Всесторонне человек должен развиваться сам. Образование во все стороны из под палки только отбивает любознательность и тягу к новому (да и времени на расширение кругозора после такой учёбы уже нет — нужно спешно подтягивать ту сторону, которой не уделялось должного внимания). В универе должны учить тому, за что человек платит, тому, чему обещали научить (см. название специальности при поступлении). Любые отмазки про «всестороннее» — это оправдание ненужных дополнений, которые втюхивают до кучи. Поди проверь качество всестороннего образования! Нет критериев. А вот по специальности — легко. Почти ноль. Но отмазка «ну мы же дали вам фундаментальное, всестороннее» — действует. Пока. Надеюсь дожить до лучших времён. Когда дополнения будут именно дополнениями. После главного. Когда средний бал будет вычисляться так: 90% по основному предмету, и 10% на все оставшиеся стороны. Мне не нужен выпускник с пятёрками по философии и экологии — мне нужен полноценный член команды после двух месяцев испытательного срока. У нас на бесплатных курсах за пару месяцев изучают программирование глубже, чем в вузе. И пользы больше. Сорри за нытьё. У кого что болит, тот о том и… ноет :)
Кстати, я не всю жизнь был программистом. Работал несколько лет кабельщиком-спайщиком, связистом-телефонистом. Учился на это дело. Та же ситуация. Только я познавал её с другой стороны баррикады. Быстро понял, что мог сэкономить несколько лет жизни (себе и преподавателям :) ), если бы сразу на курсы пошёл. Даже интересно — а бывает по другому? :)
Во-первых, «должны проектировать» и «проектируют» — разные вещи. Дизайнеров интерфейсов куда меньше, чем программистов. Небольших проектов, которые от начала до конца делает один человек, куда больше, чем больших, над которыми работают командами, где найдётся место и дизайнеру.
Во-вторых, сделать «чтобы понравилось» в 100 раз лучше, чем «сделать хорошо», в том случае, если нравится клиенту, а хорошо… кому угодно, кроме клиента :) Даже если хорошо самому клиенту, но он об этом не догадывается, то продуктом он пользоваться не будет и не заплатит. А кому от этого хорошо? :)
Попытки подобной классификации хороши даже в том случае, если они редко приносят пользу. Приносят ведь? И то ладно. Вред ведь не приносят? Вообще интересно, откуда у вас накопилась такая статистика, да и само наличие критерия подобия вызывает сомнения. Буду рад, если рассеете их, и поделитесь источником информации или личным опытом. Если я тут и иронизирую, то так, по минимуму :)
Лично мне статья отчасти прояснила поведение некоторых клиентов, с которыми я никак не мог найти общий язык. Я, конечно же, говорил себе — «все люди разные» — но утешало слабо, никак не мог понять, почему уж настолько разные :) И мне кажется весьма интересной идея применения психологии не для усреднения потенциального юзера, а для разделения аудитории на категории. Тут уже есть несколько комментов в тему «да проще за реальным юзером понаблюдать». Но если автор программы один, а юзеров много, то как быть? И даже если пишешь «для одного знакомого», и есть время для наблюдения (у обоих), и согласие объекта наблюдения, то статья всё равно полезна для интерпретации личных наблюдений — уже лучше понимаешь, как и за чем именно следует наблюдать. Частности важны, но не настолько, чтобы сплеча рубить все попытки классификации. Если же не нравятся только «подобные», то хотелось бы узнать про альтернативные.
Все авторы программных продуктов слушают, что говорят их пользователи (в т.ч. разработчики). Интересна разница в подходах.
Некоторые, более-менее удовлетворив запросы основной массы, начинают прислушиваться к активным пользователям, выделяющимися из основной массы. Активно требующими неких только им нужных фич. Сколь угодно странных с точки зрения как основной массы пользователей продукта, так и его авторов. Либеральные авторы продукта позволяют самым экстремистким меньшинствам делать то, что им вздумается, просто дав такую простую вещь, как свободу (документацию, SDK, инструментарий, систему плагинов, устойчивость к изменениям извне и запас по прочности и скорости).
Другие же продолжнают суммировать мнения пользователей. Активных, которые выражают своё мнение, и пассивных, мнение которых авторы продукта собирают сами по различным выборкам, моделируют, предугадывают и т.п. Некоторые особо самонадеянные даже пытаются формировать, направлять, и объяснять основной массе пользователей, что им на самом деле нужно. Где же свобода? А нахрена кому-то эта бесполезная, к тому же опасная и вредная штука? :)
Это пренебрежение к меньшинству (плохо скрываемое за вежливостью), желание впихнуть всех в общие рамки, научить «как надо» — весь этот тоталитаризм крупной корпорации красной нитью проходит через топик и ответы в комментах.
Но давайте не будем этим заморачиваться (как будто мы первый раз узрели такое поведение). Посмотрим на главное — под давлением общественного мнения и объективной реальности корпоративный монстр наконец-то зашевелился и серьёзно улучшил продукт по нескольким направлениям. Да, не по всем. Продолжаем давить и тыкать в глаза фактами. Оно фыркает и огрызается, но медленно ползёт куда нам нужно.
Не забываем ещё и про то, что доброе слово даже монстру приятно. Пинаем с одного боку, гладим с другого: «Плохой монстр, плохой! Хороший монстрик, хороший...» :) Вот так, дружно, кнутом и пряником, мы рано или поздно получим всё, что нам нужно… Нет, не так… Поздно или очень поздно, и лишь то «всё», что они думают, что нам нужно. Выбор только такой с этими корпорациями :)
Ну что ж, согласен, Mithgol у нас межкультурный феномен. Не сказать, что взял из двух культур лучше, но что взял, то взял :) Сплав-то интересный получился. Судьба только у маргиналов не сахер. Свой среди чужих, чужой среди своих, да и хрен из знает, где тут свои. Зато жить нескучно.
Интересно ещё и то, что одна культура как бы искусственная, расконсервированная из пыльных томов. Практически вымершая, как латынь. Островки ещё наверное остались за рубежом, но вряд ли Mithgol из бывших дворян-островитян.
Забавно, не так давно приходила в голову мысль «эх, было бы что-нибудь типа XUL или XAML, но на основе YAML. И вот оно :)
Кстати, в комментах там многие недовольны, типа что за JSON, надо всё на XML. Предлагаю вам такой аргумент в подобных спорах: „JSON — подмножество YAML, языка не на много моложе XML, живёт с 2001 года, RFC 2822 (который основан на знаменитом RFC 822 от 1982 года). Просто менее популяризированный, но гораздо более человекочитаемый, и, главное, человекописательный“ :)
Я сам про YAML узнал недавно. Проект, которым сейчас занят, использует RDF и OWL, в основе тут XML обычно. Но есть и более простые формы записи (Turtle), в основе которых как раз YAML. Это просто спасение. Разумеется, есть конверторы туда-сюда-обратно. И поддержка самого YAML (и JSON) в куче языков. Мода на XML — это мода, и ничего более. Да, иногда это посредник между человеком и машиной (хотя сделан скорее для обмена между машинами разных платформ), и он чуть ближе к человеку, чем форматы до него. Но это далеко не идеал, пусть лучше машина за меня пишет/читает, чем я за неё :)
И killer для невезучих.
И мне придётся перепрыгивать с Visual Studio. Не помру, справлюсь, иногда юзаю Eclipse, в чём-то он лучше, но там в основном на Java пишу, некорректное сравнение. В «детстве» юзал Borland C++. Кое-что вообще без IDE пишется прекрасно, в Notepad++. Но вообще подсел я на эту студию, давно вне конкуренции для меня лично.
Впрочем, переход на .NET, C#, WPF совершенно не исключаю. Когда (и если) дозреют. Тонкие ценители перечисленного — не ругайтесь. У каждого свои критерии для оценки. О причинах «недооценки» WPF, к примеру, я писал. Это совершенно не означает, что мне не нравится технология. Наоборот, для графики я собираюсь опробовать WPF в С++ обёртке или как внешний процесс.
Но не тем путём идут товарищи вот именно в этом вопросе. Закрытость платформы ведёт к её коллапсу, ака Дельфи.
С той же MFC я могу CppUnit юзать, а могу и Boost.Test. И ещё полдюжины всяких разных.
Впрочем, я надеюсь, что и с Qt многое стороннее вполне можно использовать.
Огорчает, что Microsoft вообще сокращает поддержку C++. Встроенное тестирование, Calculate Code Metrics, и т.п. — всё это доступно лишь для C#, Visual Basic, на крайняк в C++/CLI. Наличие поддержки последнего говорит о том, что это чистый маркетинг, а не технические сложности.
Т.е. MS весь C++ пометила уже как deprecated.
WPF юзал конечно же на C#. Я не такой уж «полиглот», но считаю, что глупо соваться в чужой монастырь со своим уставом. Сейчас пишу проект, где ядро «IDE» на C++, основной функционал вынесен в отдельные процессы на Java (из-за готовых библиотек в предметной области), работа с текстом и HTML/CSS — на Perl. И в «IDE» ещё встроил Lua scripting ради гибкости без перекомпиляции и кастомизации юзерами. И есть ещё .cmd-батники. В общем, где что больше подходит, на том стараюсь и писать. При этом не забывая использовать имеющийся опыт и наработки.
Довольно часто это признак оригинально и независимо мыслящего человека на Хабре, давно заметил.
Нулевая сумма при таком количестве задетых за живое — далеко, очень далеко не нейтральность, зря вы так. Это буйство стихий в гармоничном равновесии :)
Когда Mithgol только появился на Хабре, я сгоряча поставил ему плюс. Потом пожалел, что поставил. Потом пожалел, что пожалел. Потом пожалел, что нельзя ему ставить все имеющиеся у меня плюсы, чтобы его не затоптали. Потом понял, что его есть кому пожалеть. Сейчас начинаю понимать, что он в жалости не нуждается. Начинаю жалеть себя :)
Мы привыкли говорить «сделай морду попроще, и люди к тебе потянутся». Но разве плохо, что кто-то имеет своё лицо среди простых морд? Пусть даже и не слишком привлекательное :)
> Добавление 2 к значению переменной.
А парную обратную операцию как правильно назвать? Дебилкремент или Бидэкремент? (сорри за очепятки :) )
Опять же, нежелание Microsoft переписать MFC с нуля тоже вполне объяснимо. Не их стиль. Их фишка — совместимость. Я качал древние проекты на MFC с codeproject.com, компилил в Visual Studio, которая старше на несколько поколений — и всё работало. Правки очень редки и минимальны, типа заменить UINT на UINT_PTR в одном месте.
Проблемы же от стрельбы в ногу — ну, это уже проблемы самого программиста. Просто не давайте чужому коду оружия: я всегда пишу отдельную DLL, где располагается реализованный мною функционал, а GUI в EXE отдельно стоит и не вмешивается, там никакой стрельбы и других рискованных занятий, всё работает как часы, баги редки до ужаса, вот в чём весь ужас. Поэтому если я в DLL стреляю себе в ногу, я точно знаю, что виноват сам, и не на кого валить свой промах. Ну или попадание. В ногу :)
Очень удобна для изучения WinAPI, потому что не мешает до него добираться, и помогает не повешаться/застрелиться/выпить яду (нужное подчеркнуть) в процессе изучения.
После слияния в экстазе с более молодой и продвинутой ATL, старенькая MFC существенно похорошела. Новый набор контролов (давно ожидаемый, заменивший кучу сторонних расширений) добавил старушке привлекательности. Интерфейс а'ля MS Office, риббоны и прочая…
Чем MFC лучше WPF, например? (Ещё раз, я не говорю «лучше», я говорю «чем лучше», для кого-то минусы перевесят плюсы, но это же не значит, что плюсов совсем нет). Например, визард сгенерит кучу вариантов заготовки вашего приложения за секунды, нужно лишь выбрать нужные опции. А мой коллега, агитирующий за WPF, лишь за неделю сделал маленькую часть всего одной такой заготовки, к тому же глючную. И без таких давно стандартных фич, как горячие клавиши, хинты в статусбаре и т.п. Оно может и не надо сейчас кому-то, но в корпоративной среде… Там всё стабильно, если не сказать старомодно. WPF ещё долго нарабатывать ту базу кода, что давно отлажена в MFC.
Впрочем, сам я смотрел в сторону WPF давненько. На тот момент там ещё не определились даже с таким важным механизмом, как маршрутизация команд, народ делал свои альтернативные реализации. Называть настолько недоделанные вещи фреймворком… обман, имхо. Это так, набор классов, конструктор лего, комплект «сделай сам». WPF скорее сама новое API, нуждающееся в обёртке, чем библиотека над каким-то API.
Вот… А MFC вещь завершённая, зрелая, чем и хороша. От чего и помрёт. После зрелости не избежать старости. Но она прожила долгую славную жизнь. Хоть и не вся слава была доброй :) О её смене пока нельзя этого сказать, и долго ещё нельзя будет. (Я пока присматриваюсь к Qt, тоже долгожительница, к тому же ей всё равно где жить.)
У нас многие руководители отделов выпускники «курсов/пту/техникумов». Это показательно, на фирме 250 человек работает (в русских филиалах). Отшибают у человека волю и тягу к саморазвитию напрочь в наших вузах. Ну это я так интерпретирую, у вас может быть другое объяснение найдётся. Я не замкнут на своём опыте, чужой мне тоже интересен.
Специализация практически всегда лучше универсальности. И не зря люди поступают не просто в универ, а на вполне определённый факультет. Иначе было бы только один факультет — всесторонний.
Я только со своей колокольни могу судить. Принимаем студентов со специальностью «программист» (разные названия в разных вузах). Продолжать наверное не стоит. Об уровне качества образования выпускников уже писалось не раз. Причём практически без разницы, что за человек — бывает, что это отличник по жизни, золотая медаль в школе, красный диплом в вузе, победитель олимпиад… Но к работе человек не готов. И долго ещё не будет готов. 5 лет коту под… всестороннее образование.
Всесторонне человек должен развиваться сам. Образование во все стороны из под палки только отбивает любознательность и тягу к новому (да и времени на расширение кругозора после такой учёбы уже нет — нужно спешно подтягивать ту сторону, которой не уделялось должного внимания). В универе должны учить тому, за что человек платит, тому, чему обещали научить (см. название специальности при поступлении). Любые отмазки про «всестороннее» — это оправдание ненужных дополнений, которые втюхивают до кучи. Поди проверь качество всестороннего образования! Нет критериев. А вот по специальности — легко. Почти ноль. Но отмазка «ну мы же дали вам фундаментальное, всестороннее» — действует. Пока. Надеюсь дожить до лучших времён. Когда дополнения будут именно дополнениями. После главного. Когда средний бал будет вычисляться так: 90% по основному предмету, и 10% на все оставшиеся стороны. Мне не нужен выпускник с пятёрками по философии и экологии — мне нужен полноценный член команды после двух месяцев испытательного срока. У нас на бесплатных курсах за пару месяцев изучают программирование глубже, чем в вузе. И пользы больше. Сорри за нытьё. У кого что болит, тот о том и… ноет :)
Кстати, я не всю жизнь был программистом. Работал несколько лет кабельщиком-спайщиком, связистом-телефонистом. Учился на это дело. Та же ситуация. Только я познавал её с другой стороны баррикады. Быстро понял, что мог сэкономить несколько лет жизни (себе и преподавателям :) ), если бы сразу на курсы пошёл. Даже интересно — а бывает по другому? :)
Во-вторых, сделать «чтобы понравилось» в 100 раз лучше, чем «сделать хорошо», в том случае, если нравится клиенту, а хорошо… кому угодно, кроме клиента :) Даже если хорошо самому клиенту, но он об этом не догадывается, то продуктом он пользоваться не будет и не заплатит. А кому от этого хорошо? :)
Попытки подобной классификации хороши даже в том случае, если они редко приносят пользу. Приносят ведь? И то ладно. Вред ведь не приносят? Вообще интересно, откуда у вас накопилась такая статистика, да и само наличие критерия подобия вызывает сомнения. Буду рад, если рассеете их, и поделитесь источником информации или личным опытом. Если я тут и иронизирую, то так, по минимуму :)
Лично мне статья отчасти прояснила поведение некоторых клиентов, с которыми я никак не мог найти общий язык. Я, конечно же, говорил себе — «все люди разные» — но утешало слабо, никак не мог понять, почему уж настолько разные :) И мне кажется весьма интересной идея применения психологии не для усреднения потенциального юзера, а для разделения аудитории на категории. Тут уже есть несколько комментов в тему «да проще за реальным юзером понаблюдать». Но если автор программы один, а юзеров много, то как быть? И даже если пишешь «для одного знакомого», и есть время для наблюдения (у обоих), и согласие объекта наблюдения, то статья всё равно полезна для интерпретации личных наблюдений — уже лучше понимаешь, как и за чем именно следует наблюдать. Частности важны, но не настолько, чтобы сплеча рубить все попытки классификации. Если же не нравятся только «подобные», то хотелось бы узнать про альтернативные.
Некоторые, более-менее удовлетворив запросы основной массы, начинают прислушиваться к активным пользователям, выделяющимися из основной массы. Активно требующими неких только им нужных фич. Сколь угодно странных с точки зрения как основной массы пользователей продукта, так и его авторов. Либеральные авторы продукта позволяют самым экстремистким меньшинствам делать то, что им вздумается, просто дав такую простую вещь, как свободу (документацию, SDK, инструментарий, систему плагинов, устойчивость к изменениям извне и запас по прочности и скорости).
Другие же продолжнают суммировать мнения пользователей. Активных, которые выражают своё мнение, и пассивных, мнение которых авторы продукта собирают сами по различным выборкам, моделируют, предугадывают и т.п. Некоторые особо самонадеянные даже пытаются формировать, направлять, и объяснять основной массе пользователей, что им на самом деле нужно. Где же свобода? А нахрена кому-то эта бесполезная, к тому же опасная и вредная штука? :)
Это пренебрежение к меньшинству (плохо скрываемое за вежливостью), желание впихнуть всех в общие рамки, научить «как надо» — весь этот тоталитаризм крупной корпорации красной нитью проходит через топик и ответы в комментах.
Но давайте не будем этим заморачиваться (как будто мы первый раз узрели такое поведение). Посмотрим на главное — под давлением общественного мнения и объективной реальности корпоративный монстр наконец-то зашевелился и серьёзно улучшил продукт по нескольким направлениям. Да, не по всем. Продолжаем давить и тыкать в глаза фактами. Оно фыркает и огрызается, но медленно ползёт куда нам нужно.
Не забываем ещё и про то, что доброе слово даже монстру приятно. Пинаем с одного боку, гладим с другого: «Плохой монстр, плохой! Хороший монстрик, хороший...» :) Вот так, дружно, кнутом и пряником, мы рано или поздно получим всё, что нам нужно… Нет, не так… Поздно или очень поздно, и лишь то «всё», что они думают, что нам нужно. Выбор только такой с этими корпорациями :)