Выгорание… прокрастинация… «мне в 22 надо на пенсию»…
/me искренне недоумевает, как так? Мне вот скоро 50, я четверть века каждый день вджобываю по 10-12 часов, мои отпуска от обычных дней отличаются только тем, что нубук стоит не в офисе а под пальмой.
И при этом я искренне считаю день, в котором коммитов было менее чем в 2-5 разных проектов — неудачным. Кроме коммитов у меня еще есть чем заняться и про бизнес, и кроме кота у меня жена и дети, и прочее.
А я — счастлив, каждый день работа праздник. Предвкушаю — что я зафикшу завтра, какую новую фичу доделаю, не пора ли свой очередной проект задвинуть? Пока шел от парковки до дома, появилась новая идея, завтра расскажу ее клиенту, а послезавтра сделаю, вау! это упростит! На выходных буду бухать с дата сатанистами, давно хотел спросить там пару нюансов, надо взять планшетку, обсудим…
Выйду на пенсию — буду коммитить по фану, а не за деньги!!! Программирование — лучшее занятие на нашей планете!
А тут — поколение Z рассказывает о том, как они «выгорели» в офисе с 9 до 6, и как им жизнь тяжела.
Прокрастинация? Жизнь не удалась? Открой багтрекер, пофиксь пару тикетов, и жизнь снова станет прекрасной. ;-)
после выхода шестого ie MS забила на браузер, сократило команду разработчиков
А почему мелкомягкие этот странный шаг сделали, как вы думаете? Правильно, потому что победа была полной, с разгромным счетом. «Аргентина: Ямайка — 5: 0».
Microsoft Internet Explorer 1.0 made its debut on August 16, 1995. Спасибо микрософту — они добавили в виндоус 95 штатную скачивалку нетскейпа (С). Было смешно.
Но прошло немного времени, и…
Microsoft Internet Explorer 4, released in September 1997 разорвал в клочки Netscape Communicator.
Microsoft Internet Explorer 5, launched on March 18, 1999, похоронил то что от «нетшкафа» осталось.
Microsoft Internet Explorer 6 was released on August 27, 2001, a few months before Windows XP. This version included DHTML enhancements, content restricted inline frames, and partial support of CSS level 1, DOM level 1. Это и определило будущее веба на долгие годы вперед.
И вот тут и забросили, (немного сарказма) наверное потому что — «браузер это не os». Доля рынка 90%, можно расслабиться и по пивасику (С).
И потом много лет весь мир скрипел зубами и поддерживал, поддерживал, поддерживал это древнее шило. Именно потому что «нетшкаф» не просто проиграл рынок, а проиграл всухую. Flawless victory.
Да, чисто для протокола, поддержка аж 23 платформ одновременно никак не помогла Netscape в битве с микрософтом. Ибо современный веб с всем известными div и CSS — придумали (вот сюрприз) — в микрософт, а не в Netscape.
ничего толком не делала, благодаря чему смысл пилить движок в эти времена был
Какой? И если был, то почему мозиловцы потратили пятилетку только на то чтобы довести движок до состояния «можно пользоваться»?
The Mozilla project was created in 1998 with the release of the Netscape browser suite source code.… Firefox 1.0 was released in 2004.
А случилось это вовсе не потому, что
браузер самодостаточный продукт
а внезапно — потому что задачей браузера было показывать веб странички. Причем не просто показывать — а так же или лучше чем в IE. Вот на это и понадобилось столько лет.
Параллельно с Gecko, рукопожатные немцы тихо пилили свой Konqueror. Именно эту наработку взял за основу легендарный Стив, когда в далеком 2003 году анонсировал Safari.
The KDE community licenses and distributes Konqueror… Konqueror first appeared with version 2 of KDE on October 23, 2000. Да-да, это тот самый KHTML.
On January 7, 2003, at Macworld San Francisco, Steve Jobs announced that Apple had developed its own web browser, called Safari. It was based on Apple's internal fork of the KHTML rendering engine, called WebKit.
И только десять лет после разгрома — в дело вступает корпорация бобра. Chromium 1.0 was released in December 2008.
И только напрочь провалив мобильную революцию, микрософт получила долю IE менее 50% аж в 2011 году.
С 1997 по 2015 годы, пока не определился новый «король горы», веб сначала продвигал, а затем отравлял наш любимый инторнет иксплойтер.
У меня за-ради фана тоже есть некоторый ностальгический набор, который я все никак не выброшу в мусорку. Интересно же…
Ну а то что вот прямо сейчас смысла нету — так в эпоху победившего Internet Explorer 6.0 тоже особого смысла пилить свой движок у Mozilla'ы не было, ан нет — вот он, прямо из него и пишу.
Кто знает, кто знает — в погоне за ушедшим поездом мобильных устройств микрософт может ненароком и вендекапец устроить, знаете ли. Таких случаев в истории была тьма. От внезапных конвульсий DEC (и Alpha c VMS) до поминок Sun Microsystems (тут длинный ряд продуктов).
Насколько я помню, проект начался в эпоху бума «не эмуляции» всего и вся. Середина 1990х, полный успех Wabi, ошеломительный Wine… Счастье казалось таким близким, только руку протяни.
А тут еще микрософт выпустила WinNT 4, и огромная гора драйверов внезапно полетела в легаси. Фанатам за hpfs.sys было обидно.
И вот тут-то начался ReactOS. А давайте сделаем свой кернель с поэтессами, поддержим дрова под ЭнТю (блеск же идея! вообще дров не надо делать). Userland есть и так, использовать его легко — отрисовка инкапсулирована в драйверах, делаем свой заменитель x11drv (причем примитивный — просто рисуем по канвасу, аппаратные битблиты и курсоры опционально).
Ну и еще там по мелочи — файловая система и прочие компорты (ага, ага). Но тут можно по минимуму, чего мудрить! Io*, Ob*, Ke*, Mm*, Zw*… ой, что-то много этого Native API, но ничего — запилим! И у нас — будет своя опенсорцная винда с маджонгом и гейшами. А дальше — только улучшаем.
Прошло четверть века.
Сам Wine вытащили игры, желание «в линуксе» позарубиться в культовые игры было велико, а за-ради «вечерком расписать партию в старика» винду что-ли запускать? Лучше мы полноценно, в гамаке и на лыжах (С). Ну и еще «немножко бизнес» — ибо winelib.
А вот реактось увы — сгубил один неучтенный фактор. Микрософт была на пике своих возможностей, и догнать ее в конце 90х / начале 2000х было нереально не то что группе энтузиастов, но и даже консорциуму крупных корпораций. После выхода WinXP и MS Office 2003 — в особенности.
В принципе, можно было побороться за специализированную пароварку, нацелившись на «игровую приставку для игр под окошки для бедных», например. Но увы — это послезнание, в 1996м — 2001м ничего и близко в тренде не просматривалось.
А после 2001 года, с выходом WinXP, .NET, с восстановлением линейки VisualStudio, с WoW64 и новым офисом — догнать стало совсем трудно.
Да и одна из мотиваций тоже как-то поулетучилась, какой такой HPFS386 в XXI веке? :-)
У свободного софта есть огромнейшая проблема — отсутствие эффективной обратной связи для обычного пользователя.
Это увы — самообман.
Проблема тут в другой плоскости.
1. Пользователю — да, нужен разработчик.
2. Но разработчику пользователь не нужен.
Именно поэтому мы наблюдаем битву в комментах, от полярных мнений «5 лет каторги за невыполненное пожелание» и до «ну возьмите уже наши деньги».
Вот пример, берем какого-нибудь супера из гугла, который получает одних стоков по $500k+ ежегодно. Нафига мультимиллионеру ваш доллар? Или даже 1000? Он пишет код не потому что ему нечего есть. Он пишет код потому что не может его не писать. И он будет его писать так как считает нужным, и вы можете его только переубедить. Но не можете никак замотивировать, у вас нет таких возможностей. В принципе — нет.
И что еще более смешно, такие авторы считают, что код — он самоценен. Как молоток. Хочешь — гвозди забивай, хочешь — не забивай, им хотения «а мне надо с кривой ручкой в 15 градусов» просто неинтересны.
Нет, не потому что — зажравшиеся снобы, перепившие смузей в барбершопах.
А потому что они таких хотелок в принципе не понимают — тебе надо ты и делаешь. Мир адекватных взрослых людей, занимающихся любимым делом. Только и всего. Можешь — делаешь, не можешь — нанимаешь того кто может.
Оно ведь как бывает — пока сделаешь (в свободное от работы время), пока удовлетворишь очередного агрессивного «вы мне должны», пока он согласится что «да, это и хотел» (и еще повезет при этом если вдруг выяснится что он именно хотел что написал, а не прицепом еще десяток хотелок с кучей функционала которые входят в оговоренный полтинник, просто забыл сказать) — семь потов прольешь.
А уж если не дай Аллах еще и заплатит — прими, оформи как доход, заплати налоги (+ самому возиться — оно надо? поэтому заплати за это все), потрать время и нервы… И ради чего, ради тех минусов в кармане, которые в итоге останутся? Ну или стопчи семь пар железных сапог ради десятки евро, хехе, оказав сервиса на пару (иногда и десятков) тысяч.
А еще в моей практике «вдруг» оказалось что это не Васисуалий Пупкидзе заказал а «крупная компания 200 лет на рынке», в итоге на полтинник оплаты надо две сотни только на бумажную корреспонденцию потратить.
Вот реально, проще, быстрее, и полезнее делать без оплаты. Заодно делаешь только то что тебе самому нравится / надо.
А потом прибегают и «за неделю никто не накинулся на мой полтинник как мыши на крупу, ужас ужасный, все пропало!»
Разработчики считают, что никому ничего не должны. Они могут спокойно отмахнуться от пожеланий пользователей и разрабатывать так, как им кажется правильным.
Разработчики «должны» — другим разработчикам.
«Покажи коммиты». Нет коммитов — иди в кассу и не мельтеши своими ценными указаниями, тут сообщество тех кто может в код. Можешь? Сделай, разработчики тебе «будут должны» рассмотреть твой pull request.
А потом вдруг осознаешь, что сначала делал для себя и было интересно, а сейчас реализуешь чужие хотелки и получаешь только пинки.
А я вот люблю делать опенсорц, именно потому что решаю тут я — что делать и (а это имхо куда важнее!) что не делать ;-) А не толпа хипстеров с менагерами.
Считаете что я неправ? Или убедите меня в этом или пройдите в кассу.
Так-то я могу даже готовый PR завернуть на том основании что он мне не нравится (могу — не значит делаю, но — могу, факт).
Я бы искал на groups.google.com — жаль что архивы там сильно не все.
Ну, вот для примера, 2001 год.
VB> Так на ней и положено падать — она работает согласно ценнику. Во
VB> Фри-2.2.8 — не работало вообще. В 3.3 — работало «почти» (то есть
VB> падало только иногда, но регулярно). Фри 4 — вроде как все работает.
VB> А в 5-ой они обещали нормальные (то есть кернельные) треды сделать.
VB> Hу так делают. Может, через год заработает. А может и ни.
Память вам изменяет — их было три: LinuxThreads, NGPT и, наконец, NPTL.
Точно, про NGPT я и запамятовал. Было и такое, да…
NGPT был как раз N:K — но исследования показали, что сложности это добавляет изрядно, а выигрыш — ограничен.
Особенно если учесть, что выигрыш получался в основном при рисовании Finite State Machine — а в таком стиле программировать дело нелегкое ;-) Победил подход «херак-херак и в thread pool». Что как бы уже было очевидно в 1998м году.
Правда в 1998м у апологетов FSM фигурно лобзиком — был неоспоримый аргумент в виде «в тредах очень накладно висеть в listen()/accept()». При появлении нового соединения будились все «тыщи» ниток, чтобы только одна продолжила работу. Но горячий финский парень этот вопрос решил, повторив подход kqueue из FreeBSD ;-)
Что-то вспомнился дядя Вова в ru.unix в далеком 1998 что-ли году… он там очень ярко и образно описывал, почему у его кроссплатформенного продукта основная платформа вдруг Linux, а разработку вообще он вел на Windows NT. С примерами, ага.
И он тогда наглядно изображал — куда (и почему) шла FreeBSD. И нет, это была не лицензия.
Если в трех словах — это темпы развития, общий вектор, и коммунити.
Первых два очень хорошо описывал на примерах стандартного API (libc/libc_r) и реализации threads (емнип, в линуксе аж две либы было на тот момент работы с потоками, а фря который год выстраивала монументальный проект с моделью ниток с фиберами N:K, который умер не родившись. Как потом злословили — потому что в линуксе придумали в итоге epoll, ага, с третьей попытки. Но смысла в зеленых нитках не стало).
А третий компонент лучше всего проиллюстрировал в примерно то же время Алекс Кошмарь, в своем фирменном стиле обложив матом «поделие финского студента», но опять же фирменно с цифрами и примерами. Что характерно, один из кернельдевелоперов той поры, легендарный ANK, не просто связался с Алексом прямо в фидо, но и получил доступ к хосту с репортом, и решил таки проблему внезапной паники линуксового ядра на запредельных сетевых потоках (а, да, потом опять весь стек переписали). А в freebsd с багрепортами было мнэ… не очень.
А тут — лицензия уиноуатая, и не виноват ли снова межделмаш?
У моих Casio G-Shock, купленных в далеком уже 2013 году, и корпус и ремешок пластиковые. Часы не снимаю никогда — и в спортзале и в бассейне с ними. Даже в парилку как-то зашел, по привычке-то. Пока руку печь не начало — вообще внимания не обратил. И капусту в них квасил, было дело 8-) И ударял, и падал — хоть бы хны.
И что характерно, пластик — не погрызен, не деформирован, не потерял форму и цвет. И ремешок тоже. И ни разу не отваливался — впрочем это трудно сделать, ремешок к корпусу привинчен.
И обошлись мне эти часы баков 60 примерно, и все еще работают. Классическая электроника, никаких архаичных стрелок, вещь.
До этого были похожие, но в металлическом корпусе. Когда в олимпияцентруме со скейта кувыркнулся через голову — приложился ими об асфальт. Сами — целы, а вот металлический браслет разлетелся на кусочки. Штамповка-ссс…
Win3.11 WfW — была весьма неплоха. Под нее был Win32s, очень забавная такая штука в попытке преодолеть 16битность. Жаль, родовые травмы никуда не делись даже в Win95. Так что «погромирование на це-два-креста» вынуждало переползать или на осьдву, или на NT 3.51.
Но с осьдвой было грустнее, приходилось копать в Win-OS/2 и ограничивать себя 16битными приложениями (или курить OWL). А знаете почему ограничивать? Потому что это был лайфхак — разрабатывать под осьдвой проги под уиндоусь… И самая попаболь была с common controls, все эти TreeView и ListView — были сугубо 32битными. После пятого раза «мы пишем 16битную версию TreeView» я плюнул и завязал с Win16 окончательно.
Да, а еще неимоверно радовали цветные курсоры мыши в WinNT 3.51. И неимоверно бесили новые контролы open/save file в NT4, ибо попытка через COM в диалоге отобразить часть Windows Explorer параллельно с компиляцией — вынуждала пройти и взять еще кофе, пока оно там дошкрябает.
Да, а еще был такой Wabi, запускать ворда 2.0 в емуляторе чтобы срочно поправить текст, это было интересным опытом. Жаль что неоднократным, хех. Ага, через eXceed. Ну, просто ворда себе ставить не хотелось (сколько виндоус занимает места на диске? сколько находит столько и занимает!), а на ближайшем SCO OpenServer он был.
А еще в NT 3.5 был OpenGL. Поэтому можно было очень хорошо потроллить админа — берем этот самый опенгылы, тихонечко лупим в оффскрине туториал в виде чайника, процессу ставим приоритет Idle — и тихо ржем наблюдая как админ пытается понять, почему процессов с высоким приоритетом нет, с нормальным — вообще не участвуют, а мышка лагает и окошки еле перетягиваются…
А еще в те далекие времена NT была единственной тотально-юникодной платформой. Пусть в итоге оно выродилось в UTF16 (когда литеры вылезли за 16бит), но попытка была архизачетная. Это в те самые времена, когда 4 мегабайта ОЗУ были мейнстримом, ага. Но и тут отмечу ложку дегтя, «для совместимости» юникодные версии кнопок и текстовых полей вели себя иначе чем их ансишные собратья, гррр!!!
А еще там были подсистемы и Native API. Причем очень долго приходилось копаться в этом самом нейтив апи. пока не появился стандартный способ получать список процессов без хаков. И кстати до сих пор этот NtQueryProcessInformation — рекордсмен и живее всех живых ;-)
А еще в NT была чудесная фрагментация сишного хипа. И назад освобожденную память рантайм системе отдавать не хотел из принципа, ведь своп есть, памяти всем хватит! Поэтому приходилось оборачивать выделение памяти в свои примитивы и в них «изредка», хех, звать _heapmin().
if ((ptr = calloc(...)) == NULL) {
_heapmin();
ptr = calloc(...);
}
if (ptr == NULL) {
// а у вас память кончилась!
...
}
Но глюков стало меньше, лайфхаков тоже, «пинг смерти» починили и синий экран в win32k.sys тоже, при создании окошек 2млн на 2млн ;-)
И где-то на Win2k3 эпоха старой Windows закончилась, наступил кризис жанра, а затем и эпоха trustworthy computing. А это уже совсем другая история…
Или перед машиной роботом должен идти сопровождающий с флагом.
Время идет, но ничего не меняется, страх перед новым все такой же. Автомобили Роботы отнимают у нас, кучеров носильщиков, рабочие места! И теперь зарплата пойдет шоферам наладчикам роботов, ужас-ужас…
«На любом языке программирования можно писать на Фортране» (С) ;-)
Хороший язык программирования помогает программистам писать хорошие программы. Ни один из языков программирования не может запретить своим пользователям писать плохие программы.
Вообще говоря, с Вистой микрософтовцы попали в классическую ситуацию «закончилось место на стенке», которая очень хорошо известна коллекционерам.
Фактически, каждая версия «до» — имела четко очерченную цель, понятную рынку, и формировала ожидания.
Поясню на примерах
Windows 1.0. Наконец-то у программ общее понимание единообразных менюшек! Согласно стандартам IBM CUA, ага.
Windows 2.0. Окошки разных программ можно располагать друг над другом! На мониторах 640*480 это было нужно как воздух.
Windows 3.0. Досовские приложения можно запускать не по очереди!
Windows 3.11. Сеть — одна на всех! Домены, рабочие группы, вот это вот все.
Windows 95. Наконец-то не надо думать про размеры массивов данных, проклятие 64К, и пересчет указателей! Ваше оборудование используется эффективно!
и т. д.
Но с выходом WinXP микрософтовские ребята внезапно (тм) обнаружили страшную вещь. А именно, рынок в основном удовлетворен. Все действительно востребованные и критичные задачи — решены (нет, "секуритя" не входят в этот список в силу своей природы).
И немедленно возникли разные течения внутри микрософт!
Первое очевидное — давайте расслабимся и будем полировать существующее решение тряпочкой, попутно дописывая нескучных обоев, докладывая драйвера в новые апдейты от производителей железа.
Этот лагерь проиграл просто в силу бюрократических особенностей: если мы стоим на месте и корродируем — то за что бонусы давать?
Второе — разумное. Мы были пионерами перехода на 32 бита, мы уже давно прощелкали все полимеры с переходом на 64 бита. Огромный кусок работы, «windows on windows», тем более что это просто необходимо для серверных редакций. Вот оно, рынок поддержит!
К сожалению, груз уже написанного кода прямо мешал. Хорошо вам там в виндоусь коре, а зачем это отделу офиса или отделу игр? К примеру, даже в 2018 году микрософт прямо рекомендует использовать 32битный офис, а 64битной вижуалстудии вообще нету, даром что на дотнете писана.
Так что программу 64! (по аналогии с интелевой рекламой 32! много лет назад) с энтузазизьмом поддержали отделы больших и толстых энтерпрайзов, БД, и не менее «нужных» консумерам решений, а вот наиболее массовые продукты до сих пор на 64 бита переходят, и это 15 лет спустя…
Третье — давайте все заново перепишем на (нужное подставить). Самый интересный способ, приносящий наибольшее число плюшек его апологетам. Но простите, а зачем это нужно рынку?
Увы, попавшие в ловушку «место на стене кончилось» выбирают именно третий вариант. Революция! Или если хотите — майдан… Сожжем старых кумиров и наставим новых идолов.
И вот тут-то попытка столь быстро бежать привела к тому, что тапки начали лупить по затылку.
1. Работы в революцию всегда больше чем казалось.
Например, в какой версии все приложения «из коробки» были наконец-то переведены на коммандбары, так же известные как риббоны? Правильный ответ «работа еще ведется». Ага, 10 лет спустя… Но простите, в микрософте некому сделать автораскладывалку из менюшек в риббоны, для своего-то кода? Наверняка пробовали, не взлетело в силу древности кода.
2. Революционные абстракции революционно дырявы.
Не то чтобы в микрософт не понимали опасностей революции. Очень даже. Именно поэтому и была сделана ставка на дотнет — а мы отыграем годы и тысячи человеко-лет просто в силу более хорошего инструментария!
Не, идея то здравая, я сам так делаю когда по времени цейтнот. Тонуть так на «титанике», а не на утлом плоту, хех.
Проблема — в методике. Правильно было бы плавно переводить старый легаси код на новые инструменты, выкидывая старые компоненты и заменяя их новыми.
Если бы (например) микрософт нарисовала бы common controls на дотнете и обеспечила бы работу с ними (благо как раз отрабатывался этот механизм с манифестами и т.д.) из любого кода — то через пару лет весь софт бы использовал их.
Аналогично можно было бы обеспечив нужные биндинги — переводить стандартные общие механизмы на новую платформу. И еще лет через пять обычный набор контролов начиная с button — был бы весь на managed code.
Но это была бы эволюция. Не срослось.
3. Время не резиновое.
На перестройку мира по новым лекалам ушли годы. И появление Aero у меня вызывало только улыбку. Как, только сейчас? Это после того как в линуксе вовсю начали рулить композитные менеджеры? А до этого вы там чего делали, WinFS?
4. Хотели как лучше...
В итоге, даже в области нескучных обоев в Longhorn оказалось печально.
Зато решались (не решились!) эпичные задачи по отбиранию прав у администратора на собственный компьютер. Зачем? Почему? Кто на ком стоял?
Как итог, многие очень интересные наработки были выброшены или заброшены.
Вот например, представим себе что команда IE продолжает идти вперед. Интересно, как бы изменился мир, если бы нечто вроде IE 11 появилось бы к 2008 году…
Важное послесловие
Тут некоторые товарищи злорадствуют — мол как это так, все плохо и вдруг столько денег? Да элементарно.
Команда офиса например сумела избежать революций, что дало стабильный доход. Постепенно эволюционируя, привносят все больше новых возможностей. Пусть они нужны только небольшой части их клиентов, но именно эта часть и формирует тенденцию.
Облачные продукты также очень сильны у команды офиса, хоть и вызывают лично у меня скрежет зубовный.
Команда разработки инструментов, в первую очередь вижалстудии — проделала поистине прекрасную работу, и продолжает улучшать свои продукты и далее.
Облака, искусственный интеллект, базы данных, корпоративный сектор… Да и Windows Server по своим потребительским качествам весьма и весьма неплох, я бы вместо попугайских вист-семерок-и-далее с удовольствием бы в качестве десктопа использовал Win2k8+ (если бы не лицензионные ограничения).
Потому и.
А вот с вистой получилось
слишком мало (нужного)
слишком поздно
слишком много (ненужного).
Надеюсь, уроки революций прошлого учтены, да, микрософт?! 8-)
О, так вы не застали дядю Вову Бутенко? Жаль, жаль, 20 лет назад он весьма был в фаворе. Чем-то неуловимо напомнило те давние баталии — нет, не ваш персональный комментарий, но общий тон…
До сих пор помню резкий ответ дяди Вовы на поток «спервадобейся», как раз его учили как надо переходить на линукс (1998 год!). Типа — а еще надо вникнуть во все детали, «стать админом как мы», ну а потом выкинуть ворд с вендекапцом, уволить секретаршу, и пересесть в ТеХ и еще много чего. Ну и заодно порш сменить на форд-фокус, а то не зачтут 8-)
А близко к тексту ответ звучал как «Пересядешь на ламборгини — будешь учить бизнесу успешного СЕО, а пока твое место — обеспечивать поддержку работы секретарши босса. И если ей удобнее набирать в ворде когда босс диктует — будешь ей обеспечивать работу ворда».
Зажег он тогда светоч знаний для любителей эдак свысока похлопать из своей админской каптерки по плечику, да…
И что смешно, дядя Вова потому и остался в анналах, что при всем своем эпатаже и резком тоне — тогдашнюю аудиторию в своей правоте — убедил.
А впрочем, воспринимайте это не более как брюзжание старпера, который «переводил на линукс» еще 20 лет назад ;-)
(испытывает дежавю) fido7.ru.unix, 1998 год? Ой, нет, хабра, 2018.
А поди ж ты, все те же «сперва добейся разберись». Прямо таки захотелось отмотать выше по треду дядю Вову, он тогда жег глаголом аккурат по таким вот тезисам ;-)
Кстати я ради фана попробовал — фотошоп под современным вайном вполне работоспособен. Я даже удивился — насколько неплохо работает. В отличие от индезигна, хехе.
Времена «поставьте патченную версию CS4 и примените мануал по подмене DLL» похоже таки ушли в историю безвозвратно.
/me искренне недоумевает, как так? Мне вот скоро 50, я четверть века каждый день вджобываю по 10-12 часов, мои отпуска от обычных дней отличаются только тем, что нубук стоит не в офисе а под пальмой.
И при этом я искренне считаю день, в котором коммитов было менее чем в 2-5 разных проектов — неудачным. Кроме коммитов у меня еще есть чем заняться и про бизнес, и кроме кота у меня жена и дети, и прочее.
А я — счастлив, каждый день работа праздник. Предвкушаю — что я зафикшу завтра, какую новую фичу доделаю, не пора ли свой очередной проект задвинуть? Пока шел от парковки до дома, появилась новая идея, завтра расскажу ее клиенту, а послезавтра сделаю, вау! это упростит! На выходных буду бухать с дата сатанистами, давно хотел спросить там пару нюансов, надо взять планшетку, обсудим…
Выйду на пенсию — буду коммитить по фану, а не за деньги!!! Программирование — лучшее занятие на нашей планете!
А тут — поколение Z рассказывает о том, как они «выгорели»
в офисе с 9 до 6, и как им жизнь тяжела.Прокрастинация? Жизнь не удалась? Открой багтрекер, пофиксь пару тикетов, и жизнь снова станет прекрасной. ;-)
А почему мелкомягкие этот странный шаг сделали, как вы думаете? Правильно, потому что победа была полной, с разгромным счетом. «Аргентина: Ямайка — 5: 0».
Microsoft Internet Explorer 1.0 made its debut on August 16, 1995. Спасибо микрософту — они добавили в виндоус 95 штатную скачивалку нетскейпа (С). Было смешно.
Но прошло немного времени, и…
Microsoft Internet Explorer 4, released in September 1997 разорвал в клочки Netscape Communicator.
Microsoft Internet Explorer 5, launched on March 18, 1999, похоронил то что от «нетшкафа» осталось.
Microsoft Internet Explorer 6 was released on August 27, 2001, a few months before Windows XP. This version included DHTML enhancements, content restricted inline frames, and partial support of CSS level 1, DOM level 1. Это и определило будущее веба на долгие годы вперед.
И вот тут и забросили, (немного сарказма) наверное потому что — «браузер это не os». Доля рынка 90%, можно расслабиться и по пивасику (С).
И потом много лет весь мир скрипел зубами и поддерживал, поддерживал, поддерживал это древнее шило. Именно потому что «нетшкаф» не просто проиграл рынок, а проиграл всухую. Flawless victory.
Да, чисто для протокола, поддержка аж 23 платформ одновременно никак не помогла Netscape в битве с микрософтом. Ибо современный веб с всем известными div и CSS — придумали (вот сюрприз) — в микрософт, а не в Netscape.
Какой? И если был, то почему мозиловцы потратили пятилетку только на то чтобы довести движок до состояния «можно пользоваться»?
The Mozilla project was created in 1998 with the release of the Netscape browser suite source code.… Firefox 1.0 was released in 2004.
А случилось это вовсе не потому, что
а внезапно — потому что задачей браузера было показывать веб странички. Причем не просто показывать — а так же или лучше чем в IE. Вот на это и понадобилось столько лет.
Параллельно с Gecko, рукопожатные немцы тихо пилили свой Konqueror. Именно эту наработку взял за основу легендарный Стив, когда в далеком 2003 году анонсировал Safari.
The KDE community licenses and distributes Konqueror… Konqueror first appeared with version 2 of KDE on October 23, 2000. Да-да, это тот самый KHTML.
On January 7, 2003, at Macworld San Francisco, Steve Jobs announced that Apple had developed its own web browser, called Safari. It was based on Apple's internal fork of the KHTML rendering engine, called WebKit.
И только десять лет после разгрома — в дело вступает корпорация бобра. Chromium 1.0 was released in December 2008.
И только напрочь провалив мобильную революцию, микрософт получила долю IE менее 50% аж в 2011 году.
С 1997 по 2015 годы, пока не определился новый «король горы», веб сначала продвигал, а затем отравлял наш любимый инторнет иксплойтер.
Так-то вот.
У меня за-ради фана тоже есть некоторый ностальгический набор, который я все никак не выброшу в мусорку. Интересно же…
Ну а то что вот прямо сейчас смысла нету — так в эпоху победившего Internet Explorer 6.0 тоже особого смысла пилить свой движок у Mozilla'ы не было, ан нет — вот он, прямо из него и пишу.
Кто знает, кто знает — в погоне за ушедшим поездом мобильных устройств микрософт может ненароком и вендекапец устроить, знаете ли. Таких случаев в истории была тьма. От внезапных конвульсий DEC (и Alpha c VMS) до поминок Sun Microsystems (тут длинный ряд продуктов).
Так что пусть цветут сто цветов (С) ;-)
А тут еще микрософт выпустила WinNT 4, и огромная гора драйверов внезапно полетела в легаси. Фанатам за hpfs.sys было обидно.
И вот тут-то начался ReactOS. А давайте сделаем свой кернель с поэтессами, поддержим дрова под ЭнТю (блеск же идея! вообще дров не надо делать). Userland есть и так, использовать его легко — отрисовка инкапсулирована в драйверах, делаем свой заменитель x11drv (причем примитивный — просто рисуем по канвасу, аппаратные битблиты и курсоры опционально).
Ну и еще там по мелочи — файловая система и прочие компорты (ага, ага). Но тут можно по минимуму, чего мудрить! Io*, Ob*, Ke*, Mm*, Zw*… ой, что-то много этого Native API, но ничего — запилим! И у нас — будет своя опенсорцная винда с маджонгом и гейшами. А дальше — только улучшаем.
Прошло четверть века.
Сам Wine вытащили игры, желание «в линуксе» позарубиться в культовые игры было велико, а за-ради «вечерком расписать партию в старика» винду что-ли запускать? Лучше мы полноценно, в гамаке и на лыжах (С). Ну и еще «немножко бизнес» — ибо winelib.
А вот реактось увы — сгубил один неучтенный фактор. Микрософт была на пике своих возможностей, и догнать ее в конце 90х / начале 2000х было нереально не то что группе энтузиастов, но и даже консорциуму крупных корпораций. После выхода WinXP и MS Office 2003 — в особенности.
В принципе, можно было побороться за специализированную пароварку, нацелившись на «игровую приставку для игр под окошки для бедных», например. Но увы — это послезнание, в 1996м — 2001м ничего и близко в тренде не просматривалось.
А после 2001 года, с выходом WinXP, .NET, с восстановлением линейки VisualStudio, с WoW64 и новым офисом — догнать стало совсем трудно.
Да и одна из мотиваций тоже как-то поулетучилась, какой такой HPFS386 в XXI веке? :-)
Это увы — самообман.
Проблема тут в другой плоскости.
1. Пользователю — да, нужен разработчик.
2. Но разработчику пользователь не нужен.
Именно поэтому мы наблюдаем битву в комментах, от полярных мнений «5 лет каторги за невыполненное пожелание» и до «ну возьмите уже наши деньги».
Вот пример, берем какого-нибудь супера из гугла, который получает одних стоков по $500k+ ежегодно. Нафига мультимиллионеру ваш доллар? Или даже 1000? Он пишет код не потому что ему нечего есть. Он пишет код потому что не может его не писать. И он будет его писать так как считает нужным, и вы можете его только переубедить. Но не можете никак замотивировать, у вас нет таких возможностей. В принципе — нет.
И что еще более смешно, такие авторы считают, что код — он самоценен. Как молоток. Хочешь — гвозди забивай, хочешь — не забивай, им хотения «а мне надо с кривой ручкой в 15 градусов» просто неинтересны.
Нет, не потому что — зажравшиеся снобы, перепившие смузей в барбершопах.
А потому что они таких хотелок в принципе не понимают — тебе надо ты и делаешь. Мир адекватных взрослых людей, занимающихся любимым делом. Только и всего. Можешь — делаешь, не можешь — нанимаешь того кто может.
Вот и вся «проблема».
Оно ведь как бывает — пока сделаешь (в свободное от работы время), пока удовлетворишь очередного агрессивного «вы мне должны», пока он согласится что «да, это и хотел» (и еще повезет при этом если вдруг выяснится что он именно хотел что написал, а не прицепом еще десяток хотелок с кучей функционала
которые входят в оговоренный полтинник, просто забыл сказать) — семь потов прольешь.А уж если не дай Аллах еще и заплатит — прими, оформи как доход, заплати налоги (+ самому возиться — оно надо? поэтому заплати за это все), потрать время и нервы… И ради чего, ради тех минусов в кармане, которые в итоге останутся? Ну или стопчи семь пар железных сапог ради десятки евро, хехе, оказав сервиса на пару (иногда и десятков) тысяч.
А еще в моей практике «вдруг» оказалось что это не Васисуалий Пупкидзе заказал а «крупная компания 200 лет на рынке», в итоге на полтинник оплаты надо две сотни только на бумажную корреспонденцию потратить.
Вот реально, проще, быстрее, и полезнее делать без оплаты. Заодно делаешь только то что тебе самому нравится / надо.
А потом прибегают и «за неделю никто не накинулся на мой полтинник
как мыши на крупу, ужас ужасный, все пропало!»;-)
Разработчики «должны» — другим разработчикам.
«Покажи коммиты». Нет коммитов — иди в кассу и не мельтеши своими ценными указаниями, тут сообщество тех кто может в код. Можешь? Сделай, разработчики тебе «будут должны» рассмотреть твой pull request.
Так и живем.
А я вот люблю делать опенсорц, именно потому что решаю тут я — что делать и (а это имхо куда важнее!) что не делать ;-) А не толпа хипстеров с менагерами.
Считаете что я неправ? Или убедите меня в этом или пройдите в кассу.
Так-то я могу даже готовый PR завернуть на том основании что он мне не нравится (могу — не значит делаю, но — могу, факт).
Ну, вот для примера, 2001 год.
Это про треды во FreeBSD.
А в линуксе NPTL тогда победил ;-)
Точно, про NGPT я и запамятовал. Было и такое, да…
Особенно если учесть, что выигрыш получался в основном при рисовании Finite State Machine — а в таком стиле программировать дело нелегкое ;-) Победил подход «херак-херак и в thread pool». Что как бы уже было очевидно в 1998м году.
Правда в 1998м у апологетов FSM фигурно лобзиком — был неоспоримый аргумент в виде «в тредах очень накладно висеть в listen()/accept()». При появлении нового соединения будились все «тыщи» ниток, чтобы только одна продолжила работу. Но горячий финский парень этот вопрос решил, повторив подход kqueue из FreeBSD ;-)
И он тогда наглядно изображал — куда (и почему) шла FreeBSD. И нет, это была не лицензия.
Если в трех словах — это темпы развития, общий вектор, и коммунити.
Первых два очень хорошо описывал на примерах стандартного API (libc/libc_r) и реализации threads (емнип, в линуксе аж две либы было на тот момент работы с потоками, а фря который год выстраивала монументальный проект с моделью ниток с фиберами N:K, который умер не родившись. Как потом злословили — потому что в линуксе придумали в итоге epoll, ага, с третьей попытки. Но смысла в зеленых нитках не стало).
А третий компонент лучше всего проиллюстрировал в примерно то же время Алекс Кошмарь, в своем фирменном стиле обложив матом «поделие финского студента», но опять же фирменно с цифрами и примерами. Что характерно, один из кернельдевелоперов той поры, легендарный ANK, не просто связался с Алексом прямо в фидо, но и получил доступ к хосту с репортом, и решил таки проблему внезапной паники линуксового ядра на запредельных сетевых потоках (а, да, потом опять весь стек переписали). А в freebsd с багрепортами было мнэ… не очень.
А тут — лицензия уиноуатая, и не виноват ли снова межделмаш?
И что характерно, пластик — не погрызен, не деформирован, не потерял форму и цвет. И ремешок тоже. И ни разу не отваливался — впрочем это трудно сделать, ремешок к корпусу привинчен.
И обошлись мне эти часы баков 60 примерно, и все еще работают. Классическая электроника, никаких архаичных стрелок, вещь.
До этого были похожие, но в металлическом корпусе. Когда в олимпияцентруме со скейта кувыркнулся через голову — приложился ими об асфальт. Сами — целы, а вот металлический браслет разлетелся на кусочки. Штамповка-ссс…
Win3.11 WfW — была весьма неплоха. Под нее был Win32s, очень забавная такая штука в попытке преодолеть 16битность. Жаль, родовые травмы никуда не делись даже в Win95. Так что «погромирование на це-два-креста» вынуждало переползать или на осьдву, или на NT 3.51.
Но с осьдвой было грустнее, приходилось копать в Win-OS/2 и ограничивать себя 16битными приложениями (или курить OWL). А знаете почему ограничивать? Потому что это был лайфхак — разрабатывать под осьдвой проги под уиндоусь… И самая попаболь была с common controls, все эти TreeView и ListView — были сугубо 32битными. После пятого раза «мы пишем 16битную версию TreeView» я плюнул и завязал с Win16 окончательно.
Да, а еще неимоверно радовали цветные курсоры мыши в WinNT 3.51. И неимоверно бесили новые контролы open/save file в NT4, ибо попытка через COM в диалоге отобразить часть Windows Explorer параллельно с компиляцией — вынуждала пройти и взять еще кофе, пока оно там дошкрябает.
Да, а еще был такой Wabi, запускать ворда 2.0 в емуляторе чтобы срочно поправить текст, это было интересным опытом. Жаль что неоднократным, хех. Ага, через eXceed. Ну, просто ворда себе ставить не хотелось (сколько виндоус занимает места на диске? сколько находит столько и занимает!), а на ближайшем SCO OpenServer он был.
А еще в NT 3.5 был OpenGL. Поэтому можно было очень хорошо потроллить админа — берем этот самый опенгылы, тихонечко лупим в оффскрине туториал в виде чайника, процессу ставим приоритет Idle — и тихо ржем наблюдая как админ пытается понять, почему процессов с высоким приоритетом нет, с нормальным — вообще не участвуют, а мышка лагает и окошки еле перетягиваются…
А еще в те далекие времена NT была единственной тотально-юникодной платформой. Пусть в итоге оно выродилось в UTF16 (когда литеры вылезли за 16бит), но попытка была архизачетная. Это в те самые времена, когда 4 мегабайта ОЗУ были мейнстримом, ага. Но и тут отмечу ложку дегтя, «для совместимости» юникодные версии кнопок и текстовых полей вели себя иначе чем их ансишные собратья, гррр!!!
А еще там были подсистемы и Native API. Причем очень долго приходилось копаться в этом самом нейтив апи. пока не появился стандартный способ получать список процессов без хаков. И кстати до сих пор этот NtQueryProcessInformation — рекордсмен и живее всех живых ;-)
А еще в NT была чудесная фрагментация сишного хипа. И назад освобожденную память рантайм системе отдавать не хотел из принципа, ведь своп есть, памяти всем хватит! Поэтому приходилось оборачивать выделение памяти в свои примитивы и в них «изредка», хех, звать _heapmin().
Но глюков стало меньше, лайфхаков тоже, «пинг смерти» починили и синий экран в win32k.sys тоже, при создании окошек 2млн на 2млн ;-)
И где-то на Win2k3 эпоха старой Windows закончилась, наступил кризис жанра, а затем и эпоха trustworthy computing. А это уже совсем другая история…
машинойроботом должен идти сопровождающийс флагом.Время идет, но ничего не меняется, страх перед новым все такой же.
АвтомобилиРоботы отнимают у нас,кучеровносильщиков, рабочие места! И теперь зарплата пойдетшоферамналадчикам роботов, ужас-ужас…(идет за чипсами и колой)
Фактически, каждая версия «до» — имела четко очерченную цель, понятную рынку, и формировала ожидания.
Поясню на примерах
и т. д.
Но с выходом WinXP микрософтовские ребята внезапно (тм) обнаружили страшную вещь. А именно, рынок в основном удовлетворен. Все действительно востребованные и критичные задачи — решены (нет, "секуритя" не входят в этот список в силу своей природы).
И немедленно возникли разные течения внутри микрософт!
Первое очевидное — давайте расслабимся и будем полировать существующее решение тряпочкой, попутно дописывая нескучных обоев, докладывая драйвера в новые апдейты от производителей железа.
Этот лагерь проиграл просто в силу бюрократических особенностей: если мы стоим на месте и корродируем — то за что бонусы давать?
Второе — разумное. Мы были пионерами перехода на 32 бита, мы уже давно прощелкали все полимеры с переходом на 64 бита. Огромный кусок работы, «windows on windows», тем более что это просто необходимо для серверных редакций. Вот оно, рынок поддержит!
К сожалению, груз уже написанного кода прямо мешал. Хорошо вам там в виндоусь коре, а зачем это отделу офиса или отделу игр? К примеру, даже в 2018 году микрософт прямо рекомендует использовать 32битный офис, а 64битной вижуалстудии вообще нету, даром что на дотнете писана.
Так что программу 64! (по аналогии с интелевой рекламой 32! много лет назад) с энтузазизьмом поддержали отделы больших и толстых энтерпрайзов, БД, и не менее «нужных» консумерам решений, а вот наиболее массовые продукты до сих пор на 64 бита переходят, и это 15 лет спустя…
Третье — давайте все заново перепишем на (нужное подставить). Самый интересный способ, приносящий наибольшее число плюшек его апологетам. Но простите, а зачем это нужно рынку?
Увы, попавшие в ловушку «место на стене кончилось» выбирают именно третий вариант. Революция! Или если хотите — майдан… Сожжем старых кумиров и наставим новых идолов.
И вот тут-то попытка столь быстро бежать привела к тому, что тапки начали лупить по затылку.
1. Работы в революцию всегда больше чем казалось.
Например, в какой версии все приложения «из коробки» были наконец-то переведены на коммандбары, так же известные как риббоны? Правильный ответ «работа еще ведется». Ага, 10 лет спустя… Но простите, в микрософте некому сделать автораскладывалку из менюшек в риббоны, для своего-то кода? Наверняка пробовали, не взлетело в силу древности кода.
2. Революционные абстракции революционно дырявы.
Не то чтобы в микрософт не понимали опасностей революции. Очень даже. Именно поэтому и была сделана ставка на дотнет — а мы отыграем годы и тысячи человеко-лет просто в силу более хорошего инструментария!
Не, идея то здравая, я сам так делаю когда по времени цейтнот. Тонуть так на «титанике», а не на утлом плоту, хех.
Проблема — в методике. Правильно было бы плавно переводить старый легаси код на новые инструменты, выкидывая старые компоненты и заменяя их новыми.
Если бы (например) микрософт нарисовала бы common controls на дотнете и обеспечила бы работу с ними (благо как раз отрабатывался этот механизм с манифестами и т.д.) из любого кода — то через пару лет весь софт бы использовал их.
Аналогично можно было бы обеспечив нужные биндинги — переводить стандартные общие механизмы на новую платформу. И еще лет через пять обычный набор контролов начиная с button — был бы весь на managed code.
Но это была бы эволюция. Не срослось.
3. Время не резиновое.
На перестройку мира по новым лекалам ушли годы. И появление Aero у меня вызывало только улыбку. Как, только сейчас? Это после того как в линуксе вовсю начали рулить композитные менеджеры? А до этого вы там чего делали, WinFS?
4. Хотели как лучше...
В итоге, даже в области нескучных обоев в Longhorn оказалось печально.
Зато решались (не решились!) эпичные задачи по отбиранию прав у администратора на собственный компьютер. Зачем? Почему? Кто на ком стоял?
Как итог, многие очень интересные наработки были выброшены или заброшены.
Вот например, представим себе что команда IE продолжает идти вперед. Интересно, как бы изменился мир, если бы нечто вроде IE 11 появилось бы к 2008 году…
Важное послесловие
Тут некоторые товарищи злорадствуют — мол как это так, все плохо и вдруг столько денег? Да элементарно.
Команда офиса например сумела избежать революций, что дало стабильный доход. Постепенно эволюционируя, привносят все больше новых возможностей. Пусть они нужны только небольшой части их клиентов, но именно эта часть и формирует тенденцию.
Облачные продукты также очень сильны у команды офиса, хоть и вызывают лично у меня скрежет зубовный.
Команда разработки инструментов, в первую очередь вижалстудии — проделала поистине прекрасную работу, и продолжает улучшать свои продукты и далее.
Облака, искусственный интеллект, базы данных, корпоративный сектор… Да и Windows Server по своим потребительским качествам весьма и весьма неплох, я бы вместо попугайских вист-семерок-и-далее с удовольствием бы в качестве десктопа использовал Win2k8+ (если бы не лицензионные ограничения).
Потому и.
А вот с вистой получилось
Надеюсь, уроки революций прошлого учтены, да, микрософт?! 8-)
До сих пор помню резкий ответ дяди Вовы на поток «спервадобейся», как раз его учили как надо переходить на линукс (1998 год!). Типа — а еще надо вникнуть во все детали, «стать админом как мы», ну а потом выкинуть ворд с вендекапцом, уволить секретаршу, и пересесть в ТеХ и еще много чего. Ну и заодно порш сменить на форд-фокус, а то не зачтут 8-)
А близко к тексту ответ звучал как «Пересядешь на ламборгини — будешь учить бизнесу успешного СЕО, а пока твое место — обеспечивать поддержку работы секретарши босса. И если ей удобнее набирать в ворде когда босс диктует — будешь ей обеспечивать работу ворда».
Зажег он тогда светоч знаний для любителей эдак свысока похлопать из своей админской каптерки по плечику, да…
И что смешно, дядя Вова потому и остался в анналах, что при всем своем эпатаже и резком тоне — тогдашнюю аудиторию в своей правоте — убедил.
А впрочем, воспринимайте это не более как брюзжание старпера, который «переводил на линукс» еще 20 лет назад ;-)
А поди ж ты, все те же «сперва
добейсяразберись». Прямо таки захотелось отмотать выше по треду дядю Вову, он тогда жег глаголом аккурат по таким вот тезисам ;-)Времена «поставьте патченную версию CS4 и примените мануал по подмене DLL» похоже таки ушли в историю безвозвратно.