LINUX.ORG.RU
ФорумTalks

История Photoshop

 , , ,


0

3

Photoshop был разработан командой Томаса и Джона Ноллов и с тех пор кардинально изменил подход к редактированию изображений. Программа была разработана на языке Pascal и ассемблере, что обеспечивало высокую производительность и оптимизацию. По количеству строк кода около 75% написано на Pascal, примерно 15% на ассемблере, а остальная часть — это данные различных типов.

Первая версия включала базовые инструменты, такие как обрезка, преобразование и работа с цветом, что дало возможность многим пользователям необычайно легко редактировать фотографии и графику. Разработка быстро завоевала популярность, особенно среди графических дизайнеров и фотографов, положив начало целой индустрии.

По ссылке немного истории замечательного инструмента и исходный код первой версии.

https://computerhistory.org/blog/adobe-photoshop-source-code/

★★★★★
Ответ на: комментарий от hibou

На ассемблере, например. Или на убогих диалектах, bcc прости г-пади.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от praseodim

Это же не в гцц компилируется, это регистр процессора вроде. CR0 что ли?… Я щас тоже так навскидку не вспомню.

Ну как, как… ты же можешь по разным адресам приготовить разный код. Тут такой исполнялся, а там другой будет. И между ними перевод процессора в защищенный режим.

Совмещение кода – возможно для ld надо файлик писать, че куда положить по каким адресам. Ну или самому, программно…

hibou ★★★★★
() автор топика
Ответ на: комментарий от praseodim

Ну это ты как-то пост-фактум сейчас уже пишешь, тогда ни о каких 64-х битах речи не шло - да и всё это можно сделать легко при желании и необходимости в процессе

shalom_ ★★
()
Ответ на: комментарий от praseodim

Причем на Си можно было написать ядро ОС, а вот на паскале не очень

конечно не на виртовском паскале, а на турбо паскале, спокойно писал обработчики прерываний, резидентов в памяти, работу с портами, си и ассемблер знал.

s-warus ★★★★
()
Ответ на: комментарий от unDEFER

Если пишешь userspace’ную программу, то она у тебя годами будет и компилироваться и работать

Средний виндовый exe-шник, собранный еще в Win95, без проблем запустится под Win11 через 30 лет. А ваш Линукс с какой вероятностью сможет запустить бинарник, собранный под прошлой минорной версией системы год назад?

А вот попробуйте написать драйвер работающий на уровне ядра и он уже через полгода наверняка под новое ядро не скомпилируется.

Вот поэтому драйвера пишут только под серверное железо, ибо нет выхода. А для консьюмерских девайсов в основном только реверсные недоделки, навсегда брошенные в состоянии «запустилось – и ладно».

quwy
()
Последнее исправление: quwy (всего исправлений: 1)
Ответ на: комментарий от quwy

Средний виндовый exe-шник, собранный еще в Win95, без проблем запустится под Win11 через 30 лет.

Ключевое слово «средний». Напомнить как майки костылили слой обратной совместимости еще во времена висты и семерки? Как оно запускало те самые экзешники из win95 исходя из фазы луны и желания левой пятки какого-нибудь хтонического божества?

А ваш Линукс с какой вероятностью сможет запустить бинарник, собранный под прошлой минорной версией системы год назад?

Эмм, lxc не существует?

t3n3t
()
Последнее исправление: t3n3t (всего исправлений: 3)
Ответ на: комментарий от t3n3t

Как оно запускало те самые экзешники из win95 исходя из фазы луны и желания левой пятки какого-нибудь хтонического божества?

Вранье.

Эмм, lxc не существует?

Клоуна честно заслужили за подобное сравнение.

quwy
()
Ответ на: комментарий от EXL

И что? Какой-то анонимус в интернете что-то написал. Я тоже написал. Схрена ли его заявление весомее моего?

quwy
()
Ответ на: комментарий от quwy

Вранье.

https://en.wikipedia.org/wiki/Windows_Vista#Core

Ctrl+F, «backward compatibility». Дальше еще и ссылка на официальный документ от майков по этому поводу.

Кто-то здесь действительно врет, ага. Я так-то еще третью винду застал и прекрасно помню как ломалась обратная совместимость в той или иной версии. И касалось это не только софта, но и драйверов.

подобное сравнение.

Было неспроста. Виста вышла в 2007, семерка в 2009, lxc в 2008. Поэтому изначальное сравнение оффтопика и онтопика тоже некорректное. Это была общая проблема для всего рынка софта еще с того времени, просто подходы к ее решению были разными.

Клоуна честно заслужили

Если для тебя эти клоуны имеют какой-то вес, это вовсе не означает, что это справедливо и для окружающих. Хоть обставься, лол. Кстати, рекомендую тебе пройти по ссылке из твоего же профиля, потому что вброс уж совсем жирный.

t3n3t
()
Последнее исправление: t3n3t (всего исправлений: 3)
Ответ на: комментарий от quwy

Схрена ли его заявление весомее моего?

Обратное тоже верно.

t3n3t
()
Ответ на: комментарий от t3n3t

backward compatibility

Вы хоть понимаете, что пытаетесь спорить с позиции «лучше никак, чем у поганого майкрософта»? Программы времен Win95 в массе своей работают, это неоспоримый факт. А вы тут рассказываете, что слой обратной совместимости недостаточно кошерный.

Виста вышла в 2007, семерка в 2009, lxc в 2008

Блин, lxc – это параллельный запуск совсем другого ядра, почти что виртуальная машина. Какое это имеет отношение к вопросу обратной совместимости? Виндовый досбокс может даже программы 44-летней давности запускать, но я же не преподношу тут это как заслугу операционной системы.

Если для тебя эти клоуны имеют какой-то вес, это вовсе не означает, что это справедливо и для окружающих

Не было бы веса, не жали бы соответствующие кнопочки.

рекомендую тебе пройти по ссылке из твоего же профиля

Вы сыпете бредовыми тезисами, а идти должен кто-то другой? Сами ходите.

Обратное тоже верно.

Ни в большей и ни в меньшей степени. Так что просто не аргумент.

Тем более эту ссылку я уже видел с год назад, и походу, она вообще единственная в интернете с таким утверждением. Я уже молчу про «железное» обоснование конвенции вызова. Просто нечего противопоставить столь железной аргументации, ей богу.

quwy
()
Ответ на: комментарий от quwy

Вы хоть понимаете, что пытаетесь спорить с позиции «лучше никак, чем у поганого майкрософта»?

Вранье. Изначальная позиция была завялена как «на линуксе вообще никак». Я указал на пример реализации того что это не так.

Блин, lxc – это параллельный запуск совсем другого ядра, почти что виртуальная машина.

Нет. Lxc использует ядро хоста. Опять врешь.

Какое это имеет отношение к вопросу обратной совместимости?

Прямое. Это буквально позволяет запускать версии софта, несовместимые с текущей версией окружения. Без виртуализации. Причем это только лишь один из способов реализации «А ваш Линукс с какой вероятностью сможет запустить бинарник, собранный под прошлой минорной версией системы год назад?»

Виндовый досбокс

Не виндовый, а кроссплатформенный. Эмулятор MSDOS, не имеющий никакого прямого отношения ни к винде, ни к майками. Дядь, ты точно вообще понимаешь что пишешь? Буквально на каждой детали сыпешься.

но я же не преподношу тут это как заслугу операционной системы.

Ты преподносишь виндовую костыльную обратную совместимость как ее заслугу как ос в противовес линукс. Тебе прямо указывают на то, что это не так, по фактам. Ты споришь и начинает делать еще больше фактических ошибок. Не было бы исходное заявление столь абсурдным и безаппеляционным, не было бы такой реакции.

Не было бы веса, не жали бы соответствующие кнопочки.

Чтоб у того, у кого от этого бомбит, бомбануло :)

Вы сыпете бредовыми тезисами, а идти должен кто-то другой? Сами ходите.

Ты размещаешь такие ссылки для тех, кто заходит в твой профиль. А когда тебя самого туда посылают, то это другое, да? Пойди маме пожалуйся.

Ни в большей и ни в меньшей степени. Так что просто не аргумент.

Да, изначальный тезис не может являться аргументом. На что я и указал.

t3n3t
()
Последнее исправление: t3n3t (всего исправлений: 1)
Ответ на: комментарий от quwy

Самая большая проблема линукса – хреновые или очень хреновые драйвера.

О да, я помню как один комп на nForce 2, кажется, требовал каких-то особых плясок с установкой драйверов. То есть их ставишь, система выпадает в синий экран. Перезагружаешься в безопасном режиме, что-то там меняешь в файлах, потом ещё пару раз перезагружаешься, и потом вроде работает.

Когда я ради эксперимента туда ставил линукс, чтобы счётный софт запускать, вообще никаких проблем не было, просто встало и работало. Счётный софт выглядел страшнее, чем в Windows XP, потому что на Motif. Но зато работал быстрее, что важнее.

Остальные железки работали под Windows и под Linux примерно одинаково. Разве что под Windows были вечные пляски с подбором версий «детонатора» под конкретные игры.

i-rinat ★★★★★
()
Ответ на: комментарий от thunar

А при чём тут ядро

Потому что он сказал «джастфорфанщики», что отсылка к книжке Торвальдса, а значит речь про ядро.

i-rinat ★★★★★
()
Ответ на: комментарий от quwy

Средний виндовый exe-шник, собранный еще в Win95, без проблем запустится под Win11 через 30 лет.

Я помню, как одна наша виндовая система работала у заказчика много лет, и пришлось потанцевать с бубном, чтобы exe-шники, собранные под WinNT 4 и Win2000, работали под Windows 7. Так что твой опыт неуниверсален.

А ваш Линукс с какой вероятностью сможет запустить бинарник, собранный под прошлой минорной версией системы год назад?

Если этот бинарник сделан в виде AppImage или FlatPak или даже просто DEB/RPM со статикой – вероятность близка к 100%. Для софта из репозиториев так не делают, поскольку репозиторий делается под конкретную версию, и это позволяет сэкономить много места. Но прикладной софт с сайта разработчиков делается именно так, например, на сайте LibreOffice предлагают скачать универсальный DEB или универсальный RPM.

hobbit ★★★★★
()

By Leonard J. Shustek | February 13, 2013

Хорошая у тебя криокамера.

Zhbert ★★★★★
()
Ответ на: комментарий от ist76

А телефонные версии работают только на телефоне или в облако куда-то шлют? Выглядит прикольно и удобно, но какие-то личные вещи так править я по-старпёрдному пока не решаюсь.

Zhbert ★★★★★
()
Ответ на: комментарий от vitruss

А почему бы и не сделать? Написать её можно на чём угодно.

Zhbert ★★★★★
()
Ответ на: комментарий от anc

Глаза режет.

Как бы странно ни звучало, но… да. Хотя я долго время писал не делфи в свое время, мне переход потом на сишные {} казался прям какой-то усладой для глаз.

Zhbert ★★★★★
()
Ответ на: комментарий от quwy

Средний виндовый exe-шник, собранный еще в Win95, без проблем запустится под Win11 через 30 лет.

Не совсем так. Есть большая доля вероятности, что он рухнет с 0xDSHSDDSDASDH какой-нибудь. Но это сильно зависит от того, что он используется, хеллоу-ворлд скорее всего да, запустится.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Вот совсем ничего не могу сказать по этому поводу
Мне сабж когда был нужен, был нужен для цветокора - пипетки, кривые, смешения каналов, k из cmyk, вот это все
А на телефоне таким заниматься, если и можно, я бы не стал

ist76 ★★★★★
()
Ответ на: комментарий от quwy

асутп станция моя морда управления работала на win95, на win2000 и nt стала колом, хорошо что я тогда там был за пару суток переделал.

s-warus ★★★★
()
Ответ на: комментарий от i-rinat

Так эту фразочка уже давно превратилась в эрзац-религию далеко за пределами ядра.

thunar ★★★★★
()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от hibou

И почему же все-таки проиграл паскаль на фоне Си и С++?

Паскаль не «проиграл», а видоизменился в Python, Ruby и особенно Golang. Си остается уникальным из-за своей непосредственной связи с Ассемблером: конструкции из языка Си достаточно просто переводить в Ассемблер. В этом уникальность синтаксиса языка Си и залог его стабильности с течением времени.

Второй факт - это язык Си как базис системного программирования. На Си написан UNIX. Любая книга по архитектуре ОС содержит примеры работы с системными вызовами на языке Си.

Pascal и Си - это языки из разных вселенных. Си - системообразующий язык. Pascal - удобный выбор для минимизации ошибок во время разработки. Время шло, появлялись новые языки, а Си как есть, так и был и будет.

lbvf50txt
()
Ответ на: комментарий от praseodim

Ядро не является обычным исполняемым файлом, оно по-особому грузится и получает управление.

Является обычным .сом-файлом. Только, без директивы .ORG 100, естественно. Ну, и надо понимать, что INT 21 вызывать нельзя.

Вот эти 512 байт загрузочного сектора - это обычный .сом файл х86.

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от hibou

Получается, чуть-чуть не взлетело, но было очень близко.

Думаю основной проблемой был компилятор. Для Паскаля нужен намного более продвинутый компилятор, в плане оптимизаций. Остальное следствие.

sabacs
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)