К сожалению, всё не так просто.
Тут одно цепляет другое, чтобы поднять регион, нужен комплексный процесс, который фирма потянуть никак не может.
В регионах действительно хуже учат (см. рейтинги вузов), из-за зарплат действительно уезжают лучшие, а рынок меньше банально из-за меньшего числа людей. Если в крупном городе можно выбирать из, условно говоря, 100 резюме по теме, то в маленьком есть Вася и Петя, вот и и весь выбор.
Темперамент тут вообще не при чём: если у человека проблемы с общением и с жизненной энергией, это в принципе тревожный звоночек, я с такими людьми связываюсь с осторожностью.
Чтобы в регионе развивался сектор IT (и любой другой), надо не просто кивать на низкие цены и короткие расстояния, а предлагать реальные бонусы бизнесу.
Да вот знаете, это ещё Фредерик Брукс писал, что продуктивность — не в инструментах, а в людях.
Сейчас вы меня вообще не поймёте, но если мне завтра скажут пересесть на всю среду десятилетней давности, я даже не поморщусь. Моя продуктивность за эти годы выросла почти исключительно за счёт образования и опыта. Есть в C++, скажем, std::shared_ptr. Отлично. а до этого был boost::shared_ptr, а до этого книга Александреску, где все эти штуки описывались, да ещё и библиотека loki впридачу.
Я же не говорю, что нет никакого прогресса. Вкусняшки — очень хорошо, но мне кажется, что иногда выучить досконально пусть даже устаревшую библиотеку гораздо продуктивнее, чем смотреть, чего они там нового ещё навыдумывали.
То есть идеологически я склоняюсь к некоторому минимализму, когда есть базовый набор инструментов, я ими владею хорошо, и любое освоение чего-либо нового или переход на новое должны оправдывать инвестиции.
Грубо говоря, мы понимаем, что язык Python удобнее C++ для написания разного рода нехитрых скриптов, но для специалиста в C++ переезд на Python окупится очень нескоро, потому что за небольшое ускорение разработки ему придётся заплатить длительным обучением. Но это моё частное мнение.
Ну вот, мы согласились. Вам хочется побыстрее, мне в общем-то практически без разницы, год туда-год сюда погоды не делают.
> Но почему?
А зачем? Переход действительно рано или поздно будет совершён, но есть большая разница между тестированием всего и вся после обновления раз в год или десять раз в год.
Возьмём тот же буст. В последнем проекте я пользуюсь boost::nowide, который ещё официально даже не включён в поставку, поэтому пока приходится брать его с сайта автора. А есть какие-нибудь serialization или lexical_cast, которые меня устраивают совершенно, и обновляться без причин нет необходимости.
Понятно, что можно держать и разные версии, и всё такое, но я в принципе стараюсь держаться принципов здорового консерватизма и простоты. Если меня в библиотеке что-то не устраивает, конечно, я отслеживаю положение вещей; а просто обновляться ради обновлений — это как-то странно. Тем более, что даже в таких уважаемых системах как boost встречается не только исправление старых ошибок, но и внесение новых.
Это всё вопросы во многом политические. Меня поддержка «вот прямо сейчас» всего C++11 не очень беспокоит, я никуда не тороплюсь. Новые версии boost / Qt / etc. — увольте, только под моим непосредственным контролем и не чаще раза или двух раз в год.
Для меня очень важна именно стабильность окружения, когда я уверен, что все новые баги — мои, а не компилятора или свежескачанной библиотеки. Конечно, я не сижу на MSVS 2008 (а вовсе даже на 2015), но все апгрейды происходят только планово и вручную.
Скажем, после апгрейда MSVS на одну из pre-release версий 2015 у меня перестало компилироваться несколько библиотек boost. Пришлось повременить с обновлением.
Кому как. Пользуюсь уже много лет Visual Studio, даже не представляю, чем она «ненормальна».
Пакетный менеджер — штука полезная, но для разработки как-то не особенно требовалась в моих проектах. Только при начальной настройке системы.
Дело не в подмене понятий. Вы говорите: «если стандартный механизм меня не устраивает, я дожен потратить время на поиск альтернативного механизма». Эта объективная проблема, которая не решается вообще никак в рамках какой бы то ни было системы. Ставить это в вину Windows — это то же самое, что обвинять Васю в том, что ему хочется ежедневно кушать. Кушать хочется всем, это не вина конкретно Васи.
Проблема отсутствия единого репозитория, конечно, существует. Но я не уверен, что как автор софта я бы хотел жить в мире, где мне помимо, собственно, разработки софта и выкладывания его на домашнюю страничку, нужно ещё как-то стараться, чтобы софт попадал в популярные дистибутивы и их репозитории.
Короче говоря, это всё очень хорошо, но у любой палки есть два конца; а что касается Windows, то совершенно очевидно, что в самое ближайшее время такой официальный репозиторий появится, и вопрос будет закрыт. Пока да, костыли, кто ж спорит.
1) Ну это демагогия, потому что если стандартный механизм чего угодно вас не устраивает, придётся потратить время. Тут в принципе нет никакого способа удовлетворить всех, так что чего сокрушаться о невозможном?
2) Не все примеры работают во всех версиях одинаково, но процент работающих одинаково очень велик. Кроме настройки GUI, разумеется.
Откройте для себя FileHippo или Chocolatey или Ninite или другое аналогичное. Кроме того, не надо путать установку софта с многочасовым гуглением на решение возникающих проблем. Вы абсолютно всё выкачаете и поставите, скажем, за два часа, даже если очень медленно это делать. А тут люди жалуются на то, что решение нехитрой проблемы занимает целый день.
Тут дискуссия неоднократно возвращается не к возможности/невозможности, а к затратам на реальный процесс. И вы ведь по сути лишь подтверждаете слова оппонентов:
— Потратьте время и выберите хорошую систему для бэкапа.
— Потратьте время и разберитесь, чем Debian 7 отличается от Debian 8, и не читайте устаревших текстов.
— Потратьте время и узнайте заблаговременно, что не все дрова одинаково хороши, а уже потом ставьте.
— Потратье время и вычитайте, какие вполне законные средства («жёстко прописать xorg.conf») в действительности не столь хороши.
В этом и беда, мне не настраивать надо, мне работать надо.
Большинству из нас надо работать над нашими собственными проектами, а не пересобирать чужие сорцы. По крайней мере, у меня не так много свободного времени на подобные развлечения.
Я вообще чем дольше живу, тем меньше понимаю, как в вопросах образования расставлять приоритеты.
Часто вижу вокруг этакую крысиную гонку: сначала в лучшую школу, потом в лучший вуз, карьерные перспективы, хороший трамплин и т.п.
Как будто бы образование — это как колбаса: съесть её любой может, осталось лишь достать самую лучшую.
Мне как-то всё больше кажется, что хорошо — это не когда нагружают весь день (пусть даже очень толковой и полезной программой), а когда дают ещё достаточно свободного времени на общение и некое вольное времяпрепровождение. В конце концов, куда мы все торопимся? Продолжительность жизни растёт, человек в 30 лет ещё может считаться совсем молодым, так пусть дети и подростки спокойно растут и определяются.
Всё равно сейчас не выйдет выучиться и встать на всю оставшуюся жизнь к неизменному станку. Учиться всё равно придётся на протяжении всей карьеры, и каким-то образом абсолютизировать несчастные 4-5 лет университета или более длинный, но менее внятный школьный период не стоит.
Выглядит это так, словно вот всё Средневековье нам построили иезуиты, и мы никак не можем отделаться от их наследия, а на дворе XXI век, совершенно новые вызовы, и… ба-бах, далее идёт реклама «волшебного ингредиента», ну прямо как в рекламе стирального порошка, и вот этот ингредиент нам всё починит.
Я даже не знаю, с какой стороны подступиться, чтобы покороче. Наверно, для начала надо мельком заметить, что «иезуитоцентрическая» идея образования вряд ли выдерживает историческую критику, потому что за долгий путь человечества сменилась масса ориентиров (можно вспомнить, что в эпоху Ренессанса ориентировались на античную культуру, а уж сколько педагогических эксприментов проводили в XX веке — так вообще не счесть, хоть Макаренко вспоминай). Да и региональные различия велики: китаец удивится, если ему скажут, что китайское высшее образование наследует иезуитским образцам. У них были свои представления о прекрасном.
Далее, ничто не ново под луной: сегодня это DIY роботы, а когда-то были авиамодели или радиокружки, в чём разница-то? У меня в детстве была вот такая настольная книга:
Это чистый DIY, если угодно, и даже для своего времени (1955 год) данный сборник вряд ли был откровением.
Принципиальные же проблемы массового образования состоят именно в массовости — как учителей, так и учеников. Мы же понимаем, что не каждому быть художником, музыкантом, спортсменом или программистом. А в школе учат всех. И учителями становятся самые обыкновенные средние выпускники профильных университетов.
Поэтому все эти разговоры про «2035 год» предельно утопичны. В 2035 году нынешним молодым учителям (~25 лет) будет всего 45 лет, среднезрелый возраст, даже близко не предпенсионный. И учить они будут примерно так же, как учат сейчас, даже если появятся роботы и новые учебники. Потому что потоковый стандартизованный процесс не может опираться на нестандартное и творческое. Клубы, авторские кружки — всегда и без проблем. Ожидать этого от обычных школ и вузов невозможно, хотя эволюционные изменения, безусловно, будут.
Подумйте над тем, что несмотря на наличие массы творческих и самых радикальных концепций, современная система образования на редкость устойчива, причём во всех цивилизованных странах она выглядит примерно одинаково (с поправками на отдельные региональные особенности). А ещё ради интереса подумайте, что происходит с предметами, где особых новых подарков от технологий ждать не приходится. Например, как насчёт обучения иностранному языку? У нас теперь масса удобных инструментов: youtube вместо видеомагнитофона, mp3 вместо кассетника, карманный словарь и т.п. Это крайне полезно и очень здорово, но образовательный контент по-прежнему консервативен, как и сам подход к изучению. И везде так. Там роботов не ждут, а прогресса всё равно маловато.
Я писал под платформы Borland (C++ 3.1, а затем линейка Builder) — всё было вполне ОК, уж точно, не хуже, чем сейчас.
А с MSVC было страдание, да, но никто ж не заставлял.
Проблема в том, что таких продуктов, которые экономят десятки часов в год, очень много, и на каждый $250 не напасёшься.
Кроме того, во всём есть известное лукавство: они все экономят десятки, а то и сотни часов в год, а работы меньше всё равно не становится.
Короче говоря, это ещё вопрос ощущения. Разработчики уже здесь неоднократно отписывались, что считают модель статического анализа близкой к модели антивируса: мол, обновляем правила и рассылаем по подписке. Это их взгляд на жизнь, с которой я совершенно не согласен. Новые вирусы появляются каждый день, а я в каком примерно стиле программировал год-два-три назад, в том примерно работаю и сейчас, поэтому смысла в обязательных (навязываемых) обновлениях не вижу.
Собственно, я же ни с кем не спорю, просто их взгляд не совпадает с моим представлением о прекрасном, поэтому я и не их клиент.
Ну, опять же, это некие мои досужие рассуждения, но мне кажется, вы несколько преждевременно делаете выводы.
Во-первых, цена CppCat никак не связана с ценой PVS-Studio, сложно сказать, как отразится на доходности PVS цена «5000», указанная крупным шрифтом.
А во-вторых, как тут уже правильно пишут, инвестиция в студентов — это долгосрочная игра. Студенты привыкают пользоваться каким-то инструментом, а потом становятся основными продвигателями этих же продуктов, когда вырастают и начинают занимать заметные должности. Жаль, что вы к этому не готовы.
Впрочем, не готовы к этому и упомянутые здесь Embarcardero, которые (сугубо imho) рано или поздно разорятся именно по этой причине. Моё поколение целиком выросло на Delphi/C++Builder, и именно мы готовы сейчас платить конские цены за продукты этой фирмы.
Нынешние студенты Delphi, скорее всего, за время обучения не увидят никогда. И в будущем даже разбираться не будут, что это за зверь такой. Останутся сидеть или на Microsoft, который бесплатный инструментарий раздаёт, или на популярных open source решениях.
Не хочу быть ещё одним форумным резонёром, который пишет лишь бы написать, но я вот принципиально не связываюсь с компаниями, которые придерживаются такой ценовой политики. Потому что первое, что приходит в голову — а как выбить себе наиболее удачное предложение? И тут начинается угадайка. Тот же Спольски писал про «clients hate being profiled», и это ровно про меня.
Я понимаю, что вы предлагаете решение для реального мира как он есть, но согласитесь, порочна сама идея того, что надо заставлять человека выдумывать какие-то безумные комбинации с ограничениями, а потом ещё наказывать за то, что не у всех это получается.
По-моему, довольно очевидным является соображение, что вся эта порнография с паролями попросту не работает. Когда один сайт требует не менее 10 символов, другой не более 9, третий хочет спецсимволы, четвёртый их не переваривает и так далее, то человеку ничего не остаётся делать, кроме как записывать туда, где никто ему таких ограничений ставить не будет.
У кого-то пароли на стикере, у кого-то три пароля на всё, у кого-то KeePass и куча других неудобств, и я вот, хоть и программист, тоже не могу придумать никакого хорошего решения. Да, давайте палкой бить, может, летать научатся.
Мне кажется, что «бага» появилась, когда слово стало упортебляться вместе с «feature». Когда появилась шутка про «it's not a bug, it's a feature», в русский также проникла «фича», а потом они стали восприниматься как слова одного рода, вот и ходят парой — бага и фича.
Тут одно цепляет другое, чтобы поднять регион, нужен комплексный процесс, который фирма потянуть никак не может.
В регионах действительно хуже учат (см. рейтинги вузов), из-за зарплат действительно уезжают лучшие, а рынок меньше банально из-за меньшего числа людей. Если в крупном городе можно выбирать из, условно говоря, 100 резюме по теме, то в маленьком есть Вася и Петя, вот и и весь выбор.
Темперамент тут вообще не при чём: если у человека проблемы с общением и с жизненной энергией, это в принципе тревожный звоночек, я с такими людьми связываюсь с осторожностью.
Чтобы в регионе развивался сектор IT (и любой другой), надо не просто кивать на низкие цены и короткие расстояния, а предлагать реальные бонусы бизнесу.
Сейчас вы меня вообще не поймёте, но если мне завтра скажут пересесть на всю среду десятилетней давности, я даже не поморщусь. Моя продуктивность за эти годы выросла почти исключительно за счёт образования и опыта. Есть в C++, скажем, std::shared_ptr. Отлично. а до этого был boost::shared_ptr, а до этого книга Александреску, где все эти штуки описывались, да ещё и библиотека loki впридачу.
Я же не говорю, что нет никакого прогресса. Вкусняшки — очень хорошо, но мне кажется, что иногда выучить досконально пусть даже устаревшую библиотеку гораздо продуктивнее, чем смотреть, чего они там нового ещё навыдумывали.
То есть идеологически я склоняюсь к некоторому минимализму, когда есть базовый набор инструментов, я ими владею хорошо, и любое освоение чего-либо нового или переход на новое должны оправдывать инвестиции.
Грубо говоря, мы понимаем, что язык Python удобнее C++ для написания разного рода нехитрых скриптов, но для специалиста в C++ переезд на Python окупится очень нескоро, потому что за небольшое ускорение разработки ему придётся заплатить длительным обучением. Но это моё частное мнение.
Ну вот, мы согласились. Вам хочется побыстрее, мне в общем-то практически без разницы, год туда-год сюда погоды не делают.
> Но почему?
А зачем? Переход действительно рано или поздно будет совершён, но есть большая разница между тестированием всего и вся после обновления раз в год или десять раз в год.
Возьмём тот же буст. В последнем проекте я пользуюсь boost::nowide, который ещё официально даже не включён в поставку, поэтому пока приходится брать его с сайта автора. А есть какие-нибудь serialization или lexical_cast, которые меня устраивают совершенно, и обновляться без причин нет необходимости.
Понятно, что можно держать и разные версии, и всё такое, но я в принципе стараюсь держаться принципов здорового консерватизма и простоты. Если меня в библиотеке что-то не устраивает, конечно, я отслеживаю положение вещей; а просто обновляться ради обновлений — это как-то странно. Тем более, что даже в таких уважаемых системах как boost встречается не только исправление старых ошибок, но и внесение новых.
Для меня очень важна именно стабильность окружения, когда я уверен, что все новые баги — мои, а не компилятора или свежескачанной библиотеки. Конечно, я не сижу на MSVS 2008 (а вовсе даже на 2015), но все апгрейды происходят только планово и вручную.
Скажем, после апгрейда MSVS на одну из pre-release версий 2015 у меня перестало компилироваться несколько библиотек boost. Пришлось повременить с обновлением.
Пакетный менеджер — штука полезная, но для разработки как-то не особенно требовалась в моих проектах. Только при начальной настройке системы.
Проблема отсутствия единого репозитория, конечно, существует. Но я не уверен, что как автор софта я бы хотел жить в мире, где мне помимо, собственно, разработки софта и выкладывания его на домашнюю страничку, нужно ещё как-то стараться, чтобы софт попадал в популярные дистибутивы и их репозитории.
Короче говоря, это всё очень хорошо, но у любой палки есть два конца; а что касается Windows, то совершенно очевидно, что в самое ближайшее время такой официальный репозиторий появится, и вопрос будет закрыт. Пока да, костыли, кто ж спорит.
2) Не все примеры работают во всех версиях одинаково, но процент работающих одинаково очень велик. Кроме настройки GUI, разумеется.
Откройте для себя FileHippo или Chocolatey или Ninite или другое аналогичное. Кроме того, не надо путать установку софта с многочасовым гуглением на решение возникающих проблем. Вы абсолютно всё выкачаете и поставите, скажем, за два часа, даже если очень медленно это делать. А тут люди жалуются на то, что решение нехитрой проблемы занимает целый день.
— Потратьте время и выберите хорошую систему для бэкапа.
— Потратьте время и разберитесь, чем Debian 7 отличается от Debian 8, и не читайте устаревших текстов.
— Потратьте время и узнайте заблаговременно, что не все дрова одинаково хороши, а уже потом ставьте.
— Потратье время и вычитайте, какие вполне законные средства («жёстко прописать xorg.conf») в действительности не столь хороши.
В этом и беда, мне не настраивать надо, мне работать надо.
Часто вижу вокруг этакую крысиную гонку: сначала в лучшую школу, потом в лучший вуз, карьерные перспективы, хороший трамплин и т.п.
Как будто бы образование — это как колбаса: съесть её любой может, осталось лишь достать самую лучшую.
Мне как-то всё больше кажется, что хорошо — это не когда нагружают весь день (пусть даже очень толковой и полезной программой), а когда дают ещё достаточно свободного времени на общение и некое вольное времяпрепровождение. В конце концов, куда мы все торопимся? Продолжительность жизни растёт, человек в 30 лет ещё может считаться совсем молодым, так пусть дети и подростки спокойно растут и определяются.
Всё равно сейчас не выйдет выучиться и встать на всю оставшуюся жизнь к неизменному станку. Учиться всё равно придётся на протяжении всей карьеры, и каким-то образом абсолютизировать несчастные 4-5 лет университета или более длинный, но менее внятный школьный период не стоит.
Выглядит это так, словно вот всё Средневековье нам построили иезуиты, и мы никак не можем отделаться от их наследия, а на дворе XXI век, совершенно новые вызовы, и… ба-бах, далее идёт реклама «волшебного ингредиента», ну прямо как в рекламе стирального порошка, и вот этот ингредиент нам всё починит.
Я даже не знаю, с какой стороны подступиться, чтобы покороче. Наверно, для начала надо мельком заметить, что «иезуитоцентрическая» идея образования вряд ли выдерживает историческую критику, потому что за долгий путь человечества сменилась масса ориентиров (можно вспомнить, что в эпоху Ренессанса ориентировались на античную культуру, а уж сколько педагогических эксприментов проводили в XX веке — так вообще не счесть, хоть Макаренко вспоминай). Да и региональные различия велики: китаец удивится, если ему скажут, что китайское высшее образование наследует иезуитским образцам. У них были свои представления о прекрасном.
Далее, ничто не ново под луной: сегодня это DIY роботы, а когда-то были авиамодели или радиокружки, в чём разница-то? У меня в детстве была вот такая настольная книга:
Это чистый DIY, если угодно, и даже для своего времени (1955 год) данный сборник вряд ли был откровением.
Принципиальные же проблемы массового образования состоят именно в массовости — как учителей, так и учеников. Мы же понимаем, что не каждому быть художником, музыкантом, спортсменом или программистом. А в школе учат всех. И учителями становятся самые обыкновенные средние выпускники профильных университетов.
Поэтому все эти разговоры про «2035 год» предельно утопичны. В 2035 году нынешним молодым учителям (~25 лет) будет всего 45 лет, среднезрелый возраст, даже близко не предпенсионный. И учить они будут примерно так же, как учат сейчас, даже если появятся роботы и новые учебники. Потому что потоковый стандартизованный процесс не может опираться на нестандартное и творческое. Клубы, авторские кружки — всегда и без проблем. Ожидать этого от обычных школ и вузов невозможно, хотя эволюционные изменения, безусловно, будут.
Подумйте над тем, что несмотря на наличие массы творческих и самых радикальных концепций, современная система образования на редкость устойчива, причём во всех цивилизованных странах она выглядит примерно одинаково (с поправками на отдельные региональные особенности). А ещё ради интереса подумайте, что происходит с предметами, где особых новых подарков от технологий ждать не приходится. Например, как насчёт обучения иностранному языку? У нас теперь масса удобных инструментов: youtube вместо видеомагнитофона, mp3 вместо кассетника, карманный словарь и т.п. Это крайне полезно и очень здорово, но образовательный контент по-прежнему консервативен, как и сам подход к изучению. И везде так. Там роботов не ждут, а прогресса всё равно маловато.
А с MSVC было страдание, да, но никто ж не заставлял.
Кроме того, во всём есть известное лукавство: они все экономят десятки, а то и сотни часов в год, а работы меньше всё равно не становится.
Короче говоря, это ещё вопрос ощущения. Разработчики уже здесь неоднократно отписывались, что считают модель статического анализа близкой к модели антивируса: мол, обновляем правила и рассылаем по подписке. Это их взгляд на жизнь, с которой я совершенно не согласен. Новые вирусы появляются каждый день, а я в каком примерно стиле программировал год-два-три назад, в том примерно работаю и сейчас, поэтому смысла в обязательных (навязываемых) обновлениях не вижу.
Собственно, я же ни с кем не спорю, просто их взгляд не совпадает с моим представлением о прекрасном, поэтому я и не их клиент.
Во-первых, цена CppCat никак не связана с ценой PVS-Studio, сложно сказать, как отразится на доходности PVS цена «5000», указанная крупным шрифтом.
А во-вторых, как тут уже правильно пишут, инвестиция в студентов — это долгосрочная игра. Студенты привыкают пользоваться каким-то инструментом, а потом становятся основными продвигателями этих же продуктов, когда вырастают и начинают занимать заметные должности. Жаль, что вы к этому не готовы.
Впрочем, не готовы к этому и упомянутые здесь Embarcardero, которые (сугубо imho) рано или поздно разорятся именно по этой причине. Моё поколение целиком выросло на Delphi/C++Builder, и именно мы готовы сейчас платить конские цены за продукты этой фирмы.
Нынешние студенты Delphi, скорее всего, за время обучения не увидят никогда. И в будущем даже разбираться не будут, что это за зверь такой. Останутся сидеть или на Microsoft, который бесплатный инструментарий раздаёт, или на популярных open source решениях.
У кого-то пароли на стикере, у кого-то три пароля на всё, у кого-то KeePass и куча других неудобств, и я вот, хоть и программист, тоже не могу придумать никакого хорошего решения. Да, давайте палкой бить, может, летать научатся.