Pull to refresh
0
@MacInread⁠-⁠only

User

5
Subscribers
Send message
Тут надо упомянуть Игоря Негоду, который сделал ТРД для своей модели сам.
За бесплатный выпуск операционки?
Ой, не проблема: создаём отдельную фирму, и она выпускает.

Вас не затруднит вспомнить недавнее прошлое — Windows 95, встроенный Internet Explorer, вотэтовсё.
Какой статус? Стоит быдло плюёт семки под себя матерится, но с айфоном. Какой у него статус?

Ну как какой? +1 по сравнению с соседним парнишкой, который просто плюет семки, без телефона.
А использование «lpt:» никак не конфликтует с именами файлов — там же двоеточие!

Использование CON, PRN, LPT1, COM1 тоже никак не конфликтует — мы говорим о ряде операционных систем, где 99% файлов имеют расширение через точку.

Вообще-то, Unix был примерно на десять лет старше, чем CP/M. И это если не учитывать предшественников Unix'а. Т.е. десять лет можно был пощупать, как делать правильно.

Что Килдал и сделал — он взял стилистику RSX, которая того же возраста. Это просто другая «экосистема».

Шо???
Ни в Unix, ни в DOS — перенаправляемый вывод не позволяет нормально работать с консолью. Нормально — это менять цвет текста, перемещать курсор, etc.

Для этого в MS-DOS'е предназначен драйвер ansi.sys и используются escape последовательности.
А есть ещё более простое решение, которое даже таблички не требует (правда, табличка всё равно потребуется — но позже): записывать имена спец.файлов в особом формате; таком, что таких имён файлов дна диске быть не может.

См. первый ответ. Тут MS даже сделал гибче, чем надо было.

А ничего, что IBM в тот момент выпускала PC-совместимые компьютеры?

Всего-навсего как один из игроков, пытающийся к тому же продвинуть свою систему. Так что все верно — по другую сторону.
Так еще, из исходников PIP в CP/M: (кто не в курсе — CP/M написан на ЯВУ)
/* CHECK FOR DISK NAME OR DEVICE NAME */
IF CHAR = ':' THEN
DO; IF DISK <> 0 THEN RETURN; /* ALREADY SET */
IF FLEN = 1 THEN
/* MAY BE DISK NAME A ... Z */
DO;
IF (DISK := GETFCB(1) - 'A' + 1) > 26 THEN
/* ERROR, INVALID DISK NAME */ RETURN;
CALL DEBLANK; /* MAY BE DISK NAME ONLY */
IF DELIMITER(CHAR) THEN
DO; IF CHAR = LB THEN
CALL SCANPAR;
CBP = CBP - 1;
TYPE = DISKNAME;
RETURN;
END;
END; ELSE

/* MAY BE A THREE CHARACTER DEVICE NAME */
IF FLEN <> 3 THEN /* ERROR, CANNOT BE DEVICE NAME */
RETURN; ELSE

/* LOOK FOR DEVICE NAME */
DO; DECLARE (I,J,K) BYTE, M LITERALLY '20',
IO(*) BYTE DATA
('INPIRDPTRUR1UR2RDROUTLPTUL1PRNLST',
'PTPUP1UP2PUNTTYCRTUC1CONNULEOF',0);
В коменда PIP слеши использовались для задания опций (как во многих программах DOS потом).

Т.е. автор CP/M взялся портировать что-то из Unix и не стал портировать форму задания ключей оттуда? Поразительная криворукость!

Действительно — чего уж там. Увидев Unix на конференции (попробовать его в деле тогда ещё нельзя было) — Киндал должен быть срочно забыть про всё то, чем до этого пользовались десятилетиями и всё сделать как в Unix. «Забив» на привычки и опыт, конечно.


Ребят, вы чего? Что сейчас началось-то? Причем тут ваш драный Unix? (тихо-тихо, шучу).
PIP — это из RSX-11M с PDP (ОСРВ СМ-1420), там ключи как раз были с виндовыми слешами, в том числе и в пипе.
Windows NT (OS/2 NT точнее) много имеет из VAX/VMS, который «стоит на» RSX. Тут получается «ромбовидное множественное наследование» — из RSX Килдал перенес ключи в CP/M, оттуда они попали в MS-DOS, оттуда — в Windows; из RSX — в VMS, оттуда — в NT.
Сама по себе эта задача — средней паршивости, но работа с графикой там подчас была непростой, начиная от реализации шрифтов и заканчивая отрисовками при перетаскивании, буферизацией и пр.
В Эстонии нет проблем с пополнением онлайн. Интернет-банк, два клика и готово. Если чисто из-за границы, то сложнее, но если уж заморачиваться, то можно и счет заиметь.
Оставим в стороне вопрос мотивации и анонимности на минутку. Но «кто на ком стоял», что с чем предполагается сравнивать — решительно непонятно. Как разрешится вопрос с несколькими адресами/номерами — тоже. Ощущение, что (как минимум, новость — сам закон не читал) писал человек, весьма далекий от реальности.
Это, наверно, в совсем лохматые годы какие-то. В версиях начала 2000х (не помню, 2000 или 2003 — как называлась первая) никаких проблем с этим уже не было, надо было только мысленно в голове представить «префиксную нотацию» чтобы определить порядок действий при наборе, и все.
Хоспаде. Опять эти страшилки про DOS alias'ы в общем пространстве имен — это уже что ли третья статья на хабре по этой теме.
Да, есть программы, которые не смогут с такими именами работать, но ядро, API таких ограничений не имеет. Весь вопрос в том, resolve'ится ли имя через DOS alias или напрямую в \\?\
Старшеклассникам бы уметь документы в Word'е составлять — форматировать не пробелами и пустыми строками, составлять автоматические оглавления, вставлять сноски и пр. А то потом начинаются при сдаче простейших курсовых в институтах пляски с бубном. Слепой набор? По-моему, позор, когда первокурсник не может даже в Excel'е обработать данные лабораторки по физике, и считает всё руками.
Что самое печальное — читая все комментарии выше и вспоминая свои аналогичные эксперименты — я вспоминаю, как же здорово, весело, интересно было это делать. И насколько скучными бывают подчас нынешние повседневные задачи при профессиональном занятии программированием.
И тут попадание — я писал на нем оконный менеджер. Было вполне неплохо — окна могли перекрываться, перетаскиваться, кнопки-editbox-checkbox-radiobutton-шрифты — все работало.
Но с модулями. А потом пошел ядро пилить на языке ассемблера под 32 бита… Многие идут параллельными тропами.
и у вас действительно в 2005 году был жесткий диск всего на 2.3Гб? жестковато как-то, такие даже в 2000 уже были невообразимым старьем. как и сборники досовских игрушек с меню

Как бы не так.
Помнится, в 98 перешел на Cyrix 233 и первое время таскал за собой пару винтов 80+40 МЕГАбайт. Потом купил новый на 1.7
Ох, как знакомо — и Visual Basic 6 в примерно те же годы, и полетевший винт, похоронивший под собой готовую первую версию стратегии реального времени, и «отвлечение» на разработку ОС в седьмом классе…
В этом конкретном деле нововведения, может быть и не нужны — ведь уровень контроля качества был достаточным, чтобы до этого все Союзы летали нормально.
Скорее наоборот, из-за каких-то нововведений и «оптимизаций» и произошел промах с контролем качества.
Нет, вы как раз представляете в карикатурном виде то, против чего я возражаю — обнаружение пост-фактум — неважно, мы автоматизировали и «вдруг» получаем кучу людей не у дел, или собираемся (и гтовы это делать прямо сейчас), но получаем кучу людей не у дел — я выше высказался против такого подхода. Я — за планомерную автоматизацию, чтобы ситуаций с лишними людьми не возникало в принципе — этот вопрос должен быть решен заранее.

Тогда прогресс замедляется :)

Нет, не замедляется. В этой системе часть прибыли была бы заранее отведена на то, чтобы занять этих людей, а не купить яхту. Автоматизация была бы проведена в том же объеме и тогда же, но люди бы заранее были готовы менять работу.
Подход «нафиг автоматизацию, куда девать рабочих» означает, что ничего заранее не было продумано и спланировано; на мороз таких управленцев.
Нет, конечно. Я предлагаю думать о том, куда девать «лишних» людей параллельно/до с техническим прогрессом, а не по факту увеличившейся безработицы. Разумеется, прогресс это благо и ни о какой остановке речи не идет. Но люди — это люди, и прогресс — не самоценен, он ради людей и их блага.
И если система устроена так, что дополнительный прибавочный продукт обобществляется и может быть направлен на поддержание этих людей на время переобучения и само переобучение — это одно.
Если прибавочный продукт (стоимость) приватизируется частным лицом, а освободившиеся люди вынуждены без работы самостоятельно как-то искать пути решения, не всегда имея средства для переобучения и обреченные в результате на нищету и деградацию — это другое.

P.S. я не о данном конкретном случае, а в целом о дилемме прогресса и безработице.
Честно — и слава богу. То, что "… компенсируется необязательностью выполнения" зачастую благо и для простых граждан.

Information

Rating
Does not participate
Registered
Activity