Pull to refresh

Comments 94

молодец Билл, предложил IBM операционку, которой у него по сути еще не было
Многие предлагают еще не созданные продукты потребителю.
Это единственно верный способ запуска стартапа. Нет никакого смысла делать нечто, если не нашлось безумца который жаждет это купить.
Гейтс может и не был выдающимся программистом, а вот выдающимся бизнесменом явно был.
не был, а есть. А так же вполне заслуживает называться выдающимся программистом.
простите, назовете хоть один продукт в котором он бы выступил, как программист?
талантливый бизнесмен, хороший управленец, но никакой программист.
Т.е. вы не удосужились прочитать о нем ни одной книжки (хотя бы из тех что он написал), но при этом как бы заявляете что знаете что никакой он не программист?

К слову, он участвовал в портировании qbasic'а на множество различных платформ. Он пилил msdos. Он очень активное участие принимал в создании c#.

Книги из тех которые он сам написал? А смысл читать самовосхваление талантливого бизнесмена?
«Нам просто не о чем было бы говорить» (с) Л.Б.Торвальдс о У.Г.Гейтсе
Самовосхваление? Что за бред? Откройте книгу, да прочитайте.
Я где-то читал, что DONKEY.BAS был написан именно Гейтсом.
(кто видел первые версии DOS — наверняка вспомнит. Эта игрушка входила в поставку)
Могу порекомендовать Вам почитать биографию Пола Аллена (Paul Allen — Idea Man: A Memoir by the Cofounder of Microsoft, правда на сколько я знаю на данный момент русского издания нет), Гейтс таки был хорошим программистом в своем время. Но было в эпоху до MS-DOS. К моменту появления DOS Гейтс уже занимался руководством.
UFO just landed and posted this here
UFO just landed and posted this here
Вообще вся эта возня на протяжении многих лет в 90х, когда IBM объявлялся основным конкурентом MS — больше похоже на борьбу нанайских мальчиков. Его мать была есть и продолжает быть в совете директоров IBM.
UFO just landed and posted this here
Да Билл там особенно и нипричём, почитайте «Microsoft: история “рокировки” лидеров компьютерной индустрии», многое становится яснее в этой мутной истории.
ага, сразу вспомнился фильм Pirates of Silicon Valley

image
На коробке:
MICROSOFT Microsoft MS-DOS
UFO just landed and posted this here
Вы пропустили приписку после черточки, с ней получится: MICROSOFT Microsoft Microsoft Disk Operation System Operating System
ехал Microsoft через Microsoft
видит Microsoft — в Microsoft Microsoft
сунул Microsoft Microsoft в Microsoft
Microsoft Microsoft Microsoft Microsoft
Правило 1-2-3-4 упущено. Увы, сугубо нескладная тавтология организовалось.
Приведу пример на основе Гитлера:

Ехал Гитлер через реку, (1)
Видит Гитлер — в реке Гитлер! (2)
Сунул Гитлер Гитлер в Гитлер, (3)
Гитлер Гитлер Гитлер Гитлер! (4)

Для Майкрософта будет примерно так же, но слово Гитлер будет заменено на слово Майкрософт, то есть:

Ехал Microsoft через реку,
Видит Microsoft — в реке Microsoft!
Сунул Microsoft Microsoft в Microsoft,
Microsoft Microsoft Microsoft Microsoft!
Ехал Гитлер через Гитлер,
Видит Гитлер — Гитлер Гитлер! (2)
Сунул Гитлер Гитлер в Гитлер, (3)
Гитлер Гитлер Гитлер Гитлер! (4)
Если уж расшифровывать, то до конца: MICROcomputer SOFTware Microcomputer Software Microcomputer Software Disk Operation System Operating System.
Сегодня день SEOшника чтоль? :-)
И еще смешнее: MICROSOFT Microsoft Microsoft Disk Operation System Operating System
А как Вам «DVD-диск» или «бутерброд с маслом»?
А если еще учесть надписи ниже:
«MICROSOFT Microsoft Microsoft Disk Operation System Operating System»
Автомобильный Волжский Автомобильный Завод смотрит как бы с недоумением. ;)
АвтоВАЗ — просто созвучие, ничего не значащее.

Потому что на момент основания АвтоВАЗ'а, сочетание ВАЗ уже не было аббревиатурой.

Как Adidas. Хотя когда-то «Адидас» и значило «Ади Дасслер»…
Первая надпись — логотип.
UFO just landed and posted this here
UFO just landed and posted this here
Неужели? Ужасы какие вы рассказываете… И что-же было дальше, не дайте помереть дурой!
UFO just landed and posted this here
Это всё, что-ли? Или есть еще страшная правда, но власти скрывают?
UFO just landed and posted this here
А где леденящие душу истории про откат?
UFO just landed and posted this here
Хм… Т.е. на основании того, что у Гейтса была мать(в IBM, кстати, не работавшая) вы делаете вывод про откаты? Это замечательно.
UFO just landed and posted this here
О как. Т.е. по непроверенным данным его мать упоминала о компании сына в разговорах…

Точно откат, отступаю перед подобной логикой.
UFO just landed and posted this here
UFO just landed and posted this here
В нашей стране это именуют кумовство
Теоретически оно не такое плохое, как откаты. Ведь Билли специально не закладывал в стоимость ДОС +10% на бриллианты маме.
UFO just landed and posted this here
Кумовством это бы называлось, если-бы Гейтс за сумму, превышающую среднерыночную в несколько раз угробил бы превосходную разработку конкурентов и напарил бы неработающее угрёбище.

А вышло так, что Digital Research облажалась, а Гейтс продал коммерчески привесьма успешную операционку, причём дешевле, чем рассчитывали IBM. В чём кумовство, откаты и прочее?
UFO just landed and posted this here
Не компании конкурентов, а их более выгодные предложения, разумеется.
>А дальше был счастливый контракт с никому не известным ранее молодым человеком.
Враньё по двум пунктам:
1) Он был уже известен, так как продавал плату, позволяющую запускать CP/M (будущий DR-DOS) на Apple 2. Причём это была не неизвестная поделка, а самая популярная платформа для этой оси.
2) Дальше не было контракта. Был отсыл к создателям CP/M — фирме DR.

Учите, пожалуйста, историю и не позорьтесь.
UFO just landed and posted this here
UFO just landed and posted this here
Откат-неоткат, какая в жопу разница. IBM — не госконтора
Неужели?
А все ли знают, что когда IBM обратилась к Гейтсу по поводу лицензирования 8088-совместимой сборки CP/M (операционной системы), Гейтс вовсе не продал им свой «совместимый вариант», а направил IBM к создателям CP/M — компании Digital Research. То есть взял и посоветовал гиганту IBM обратится к конкурентам. Вот вам и откат блин.

DR отказалась лицензировать операционку (потребовала отчислений за каждую копию) и тогда IBM снова обратилась к MS.

When IBM introduced the IBM PC, built with the Intel 8088 microprocessor, they needed an operating system. Seeking an 8088-compatible build of CP/M, IBM initially approached Microsoft CEO Bill Gates (possibly believing that Microsoft owned CP/M due to the Microsoft Z-80 SoftCard, which allowed CP/M to run on an Apple II[15]). IBM was sent to Digital Research, and a meeting was set up. However, the initial negotiations for the use of CP/M broke down—Digital Research wished to sell CP/M on a royalty basis, while IBM sought a single license, and to change the name to «PC DOS». DR founder Gary Kildall refused, and IBM withdrew.[15][16]
IBM again approached Bill Gates. Gates in turn approached Seattle Computer Products. There, programmer Tim Paterson had developed a variant of CP/M-80, intended as an internal product for testing SCP's new 16-bit Intel 8086 CPU card for the S-100 bus. The system was initially named «QDOS» (Quick and Dirty Operating System), before being made commercially available as 86-DOS. Microsoft purchased 86-DOS, allegedly for $50,000. This became Microsoft Disk Operating System, MS-DOS, introduced in 1981.

P.S. Для тех, кто считает, работа Microsoft над операционными системами началась с покупки чужой оси, как обычно, неправы. К тому моменту как IBM в первый раз обратилась к Microsoft по поводу CP/M, MS уже создала Z-80 SoftCard — плату, позволявшую запускать CP/M на Apple II.
P.P.S. Опять же люди не понимают, что то, что купила MS — это поделка для внутреннего тестирования плат, а выпущенная на её основе MS-DOS — это поддерживаемая универсальная операционная система. Повезло Линусу — ему даже покупать ничего не пришлось, так как GNU он взял бесплатно, скупясь для создателей даже именем (Linux vs. GNU/Linux).
Линус сделал ядро, а прикрутить GNU и не создавать кучу тулзов с нуля ему уже потом посоветовали в рассылке. Так-то! Ибо у него уже были некоторые unix тулзы.
И? А Гейтсу купить QDOS посоветовала (точнее, одобрила сделку) IBM. Не вижу особой разницы и смысла спорить.
Моя мысль была в том, что законное использование чужого кода вместе со своим не должно являться чем-то предосудительным.
Ностальгия.
Сразу вспоминаются уроки информатики, Turbo Pascal и игрушка Dangerous Dave.
Вот вы ржете, а я только из под доса.
В телнете сижу, xcopy лабаю )

Вернее, это не чистый же дос, а эмулятор, но мы это и так все знаем )
Не взирая на то, что пользуюсь исключительно линуксом, Билл сделал многое для ИТ, от души поздравляю его детище.
Современные системы хорошо умеют «прятать» железо от пользователя и это правильно. Но что делать, если хочется ручками «попереставлять битики» в IDE контроллере, сетевой карте или видеокарте? Тут и приходит на помощь старая и «добрая» MS-DOS. Я не знаю более простого способа, чем связка MS-DOS + Borland C для начального знакомства с железом. А если добавить к этому виртуальную машину, то вообще удобно и просто.

Но в этой бочке мёда есть и большая такая ложка дёгтя. Почему-то в режим ожидания ввода, MS-DOS (например, версия 6.22) так и не научилась делать команду HLT. Соответственно, виртуальная машина под MS-DOS «кушает»всё отведённое ей процессорное время, физический процессор греется, кулер шумит и бешено вращается, в комнате становится ещё теплее, а электросчётчик спешит догнать кулер. Спрашивается — в каком таком цикле крутится DOS, если при любом раскладе можно выполнить HLT (останов процессора и переход в режим низкого энергопотребления) и просто ждать прерывания?
Тогда небыло смысла использовать HLT. То есть вообще. Никакого.

Процессоры вплоть до 386 включительно (по крайней мере часть из них) были даже без радиатора, про кулеры вообще не говорю. Энергопотребление и тепловыделение было мало.

Вот MS-DOS и крутится в цикле проверки наличия нажатий в буфере клавиатуры. Типичное решение того времени.
ms-dos, безусловно, стал достижением для PC, только Гейтсу до сих пор не могут простить «корявую» имплементацию потоков ввода вывода и отсутствие вменяемого командного интерпретатора. нужно быть нетривиальным виртуозом, чтобы написать хоть что-то полезное на command.com. можно еще послать луч ненависти за способ организации памяти в первом мегабайте.
>«корявую» имплементацию потоков ввода вывода
а чем они болеют?
я ждал этого вопроса.

в msdos довольно убого реализованы потоки. <, >, >>, | и все. ни труб, ни фифо ни сокетов.
посмотрите что может ms-dos:
msdosworld.ru/spravochnie_materiali/spravochnik_programmista_po_operatsionnoy_sisteme_ms-dos/541_standartniy_vvod-vivod.html

что-то нормальное родилось только в windows:
www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

для сравнения, изящество *nix:
xgu.ru/wiki/stdin

Паттерсон с Гейтсом просто безжалостно порезали POSIX взяв верхушку. можно, конечно, сетовать, что на «640кб на всё не хватит», но тогда же была CP/M с подобным функционалом, с которой и было все это взято.
и да, холиварить не собираюсь, это мое скромное имхо.

Пайпы, фифо и сокеты — это уже межпроцессное взаимодействие, откуда ж ему взяться в практически однозадачной ОС?
Был бы 86-DOS была полноценной многозадачной многопользовательской ОС, то у Билла скорее всего не вышло бы так дешево и просто перекупить ее и впарить IBM
>Гейтсу до сих пор не могут простить «корявую» имплементацию потоков ввода вывода и отсутствие вменяемого командного интерпретатора.
Мне кажется, что пришло время простить. PowerShell — это более сильная реализация идеология UNIX-шелла.
Пайпы — прекрасная вещь, но *nix пайпы уткнулись в свой тупик десятилетия назад. Идея «много маленьких программ, каждая их которых делает одно дело, соединённые пайпами» не может быть до конца реализована в text-based потоках.

Вместо
< image.png read_png | image_rotate 45 | write_jpg > image.jpg
мы имеем монстрообразный imagemajic.
Что-нибудь вроде
image_concatenate
Вместо
< image.png read_png | image_rotate 45 | write_jpg > image.jpg
мы имеем монстрообразный imagemajic.
Что-нибудь вроде
image_concatenate <(< image.png read_png | image_rotate 45) <(< image.tif read_tiff | image_monochromize) | write_jpg > image.jpg
совсем слабодостижимо.

Если не сужать кругозор до одно только *nix-shell'а, то становится очевидны не только достоинства *nix-shell'а, но и недостатки.
>не может быть до конца реализована в text-based потоках.
не text, a byte. трубы глотают всё что им дают, им можно доверить данные любого рода, и уж узким местом в коммуникации они никогда не являлись. но мы ведь говорим сейчас об командном интерпретаторе дисковой операционной системы. всё, что от нее требуется — это манипуляция с файлами. ни у кого не возникает серьезного желания рисовать или музицировать в bash, хотя он и это может, LOL.
пойдем дальше. что требуется от командного интерпретатора(как сейчас, так и 20 лет назад)?
*работа с переменными, с массивами.
*хорошая организация условных конструкций типа if — then — else, do -while
*процедурная парадигма
*обработка ERRORLEVEL, аргументов вызова, ввода данных с клавиатуры.
*массовая работа с файлами
*эффективная работа со стандартным вводом и выводом.
в DOS всё, всё черт побери сделано коряво. даже чтобы вывести сообщение типа «нажмите X для Y» требовалась программа choice.com. поэтому, Norton Commander стал иконой целого поколения, тогда как Midnight Commander — всего лишь приятным дополнением и отрадой для новичков.
>не text, a byte.
Большинство утилит всё же ориентированы на работу именно с текстом. Я хотел подчеркнуть именно это. Если бы ориентация была на байты, то заменить два таба на перевод строки при помощи sed по FreeBSD не было бы такой нетривиальной задачей.
>что от нее требуется — это манипуляция с файлами
Манипуляции с файлами — это ls, cp, mv, rm, touch. Большая часть остальных команд — это манипуляция данными. Причём данные, с которыми работают стандартные утилиты — это текст и текстовые таблицы. А ведь текст — это ещё не всё.

>и уж узким местом в коммуникации они никогда не являлись.
Какая чушь. Сами трубы тормозят действительно не очень сильно. А вот постоянное преобразование данных в текст, а потом парсинг обратно — вполне себе тормозная операция. Вообще, представь себе, что в программе, работающей с большими объёмами данных, после каждой команды происходит копирование всех данных. Подумай, ведь при использовании обычных пайпов происходит ровно это. Когда потоком соединено 10 программ, все данные как минимум 10 раз копируются, парсятся и снова превращаются в текст. Для любой нормальной программы такие накладные расходы глупы и немыслимы.

>трубы глотают всё что им дают, им можно доверить данные любого рода,
Подумайте, как программист, — зачем постоянно копировать данные? Зачем постоянно переводить числа из текста в переменные в памяти и, затем, обратно? Разве удобно, когда единственный тип «переменной», которую ты принимаешь на вход и отдаёшь на входе — это фактически void*? Разве удобно работать с датами, записанными текстом где-то посреди таблицы? Задумавшись, можно понять, как решить эти проблемы: нужна типизация данных и нужна возможность передавать данные, не копируя, а по ссылке. По-моему, это прекрасное продолжение главной идеи пайпов.
А ведь есть ещё множество других идей и улучшений. Как насчёт транзакций, например?

Хотите какой-нибудь пример, показывающую преимущество типизации? Возьмём простую файловую задачу, хорошо подходящую для выполнения в шелле: Найти разницу в минутах между датами самого старого и самого нового файла в текущей папке.

Bash:
dates=$(ls -lpT | grep -Ev '/$' | awk 'NR > 1 {print $6, $7, $8, $9}') | sort ???)
///а что дальше-то делать? Наверное, что-то можно…

Powershell:
$dates = ls | where {-not $_.PSIsContainer} | foreach {$_.LastWriteTime} | sort
echo ($dates[-1] — $dates[0]).TotalMinutes

Удобство и возможности заметны уже на таких простых задачах.
>что требуется от командного интерпретатора
Дальше зачем-то идёт нытьё про DOS (о котором я не сказал ни слова). Я нигде не говорил, что DOS — хороший, я говоил, что есть шеллы, принцип работы которых лучше, чем unix-shell. Но раз уж Вы подняли эту тему, скажу, что, по моему мнению, перечисленные Вами пункты реализованы в PS существенно лучше, чем в bash.

>обработка ERRORLEVEL
Вы, надеюсь помните, что в bash ошибки по умолчанию не передаются через пайпы? А помните, что, написав
вместо
< file \
commands
< file |
commands
вы вообще не получите ошибок?

>даже чтобы вывести сообщение типа «нажмите X для Y» требовалась программа choice.com
А про существование программы "[", используемая для условий, Вы внезапно забыли?
Прежде, чем делать какие-то сравнения, старайтесь по возможности расширять свой кругозор и смотреть на вещи со стороны, независимо.

>поэтому, Norton Commander стал иконой целого поколения, тогда как Midnight Commander — всего лишь приятным дополнением и отрадой для новичков.
Не вижу связи. Как NC помогает людям, которым не нравится использовать команду choice? Команды copy, move, del в DOS не были менее гибкими, чем в NC. Просто, такой способ работать с файлами был единственным на то время удобным способом. Непопулярность MC, думаю, вызвана другими причинами. Например, тем, что команды, которые выполняют пользователи в *nix-shell, занимают больше времени и чаще выдают информацию, полезную для пользователя. В такой ситуации использование менеджера файлов вроде MC менее удобно.
Я довольно хорошо владею bash'ем (по крайней мере, сисадмины иногда обращаются ко мне за советами), но без файлового менеджера продуктивность моей работы сильно падает (недавно сервер, с которым я работаю переезжал, и у меня не было доступа через SFTP). Пользоваться только консолью неудобно. Неудобно вбивать названия файлов: авто-дополнение не спасает, так как файлы имеют «древовидные» имена, и в любом случае, надо помнить их названия. Неудобно просматривать файлы: сидя в консоли, можно нормально просматривать только один файл (при этом ничего больше не делая), а открыть новые консоли и просматривать файлы там — медленно; намного проще нажать F3 и продолжить работу в консоли параллельно просматривая файлы. Консоль + файловый менеджер намного удобнее, чем просто консоль. Жалко, что MC — довольно неудобный менеджер, поэтому я использую Total Commander.

Ваша проблема в том, что вы уютно устроились в некоторой среде и не хотите даже думать о том, что эта среда имеет какие-то недостатки, или же, что могут существовать среды, которые лучше по некоторым параметрам. «Я не могу это, значит это мне не нужно» — неправильное отношение. Забудьте на секунду о Вашей среде, посмотрите вокруг, посмотрите незамутнённым взглядом, как живут другие — это может пригодиться и Вам.
Если возникала необходимость написать что-либо полезное, то там в комплекте был BASIC.
Да и вообще, эта ОС предназначалась для других задач, и, как показывает её популярность, эти задачи были гораздо нужнее, чем написание чего-либо в командном интерпретаторе.
Угу, на Спектруме в TR-DOS тоже был этот ваш BASIC. И? :-)
MS-DOS? Достижением? Каким? Маркетинговым что ли?

Ню-ню.
UFO just landed and posted this here
Через лет так 20 будет публикация, 30 лет спустя первой DDOS атаки.

Интересно, а когда була первая зафиксированая в истории челевечества?
Интересно, а когда була первая зафиксированая в истории челевечества?

Давным давно, все желающие не смогли попасть на корабль Ноя, пришлось фильтровать по MAC-адресу и давать не более двух сессий на каждый вид. =)
<...>
Люди ставят DOS. Словно в Рай заходят в DOS,
Нормальный, чистый DOS.
Ну ви таки щто? Сайт Каганова всё ещё жив, Фидошка ещё на плаву, не лейте пока слёзы. ;)

Вот нарастёт поколение, что выросло на бубунтах — вот там будет впору реветь и биться лицом об стол, вставив два острозаточенных карандаша в ноздри.

`8)
Забавно, первая версия QNX тоже появилась 30 лет назад. ;-}
Угу, и предки этиш наших никсов вообще из 50хх. ;)
Для тех неудачников, которые могут только завидовать и обвинять миллиардеров в жульничествах: Тим Паттерсон написал 4000 строк ассемблера, которые, как потом выяснилось, были копипастами. И Майкрософт у него не просто «выкупила» это сырое! поделие, а вообще-то устроила его себе на работу. Ну и потом Паттерсон не бедствовал, а успешно занимался изобретательствами и дальше.
en.wikipedia.org/wiki/Tim_Paterson
Но вы да, продолжайте и в недостатках доса Гейтса винить, и в том, сколько он бабла заработал… Завидуйте.
рабочему классу всегда виднее как правильно себя вести и бабки зарабатывать ))
Тим Паттерсон написал 4000 строк ассемблера, которые, как потом выяснилось, были копипастами.

С этого места, пожалуйста, подробнее. Что и у кого он «закопипастил»? Файловую систему (структуру, ибо сырцов FAT, насколько я понимаю, у него не было) он взял из Microsoft Basic. Некоторые идеи подсмотрел в CP/M. Но где там копипаста? Кстати, вот интересная статья: The Roots of DOS. А чем Вы подтвердите свой наезд на Патерсона?

Ничем, это так — естественный борец против мейнстрима поста.
Sign up to leave a comment.

Articles