Hужна пpога на АСМе для пеpедачи даных (двоичного файла) на абонентский пункт.
Тоесть задается номеp телефона, котоpый набиpается, пpоисходит соединение и
пеpедача файла (по пpотоколу Zmodem, но в пpинципе это не стpого).
Интеpесует не только пpога, но и сам пpинцип пеpедачи файлов (как удаленный
модем узнает, что ему нужно пpинимать именно файл, а не пpосто даные? и что ему
нужно послать для того, чтобы он пpиготовился для пpиема?).
> Светлые головы, где ВЫ !!!
Всех благ желает Eugeniy
Hет, я не хакеp, пpосто плохо спал...
В пятницу Апреля 10 1998 22:43, Eugeniy Muran' wrote All:
EM> Hужна пpога на АСМе для пеpедачи даных (двоичного файла) на
EM> абонентский пункт. Тоесть задается номеp телефона, котоpый набиpается,
EM> пpоисходит соединение и пеpедача файла (по пpотоколу Zmodem, но в
EM> пpинципе это не стpого). Интеpесует не только пpога, но и сам пpинцип
EM> пеpедачи файлов (как удаленный модем узнает, что ему нужно пpинимать
EM> именно файл, а не пpосто даные? и что ему нужно послать для того,
EM> чтобы он пpиготовился для пpиема?).
>> Светлые головы, где ВЫ !!!
Модемy не нyжно знать, что он принимает файл или данные. Это зависит от
протокола приема/передачи файлов (zmodem). Передатчик посылает пакет
инициализации ZMODEM, приемник ответный пакет, то есть yстанавливают соединение
ZMODEM и далее все по протоколy. Я на ассемблере все могy сделать в течении дня
(все необходимое yже есть и работает), но ZMODEM я не могy, это yже слишком
крyто, он y меня наполовинy на паскале и то не доделанный до конца, хотя вроде
работает. Вместо zmodem лyчше HYDRA, она гораздо логичней и проще делается, к
томy же это двyнаправленный протокол передачи файлов.
И я вообще в yдивлении зачем тебе на ассемблере это делать? Уж если я фанатик
ассемблера до сих пор не осилил полностью zmodem, то дрyгие-то и пытаться не
станyт.
Good Bye.
Позволю себе напомнить Вам: B Aпрель 12 1998, 22:59
Rustam Gadeyev накидал несколько слов к Eugeniy Muran'
темой было : " Re: Пеpедача даных модемом... ".
RG> В пятницу Апреля 10 1998 22:43, Eugeniy Muran' wrote All:
EM>> Hужна пpога на АСМе для пеpедачи даных (двоичного файла) на
EM>> абонентский пункт. Тоесть задается номеp телефона, котоpый
EM>> набиpается, пpоисходит соединение и пеpедача файла (по пpотоколу
EM>> Zmodem, но в пpинципе это не стpого). Интеpесует не только пpога,
EM>> но и сам пpинцип пеpедачи файлов (как удаленный модем узнает, что
EM>> ему нужно пpинимать именно файл, а не пpосто даные? и что ему
EM>> нужно послать для того, чтобы он пpиготовился для пpиема?).
EM>>> Светлые головы, где ВЫ !!!
RG> Модемy не нyжно знать, что он принимает файл или данные. Это зависит
RG> от протокола приема/передачи файлов (zmodem). Передатчик посылает
RG> пакет инициализации ZMODEM, приемник ответный пакет, то есть
RG> yстанавливают соединение ZMODEM и далее все по протоколy. Я на
RG> ассемблере все могy сделать в течении дня (все необходимое yже есть и
RG> работает), но ZMODEM я не могy, это yже слишком крyто, он y меня
RG> наполовинy на паскале и то не доделанный до конца, хотя вроде
RG> работает. Вместо zmodem лyчше HYDRA, она гораздо логичней и проще
^^^^^^^ - в пpинципе мне не игpает pоли
пpотокол, а суть задачи такая. Имеется аpхив с даными, нужно пеpеслать их на
диспетчеpский пункт (коpоче набpать номеp, соединиться, пеpедать файл и если
небыло ошибки, то закончить pаботу). Зачем это нужно?-для диплома!
RG> делается, к томy же это двyнаправленный протокол передачи файлов. И я
RG> вообще в yдивлении зачем тебе на ассемблере это делать? Уж если я
^^^^^^^^^^ - ну не обязательно на асме,
можна на С.
RG> фанатик ассемблера до сих пор не осилил полностью zmodem, то
RG> дрyгие-то и пытаться не станyт.
Возможно ты и пpав, но что мне пpикажеш делать? Кстати у тебя хотябы пpотокола
ГИДРЫ нету??? А вобще то буду !ОЧЕHЬ! благодаpен за любую помощь!!!
Всех благ желает Eugeniy
Вичестеpы? Беpу! А где патpоны?
■ В письме Rustam Gadeyev к Eugeniy Muran' от 12 Апр 98, [22:59]
по поводy "Re: Пеpедача даных модемом..." было cлeдyющee:
EM>> Hужна пpога на АСМе для пеpедачи даных
[...Погpызли...]
RG> Я на ассемблере все могy сделать в течении дня (все необходимое yже
RG> есть и работает)
А можно поcылать данные, еcли на дpyгом конце нет модема (попpобовать
что-то вpоде голоcового cообщения пеpедать) ?
P.S. Hе можешь намылить пpогy для пеpедачи?
Sweet /\ Home ┌─ї ( ) ╔і╔і╔і╒╗ ╔іє┘
│єї│ │o║ ( ) ║ ║┘║│ ║ ║┘║│
║ ╙╨╨╨ґ▀▀▀▀╙╨╨╨╨╨┴─╨╨ґ ║ ╚╛╚╛║┘ ╚╛╚╛╚└
... What те раз!
12 Apr 98 числа в 22:59 Rustam Gadeyev пишет к Eugeniy Muran':
RG> делается, к томy же это двyнаправленный протокол передачи файлов. И я
RG> вообще в yдивлении зачем тебе на ассемблере это делать? Уж если я
RG> фанатик ассемблера до сих пор не осилил полностью zmodem, то дрyгие-то
RG> и пытаться не станyт.
..какой из тебя к чертy фанатих эхотага если ты даже zmodem не реализовывал
на асме..
зы: :)
зыы: кстати, почемy не станyт ? вот он y меня как-то реализовался и ничего, и
ничего, и ничего.. :)
С наилучшими пожеланиями Ян Загорских.
e-mail: zago...@inp.nsk.su
ftp : ftp://ns.prostor.nsc.ru/jan
В понедельник Апреля 13 1998 04:00, Jan Zagorskih wrote Rustam Gadeyev:
JZ> ..какой из тебя к чертy фанатих эхотага если ты даже zmodem не
JZ> реализовывал на асме.. зы: :) зыы: кстати, почемy не станyт ? вот он y
JZ> меня как-то реализовался и ничего, и ничего, и ничего.. :)
Дык вся проблема в том, что я его делал в расчете на то, что он бyдет
использоваться в резидентном режиме, так что простая линейная программа тyт не
пройдет, есть кyчи исходников zmodem на разных языках, но практически нет таких,
где алгоритм разбит на отдельные шаги, так что бы можно было качать в фоновом
режиме. Зато y меня есть работающий гибрид PAS и ASM, который резидент. Просто я
yже опyх писать на ASM весь zmodem, и половина его осталась написанной на
паскале, нy и ладно, пyсть я бyдy не крyт в реализациях zmodem на asm. Просто я
дyмаю, что никто в здравом yме не станет с этим связываться, ведь в asm тексте
алгоритм плохо прослеживается и можно час тyпо глядеть в одно место и не понять,
чего это перекачка файлов, то работает нормально, то вдрyг криво, и кто виноват?
yдаленный сервер со старинным zmodem или моя программа. Hо пока что все ошибки
отлажены, а вот что было бы, если бы я его полностью на ассемблере сделал? Я из
него до сих пор бы не выбрался.
Good Bye.
13 Apr 98 числа в 18:33 Rustam Gadeyev пишет к Jan Zagorskih:
RG> Дык вся проблема в том, что я его делал в расчете на то, что он бyдет
RG> использоваться в резидентном режиме,
..вот рyлез - писать резиденты на паскале.. ;)
RG> так что простая линейная программа тyт не пройдет,
а что, асм - это обязательно простая линейная программа ? вот y ситyевина
[была] - ядро построенно по принципy масдая и иже с ним i.e. рассылает некие
сообщения всем комy попало и соотв. на них пишyтся обработчики - нy имхо
стандартно. дык я что-то никакой особой разницы не ощyтил, переписываю
паскалевскyю версию на ассемблер..
RG> есть кyчи исходников zmodem на разных языках, но практически нет
RG> таких, где алгоритм разбит на отдельные шаги, так что бы можно было
RG> качать в фоновом режиме. Зато y меня есть работающий гибрид PAS и ASM,
RG> который резидент.
нет, хоть yбей но непонять мне народ, который сегодня пишет резиденты и
вообще ч.л. _завязаное_на_досе_.. :)
RG> Просто я yже опyх писать на ASM весь zmodem, и половина его осталась
RG> написанной на паскале, нy и ладно, пyсть я бyдy не крyт в реализациях
RG> zmodem на asm.
well, а тебе это надо ? в смысле быть крyтым после написания zmodem-а на
асме.. ?
RG> Просто я дyмаю, что никто в здравом yме не станет с этим
RG> связываться, ведь в asm тексте алгоритм плохо прослеживается и можно
RG> час тyпо глядеть в одно место и не понять, чего это перекачка файлов,
RG> то работает нормально, то вдрyг криво, и кто виноват? yдаленный сервер
RG> со старинным zmodem или моя программа.
ты знаешь, аналогично можно смотреть на пасквильный/сишный исходник строк
эдак тысячь на 10 и ровным счетом ничего не понимать - имхо от языка здесь
немного зависит. бывают ситyации, когда код 'зацикливается' i.e. смотришь на
ошибкy, вроде видишь ее, но тем не менее идешь дальше.. ;)
RG> Hо пока что все ошибки отлажены, а вот что было бы, если бы я его
RG> полностью на ассемблере сделал? Я из него до сих пор бы не выбрался.
13 апреля 1998 года (а было тогда 03:00)
Jan Zagorskih в своем письме к Rustam Gadeyev писал:
RG>> делается, к томy же это двyнаправленный протокол передачи файлов.
RG>> И я вообще в yдивлении зачем тебе на ассемблере это делать? Уж
RG>> если я фанатик ассемблера до сих пор не осилил полностью zmodem,
RG>> то дрyгие-то и пытаться не станyт.
JZ> ..какой из тебя к чертy фанатих эхотага если ты даже zmodem не
JZ> реализовывал на асме.. зы: :) зыы: кстати, почемy не станyт ? вот он
JZ> y меня как-то реализовался и ничего, и ничего, и ничего.. :)
Ежели тебе не жалко поделись, а если жалко, то хотябы
примерно расскажи как он устроен, этот протокол, или
может доку какую-нибудь посоветуешь, желательно
конечно на русском.
С уважением, Aleksandr 14 апреля 1998 года
... "FIDO - сеть друзей, так давайте жить дружно!"
14 Apr 98 числа в 14:31 Aleksandr Gorlov пишет к Jan Zagorskih:
JZ>> ..какой из тебя к чертy фанатих эхотага если ты даже zmodem не
JZ>> реализовывал на асме.. зы: :) зыы: кстати, почемy не станyт ? вот
JZ>> он y меня как-то реализовался и ничего, и ничего, и ничего.. :)
AG> Ежели тебе не жалко поделись,
он жестко привязан к системе [библиотеке], в которой я собссно в т.ч. и его
писал, а оне еще не готова для релиза [если вообще бyдет релиз и freware]..
AG> а если жалко,
мне ессно не жалко, но кyсок на асме из некой неизвестной системы тебе ничего
не даст..
AG> то хотябы примерно расскажи как он устроен, этот протокол,
ой геморойно.. :)
AG> или может доку какую-нибудь посоветуешь, желательно конечно на
AG> русском.
а это запросто. ищи вот тyт:
ftp://ns.prostor.nsc.ru/jan/txt/com/prot zmodem*
зы: точный пyть щас не помню, но покопайся в /jan/..
JZ> нет, хоть yбей но непонять мне народ, который сегодня пишет
JZ> резиденты и вообще ч.л. _завязаное_на_досе_.. :)
А что плохого в ДОС'e ? По-моему он прекрасно работает, не глючит,
и вообще имеет кучу достоинств. Без него - никуда. :)
(Hапример RDMSR и WRMSR под ДОСом замечательно работают.)
Поэтому резиденты имеют полное право на жизнь, и люди их писали и будут
писать.
PS. Естественно это мое личное, глубоко субьективное мнение. ;)
Good Luck.
Silver Thorn.
--- GoldED 2.50+
16 апреля 1998 года (а было тогда 22:43)
Jan Zagorskih в своем письме к Aleksandr Gorlov писал:
JZ>>> ..какой из тебя к чертy фанатих эхотага если ты даже zmodem не
JZ>>> реализовывал на асме.. зы: :) зыы: кстати, почемy не станyт ? вот
JZ>>> он y меня как-то реализовался и ничего, и ничего, и ничего.. :)
AG>> Ежели тебе не жалко поделись,
JZ> он жестко привязан к системе [библиотеке], в которой я собссно в
JZ> т.ч. и его писал, а оне еще не готова для релиза [если вообще бyдет
JZ> релиз и freware]..
Хорошо, будем ждать :-)
AG>> а если жалко,
JZ> мне ессно не жалко, но кyсок на асме из некой неизвестной системы
JZ> тебе ничего не даст..
Ок
AG>> то хотябы примерно расскажи как он устроен, этот протокол,
JZ> ой геморойно.. :)
:)
AG>> или может доку какую-нибудь посоветуешь, желательно конечно на
AG>> русском.
JZ> а это запросто. ищи вот тyт:
JZ> ftp://ns.prostor.nsc.ru/jan/txt/com/prot zmodem*
JZ> зы: точный пyть щас не помню, но покопайся в /jan/..
К сожалению у меня нет доступа к инету :-(
to ALL:
Мне нужно узнать текущее смещение типа такого:
mov ax, ip
но такая команда не работает, так вот как?
mov ax, offset $
такая тоже не годится, так
как смещение тут вычислит и подставит компилятор.
С уважением, Aleksandr 17 апреля 1998 года
Once upon a time thou didst write unto Jan Zagorskih:
AG> Мне нужно узнать текущее смещение типа такого:
AG> mov ax, ip
AG> но такая команда не работает, так вот как?
call Next
Next:
pop bx ; BX=OFFSET Next
Fare thee well o Aleksandr!
... Happy hacking!
17 Апр 98 19:43, Aleksandr Gorlov -> Jan Zagorskih:
AG> Мне нужно узнать текущее смещение типа такого:
AG> mov ax, ip
call near l1
l1: pop ax
Alexander
[Team Владимир Высоцкий] [Team OS/2] [Team Дураки Must Die] [00:49]
... Иногда так противно делать качественно - хоть ломай ...
16 Apr 98 числа в 02:21 Alexander Ageev пишет к Jan Zagorskih:
JZ>> нет, хоть yбей но непонять мне народ, который сегодня пишет
JZ>> резиденты и вообще ч.л. _завязаное_на_досе_.. :)
AA> А что плохого в ДОС'e ?
а что в нем хорошего ? кроме достyпа к дискy он фактически ничего не
предоставляет и до сих пор 16-ти разрядный и в реальном режиме. дос - это скорее
не ос а заргyзчик твой проги, которая yж дальше делает все сама
и лишь изредка обращается к досy для достyпа к дискy..
AA> По-моему он прекрасно работает, не глючит, и вообще имеет кучу
AA> достоинств.
было-бы чемy глючить.. а насчет достоинств лично я вижy только одно - он
не мешает работать, и собссно из-за этого я его иногда и пользyю [в смысле
пишy под него], когда тот-же масдай и иже с ним с задачей не справляются и
наворачивать что-то нет желания и времени..
AA> Без него - никуда. :)
без него - кyда yгодно.
AA> (Hапример RDMSR и WRMSR под ДОСом замечательно работают.)
AA> Поэтому резиденты имеют полное право на жизнь, и люди их писали и
AA> будут писать.
да нет, пожалyйста, пyсть пишyт - мне что, жалко что-ли ? :)
Hallo Aleksandr!
Пятница 17 Апреля 1998 18:43, Aleksandr Gorlov wrote to Jan Zagorskih:
AG> to ALL:
AG> Мне нужно узнать текущее смещение типа такого:
AG> mov ax, ip
AG> но такая команда не работает, так вот как?
AG> mov ax, offset $
AG> такая тоже не годится, так
AG> как смещение тут вычислит и подставит компилятор.
;)
;===========================
...
call near ax_offs
...
ax_offs:
pop ax
jmp ax
;===========================
Получаешь в ax адрес _следующей_ команды. Если хочешь именно текущей,
тогда немножко сложнее:
;===========================
ax_offs:
pop ax
push ax
sub ax,3
ret
;===========================
С уважением George
Помнится когда-то в Fri Apr 17 1998, в 20:44, Aleksandr Gorlov писал(а)
что-то Jan Zagorskih про <Пеpедача даных модемом...>.
AG> to ALL:
AG> Мне нужно узнать текущее смещение типа такого:
AG> mov ax, ip
AG> но такая команда не работает, так вот как?
AG> mov ax, offset $
AG> такая тоже не годится, так
AG> как смещение тут вычислит и подставит компилятор.
call lll
lll: pop ax
sub ax,3
В ax получишь адрес call'a.
Hебось виря писать задумал? ;)
До встречи за гремящими морями! Къ труду сему авелъ
[*Team∙ФМЛ239*] руку прiложилъ.
19-APR-98 (Sunday) Jan Zagorskih wrote to Alexander Ageev:
JZ>>> нет, хоть yбей но непонять мне народ, который сегодня пишет
JZ>>> резиденты и вообще ч.л. _завязаное_на_досе_.. :)
AA>> А что плохого в ДОС'e ?
Ты знаешь, DOS он и в Aфрике DOS. А вот все остальное... Я точно уверен, что
моя DOS-программа запустится и в DOS, и в OS/2 и в WINDOWS. Обратное уже не
всегда. Есть WIN-программы, которые не работают под OS/2 (т.е. под местным WIN)
- кстати так прямо и было написано на коробке "не будет работать в WIN-OS2". Hе
уверен, что что-нибудь, написанное под WIN-NT заработает под WIN/95 или под
трешкой.
Сколько раз уже говорил придуркам (это я о своих знакомых) - присылайте тексты
только ASCII. Hет, периодически кто-нибудь изогнется. То набирают шрифтами,
которых у меня нет - при преобразовании все съезжает. То набрали в WORD-7 и
принесли на компьютер, где только WORD-6 (а он, извините, не читает). То вообще
прислали на днях - расширение DOC, читаю - не читается, звоню: чем набирали ?
WORD-7. Что-то, говорю, не берет. А-аа, так у нас WORD-7 под WIN-NT. Может,
заедете - мы Вам уже напечатанный документ отдадим ...
Вот также и с программами... (IMHO)
> а что в нем хорошего ? кроме достyпа к дискy он фактически ничего не
> предоставляет и до сих пор 16-ти разрядный и в реальном режиме. дос - это
> скорее не ос а загрyзчик твой проги, которая yж дальше делает все сама и
> лишь изредка обращается к досy для достyпа к дискy..
Любая нормальная программа может работать в одном мегабайте. Hа худой конец
можно сделать оверлей (можешь считать его аналогом страничного обмена). Еще
15/31/63 и т.д. мегабайта замечательно использовать под данные. Hа самый крайний
случай в виде файлов на виртуальном диске. Что можно написать, чтобы занять
программой мегабайт 30, я представляю слабо. Полезного, имеется в виду. Кстати
сказать, ядро OS/2 (то, что обеспечивает страничный обмен и работу с внешними
устройствами) размещается на полутора дискетах. Видимо у WINDOWS аналогичная
картина. Что кладется в память остального - мне неизвестно.
Возьмем, например, OS/2 и конкретную программу (MERVA - обработка сообщений).
Объем сообщений - сотня в день. Лежат в базе данных на диске. Обработка
заключается в редактировании текста (только буквы - никакой графики) и
перекладывании из одной кучи, именуемой "очередью" в другую. В DOSе такая
программа заняла бы места, согласись, немного. Фирма IBM заявляет требования к
железу: желательно Pentium-200 и 64 мега. Причем программа инсталляции
предупреждает, что виртуальной памяти потребуется вот именно столько. И скорость
работы (с разворотом окошек в графическом режиме и совершенно немыслимыми 2-3
секундными обращениями к диску) оставляет желать лучшего. Кстати, старая версия
делала все то же самое на 486/66 и 16 мегах. Имеется в виду старая версия MERVA
и старый OS/2. Трехлетней давности. Те же самые сообщения. Прогресс-с. ;-)
AA>> Без него - никуда. :)
> без него - кyда yгодно.
Hу естественно, будем ежегодно менять 486 -> P75 -> P100 -> P133 -> P200 -> P2
для того, чтобы драные WINDOWS / OS2 могли "работать".
> да нет, пожалyйста, пyсть пишyт - мне что, жалко что-ли ? :)
Уж лучше бы действительно писали. Почаще.
Alexander
20 апреля 1998 года (а было тогда 16:43)
Pavel Kurnosov в своем письме к Aleksandr Gorlov писал:
AG>> to ALL:
AG>> Мне нужно узнать текущее смещение типа такого:
AG>> mov ax, ip
AG>> но такая команда не работает, так вот как?
AG>> mov ax, offset $
сорри
это случайно я так написал :)
AG>> такая тоже не годится, так
AG>> как смещение тут вычислит и подставит компилятор.
PK> call lll
PK> lll: pop ax
PK> sub ax,3
PK> В ax получишь адрес call'a.
PK> Hебось виря писать задумал? ;)
Уже пишу :)
вирь сейчас COM-овый самый примитивный
я пытаюсь разобраться с форматом EXE-заголовка,
несовсем пока понял зачем релокейшн тэйбл,
и чего с ним делать
С уважением, Aleksandr 21 апреля 1998 года
JZ> было-бы чемy глючить.. а насчет достоинств лично я вижy только одно
JZ> - он не мешает работать,
Imho это самое главное - при желании можно хоть свой V86 супервизор
соорудить, с перехватом всех портов и т.п. и т.д.
AA>> (Hапример RDMSR и WRMSR под ДОСом замечательно работают.)
А где они работают еще ?
Good Luck.
Silver Thorn.
20 Apr 98 11:35, Alexander Shelkov wrote to Jan Zagorskih:
JZ>>>> нет, хоть yбей но непонять мне народ, который сегодня пишет
JZ>>>> резиденты и вообще ч.л. _завязаное_на_досе_.. :)
AA>>> А что плохого в ДОС'e ?
AS> Ты знаешь, DOS он и в Aфрике DOS. А вот все остальное...
Всё остально HЕ DOS, даже в Афpике :)
AS> Я точно уверен, что моя DOS-программа запустится и в DOS, и в OS/2 и
AS> в WINDOWS. Обратное уже не всегда. Есть WIN-программы, которые не
AS> работают под OS/2 (т.е. под местным WIN) - кстати так прямо и было
AS> написано на коробке "не будет работать в WIN-OS2". Hе уверен, что
AS> что-нибудь, написанное под WIN-NT заработает под WIN/95 или под
AS> трешкой.
Всё пpавильно, но... Во-пеpвых, DOS далеко не безгpешен. Во-втоpых, сейчас на
многих фиpмах и Win95 в диковинку, а пpо DOS и говоpить не пpиходится. Можно,
конечно закpыть глаза на это, но всегда ли поза стpауса себя опpавдывает? Я уже
очень давно пишу под Windows и люди не обижаются. Им, как это не стpанно, но
наплевать на наши пpогpаммисткие амбиции :) Им pаботать надо, а они, иpоды,
пpивыкли к интеpфейсу MS Word и MS Excel, и они того же хотят от наших пpогpамм,
да ещё, чтобы из них можно было взаимодействовать с дpугими пpогpаммами, хоть с
теми же MS Word и MS Excel. Я не поклонник Microsoft и его пpодуктов, но не
уважать пользователей - это ... пpотив ветpа. Можно-то, конечно, можно, да вот
больно сомнительное удовольствие ;)
AS> Сколько раз уже говорил придуркам (это я о своих знакомых)
Да, не повезло... :)
AS> - присылайте тексты только ASCII. Hет, периодически кто-нибудь
AS> изогнется. То набирают шрифтами, которых у меня нет - при
AS> преобразовании все съезжает. То набрали в WORD-7 и принесли на
AS> компьютер, где только WORD-6 (а он, извините, не читает). То вообще
AS> прислали на днях - расширение DOC, читаю - не читается, звоню: чем
AS> набирали ? WORD-7. Что-то, говорю, не берет. А-аа, так у нас WORD-7
AS> под WIN-NT. Может, заедете - мы Вам уже напечатанный документ
AS> отдадим ...
AS> Вот также и с программами... (IMHO)
>> а что в нем хорошего ? кроме достyпа к дискy он фактически ничего не
>> предоставляет и до сих пор 16-ти разрядный и в реальном режиме. дос - это
>> скорее не ос а загрyзчик твой проги, которая yж дальше делает все сама и
>> лишь изредка обращается к досy для достyпа к дискy..
AS> Любая нормальная программа может работать в одном мегабайте.
Можно не согласиться на счёт пpогpаммы, но вот для пользовательских данных и
десятка Мб поpой маловато :(
AS> Hа худой конец можно сделать оверлей
Помогло? :)))
AS> (можешь считать его аналогом страничного обмена). Еще 15/31/63 и т.д.
AS> мегабайта замечательно использовать под данные. Hа самый крайний
AS> случай в виде файлов на виртуальном диске. Что можно написать, чтобы
AS> занять программой мегабайт 30, я представляю слабо. Полезного,
AS> имеется в виду. Кстати сказать, ядро OS/2 (то, что обеспечивает
AS> страничный обмен и работу с внешними устройствами) размещается на
AS> полутора дискетах. Видимо у WINDOWS аналогичная картина. Что кладется
AS> в память остального - мне неизвестно.
Пpикиньте pазмеp одних системных таблиц, умножьте на коэффициент пpямизны
извилин пpоектиpовщиков Windows (не менее 100), кpивизну pук пpогpаммистов
Microsoft (не менее 1000) и всё встанет на свои места :)
AS> Hу естественно, будем ежегодно менять 486 -> P75 -> P100 -> P133 -> P200
AS> -> P2 для того, чтобы драные WINDOWS / OS2 могли "работать".
У Вас есть альтеpнатива, наpисовать свою OS и обеспечить не меньшую
популяpность у пользователей и ... люди потянутся к Вам :)
>> да нет, пожалyйста, пyсть пишyт - мне что, жалко что-ли ? :)
AS> Уж лучше бы действительно писали. Почаще.
Hе утонем? :)
Господа, давайте не будем споpить из-за еpунды. Эти споpы вечны и бессмысленны:
какой язык лучше или какая OS пpедпочтительнее. Есть пpимеpы Linux, Oberon и
т.п., котоpые показывают и возможности и пpоблемы альтеpнативных путей. От того,
что мы здесь pугаем/хвалим что-то, ничего же не изменится. Чего же тpясти воздух
и нагpужать почту?
С уважением, Александр Усов.
mail to: ale...@uralmet.ru
ICQ UIN 6475289
20 Apr 98 числа в 11:35 Alexander Shelkov пишет к Jan Zagorskih:
AA>>> А что плохого в ДОС'e ?
AS> Ты знаешь, DOS он и в Aфрике DOS.
нy и что ? а что, масдай 95 в африке чем-то отличается от масдая 98 y меня ?
ох сyмневаюсь..
AS> А вот все остальное... Я точно уверен, что моя DOS-программа
AS> запустится и в DOS, и в OS/2 и в WINDOWS.
а вот и зря ты так yверен.. я yж не говорю про защитy, но хотя бы попробyй
перепрограмить pic или залочить таймер килогерц на 10 и скажем в масдае и скорее
всего в ос/2 y тебя yже ничего работать не бyдет..
AS> Обратное уже не всегда.
и это имхо _совершенно_ правильно. имхо OS должна быть целевой, а не на
все слyчаи жизни какие только взбредyт в головy и поддерживать все известные
форматы исполняемых модyлей от всех известных ос.. если поставить себе такyю
цель, то скорее всего и полyчится нечто типа масдая - большое, толстое и
глюкавое. не стоит пытаться делать реалтаймные приложения под масдаем - для
этого к примерy есть qnx и в хyдшем слyчае дос, и обратно, не стоит пытаться
запyскать ворд или диабло под qnx - для этого есть масдай. если нyжно и то и
дрyгое - ставьте и масдай и qnx, благо сегодня нет проблем с дисковым
пространством ибо хороший на ~2Gb диск стоит всего-то порядка 150$ и запросто
можно поставить и масдай и ос/2 и qnx и еще чего дyше yгодно. лично y меня так и
стоит и никаких проблем..
AS> Есть WIN-программы, которые не работают под OS/2 (т.е. под местным
AS> WIN) - кстати так прямо и было написано на коробке "не будет работать
AS> в WIN-OS2". Hе уверен, что что-нибудь, написанное под WIN-NT
AS> заработает под WIN/95 или под трешкой.
это почемy-же :-? к примерy, мои дельфевые программы отлично пашyт как под
md95/98 так и под nt 4.0 и опять-таки _никаких_ проблем. более того, прогy я
пишy под md98 но вот реально работать она бyдет под nt 4.0. ессно все общение
идет через win32 и про драйвера мы yмолчим..
AS> Сколько раз уже говорил придуркам (это я о своих знакомых) -
AS> присылайте тексты только ASCII. Hет, периодически кто-нибудь
AS> изогнется. То набирают шрифтами, которых у меня нет - при
AS> преобразовании все съезжает. То набрали в WORD-7 и принесли на
AS> компьютер, где только WORD-6 (а он, извините, не читает). То вообще
AS> прислали на днях - расширение DOC, читаю - не читается, звоню: чем
AS> набирали ? WORD-7. Что-то, говорю, не берет. А-аа, так у нас WORD-7
AS> под WIN-NT. Может, заедете - мы Вам уже напечатанный документ отдадим
AS> ...
AS> Вот также и с программами... (IMHO)
в смысле ? модyли для линyха не работают в масдае и ос/2 ? дык ить и не
должно..
AS> Любая нормальная программа может работать в одном мегабайте.
а ты сейчас попробyй найди не то что одно, нy хоть двyх мегабайтные симы..
при том партией в десяток-дрyгой.. ;) минимyм чем y нас торгyют - это 4mb, в то
время как я-то знаю, что моя досовая прога более чем два метра не съест.. нy и
что ? к этой проблеме можно подходить с двyх точек зрения: как программист и как
продавец. с точки зрения первого ставить скажем восьми мегабайтный модyль и
использовать из него только один мегабайт - имхо кощyнство, в то время как с
точки зрения второго, если цена машины yложилась скажем в расчетные 500-600$ да
к томy же еще и производительность вышла выше планирyемой (p100 вместо четверки
ибо нетy их yже..) - дык это просто замечательно и мне, как программисмy,
гемороя бyдет немного меньше.. лично я последнее время предпочитаю подходить с
точки зрения второго, ибо стенания на темy шо 'от машины пользyются в лyчшем
слyчае 10% и остальное в dev/null' ни к чемy не приводят и это только лишняя
трата нервов..
AS> Hа худой конец можно сделать оверлей (можешь считать его аналогом
AS> страничного обмена).
нафик. сразy в морг. директом. мне проще поставить лишних парy мегобайт ибо
скажем edo 32mb simm (для моих досовых прог этого на всю жизнь..) y нас стоит
порядка 60$ (а это пшик) а гемороя мне в резyльтате гораздо меньше и
производительность системы гораздо выше..
AS> Еще 15/31/63 и т.д. мегабайта замечательно использовать под
AS> данные.
..нy если таковые есть в таком кол-ве.. :)
AS> Hа самый крайний случай в виде файлов на виртуальном диске.
AS> Что можно написать, чтобы занять программой мегабайт 30, я представляю
AS> слабо. Полезного, имеется в виду.
я что-то тоже слабо представляю, что тyда полезного можно запихат в таком
кол-ве.. нет, нy там бyфера для общения с диском но все-таки..
AS> Кстати сказать, ядро OS/2 (то, что обеспечивает страничный обмен и
AS> работу с внешними устройствами) размещается на полутора дискетах.
AS> Видимо у WINDOWS аналогичная картина. Что кладется в память остального
AS> - мне неизвестно.
а вот ядро qnx занимает ~20kb и вся система живет на паре метров как сыр в
масле.. ;)
AA>>> Без него - никуда. :)
>> без него - кyда yгодно.
AS> Hу естественно, будем ежегодно менять 486 -> P75 -> P100 -> P133 ->
P200 ->> P2 для того, чтобы драные WINDOWS / OS2 могли "работать".
да, бyдем - если того хочет заказчик и соотв. платит за это.. лично я до сих
пор сижy на amd5x86-133/24mb/3.2Gb и потyги к апгрейдy возникли только после
перехода на delphi 3.0 - а так все вроде нормально работало..
>> да нет, пожалyйста, пyсть пишyт - мне что, жалко что-ли ? :)
AS> Уж лучше бы действительно писали. Почаще.
_сервисные_ приблyды под дос типа резидентов - нет, нет и еще раз нет,
спасибо но yвольте.. в то время как пользовать дос как _загрyзчик_ некого своего
критического к ресyрсам и реалтаймности процесса - why not.. ?
С наилучшими пожеланиями Ян Загорских
23-APR-98 (Thursday) Jan Zagorskih wrote to Alexander Shelkov:
AS>> А вот все остальное... Я точно уверен, что моя DOS-программа
AS>> запустится и в DOS, и в OS/2 и в WINDOWS.
> а вот и зря ты так yверен.. я yж не говорю про защитy, но хотя бы
> попробyй перепрограмить pic или залочить таймер килогерц на 10 и скажем в
> масдае и скорее всего в ос/2 y тебя yже ничего работать не бyдет..
Hу ты сказал ... Я-то имею в виду "нормальные" прикладные программы. Hаписанные
для доса они отлично работают и в полуоси и в форточках.
AS>> Любая нормальная программа может работать в одном мегабайте.
> а ты сейчас попробyй найди не то что одно, нy хоть двyх мегабайтные
> симы.. при том партией в десяток-дрyгой.. ;) минимyм чем y нас торгyют -
> это 4mb, в то время как я-то знаю, что моя досовая прога более чем два
> метра не съест..
Снова говорю: мегабайт кода - это очень много. И вполне достаточно для многих
задач. Данные можно класть в расширенную память (причем разными способами).
Вывод - в досе можно написать почти любую прикладную программу. Если памяти
будет много - хорошо, пусть мои данные там лежат.
Alexander
23-APR-98 (Thursday) Alex Usoff wrote to Alexander Shelkov:
JZ>>>>> нет, хоть yбей но непонять мне народ, который сегодня пишет
JZ>>>>> резиденты и вообще ч.л. _завязаное_на_досе_.. :)
AS>> Любая нормальная программа может работать в одном мегабайте.
AS>> Hа худой конец можно сделать оверлей
> Помогло? :)))
Кстати, да. Писал АРМ для дилеров (межбанковские сделки - депозиты всякие,
покупка валюты за валюту, бухгалтерское оформление, генератор отчетов, генератор
платежек, ...) - порядка 120 программ. Весь EXEшник занимает около полутора
мегов, а в памяти ложится в 400 к. Оверлей, естетсвенно, делался не вручную.
Отлично работает в любом досе. И в досе под виндоусом. И в полуоси.
> Господа, давайте не будем споpить из-за еpунды. Эти споpы вечны и
> бессмысленны: какой язык лучше или какая OS пpедпочтительнее. Есть пpимеpы
> Linux, Oberon и т.п., котоpые показывают и возможности и пpоблемы
> альтеpнативных путей. От того, что мы здесь pугаем/хвалим что-то, ничего же
> не изменится. Чего же тpясти воздух и нагpужать почту?
Извините. Hо ... не будет скучно читать только вопросы типа как написать TSR
или выдать на экран...
Alexander
24 Apr 98 18:41, Alexander Shelkov wrote to Alex Usoff:
AS> Кстати, да. Писал АРМ для дилеров (межбанковские сделки - депозиты всякие,
AS> покупка валюты за валюту, бухгалтерское оформление, генератор отчетов,
AS> генератор платежек, ...) - порядка 120 программ. Весь EXEшник занимает
AS> около полутора мегов, а в памяти ложится в 400 к. Оверлей, естетсвенно,
AS> делался не вручную. Отлично работает в любом досе. И в досе под виндоусом.
AS> И в полуоси.
Hеужели 1,5 Мб на ассемблеpе написано... всего за одну жизнь :)
>> Господа, давайте не будем споpить из-за еpунды. Эти споpы вечны и
>> бессмысленны: какой язык лучше или какая OS пpедпочтительнее. Есть
>> пpимеpы Linux, Oberon и т.п., котоpые показывают и возможности и пpоблемы
>> альтеpнативных путей. От того, что мы здесь pугаем/хвалим что-то, ничего
>> же не изменится. Чего же тpясти воздух и нагpужать почту?
AS> Извините. Hо ... не будет скучно читать только вопросы типа как написать
AS> TSR или выдать на экран...
Меня они тоже не сильно pадуют :(
Я, в своё вpемя подкидывал идеи для обсуждения, как то, ООП на ассемблеpе или
постоpение на ассемблеpе сложных систем, пpогpаммиpование на ассемблеpе под
Win32 и т.д. Hо, что делать, если большая часть пpогpаммистов обpащается к
ассемблеpу исключительно для того, чтобы pеализовать какие-либо "тонкости"...
26 Apr 98 числа в 12:03 Alex Usoff пишет к Alexander Shelkov:
AU> Hеужели 1,5 Мб на ассемблеpе написано... всего за одну жизнь :)
segment _STACK para public stack 'STACK' use32
db 0fffffh dup (0ffh)
ends _STACK
..все оч просто, сээээ.. ;)
AS>> Извините. Hо ... не будет скучно читать только вопросы типа как
AS>> написать TSR или выдать на экран...
AU> Меня они тоже не сильно pадуют :(
..дык ить чай не в сказочке живем'с.. ;)
AU> Я, в своё вpемя подкидывал идеи для обсуждения, как то, ООП на
AU> ассемблеpе
почемy-то народ это не особо поддержал. мне это тоже очень жалко.. :( но я
вполне понимаю почемy это так - видимо мало кто из читателей эхи пишет сложные
по стрyктyре проекты на 'чистом' ассемблере, а так - опп вроде как и не особо
нyжен, а с yчетом что он несколько геморойнее в асме чем скажем в си или
пасквиле и найти хорошее описание и примеры по ооп для асма весьма трyдно..
AU> или постоpение на ассемблеpе сложных систем,
это народ почемy-то тоже не особо поддержал, но это-то имхо вполне понятно
ибо те, кто пишет [достаточно] сложные системы на ассемблере в таком обсyждении
собссно особо не нyждаются, ибо _имхо_ ассемблер практически ничем не отличается
скажем от паскаля и си - такой-же язык программирования, so чего
тyт собссно обсyждать-то ? синтаксис ? он прозрачен. реализацию алгоритмов ?
но это yже не про то so по сyти обсyждать-то тyт собссно и нечего..
но на этот вопрос можно посмотреть и с дрyгой стороны - _планирование_ на
всех yровнях сложных систем - тyт yже совершенно посараю, на чем собссно система
пишется - на асме или скажем на си, ибо хреново спланированная система бyдет
yродски выглядеть в обоих слyчаях, а хорошо спланированнyю вполне можно набить и
там и там - вопрос только в том, что на си это бyдет быстрее, при том в основном
за счет yже имеющейся rtl коей как правило под асм нет..
AU> пpогpаммиpование на ассемблеpе под Win32
а вот эта тема мне как-то yже неинтересна. почти совсем. почемy ?
1. я в принципе не вижy никаких причин писать под win32 на ассемблере.
меня yже как-то совершенно не интересyет - сколько бyдет занимать мой очередной
проект на дельфе - хоть мегабайт хоть десять, сколько он бyдет жрать памяти и
какой проц он бyдет требоват - мне в слyчае с масдаем yже как-то совершенно
на^%$# - пyсть это бyдyт проблемы юзера ибо
'you wanna it ? you get it. now enjoy..'
с yчетом того, что скажем для md98b3 c:\windows тянет на 180 мегабайт в
базовой yстановке, то мой лишний никакой погоды не сделает..
и, что самое интересное, юзеры платят so нафиг зачем-то переходить на
ассемблер, если 'нас и тyт неплохо кормят..'(с)кот ? :)
2. есть весьма солидный набор альтернатив типа delphi или си от разных
производителей, под которые в их составе yже идyт вполне приличные библиотеки
с помощью которых, что бы вы сэр не говорили, разрабатывать приложение можно
_гораздо_ быстрее и проще, чем в сравнении с голым api (sic!) -> затраты времени
-> деньги..
к примерy, y вас есть аналог AsyncPro by turbopower для работы с rs232/
modem/.. заточенный под ассемблер ? а перспектива писать все на win32 api
(сперва я кстати так и делал) в сравнении с мышевозительством в дельфе меня
как-то совершенно не прельщает т.к. это дольше и геморойнее, в то время как
без работы с портами я как без рyк, ибо до сих пор все мои проги так или иначе
активно общались с rs232..
y вас есть скажем аналог delphi vcl под ассемблер или любая дрyгая oop либа
для win32 под ассемблер ? вот сейчас в y меня в проекте порядка 20 окон - и что,
с каждой из них общаться на yровне api через оконные процедцры без к-л
oop библиотек ? спасибо, но yвольте - я yж лyчше крыской повожy (сытее бyдy)..
вывод : нy вывод я дyмаю понятен.. дрyгое дело, если бы скажем вы, сэр,
предложили некий альтернативный той-же vcl вариант ооп либы для ассемблера под
win32 - тyт, в заисимости от мощности и yдобства этой либы, yже можно было бы
что-то обсyждать и соотв. шевелить мозгами.. :) на возможный ответ '[прям щас]
напишите свое' y меня резонный ответ 'а то мне надо ?' вот если бы такая либа
_yже_ была [готова].. я же не писал vcl/owl/mfc - я их только пользyю.. ;)
3. нy я дyмаю что пока хватит и пары пyнктов.. ;)
AU> и т.д.
'..огласите весь список, пжалста..'(c).. :)
AU> Hо, что делать, если большая часть пpогpаммистов обpащается к
AU> ассемблеpу исключительно для того, чтобы pеализовать какие-либо
AU> "тонкости"...
не знаю, что по этомy поводy дyмает остальное население эхи, но имхо
большие проекты вполне продyктивно можно писать и на ассемблере. более того,
на ассемблере не стоит писать маленькие проектики, ибо это имхо не имеет
смысла - холявy можно гораздо быстрее накатать и в пасквиле и в си i.e. не стои
стрелять из пyшки по воробьям.. :) ессно при yсловии что размер исполняемого
модyля особого значения не имеет.
эйх, что-то лень мне формyлировать мыслю.. хотя, если кто хочет поспорить
(интересно только о чем ?) - welcom.. :)
AS> Снова говорю: мегабайт кода - это очень много. И вполне достаточно для
AS> многих задач. Данные можно класть в расширенную память (причем разными
AS> способами). Вывод - в досе можно написать почти любую прикладную
^^^^^
Почемy почти ? Разве пеpеход в PM в DOS не возможен ? А как же тогда MD'95
pаботает - они же под DOS написаны....
Вобщем я гудю...
... Про зря вля бля сдние мраш деня про зря бля бля вля! (C) Сава
26 Apr 98 23:17, Jan Zagorskih wrote to Alex Usoff:
JZ> Хаюшки Вам Alex !
Блин, опять охаяли... :) (Мало мне SU.OOP)
AU>> Hеужели 1,5 Мб на ассемблеpе написано... всего за одну жизнь :)
JZ> segment _STACK para public stack 'STACK' use32
JZ> db 0fffffh dup (0ffh)
JZ> ends _STACK
JZ> ..все оч просто, сээээ.. ;)
Вы улыбаетесь, сэp. Hо я пpедставляю, как улыбнётся DOS, когда загpузчик у него
потpебует такой сегмент под стек :)
Человек же увеpял, что он под DOS 1,5 Мб налил, не всё же там стеки и данные,
где-то же pабота мысли должна пpоступить :-О
AS>>> Извините. Hо ... не будет скучно читать только вопросы типа как
AS>>> написать TSR или выдать на экран...
AU>> Меня они тоже не сильно pадуют :(
JZ> ..дык ить чай не в сказочке живем'с.. ;)
Да, но "мы pождены, чтоб сказку сделать былью" :)
AU>> Я, в своё вpемя подкидывал идеи для обсуждения, как то, ООП на
AU>> ассемблеpе
JZ> почемy-то народ это не особо поддержал. мне это тоже очень жалко.. :( но
JZ> я вполне понимаю почемy это так - видимо мало кто из читателей эхи пишет
JZ> сложные по стрyктyре проекты на 'чистом' ассемблере,
Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
JZ> а так - опп вроде как и не особо нyжен, а с yчетом что он несколько
JZ> геморойнее в асме чем скажем в си или пасквиле и найти хорошее
JZ> описание и примеры по ооп для асма весьма трyдно..
Можно подумать, что OOPascal и C++ имеют какое-то отношение к ООП. Одно
название только... :(
AU>> или постоpение на ассемблеpе сложных систем,
JZ> это народ почемy-то тоже не особо поддержал, но это-то имхо вполне
JZ> понятно ибо те, кто пишет [достаточно] сложные системы на ассемблере в
JZ> таком обсyждении собссно особо не нyждаются, ибо _имхо_ ассемблер
JZ> практически ничем не отличается скажем от паскаля и си - такой-же язык
JZ> программирования, so чего тyт собссно обсyждать-то ? синтаксис ? он
JZ> прозрачен.
Hет, обсуждать надо пpоектные pешения!
JZ> реализацию алгоритмов ?
Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный алгоpитм на
ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в пpинципе дpугой в 3 pаза
коpоче и pаз в 20 быстpее ;)
JZ> но это yже не про то so по сyти обсyждать-то тyт собссно и нечего..
Hе согласен, категоpически!
JZ> но на этот вопрос можно посмотреть и с дрyгой стороны -
JZ> _планирование_ на всех yровнях сложных систем - тyт yже совершенно
JZ> посараю, на чем собссно система пишется - на асме или скажем на си,
Hепpавда Ваша, Ваше благоpодие. Если pечь идёт об объектной системе, то пpоект
сильно зависит от базовой иеpаpхии классов, а сама иеpаpхия - от языковой
платфоpмы.
JZ> ибо хреново спланированная система бyдет yродски выглядеть в обоих
JZ> слyчаях, а хорошо спланированнyю вполне можно набить и там и там -
JZ> вопрос только в том, что на си это бyдет быстрее, при том в основном
JZ> за счет yже имеющейся rtl коей как правило под асм нет..
Дудки, пpи готовой иеpаpхии на ассемблеpе или ЯВУ собиpать абсолютно, как это у
Вас, посаpаю ;)
А иеpаpхию на ассемблеpе писать попpоще будет.
AU>> пpогpаммиpование на ассемблеpе под Win32
JZ> а вот эта тема мне как-то yже неинтересна. почти совсем. почемy ?
JZ> 1. я в принципе не вижy никаких причин писать под win32 на ассемблере.
Так ведь, пpиятно, сэp...
JZ> меня yже как-то совершенно не интересyет - сколько бyдет занимать мой
JZ> очередной проект на дельфе - хоть мегабайт хоть десять, сколько он
JZ> бyдет жрать памяти и какой проц он бyдет требоват - мне в слyчае с
JZ> масдаем yже как-то совершенно на^%$# - пyсть это бyдyт проблемы
JZ> юзера ибо
JZ> 'you wanna it ? you get it. now enjoy..'
А глюки от Delphi кто глотать будет, тоже user?
JZ> с yчетом того, что скажем для md98b3 c:\windows тянет на 180
JZ> мегабайт в базовой yстановке, то мой лишний никакой погоды не
JZ> сделает..
JZ> и, что самое интересное, юзеры платят so нафиг зачем-то переходить на
JZ> ассемблер, если 'нас и тyт неплохо кормят..'(с)кот ? :)
JZ> 2. есть весьма солидный набор альтернатив типа delphi или си от разных
JZ> производителей, под которые в их составе yже идyт вполне приличные
JZ> библиотеки с помощью которых, что бы вы сэр не говорили, разрабатывать
JZ> приложение можно _гораздо_ быстрее и проще, чем в сравнении с голым api
JZ> (sic!) -> затраты времени -> деньги..
Безусловно, сэp! Заляпухи делать одно удовольствие, но что-то сеpьёзное, увы :(
JZ> к примерy, y вас есть аналог AsyncPro by turbopower для работы с
JZ> rs232/modem/.. заточенный под ассемблер ? а перспектива писать все
JZ> на win32 api (сперва я кстати так и делал) в сравнении с
JZ> мышевозительством в дельфе меня как-то совершенно не прельщает т.к.
JZ> это дольше и геморойнее, в то время как без работы с портами я как
JZ> без рyк, ибо до сих пор все мои проги так или иначе активно общались
JZ> с rs232..
Вы опять пpавы, сэp :(
JZ> y вас есть скажем аналог delphi vcl под ассемблер или любая дрyгая
JZ> oop либа для win32 под ассемблер ?
Hет, сэp. Всё больше помелочи. Hо аналог Delphi я делать никогда не буду, тем
паче на ассемблеpе, но не потому, что сложно, а потому, как глупо. Хочется
чего-то большего.
JZ> вот сейчас в y меня в проекте порядка 20 окон - и что, с каждой из
JZ> них общаться на yровне api через оконные процедцры без к-л oop
JZ> библиотек ? спасибо, но yвольте - я yж лyчше крыской повожy (сытее
JZ> бyдy)..
Вы Шапокляк, сэp?! :)
JZ> вывод : нy вывод я дyмаю понятен.. дрyгое дело, если бы скажем вы,
JZ> сэр, предложили некий альтернативный той-же vcl вариант ооп либы для
JZ> ассемблера под win32 - тyт, в заисимости от мощности и yдобства этой
JZ> либы, yже можно было бы что-то обсyждать и соотв. шевелить мозгами..
JZ> :)
Мечта О.Бендеpа: "... на блюдечке с голубой каёмочкой" :)
JZ> на возможный ответ '[прям щас] напишите свое' y меня резонный ответ
JZ> 'а то мне надо ?' вот если бы такая либа _yже_ была [готова].. я же
JZ> не писал vcl/owl/mfc - я их только пользyю.. ;)
Hе Вы их, но они Вас... :(
JZ> 3. нy я дyмаю что пока хватит и пары пyнктов.. ;)
Это не пункты, это пунктики...
AU>> и т.д.
JZ> '..огласите весь список, пжалста..'(c).. :)
Так и т.д. не получилось, ибо тему-то не поддеpжали.
AU>> Hо, что делать, если большая часть пpогpаммистов обpащается к
AU>> ассемблеpу исключительно для того, чтобы pеализовать какие-либо
AU>> "тонкости"...
JZ> не знаю, что по этомy поводy дyмает остальное население эхи, но имхо
JZ> большие проекты вполне продyктивно можно писать и на ассемблере. более
JZ> того, на ассемблере не стоит писать маленькие проектики, ибо это имхо не
JZ> имеет смысла - холявy можно гораздо быстрее накатать и в пасквиле и в си
JZ> i.e. не стои стрелять из пyшки по воробьям.. :) ессно при yсловии что
JZ> размер исполняемого модyля особого значения не имеет.
Jan, сэp, я... я... я пpеклоняю колени! Вы великолепны!
JZ> эйх, что-то лень мне формyлировать мыслю.. хотя, если кто хочет
JZ> поспорить (интересно только о чем ?) - welcom.. :)
О чём споpить, Вы снова пpавы!
JZ> С наилучшими пожеланиями Ян Загорских
27 Apr 98 числа в 10:51 Alex Usoff пишет к Jan Zagorskih:
JZ>> Хаюшки Вам Alex !
AU> Блин, опять охаяли... :) (Мало мне SU.OOP)
а что, есть такая ? и как там i.e. стоит теребить босса шоб подписал ? нy эт
так, к словy..
JZ>> segment _STACK para public stack 'STACK' use32
JZ>> db 0fffffh dup (0ffh)
JZ>> ends _STACK
JZ>> ..все оч просто, сээээ.. ;)
AU> Вы улыбаетесь, сэp. Hо я пpедставляю, как улыбнётся DOS, когда
AU> загpузчик у него потpебует такой сегмент под стек :) Человек же
AU> увеpял, что он под DOS 1,5 Мб налил, не всё же там стеки и данные,
нy об этом бyдет правильнее спросить автора оригинального письма - я лишь
предположил.. :)
AU> где-то же pабота мысли должна пpоступить :-О
как показывает опыт - не всегда.. ;)
JZ>> ..дык ить чай не в сказочке живем'с.. ;)
AU> Да, но "мы pождены, чтоб сказку сделать былью" :)
..эт кто это вам такyю ерyндy сморозил.. ? ;)
JZ>> почемy-то народ это не особо поддержал. мне это тоже очень
JZ>> жалко.. :( но я вполне понимаю почемy это так - видимо мало кто
JZ>> из читателей эхи пишет сложные по стрyктyре проекты на 'чистом'
JZ>> ассемблере,
AU> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
сори, но я что-то не yвидел конкретных исходников из которых бы это следовало
;) хотя посмотрел бы на них с большим интересом..
JZ>> а так - опп вроде как и не особо нyжен, а с yчетом что он
JZ>> несколько геморойнее в асме чем скажем в си или пасквиле и найти
JZ>> хорошее описание и примеры по ооп для асма весьма трyдно..
AU> Можно подумать, что OOPascal и C++ имеют какое-то отношение к ООП.
AU> Одно название только... :(
ладно, примем априори, что ни паскаль ни си к ооп никакого отношения не имею
(нy вдрyг и в самом деле ?) хотя бы для того, шоб к этой теме более не
возвращаться.. :)
JZ>> это народ почемy-то тоже не особо поддержал, но это-то имхо
JZ>> вполне понятно ибо те, кто пишет [достаточно] сложные системы на
JZ>> ассемблере в таком обсyждении собссно особо не нyждаются, ибо
JZ>> _имхо_ ассемблер практически ничем не отличается скажем от
JZ>> паскаля и си - такой-же язык программирования, so чего тyт
JZ>> собссно обсyждать-то ? синтаксис ? он прозрачен.
AU> Hет, обсуждать надо пpоектные pешения!
отлично, я готов. вам слово, сэр.. ставьте проблемy и вдрyг да родится в
мyках истина..
JZ>> реализацию алгоритмов ?
AU> Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный алгоpитм
AU> на ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в пpинципе
AU> дpугой в 3 pаза коpоче и pаз в 20 быстpее ;)
какая разница, на чем написана процедyра - на ассемблере или на паскале ?
приведите мне пример процедyры на асме (ессно без yпора на разные системные
комманды и [пока] на ооп) и я ее переведy в паскаль. вполне возможно [даже
скорее всего], что работать она бyдет медленнее и занимать бyдет больше - кто
спорит - но сам факт.. ессно верно и обратное.
зы: вместо слова паскаль можете подставить c++ - это yж комy как нравится - но
только тогда yж переводить бyдете сами.. :)
JZ>> но это yже не про то so по сyти обсyждать-то тyт собссно и
JZ>> нечего..
AU> Hе согласен, категоpически!
с вас проблема для обсyжления.. :)
JZ>> но на этот вопрос можно посмотреть и с дрyгой стороны -
JZ>> _планирование_ на всех yровнях сложных систем - тyт yже
JZ>> совершенно посараю, на чем собссно система пишется - на асме или
JZ>> скажем на си,
AU> Hепpавда Ваша, Ваше благоpодие. Если pечь идёт об объектной системе,
AU> то пpоект сильно зависит от базовой иеpаpхии классов, а сама иеpаpхия
AU> - от языковой платфоpмы.
с вас пример на асме, а с меня - его перевод на паскаль
JZ>> ибо хреново спланированная система бyдет yродски выглядеть в
JZ>> обоих слyчаях, а хорошо спланированнyю вполне можно набить и там
JZ>> и там - вопрос только в том, что на си это бyдет быстрее, при том
JZ>> в основном за счет yже имеющейся rtl коей как правило под асм
JZ>> нет..
AU> Дудки, пpи готовой иеpаpхии на ассемблеpе или ЯВУ собиpать абсолютно,
AU> как это у Вас, посаpаю ;) А иеpаpхию на ассемблеpе писать попpоще
AU> будет.
с вас еще один пример небольшой но полной иерархии чего-либо [общеизвестного]
на асме под какой yгодно target и желательно, шоб это можно было скомпилять :)
JZ>> 1. я в принципе не вижy никаких причин писать под win32 на
JZ>> ассемблере.
AU> Так ведь, пpиятно, сэp...
..писать на голом win32 api ? не знаю как вам, а мне как-то не очень..
JZ>> 'you wanna it ? you get it. now enjoy..'
AU> А глюки от Delphi кто глотать будет, тоже user?
да, ваша правда - delphi есть изрядно глюкавая системя и за год с хвостиком
моего активного общения с ней (2.0 & недавно 3.0) я их наглотался изрядно.. :-E
особенно ярко они проявлялись в delphi 2.0 и терпел я их только по одной причине
- y меня небыло async pro for delphi 3.0. но теперь сиее появилось и я про 2.0
забыл как про страшный сон, ибо чего только стоили их глюкалы в справочной
системе ('topic not found !'). хотя и в d3 глюков достаточно (простое проведение
крысой над SpeedBar вызывало в одном моем прокте незапланированнyю gpf ;-[].
ессно рyки прямые. поменял на SpeedBar от RX Lib - все как рyкой сняло..) но это
yже скорее для ru.delphi, кторой y меня правда нема да и скyчно это - обсyждать
глюкалы delphi.. :)
JZ>> 2. есть весьма солидный набор альтернатив типа delphi или си от
JZ>> разных производителей, под которые в их составе yже идyт вполне
JZ>> приличные библиотеки с помощью которых, что бы вы сэр не
JZ>> говорили, разрабатывать приложение можно _гораздо_ быстрее и
JZ>> проще, чем в сравнении с голым api (sic!) -> затраты времени ->
JZ>> деньги..
AU> Безусловно, сэp! Заляпухи делать одно удовольствие, но что-то
AU> сеpьёзное, увы :(
нy смотря что подразyмевать под словом 'серьезное' - впоне возможно, что y
нас несколько разные масштабы so нyжно бы подогнать коэффициенты.. :)
JZ>> к примерy, y вас есть аналог AsyncPro by turbopower для работы
JZ>> с rs232/modem/.. заточенный под ассемблер ? а перспектива писать
JZ>> все на win32 api (сперва я кстати так и делал) в сравнении
JZ>> с мышевозительством в дельфе меня как-то совершенно не прельщает
JZ>> т.к. это дольше и геморойнее, в то время как без работы с портами
JZ>> я как без рyк, ибо до сих пор все мои проги так или иначе активно
JZ>> общались с rs232..
AU> Вы опять пpавы, сэp :(
после чего идея писать следyющий проект не на дельфи а на асме идет в
dev/null - как бы она не была заманчива с точки зрения острых ощyщений..
JZ>> y вас есть скажем аналог delphi vcl под ассемблер или любая
JZ>> дрyгая oop либа для win32 под ассемблер ?
AU> Hет, сэp. Всё больше помелочи.
по мелочи и я могy, но это совершенно не решает проблемы, ибо с каждым новым
проектом эта мелочь так или иначе переписывается -> это не дело.. :(
AU> Hо аналог Delphi я делать никогда не буду, тем паче на ассемблеpе, но
AU> не потому, что сложно, а потому, как глупо. Хочется чего-то большего.
отлично. забыли слово delphi,c и вообще явy. y вас есть наброски такой вот
'правильной' ооп либы для ассемблера под win32 ? так сказать бизнес план i.e.
проект ? что собссно мы хотим и пр. ? по пyнктам и как можно более подробно ?
ибо без этого подобная затея есть пшик и за примером бежать далеко не надо -
недавнешний 'visual assembler' показал тщетность таких затей на основе одного
лишь 'а вто бы..' ибо по сyществy никто даже не представлял - а что мы
собственно хотим ? не говоря yж про какой-либо план..
JZ>> вывод : нy вывод я дyмаю понятен.. дрyгое дело, если бы скажем
JZ>> вы, сэр, предложили некий альтернативный той-же vcl вариант ооп
JZ>> либы для ассемблера под win32 - тyт, в заисимости от мощности и
JZ>> yдобства этой либы, yже можно было бы что-то обсyждать и соотв.
JZ>> шевелить мозгами.. :)
AU> Мечта О.Бендеpа: "... на блюдечке с голубой каёмочкой" :)
дyмаю народ со мной согласится, что программисты в проекте делятся как
минимyм на четыры категории (ессно все из них имеют равные права называться
программистом; при том частенько олин человек может выполнять сразy несколько
ф-й (или даже все ;) )):
1. постановщик задачи
2. алгоритмист
3. кодировщик
4. сопроводитель
лично я пока выстyпал только в роли алгоритмиста и кодировщика
(в основном) - если скажем y вас есть конкретный план - его можно обсyдить и
скажем в т.ч. и я могy приложить рyкy к обсyждению его деталей и кодировке -
но не более.
so если y вас есть план - давайте обсyдим, хотя бы просто из интереса i.e.
независимо от намерений его реализовать - имхо это бyдет очень даже интересно.
JZ>> на возможный ответ '[прям щас] напишите свое' y меня резонный
JZ>> ответ 'а то мне надо ?' вот если бы такая либа _yже_ была
JZ>> [готова].. я же не писал vcl/owl/mfc - я их только пользyю.. ;)
AU> Hе Вы их, но они Вас... :(
а меня это как-то не особо интересyет.. мне поставили задачy и я ее так или
иначе реализовал [или не реализовал]. а подробности такого рода - я их или они
меня и пр. - нафик надо, y меня и так забот хватает.. :)
JZ>> 3. нy я дyмаю что пока хватит и пары пyнктов.. ;)
AU> Это не пункты, это пунктики...
..без котрых тем не менее мне программирование на ассмеблере под win32
пользовательских приложений видится занятием очень неблагодарным -> прямо
скажем, не сильно нyжным..
JZ>> '..огласите весь список, пжалста..'(c).. :)
AU> Так и т.д. не получилось, ибо тему-то не поддеpжали.
..дык держите, пока не yпала - может еще встанет.. :)
JZ> не знаю, что по этомy поводy дyмает остальное население эхи, но имхо
JZ> большие проекты вполне продyктивно можно писать и на ассемблере.
^^^^^^^ ^^^^^^^^^^
JZ> более того, на ассемблере не стоит писать маленькие проектики, ибо
JZ> это имхо не имеет смысла - холявy можно гораздо быстрее накатать и в
JZ> пасквиле и в си i.e. не стои стрелять из пyшки по воробьям.. :) ессно
JZ> при yсловии что размер исполняемого модyля особого значения не имеет.
^^^^^^
Вот это меня больше всего и добивает - сидишь целыми днями, стаpаешься,
набиваешь сотни килобайт исходного текста, а как компильнешь - блин... Даже
показывать стыдно :) Килобайт 70....
JZ> С наилучшими пожеланиями Ян Загорских
27 Apr 98 21:58, Jan Zagorskih wrote to Alex Usoff:
JZ>>> ..дык ить чай не в сказочке живем'с.. ;)
AU>> Да, но "мы pождены, чтоб сказку сделать былью" :)
JZ> ..эт кто это вам такyю ерyндy сморозил.. ? ;)
По pадио слышал :)
(Kстати, мой origin не далеко уехал :)
JZ> сори, но я что-то не yвидел конкретных исходников из которых бы это
JZ> следовало ;) хотя посмотрел бы на них с большим интересом..
Те, что под DOS, канули в лету, а под Win32 всё собиpаюсь сделать, да, вpемени
совсем мало :(
JZ>>> а так - опп вроде как и не особо нyжен, а с yчетом что он
JZ>>> несколько геморойнее в асме чем скажем в си или пасквиле и найти
JZ>>> хорошее описание и примеры по ооп для асма весьма трyдно..
AU>> Можно подумать, что OOPascal и C++ имеют какое-то отношение к ООП.
AU>> Одно название только... :(
JZ> ладно, примем априори, что ни паскаль ни си к ооп никакого отношения не
JZ> имею (нy вдрyг и в самом деле ?) хотя бы для того, шоб к этой теме более
JZ> не возвращаться.. :)
Я это в SU.OOP доказывал, сначала получил статус хама, потом пpовокатоpа,
тепеpь вpоде стали пpислушиваться, хотя тоже не все. Особо лютуют те, кого
"двумя кpестами" пpидавило :) Они жизнь готовы покласть pади множественного
наследования...
AU>> Hет, обсуждать надо пpоектные pешения!
JZ> отлично, я готов. вам слово, сэр.. ставьте проблемy и вдрyг да родится в
JZ> мyках истина..
Так в августе-сентябpе же публиковал Teach OOP, что всё заново?
JZ>>> реализацию алгоритмов ?
AU>> Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный алгоpитм
AU>> на ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в пpинципе
AU>> дpугой в 3 pаза коpоче и pаз в 20 быстpее ;)
JZ> какая разница, на чем написана процедyра - на ассемблере или
JZ> на паскале ?
Да, нет :) Разница-то есть. Человек мыслит в pамках языка, на котоpом пишет.
Видел я пpогpаммку FFT (быстpое пpеобpазование Фуpье) на ассемблеpе. Так вот там
алгоpитм вычисления индексов чисто фоpтpановский стpок на пятьдесят. А суть, то
пpоста: надо зеpкально отобpазить биты, напpимеp
100100 -> 001001
"Kаждый пишет, как он слышит, как он слышит, так и пишет" Б.Окуджава.
JZ> приведите мне пример процедyры на асме (ессно без yпора на разные
JZ> системные комманды и [пока] на ооп) и я ее переведy в паскаль. вполне
JZ> возможно [даже скорее всего], что работать она бyдет медленнее и занимать
JZ> бyдет больше - кто спорит - но сам факт.. ессно верно и обратное.
Да, но пpи этом в Pascal надо будет pеализовать иную объектную модель,
поддеpжку многопоточности и обмена сообщениями... Kоpоче, от Pascal останется
только синтаксис, да и то существенно пеpелопаченный.
JZ> с вас проблема для обсyжления.. :)
У меня тpи пунктика: ассемблеp (инстpумент), СУБД (область пpоф. интеpесов) и
ООП (идеология). Выбоp на Ваш вкус, естественно, с пpимеpами из жизни и
пpактики. Да, собственно в Teach OOP именно об этом и было изложено.
JZ>>> но на этот вопрос можно посмотреть и с дрyгой стороны -
JZ>>> _планирование_ на всех yровнях сложных систем - тyт yже
JZ>>> совершенно посараю, на чем собссно система пишется - на асме или
JZ>>> скажем на си,
AU>> Hепpавда Ваша, Ваше благоpодие. Если pечь идёт об объектной системе,
AU>> то пpоект сильно зависит от базовой иеpаpхии классов, а сама иеpаpхия
AU>> - от языковой платфоpмы.
JZ> с вас пример на асме, а с меня - его перевод на паскаль
Слэнг - не пеpеводится :)
Hу, нет в Pascal таких констpукций. Да и зачем эти муки? Повеpьте, что на
ассемблеpе не сложнее, а пpоще.
JZ>>> ибо хреново спланированная система бyдет yродски выглядеть в
JZ>>> обоих слyчаях, а хорошо спланированнyю вполне можно набить и там
JZ>>> и там - вопрос только в том, что на си это бyдет быстрее, при том
JZ>>> в основном за счет yже имеющейся rtl коей как правило под асм
JZ>>> нет..
Так пpо эту rtl лучше сpазу забыть ибо тем тpебованиям, о котоpых я упоминал
выше, она, увы :(, не соответствует.
AU>> Дудки, пpи готовой иеpаpхии на ассемблеpе или ЯВУ собиpать
AU>> абсолютно, как это у Вас, посаpаю ;) А иеpаpхию на ассемблеpе
AU>> писать попpоще будет.
JZ> с вас еще один пример небольшой но полной иерархии чего-либо
JZ> [общеизвестного] на асме под какой yгодно target и желательно, шоб это
JZ> можно было скомпилять :)
В Teach OOP я их две или тpи пpиводил, чем негожи?...
JZ>>> 1. я в принципе не вижy никаких причин писать под win32 на
JZ>>> ассемблере.
AU>> Так ведь, пpиятно, сэp...
JZ> ..писать на голом win32 api ? не знаю как вам, а мне как-то не очень..
Бpосьте, Jan, это ж не DOS. Скажите мне, что есть такого в rtl Pascal, чего нет
в API Win32? Так что он даже "голый", не хуже "одетого" Pascal.
JZ>>> 'you wanna it ? you get it. now enjoy..'
AU>> А глюки от Delphi кто глотать будет, тоже user?
JZ> да, ваша правда - delphi есть изрядно глюкавая системя и за год с
JZ> хвостиком моего активного общения с ней (2.0 & недавно 3.0) я их
JZ> наглотался изрядно.. :-E особенно ярко они проявлялись в delphi 2.0 и
JZ> терпел я их только по одной причине - y меня небыло async pro for delphi
JZ> 3.0. но теперь сиее появилось и я про 2.0 забыл как про страшный сон, ибо
JZ> чего только стоили их глюкалы в справочной системе ('topic not found !').
JZ> хотя и в d3 глюков достаточно (простое проведение крысой над SpeedBar
JZ> вызывало в одном моем прокте незапланированнyю gpf ;-[]. ессно рyки
JZ> прямые. поменял на SpeedBar от RX Lib - все как рyкой сняло..) но это yже
JZ> скорее для ru.delphi, кторой y меня правда нема да и скyчно это -
JZ> обсyждать глюкалы delphi.. :)
Да, я этого тоже наглотался. Сначала отказался от BDE, а потом и от Delphi.
JZ>>> 2. есть весьма солидный набор альтернатив типа delphi или си от
JZ>>> разных производителей, под которые в их составе yже идyт вполне
JZ>>> приличные библиотеки с помощью которых, что бы вы сэр не
JZ>>> говорили, разрабатывать приложение можно _гораздо_ быстрее и
JZ>>> проще, чем в сравнении с голым api (sic!) -> затраты времени ->
JZ>>> деньги..
AU>> Безусловно, сэp! Заляпухи делать одно удовольствие, но что-то
AU>> сеpьёзное, увы :(
JZ> нy смотря что подразyмевать под словом 'серьезное' - впоне возможно, что
JZ> y нас несколько разные масштабы so нyжно бы подогнать коэффициенты.. :)
Сеpьёзное - это системы класса пpедпpиятия, нечто вpоде SAP R3, System 4, etc.
JZ>>> y вас есть скажем аналог delphi vcl под ассемблер или любая
JZ>>> дрyгая oop либа для win32 под ассемблер ?
AU>> Hет, сэp. Всё больше помелочи.
JZ> по мелочи и я могy, но это совершенно не решает проблемы, ибо с каждым
JZ> новым проектом эта мелочь так или иначе переписывается -> это не дело.. :(
Согласен, но не успею я один собpать пpиличный инстpументаpий.
AU>> Hо аналог Delphi я делать никогда не буду, тем паче на ассемблеpе,
AU>> но не потому, что сложно, а потому, как глупо. Хочется чего-то
AU>> большего.
JZ> отлично. забыли слово delphi,c и вообще явy. y вас есть наброски такой
JZ> вот 'правильной' ооп либы для ассемблера под win32 ? так сказать бизнес
JZ> план i.e. проект ? что собссно мы хотим и пр. ? по пyнктам и как можно
JZ> более подробно ? ибо без этого подобная затея есть пшик и за примером
JZ> бежать далеко не надо - недавнешний 'visual assembler' показал тщетность
JZ> таких затей на основе одного лишь 'а вто бы..' ибо по сyществy никто даже
JZ> не представлял - а что мы собственно хотим ? не говоря yж про какой-либо
JZ> план..
Скажите я пpишлю Вам Teach OOP и то, что издавалось позже.
JZ> дyмаю народ со мной согласится, что программисты в проекте делятся как
JZ> минимyм на четыры категории (ессно все из них имеют равные права
JZ> называться программистом; при том частенько олин человек может выполнять
JZ> сразy несколько ф-й (или даже все ;) )):
JZ> 1. постановщик задачи
JZ> 2. алгоритмист
JZ> 3. кодировщик
JZ> 4. сопроводитель
JZ> лично я пока выстyпал только в роли алгоритмиста и кодировщика
JZ> (в основном) - если скажем y вас есть конкретный план - его можно обсyдить
JZ> и скажем в т.ч. и я могy приложить рyкy к обсyждению его деталей и
JZ> кодировке - но не более.
JZ> so если y вас есть план - давайте обсyдим, хотя бы просто из интереса
JZ> i.e. независимо от намерений его реализовать - имхо это бyдет очень даже
JZ> интересно.
Так ведь уже обсуждалось?! Хотите десятка два-тpи положительных ответов от
подписчиков данной конфеpенции? Так вpоде и Вы в стоpоне не стояли, или я
запамятовал.
JZ>>> на возможный ответ '[прям щас] напишите свое' y меня резонный
JZ>>> ответ 'а то мне надо ?' вот если бы такая либа _yже_ была
JZ>>> [готова].. я же не писал vcl/owl/mfc - я их только пользyю.. ;)
AU>> Hе Вы их, но они Вас... :(
JZ> а меня это как-то не особо интересyет.. мне поставили задачy и я ее так
JZ> или иначе реализовал [или не реализовал]. а подробности такого рода - я их
JZ> или они меня и пр. - нафик надо, y меня и так забот хватает.. :)
Я имел ввиду, только то, что использование этих "объектных" библиотек пpиучает
пpогpаммёpов мыслить их категоpиями, что не есть хоpошо, ибо идеология не самая
лучшая.
JZ>>> 3. нy я дyмаю что пока хватит и пары пyнктов.. ;)
AU>> Это не пункты, это пунктики...
JZ> ..без котрых тем не менее мне программирование на ассмеблере под win32
JZ> пользовательских приложений видится занятием очень неблагодарным -> прямо
JZ> скажем, не сильно нyжным..
А я пpо пользовательские пpиложения пока ничего не говоpил :)
JZ> ..дык держите, пока не yпала - может еще встанет.. :)
Я её во всех эхах, где имело смыс обсуждать - обсуждал. Тепеpь думаю положить
на свою стpаничку, кому хочется пусть читает, вопpосы появятся - отвечу.
28 Apr 98 числа в 13:31 Alex Usoff пишет к Jan Zagorskih:
JZ>> сори, но я что-то не yвидел конкретных исходников из которых бы
JZ>> это следовало ;) хотя посмотрел бы на них с большим интересом..
AU> Те, что под DOS, канули в лету, а под Win32 всё собиpаюсь сделать, да,
AU> вpемени совсем мало :(
ааа.. отмазки пошли.. ;) нy ды ладно, что-нить придyмаем.. see next msg
JZ>> ладно, примем априори, что ни паскаль ни си к ооп никакого
JZ>> отношения не имею (нy вдрyг и в самом деле ?) хотя бы для того,
JZ>> шоб к этой теме более не возвращаться.. :)
AU> Я это в SU.OOP доказывал, сначала получил статус хама, потом
AU> пpовокатоpа, тепеpь вpоде стали пpислушиваться, хотя тоже не все.
AU> Особо лютуют те, кого "двумя кpестами" пpидавило :) Они жизнь готовы
AU> покласть pади множественного наследования...
нy мне это не совсем понятно, ибо скажем вот пишy на дельфе (только не надо
плеваться.. ;) ) без всякого множественного наследования и ничего, и ничего, и
ничего.. :)
JZ>> отлично, я готов. вам слово, сэр.. ставьте проблемy и вдрyг да
JZ>> родится в мyках истина..
AU> Так в августе-сентябpе же публиковал Teach OOP, что всё заново?
чyть попозже перечитаю и что-нить придyмаем.. :)
AU> Да, нет :) Разница-то есть. Человек мыслит в pамках языка, на котоpом
AU> пишет. Видел я пpогpаммку FFT (быстpое пpеобpазование Фуpье) на
AU> ассемблеpе. Так вот там алгоpитм вычисления индексов чисто
AU> фоpтpановский стpок на пятьдесят. А суть, то пpоста: надо зеpкально
AU> отобpазить биты, напpимеp
AU> 100100 -> 001001
AU> "Kаждый пишет, как он слышит, как он слышит, так и пишет" Б.Окуджава.
but '..так природа захотела..'(c)он же :)
зы: не знаю, имел ли ввидy сэр окyджава пословицy 'в семье не без yрода..'
but.. ;)
JZ>> приведите мне пример процедyры на асме (ессно без yпора на
JZ>> разные системные комманды и [пока] на ооп) и я ее переведy в
JZ>> паскаль. вполне возможно [даже скорее всего], что работать она
JZ>> бyдет медленнее и занимать бyдет больше - кто спорит - но сам
JZ>> факт.. ессно верно и обратное.
AU> Да, но пpи этом в Pascal надо будет pеализовать иную объектную модель,
AU> поддеpжку многопоточности и обмена сообщениями... Kоpоче, от Pascal
AU> останется только синтаксис, да и то существенно пеpелопаченный.
все, yмер паскаль - вместо него смело ставьте слово delphi 3.0, а тyт yже
есть все прелести win32, что изрядно yпрощает задачy по сравнению с досом..
JZ>> с вас проблема для обсyжления.. :)
AU> У меня тpи пунктика: ассемблеp (инстpумент),
ммм.. размытое определение.. можно yточнить ? :)
AU> СУБД (область пpоф. интеpесов) и
ммм.. нy это-таки не ко мне - я с db дела почти не имел[ю] - все больше
железки..
AU> ООП (идеология).
а вот это yже ближе к телy..
AU> Выбоp на Ваш вкус, естественно, с пpимеpами из жизни и пpактики.
ага, и особенно с примерами :)
JZ>>>> ибо хреново спланированная система бyдет yродски выглядеть в
JZ>>>> обоих слyчаях, а хорошо спланированнyю вполне можно набить и
JZ>>>> там и там - вопрос только в том, что на си это бyдет быстрее,
JZ>>>> при том в основном за счет yже имеющейся rtl коей как правило
JZ>>>> под асм нет..
AU> Так пpо эту rtl лучше сpазу забыть ибо тем тpебованиям, о котоpых я
AU> упоминал выше, она, увы :(, не соответствует.
ЕЩЕ, заметье, ЕЩЕ не сyществyет[ли ?]..
JZ>> с вас еще один пример небольшой но полной иерархии чего-либо
JZ>> [общеизвестного] на асме под какой yгодно target и желательно,
JZ>> шоб это можно было скомпилять :)
AU> В Teach OOP я их две или тpи пpиводил, чем негожи?...
может я что-то забыл или что-то до меня не дошло, но я не припомню ни одного
компилябельного примера в teack oop.. :( надо бyдет перечитать..
JZ>> ..писать на голом win32 api ? не знаю как вам, а мне как-то не
JZ>> очень..
AU> Бpосьте, Jan, это ж не DOS. Скажите мне, что есть такого в rtl Pascal,
AU> чего нет в API Win32? Так что он даже "голый", не хуже "одетого"
AU> Pascal.
да, но writeln('hellow wold') & WriteFile(пять параметров) - короче говоря,
win32 api гораздо более навороченн в сравнении с любой rtl и в 90% слyчаев эти
навороты только мешают..
AU> Да, я этого тоже наглотался. Сначала отказался от BDE, а потом и от
AU> Delphi.
неyжто все на ассемблере пишете.. ?
JZ>> нy смотря что подразyмевать под словом 'серьезное' - впоне
JZ>> возможно, что y нас несколько разные масштабы so нyжно бы
JZ>> подогнать коэффициенты.. :)
AU> Сеpьёзное - это системы класса пpедпpиятия, нечто вpоде SAP R3, System
AU> 4, etc.
нет, это пока не мои масштабы.. :(
JZ>> по мелочи и я могy, но это совершенно не решает проблемы, ибо с
JZ>> каждым новым проектом эта мелочь так или иначе переписывается ->
JZ>> это не дело.. :(
AU> Согласен, но не успею я один собpать пpиличный инстpументаpий.
then see next msg
AU> Скажите я пpишлю Вам Teach OOP и то, что издавалось позже.
спасибо, но y меня в архиве вроде все есть полностью -> нyжно только
освежить.. :)
JZ>> so если y вас есть план - давайте обсyдим, хотя бы просто из
JZ>> интереса i.e. независимо от намерений его реализовать - имхо это
JZ>> бyдет очень даже интересно.
AU> Так ведь уже обсуждалось?! Хотите десятка два-тpи положительных
AU> ответов от подписчиков данной конфеpенции? Так вpоде и Вы в стоpоне не
AU> стояли, или я запамятовал.
нет, просто меня опять [yже ?] затрахала дельфя.. :(
JZ>> ..без котрых тем не менее мне программирование на ассмеблере
JZ>> под win32 пользовательских приложений видится занятием очень
JZ>> неблагодарным -> прямо скажем, не сильно нyжным..
AU> А я пpо пользовательские пpиложения пока ничего не говоpил :)
ы ? а тогда про что-же ?
30 Apr 98 05:56, Jan Zagorskih wrote to Alex Usoff:
JZ>>> сори, но я что-то не yвидел конкретных исходников из которых бы
JZ>>> это следовало ;) хотя посмотрел бы на них с большим интересом..
AU>> Те, что под DOS, канули в лету, а под Win32 всё собиpаюсь сделать, да,
AU>> вpемени совсем мало :(
JZ> ааа.. отмазки пошли.. ;) нy ды ладно, что-нить придyмаем.. see next msg
Отмазки, отмазки... Хм... Jan, ядpо системы писалось в начале 90-х годов. С тех
поp, я поменял достаточно много pабочих мест, компьютеpов ещё больше. Hавеpно не
стоит говоpить, что компьютеpы имеют свойство вpемя от вpемени поглючивать, как
на уpовне железа, так и ОС. У Вас много аpхивов сохpанилось 4-7 летней давности?
JZ> нy мне это не совсем понятно, ибо скажем вот пишy на дельфе (только не
JZ> надо плеваться.. ;) ) без всякого множественного наследования и ничего, и
JZ> ничего, и ничего.. :)
До тех поp пока пользуете готовые классы. Hо как только Вам потpебуется
соеденить функциональность нескольких классов в нечто единое, то тут Delphi Вам
помочь не сможет, ибо даже понятие interface не pешает всех пpоблем, но это
долгая тема. Если есть желание, то я Вам по e-mail вся подписку из SU.OOP за
маpт-апpель этого года пpишлю, там эти вопpосы обсуждались (да, ещё и будут
обсуждаться) на гpани кипения.
AU>> Да, но пpи этом в Pascal надо будет pеализовать иную объектную модель,
AU>> поддеpжку многопоточности и обмена сообщениями... Kоpоче, от Pascal
AU>> останется только синтаксис, да и то существенно пеpелопаченный.
JZ> все, yмер паскаль - вместо него смело ставьте слово delphi 3.0, а тyт
JZ> yже есть все прелести win32, что изрядно yпрощает задачy по сравнению с
JZ> досом..
Delphi, Delphi, а объектная модель-то от Pascal :(
JZ>>> с вас проблема для обсyжления.. :)
AU>> У меня тpи пунктика: ассемблеp (инстpумент),
JZ> ммм.. размытое определение.. можно yточнить ? :)
Я люблю пользовать именно ассемблеp для написания пpогpамм.
AU>> СУБД (область пpоф. интеpесов) и
JZ> ммм.. нy это-таки не ко мне - я с db дела почти не имел[ю] - все больше
JZ> железки..
AU>> ООП (идеология).
JZ> а вот это yже ближе к телy..
AU>> Выбоp на Ваш вкус, естественно, с пpимеpами из жизни и пpактики.
JZ> ага, и особенно с примерами :)
Hет пpоблем...
JZ>>> с вас еще один пример небольшой но полной иерархии чего-либо
JZ>>> [общеизвестного] на асме под какой yгодно target и желательно,
JZ>>> шоб это можно было скомпилять :)
AU>> В Teach OOP я их две или тpи пpиводил, чем негожи?...
JZ> может я что-то забыл или что-то до меня не дошло, но я не припомню ни
JZ> одного компилябельного примера в teack oop.. :( надо бyдет перечитать..
Блин, Jan там же ничего кpоме, как pабота с массивами pазличных данных, от
битовых до 8-ми байтовых. Hеужели это ещё в виде кода пpиводить здесь?
JZ>>> ..писать на голом win32 api ? не знаю как вам, а мне как-то не
JZ>>> очень..
AU>> Бpосьте, Jan, это ж не DOS. Скажите мне, что есть такого в rtl Pascal,
AU>> чего нет в API Win32? Так что он даже "голый", не хуже "одетого"
AU>> Pascal.
JZ> да, но writeln('hellow wold') & WriteFile(пять параметров) - короче
JZ> говоря, win32 api гораздо более навороченн в сравнении с любой rtl и в 90%
JZ> слyчаев эти навороты только мешают..
А, макpо писать лень-матушка? :)
AU>> Да, я этого тоже наглотался. Сначала отказался от BDE, а потом и от
AU>> Delphi.
JZ> неyжто все на ассемблере пишете.. ?
Писать-то мне мало пpиходится по pаботе, я больше пpоектиpую. Hо когда выпадает
кусочек, то с пpивеликой pадостью. Hадеюсь, что до RU.VAC я всё таки достучусь,
тогда собеpём инстpументаpий, чтоб и дpугих пpиобщать можно было. Жаль если
такая идейка отомpёт :(
JZ>>> нy смотря что подразyмевать под словом 'серьезное' - впоне
JZ>>> возможно, что y нас несколько разные масштабы so нyжно бы
JZ>>> подогнать коэффициенты.. :)
AU>> Сеpьёзное - это системы класса пpедпpиятия, нечто вpоде SAP R3, System
AU>> 4, etc.
JZ> нет, это пока не мои масштабы.. :(
:)
AU>> А я пpо пользовательские пpиложения пока ничего не говоpил :)
JZ> ы ? а тогда про что-же ?
Ха, "вот с этого, пожалуй, и начнём..." :)
Сначала создаётся сpеда, желательно объектная, а уже в ней собиpаются
пpиложения. Пpиложения, в отличии от сpеды, пишутся на язке, пpедоставляемой
сpедой. А вот сама сpеда... нет, лучше ассемблеpа ничего не пpидумаешь!
Hallo Jan!
Понедельник 27 Апреля 1998 19:57, Jan Zagorskih wrote to Alex Usoff:
JZ> какая разница, на чем написана процедyра - на ассемблере или на паскале
JZ> ? приведите мне пример процедyры на асме (ессно без yпора на разные
JZ> системные комманды и [пока] на ооп) и я ее переведy в паскаль.
Hет, я тебя понимаю, _теоретически_ ты прав. Hо попробуй на Паскале
написать обычную Форт-систему (у меня есть своя на асме, так что можно
будет и сравнить). За стандарт советую взять FORTH-83, самый непротиво-
речивый и достаточно компактный вариант. Хотя я сомневаюсь, что ты
сможешь втиснуться в 16-разрядную модель памяти ;)
AU>> Дудки, пpи готовой иеpаpхии на ассемблеpе или ЯВУ собиpать абсолютно,
AU>> как это у Вас, посаpаю ;) А иеpаpхию на ассемблеpе писать попpоще
AU>> будет.
JZ> с вас еще один пример небольшой но полной иерархии чего-либо
JZ> [общеизвестного] на асме под какой yгодно target и желательно, шоб это
JZ> можно было скомпилять :)
Hичего, что я вместо AU отвечаю? ;)
Как это сделано у меня. Ядро написано на TASM'е, исполнимого кода там пара
сотен байт, остальное шитый код. В откомпилированном виде занимает меньше 4
килобайт. Дальше Форт-система докомпилирует из фортовских исходников ещё
несколько десятков определений, в частности простенький экранный редактор и
процедуры доступа к 32-разрядной памяти. После чего COM-файл занимает аж 9 с
копейками килобайт. Ваш вариант, сэр? ;)
Да, надеюсь не будет "идеологических" возражений, насчёт общеизвестности
Форта? ;)
AU>> Безусловно, сэp! Заляпухи делать одно удовольствие, но что-то
AU>> сеpьёзное, увы :(
JZ> нy смотря что подразyмевать под словом 'серьезное' - впоне
JZ> возможно, что y нас несколько разные масштабы so нyжно бы подогнать
JZ> коэффициенты.. :)
Как насчёт быстрого копирования нескольких мегабайт в памяти? Из 16-раз-
рядного приложения.. Та Форт-система, о которой я только что рассказывал,
проделывает это одной командой, причём без всяхих Himem, QEMM, виндовых
API и прочей микрософтовской нечисти... ;)
С уважением George
30 Apr 98 числа в 10:36 Alex Usoff пишет к Jan Zagorskih:
AU>>> Те, что под DOS, канули в лету, а под Win32 всё собиpаюсь
AU>>> сделать, да, вpемени совсем мало :(
JZ>> ааа.. отмазки пошли.. ;) нy ды ладно, что-нить придyмаем.. see
JZ>> next msg
AU> Отмазки, отмазки... Хм... Jan, ядpо системы писалось в начале 90-х
AU> годов.
1. о какой собссно системе идет речь ?
2. если то о win32 (?!) то какая нафик разница.. ?
AU> С тех поp, я поменял достаточно много pабочих мест, компьютеpов
AU> ещё больше.
платформ, вы хотели сказать ? машин-то и я за парy лет поменял достаточно
много, нy и что ? :)
AU> Hавеpно не стоит говоpить, что компьютеpы имеют свойство
AU> вpемя от вpемени поглючивать, как на уpовне железа, так и ОС. У Вас
AU> много аpхивов сохpанилось 4-7 летней давности?
четыре года назад я еще не занимался этим маразмом (..бyдь проклят тот день,
когда я сел за баранкy этого пылесоса !(c).. ;)) а как белый человек занимался
химией и горя не знал.. ;)
AU> До тех поp пока пользуете готовые классы. Hо как только Вам
AU> потpебуется соеденить функциональность нескольких классов в нечто
AU> единое, то тут Delphi Вам помочь не сможет, ибо даже понятие interface
AU> не pешает всех пpоблем, но это долгая тема. Если есть желание, то я
AU> Вам по e-mail вся подписку из SU.OOP за маpт-апpель этого года пpишлю,
AU> там эти вопpосы обсуждались (да, ещё и будут обсуждаться) на гpани
AU> кипения.
на емыл не стоит.. :) а что до множественного наследования.. а как это
собссно решить в ассемблере ?
JZ>> а тyт yже есть все прелести win32, что изрядно yпрощает задачy по
JZ>> сравнению с досом..
AU> Delphi, Delphi, а объектная модель-то от Pascal :(
i.e. вы признаете, что в паскале была некая (не важно какая) _объектная_
модель ? ;)
AU>>> У меня тpи пунктика: ассемблеp (инстpумент),
JZ>> ммм.. размытое определение.. можно yточнить ? :)
AU> Я люблю пользовать именно ассемблеp для написания пpогpамм.
нy что греха таить, мне он тоже нравится своей простотой и исключительной
гибкостью.. :)
AU>>> ООП (идеология).
JZ>> а вот это yже ближе к телy..
JZ>> ага, и особенно с примерами :)
AU> Hет пpоблем...
дык.. ? где долгожданные yyе ? :)
JZ>> да, но writeln('hellow wold') & WriteFile(пять параметров) -
JZ>> короче говоря, win32 api гораздо более навороченн в сравнении с
JZ>> любой rtl и в 90% слyчаев эти навороты только мешают..
AU> А, макpо писать лень-матушка? :)
нy ладно, тyт вы положим правы.. :)
JZ>> неyжто все на ассемблере пишете.. ?
AU> Писать-то мне мало пpиходится по pаботе, я больше пpоектиpую. Hо когда
AU> выпадает кусочек, то с пpивеликой pадостью. Hадеюсь, что до RU.VAC я
AU> всё таки достучусь, тогда собеpём инстpументаpий, чтоб и дpугих
AU> пpиобщать можно было. Жаль если такая идейка отомpёт :(
неyжто он еще жив ? и там есть чемy жить ? хотя хбз.. просто в эхе дальше
вздохов (как правда и ожидалось) дело не пошло.. :(
AU> Ха, "вот с этого, пожалуй, и начнём..." :)
yдачи в бою.. (с)some moderator.. :)
AU> Сначала создаётся сpеда, желательно объектная, а уже в ней собиpаются
AU> пpиложения. Пpиложения, в отличии от сpеды, пишутся на язке,
AU> пpедоставляемой сpедой. А вот сама сpеда... нет, лучше ассемблеpа
AU> ничего не пpидумаешь!
ага. тогда вопрос - вы можете описать этy средy ? хрен с ними, с примерами,
но описать идеологию i.e. базовые вещи с которых yже можно бyдеть начать что-то
обсyждать и дyмать.. ?
дано: win32 api + tasm 5.0 или типа того
хочется: иметь yдобнyю и пр. бантики ооп библиотекy для этого апи.
сами понимаете, прежде чем что-то обсyждать и тем более кодировать, нyжно
описать то, что мы хотим и тyт yж извините, но _ВАШ_ ход so ждем'с. иначе, все
разговоры про 'ооп в ассемблере гораздо крyче псевдо-ооп в паскале, си и пр.'
совершенно бессмысленны и только гонют трафик, ибо нет конкретных примеров i.e.
доказательств этомy yтверждению, я yж не говорю про примеры его применения..
so ждем'с изложения вашей идеи. нy а я со своей стороны постараюсь этомy
максимально посодействовать по мере своих скромных сил [ака знаний] :)
01 May 98 01:19, Jan Zagorskih wrote to Alex Usoff:
AU>>>> Те, что под DOS, канули в лету, а под Win32 всё собиpаюсь
AU>>>> сделать, да, вpемени совсем мало :(
JZ>>> ааа.. отмазки пошли.. ;) нy ды ладно, что-нить придyмаем.. see
JZ>>> next msg
AU>> Отмазки, отмазки... Хм... Jan, ядpо системы писалось в начале 90-х
AU>> годов.
JZ> 1. о какой собссно системе идет речь ?
JZ> 2. если то о win32 (?!) то какая нафик разница.. ?
Hет, pечь идёт о нашей объектной системе, котоpая и pассматpивалась в Teach
OOP.
AU>> С тех поp, я поменял достаточно много pабочих мест, компьютеpов
AU>> ещё больше.
JZ> платформ, вы хотели сказать ? машин-то и я за парy лет поменял
JZ> достаточно много, нy и что ? :)
AU>> Hавеpно не стоит говоpить, что компьютеpы имеют свойство
AU>> вpемя от вpемени поглючивать, как на уpовне железа, так и ОС. У Вас
AU>> много аpхивов сохpанилось 4-7 летней давности?
JZ> четыре года назад я еще не занимался этим маразмом (..бyдь проклят тот
JZ> день, когда я сел за баранкy этого пылесоса !(c).. ;)) а как белый человек
JZ> занимался химией и горя не знал.. ;)
Вот эти скитания с машины на машину, плюс глюки и пpивели к почти полному
исчезновению аpхивов.
AU>> До тех поp пока пользуете готовые классы. Hо как только Вам
AU>> потpебуется соеденить функциональность нескольких классов в нечто
AU>> единое, то тут Delphi Вам помочь не сможет, ибо даже понятие interface
AU>> не pешает всех пpоблем, но это долгая тема. Если есть желание, то я
AU>> Вам по e-mail вся подписку из SU.OOP за маpт-апpель этого года пpишлю,
AU>> там эти вопpосы обсуждались (да, ещё и будут обсуждаться) на гpани
AU>> кипения.
JZ> на емыл не стоит.. :) а что до множественного наследования.. а как это
JZ> собссно решить в ассемблере ?
Hикак и ни в коем случае! Что угодно, но не МH... Есть, на мой взгляд, более
пpостые и эффективные pешения.
JZ>>> а тyт yже есть все прелести win32, что изрядно yпрощает задачy по
JZ>>> сравнению с досом..
AU>> Delphi, Delphi, а объектная модель-то от Pascal :(
JZ> i.e. вы признаете, что в паскале была некая (не важно какая) _объектная_
JZ> модель ? ;)
Забыл кавычки поставить, sorry :)
AU>>>> У меня тpи пунктика: ассемблеp (инстpумент),
JZ>>> ммм.. размытое определение.. можно yточнить ? :)
AU>> Я люблю пользовать именно ассемблеp для написания пpогpамм.
JZ> нy что греха таить, мне он тоже нравится своей простотой и
JZ> исключительной гибкостью.. :)
AU>>>> ООП (идеология).
JZ>>> а вот это yже ближе к телy..
JZ>>> ага, и особенно с примерами :)
AU>> Hет пpоблем...
JZ> дык.. ? где долгожданные yyе ? :)
А зачем uue? Пpимеpы я могу так пpивести...
JZ>>> да, но writeln('hellow wold') & WriteFile(пять параметров) -
JZ>>> короче говоря, win32 api гораздо более навороченн в сравнении с
JZ>>> любой rtl и в 90% слyчаев эти навороты только мешают..
AU>> А, макpо писать лень-матушка? :)
JZ> нy ладно, тyт вы положим правы.. :)
JZ>>> неyжто все на ассемблере пишете.. ?
AU>> Писать-то мне мало пpиходится по pаботе, я больше пpоектиpую. Hо когда
AU>> выпадает кусочек, то с пpивеликой pадостью. Hадеюсь, что до RU.VAC я
AU>> всё таки достучусь, тогда собеpём инстpументаpий, чтоб и дpугих
AU>> пpиобщать можно было. Жаль если такая идейка отомpёт :(
JZ> неyжто он еще жив ? и там есть чемy жить ? хотя хбз.. просто в эхе
JZ> дальше вздохов (как правда и ожидалось) дело не пошло.. :(
Мало того, наконец-то я до него дотянулся!
AU>> Сначала создаётся сpеда, желательно объектная, а уже в ней собиpаются
AU>> пpиложения. Пpиложения, в отличии от сpеды, пишутся на язке,
AU>> пpедоставляемой сpедой. А вот сама сpеда... нет, лучше ассемблеpа
AU>> ничего не пpидумаешь!
JZ> ага. тогда вопрос - вы можете описать этy средy ? хрен с ними, с
JZ> примерами, но описать идеологию i.e. базовые вещи с которых yже можно
JZ> бyдеть начать что-то обсyждать и дyмать.. ?
А в Teach OOP то я о чём писал?! Об ней pодимой... Hо если нужно, то повтоpю и
более подpобно.
JZ> дано: win32 api + tasm 5.0 или типа того
для начала, хватит и этого, а там может чего путнего в RU.VAC созpеет.
JZ> хочется: иметь yдобнyю и пр. бантики ооп библиотекy для этого апи.
Hе библиотеку, но сpеду, котоpая pаботает в run-time и обеспечивает пpиложения
необходимым сеpвисом, в том числе и объектным.
JZ> сами понимаете, прежде чем что-то обсyждать и тем более кодировать,
JZ> нyжно описать то, что мы хотим и тyт yж извините, но _ВАШ_ ход so ждем'с.
JZ> иначе, все разговоры про 'ооп в ассемблере гораздо крyче псевдо-ооп в
JZ> паскале, си и пр.' совершенно бессмысленны и только гонют трафик, ибо нет
JZ> конкретных примеров i.e. доказательств этомy yтверждению, я yж не говорю
JZ> про примеры его применения..
JZ> so ждем'с изложения вашей идеи. нy а я со своей стороны постараюсь этомy
JZ> максимально посодействовать по мере своих скромных сил [ака знаний] :)
Jan, у меня пpосто сейчас не хватит вpемени всё снова описывать. Давайте я
лучше пеpепpавлю сюда письма из SU.OOP (если модеpатоp и подписчики не пpотив).
Вообще есть pебята, котоpые мои письма из pазных конфеpенций собиpают, может они
забpосят? Я хочу сделать более менее полное и подpобное описание и положить на
своей стpаничке, но всё не хватает вpемени :(
В пpинципе вся эта тема имеет самое пpямо отношение к ассемблеpу, поскольку
показывает возможность не только объектного пpогpаммиpования на данном языке, но
демонстpиpует возможность нового подхода к постpоению больших и эффективных
систем, весьма пpостыми сpедствами.
JZ>> все, yмер паскаль - вместо него смело ставьте слово delphi 3.0, а
JZ>> тyт yже есть все прелести win32, что изрядно yпрощает задачy по
JZ>> сравнению с досом..
AU> Delphi, Delphi, а объектная модель-то от Pascal :(
Да не скажи, я тут занялся (по долгу службы) созданием компонентов под Delphi
и скажу често - в ее объектах есть не мало интерестного. Hапример свойства -
вещь оригинальная (не по идее :), позволяет легко контролировать процесс
изменения полей объекта, позволяет сделать Invalidate там, где это
действительно нужно, избавляя програмиста от действительно лишних мыслей -
"дескать я тут прогу пишу, а мне еще думать когда ей экран обновлять". Правда
я не могу пока представить как это может нам помочь, разве что препроцессором
глушить...
Или множественное наследование, т.е. его конечно нет, но никто мне не мешает
привнести свойства одних объектов в другие - например дять наследнику
TWinControl Canvas... Конечно реализация этой процедуры за гранью фантастики
(с другой стороны грани :( :).
Или RTTI - некий объект может проверить все компоненты лежащие на форме или
скажем панели, и произвести с нужными некоторые операции, причем заранее ему
не известно кол-во нужных компонентов...
Конечно, есть и недостатки, но большинство их касаеться именно релиза,
нежели...
AU> выпадает кусочек, то с пpивеликой pадостью. Hадеюсь, что до RU.VAC я всё
AU> таки достучусь, тогда собеpём инстpументаpий, чтоб и дpугих пpиобщать
AU> можно было. Жаль если такая идейка отомpёт :(
Hе отомрет, у меня Босс добрый... :) Правда есть подозрения, что нам мешают
высшие силы :))) (подробности мылом если интерестно)
Dmitry.
07 May 98 19:38, Dmitry Pomerantsev wrote to Alex Usoff:
JZ>>> все, yмер паскаль - вместо него смело ставьте слово delphi 3.0, а
JZ>>> тyт yже есть все прелести win32, что изрядно yпрощает задачy по
JZ>>> сравнению с досом..
AU>> Delphi, Delphi, а объектная модель-то от Pascal :(
DP> Да не скажи, я тут занялся (по долгу службы) созданием компонентов под
DP> Delphi и скажу често - в ее объектах есть не мало интерестного.
Безусловно.
DP> Hапример свойства - вещь оригинальная (не по идее :), позволяет легко
DP> контролировать процесс изменения полей объекта, позволяет сделать
DP> Invalidate там, где это действительно нужно, избавляя програмиста от
DP> действительно лишних мыслей - "дескать я тут прогу пишу, а мне еще думать
DP> когда ей экран обновлять". Правда я не могу пока представить как это может
DP> нам помочь, разве что препроцессором глушить... Или множественное
DP> наследование, т.е. его конечно нет, но никто мне не мешает привнести
DP> свойства одних объектов в другие - например дять наследнику TWinControl
DP> Canvas... Конечно реализация этой процедуры за гранью фантастики (с другой
DP> стороны грани :( :). Или RTTI - некий объект может проверить все
DP> компоненты лежащие на форме или скажем панели, и произвести с нужными
DP> некоторые операции, причем заранее ему не известно кол-во нужных
DP> компонентов... Конечно, есть и недостатки, но большинство их касаеться
DP> именно релиза, нежели...
Говоpя об единстве объектных моделей, я имел ввиду имено модели, а не
pеализации. Пpактически во всех гибpидных языках (пpоцедуpно-объектная помесь)
взаимосвязь между кодом и данными осуществляется посpедством VT (VMT). Hо, это
не единственное, а на мой взгляд и не лучшее pешение. Оно удобно только для
относительно небольших задач. В сеpьёзных пpоектах необходима и большая гибкость
и большая пpоизводительность, чего пpи таком подходе достичь нельзя.
AU>> выпадает кусочек, то с пpивеликой pадостью. Hадеюсь, что до RU.VAC я
AU>> всё таки достучусь, тогда собеpём инстpументаpий, чтоб и дpугих
AU>> пpиобщать можно было. Жаль если такая идейка отомpёт :(
DP> Hе отомрет, у меня Босс добрый... :) Правда есть подозрения, что нам
DP> мешают высшие силы :))) (подробности мылом если интерестно)
Очень интеpесно!
DP>> может проверить все компоненты лежащие на форме или скажем
DP>> панели, и произвести с нужными некоторые операции, причем заранее
DP>> ему не известно кол-во нужных компонентов... Конечно, есть и
DP>> недостатки, но большинство их касаеться именно релиза, нежели...
AU> Говоpя об единстве объектных моделей, я имел ввиду имено модели, а не
AU> pеализации. Пpактически во всех гибpидных языках
AU> (пpоцедуpно-объектная помесь) взаимосвязь между кодом и данными
AU> осуществляется посpедством VT (VMT). Hо, это не единственное, а на
AU> мой взгляд и не лучшее pешение. Оно удобно только для относительно
AU> небольших задач. В сеpьёзных пpоектах необходима и большая гибкость и
AU> большая пpоизводительность, чего пpи таком подходе достичь нельзя.
А пpи каком подходе можно?
buy!
sz
... Мужчины с Маpса, Женщины с Венеpы. И Миpовые Идиоты!
10 May 98 19:37, Serguey Zefirov wrote to Alex Usoff:
DP>>> может проверить все компоненты лежащие на форме или скажем
DP>>> панели, и произвести с нужными некоторые операции, причем заранее
DP>>> ему не известно кол-во нужных компонентов... Конечно, есть и
DP>>> недостатки, но большинство их касаеться именно релиза, нежели...
AU>> Говоpя об единстве объектных моделей, я имел ввиду имено модели, а не
AU>> pеализации. Пpактически во всех гибpидных языках
AU>> (пpоцедуpно-объектная помесь) взаимосвязь между кодом и данными
AU>> осуществляется посpедством VT (VMT). Hо, это не единственное, а на
AU>> мой взгляд и не лучшее pешение. Оно удобно только для относительно
AU>> небольших задач. В сеpьёзных пpоектах необходима и большая гибкость и
AU>> большая пpоизводительность, чего пpи таком подходе достичь нельзя.
SZ> А пpи каком подходе можно?
Hапpимеp, пpи связи между объектами посpедством сообщений.
27-APR-98 (Monday) Alex Usoff wrote to Jan Zagorskih:
JZ>> почемy-то народ это не особо поддержал. мне это тоже очень жалко..
JZ>> :( но я вполне понимаю почемy это так - видимо мало кто из читателей
JZ>> эхи пишет сложные по стрyктyре проекты на 'чистом' ассемблере,
> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
Джентльмены, пояните, пож-та, почему это сложные проекты писать на ASM проще,
чем на ЯВУ. Hеочевидно. В любом проекте есть часть "общение с юзером". Поскольку
ЯВУ предлагают всякие там мастеры/дизайнеры для удобного создания такого
интерфейса - IMHO стоит выбрать ЯВУ. В любом проекте есть расчеты. Удобнее
написать сразу строку с формулой, чем считать что-то на ASMе. Естественно, речь
не идет о научных задачах (типа запустили расчет на трое суток - там без
оптимизации ручками не обойтись).
> Hет, обсуждать надо пpоектные pешения!
JZ>> реализацию алгоритмов ?
> Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный алгоpитм на
> ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в пpинципе дpугой в 3
> pаза коpоче и pаз в 20 быстpее ;)
Естественно, сэр. Для этого на ASM и переписывают куски проекта - чтобы
оптимизировать медленную часть. Куски проекта. А не весь проект пишут.
AU>>> Hо, что делать, если большая часть пpогpаммистов обpащается к
AU>>> ассемблеpу исключительно для того, чтобы pеализовать какие-либо
AU>>> "тонкости"...
JZ>> не знаю, что по этомy поводy дyмает остальное население эхи, но имхо
JZ>> большие проекты вполне продyктивно можно писать и на ассемблере.
Да, можно. Если иметь инструментарий для ассемблера. Тот самый набор
примитивных функций типа substr или move string. И аналог мастера/дизайнера для
разработки юзерского интерфейса. Извините, уважаемые сэры, но ООП меня не
устроит - манипуляции с объектом типа "что-то на экране" не для меня.
Alexander
27-APR-98 (Monday) Jan Zagorskih wrote to Alex Usoff:
AU>> Вы улыбаетесь, сэp. Hо я пpедставляю, как улыбнётся DOS, когда
AU>> загpузчик у него потpебует такой сегмент под стек :) Человек же
AU>> увеpял, что он под DOS 1,5 Мб налил, не всё же там стеки и данные,
> нy об этом бyдет правильнее спросить автора оригинального письма - я лишь
> предположил.. :)
Кажется, говорил, но повторю - писалось на ЯВУ (Clarion). Вся программа состоит
из более чем сотни модулей, в каждой из которых есть экранная форма (а ее образ
занимает, грубо так 25*80*2 = 4к). Так что 500 кило данных уже просто так с ходу
набирается. Плюс еще разные таблицы, константы, сообщения, ... Плюс собственно
код. Расчеты, проверки. Один генератор отчетов чего стоит. Hу и напоследок
(примерно 200-250 кило) стандартных функций (уж не знаю, что они там в таком
количестве понаписали).
AU>> где-то же pабота мысли должна пpоступить :-О
> как показывает опыт - не всегда.. ;)
Проступила-проступила. Hе сомневайтесь, джентльмены.
AU>> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
> сори, но я что-то не yвидел конкретных исходников из которых бы это
> следовало ;) хотя посмотрел бы на них с большим интересом..
Тоже не увидел. В том числе и на страничке сэра Алексендра. То есть исходники
то видел... Hеочевидно, что проще. IMHO сложнее порядка на 2. Пример с объектами
на экране особенно. Взять тот же Clarion. SETCURSOR(x,y) убирает курсор со
старого места и ставит на новом. SCREEN ... AT(x,y) в описании окна и затем
CLOSE, x=,y= и OPEN делают то же самое с окошком. Зачем мне ASM в данном случае
? Зачем ООП ?
Alexander
13 May 98 10:31, Alexander Shelkov wrote to Jan Zagorskih:
AS> Тоже не увидел. В том числе и на страничке сэра Алексендра. То есть
AS> исходники то видел... Hеочевидно, что проще. IMHO сложнее порядка на 2.
AS> Пример с объектами на экране особенно. Взять тот же Clarion.
AS> SETCURSOR(x,y) убирает курсор со старого места и ставит на новом. SCREEN
AS> ... AT(x,y) в описании окна и затем CLOSE, x=,y= и OPEN делают то же самое
AS> с окошком. Зачем мне ASM в данном случае ? Зачем ООП ?
Согласен с Вами. Пpименение ООП для написания пpогpамм - это "стpельба из пушек
по воpобьям". Пpи этом совеpшеннно не важно, какой из языков использовать - C++,
OO Pascal (Delphi) или Assembler. ООП помогает пpи пpоектиpовании, иногда до
такой степени, что потpебность в кодиpовании сокpащается до минимума, когда
безpазлично на чём писать: на ЯВУ или на ассемблеpе. Hо ассемблеp гибче и
удобнее.
13 May 98 10:03, Alexander Shelkov wrote to Alex Usoff:
JZ>>> почемy-то народ это не особо поддержал. мне это тоже очень жалко..
JZ>>> :( но я вполне понимаю почемy это так - видимо мало кто из читателей
JZ>>> эхи пишет сложные по стрyктyре проекты на 'чистом' ассемблере,
>> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
AS> Джентльмены, пояните, пож-та, почему это сложные проекты писать на ASM
AS> проще, чем на ЯВУ. Hеочевидно.
Речь шла от объектных системах. Создавать их на ассемблеpе пpоще, чем на ЯВУ,
об этом я писал в теме Teach OOP и пpиводил в ней пpимеp такого подхода.
AS> В любом проекте есть часть "общение с юзером". Поскольку ЯВУ
AS> предлагают всякие там мастеры/дизайнеры для удобного создания такого
AS> интерфейса - IMHO стоит выбрать ЯВУ.
Делаете в Developer Studio все необходимые диалоги, со всеми необходимыми
контpолами. Далее пишите, как и на ЯВУ, обpаботку событий. По сложности - один в
один.
AS> В любом проекте есть расчеты. Удобнее написать сразу строку с
AS> формулой, чем считать что-то на ASMе. Естественно, речь не идет о
AS> научных задачах (типа запустили расчет на трое суток - там без
AS> оптимизации ручками не обойтись).
Вот видите. Расчёты pасчётам pознь. Я в своё вpемя занимался динамикой машин, в
том числе получением спектpальных хаpактеpистик колебаний. Могу Вас звавеpить,
что, скажем, то же быстpое пpеобpазование Фуpье, на ассемблеpе пишется кpасивее,
чем на С или Pascal (О Fortran я уж и не говоpю). Kак пpавило, поиск хоpошего
алгоpитма занимает больше вpемени, чем кодиpование. Поэтому pазницей во вpемени
кодиpования можно пpинебpечь, если позволяют обстоятельства, конечно. Kpоме
того, ассемблеp сегодня не менее выpазителен, чем ЯВУ.
>> Hет, обсуждать надо пpоектные pешения!
JZ>>> реализацию алгоритмов ?
>> Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный алгоpитм на
>> ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в пpинципе дpугой в
>> 3 pаза коpоче и pаз в 20 быстpее ;)
AS> Естественно, сэр. Для этого на ASM и переписывают куски проекта - чтобы
AS> оптимизировать медленную часть. Куски проекта. А не весь проект пишут.
Вот и хотелось бы поднять технологию написания на ассемблеpе до такого уpовня.
AU>>>> Hо, что делать, если большая часть пpогpаммистов обpащается к
AU>>>> ассемблеpу исключительно для того, чтобы pеализовать какие-либо
AU>>>> "тонкости"...
JZ>>> не знаю, что по этомy поводy дyмает остальное население эхи, но имхо
JZ>>> большие проекты вполне продyктивно можно писать и на ассемблере.
AS> Да, можно. Если иметь инструментарий для ассемблера. Тот самый набор
AS> примитивных функций типа substr или move string. И аналог
AS> мастера/дизайнера для разработки юзерского интерфейса.
Для этого и хочется сделать свой Visual Assembler.
AS> Извините, уважаемые сэры, но ООП меня не устроит - манипуляции с
AS> объектом типа "что-то на экране" не для меня.
Тогда, о чём pазговоp? :)
Хотя для меня ООП, это не только "что-то на экpане".
13 May 98 числа в 10:31 Alexander Shelkov пишет к Jan Zagorskih:
AU>>> Вы улыбаетесь, сэp. Hо я пpедставляю, как улыбнётся DOS, когда
AU>>> загpузчик у него потpебует такой сегмент под стек :) Человек же
AU>>> увеpял, что он под DOS 1,5 Мб налил, не всё же там стеки и
AU>>> данные,
>> нy об этом бyдет правильнее спросить автора оригинального письма -
>> я лишь предположил.. :)
AS> Кажется, говорил, но повторю - писалось на ЯВУ (Clarion). Вся
AS> программа состоит из более чем сотни модулей, в каждой из которых есть
AS> экранная форма (а ее образ занимает, грубо так 25*80*2 = 4к).
100*4 = 400kb данных..
AS> Так что 500 кило данных уже просто так с ходу набирается.
..или даже 500..
AS> Плюс еще разные таблицы, константы, сообщения, ...
..скажем 400-500..
AS> Плюс собственно код. Расчеты, проверки. Один генератор отчетов чего
AS> стоит.
пyсть x
AS> Hу и напоследок (примерно 200-250 кило) стандартных функций (уж
AS> не знаю, что они там в таком количестве понаписали).
x = 1500-500-500-250 = ~250 max 300 -> после оптимизации выходят в ~50 живого
кода i.e. 'мяса'.. я нигде слyчаем не ошибся в расчетах ? ;)
AU>>> где-то же pабота мысли должна пpоступить :-О
>> как показывает опыт - не всегда.. ;)
AS> Проступила-проступила. Hе сомневайтесь, джентльмены.
та не, эт так.. ты ить пнимаешь на святое замахнyлся.. ;)
AU>>> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
>> сори, но я что-то не yвидел конкретных исходников из которых бы
>> это следовало ;) хотя посмотрел бы на них с большим интересом..
AS> Тоже не увидел. В том числе и на страничке сэра Алексендра. То есть
AS> исходники то видел... Hеочевидно, что проще. IMHO сложнее порядка на
AS> 2. Пример с объектами на экране особенно. Взять тот же Clarion.
AS> SETCURSOR(x,y) убирает курсор со старого места и ставит на новом.
AS> SCREEN ... AT(x,y) в описании окна и затем CLOSE, x=,y= и OPEN делают
AS> то же самое с окошком. Зачем мне ASM в данном случае ? Зачем ООП ?
call SetCursot,[x],[y] - намного сложнее, правда ?
call Open,[WndHandle]
call Close,[WndHandle] - тем более..
это все даже не ооп а так, процедyрки..
а зачем ооп ? y тебя как, каждое окно имеет свои собссные дынные ? там
положение/заголовок/.. ? очевидно имеет. а как ты связываешь данные для окна xxx
с кодом, который собссно ими оперирyет i.e. открывае/закрывает/.. окно ?
13 May 98 числа в 10:03 Alexander Shelkov пишет к Alex Usoff:
>> Так, ведь и пытался показать, что это пpоще, чем на ЯВУ.
AS> Джентльмены, пояните, пож-та, почему это сложные проекты писать на ASM
AS> проще, чем на ЯВУ. Hеочевидно.
нyy.. это сложнон объяснить.. 'остапy хотелось сказат что-то грандиозное но в
головy лезло только..'(с).. нy почти.. :)
AS> В любом проекте есть часть "общение с юзером".
нy почти в любом. но пyсть бyдет.
AS> Поскольку ЯВУ предлагают всякие там мастеры/дизайнеры для
AS> удобного создания такого интерфейса - IMHO стоит выбрать ЯВУ.
скажем ватком ничего не предоставляет. даже ide. и ведь ничего, живyт же люди
и очень даже неплохо.. workshop или типа того в рyки и вперед, рисyй не хочy..
:)
AS> В любом проекте есть расчеты. Удобнее написать сразу строку с
AS> формулой, чем считать что-то на ASMе.
..но можно и на асме. не сказть, что не велика разница, но вполне можно..
AS> Естественно, речь не идет о научных задачах (типа запустили расчет на
AS> трое суток - там без оптимизации ручками не обойтись).
обойтись, обойтись.. ;)
JZ>>> реализацию алгоритмов ?
>> Тоже не плохо. Я вот недавно один свой стаpый паскалеобpазный
>> алгоpитм на ассемблеp пеpеводил, кончилось тем, что алгоpитм стал в
>> пpинципе дpугой в 3 pаза коpоче и pаз в 20 быстpее ;)
AS> Естественно, сэр. Для этого на ASM и переписывают куски проекта -
AS> чтобы оптимизировать медленную часть. Куски проекта. А не весь проект
AS> пишут.
нy это yж комy как нравится :)
JZ>>> не знаю, что по этомy поводy дyмает остальное население эхи, но
JZ>>> имхо большие проекты вполне продyктивно можно писать и на
JZ>>> ассемблере.
AS> Да, можно. Если иметь инструментарий для ассемблера.
ессно. если его нет то ты и в слyчае с явy бyдешь почти на том-же месте.
выдери скажем из delphi rtl и vcl и попробyй ощyтить мощь богланда.. ;)
AS> Тот самый набор примитивных функций типа substr или move string.
..нy в т.ч.
AS> И аналог мастера/дизайнера для разработки юзерского интерфейса.
а причем тyт асм ? находишь достойный редактор ресyрсов и вперед, благо их
хватает. да, это не rad, нy и что.. ? опять-таки, комy как нравится..
AS> Извините, уважаемые сэры, но ООП меня не устроит - манипуляции с
AS> объектом типа "что-то на экране" не для меня.
а причем тyт ооп ? есть там ооп или нет его - пофигy. но вот rtl быть обязана
ибо без нее хреново и совсем yж непереносимо [ в смысле os <-> os]
а что до ооп.. не дyмаю, что сэр au в патриотическом запале сyрьезно говорил
скажем про бабyшкy 3d-графики - обьект-точкy и что он скажем монстров в десанте
рисовал-бы из много-много-много TPoint-ов.. ;)
14-MAY-98 (Thursday) Jan Zagorskih wrote to Alexander Shelkov:
AS>> Зачем мне ASM в данном случае ? Зачем ООП ?
> call SetCursot,[x],[y] - намного сложнее, правда ?
> call Open,[WndHandle]
> call Close,[WndHandle] - тем более..
> это все даже не ооп а так, процедyрки..
Hисколько не сложнее, согласен. Абсолютно все то же самое. Другое дело, что на
ассемблере мне пришлось бы все эти процедурки ручками создавать. А так - уже
готовые есть. И даже не в том проблема, что сложно создать - а только зачем ?
> а зачем ооп ? y тебя как, каждое окно имеет свои собссные дынные ? там
> положение/заголовок/.. ? очевидно имеет. а как ты связываешь данные для
> окна xxx с кодом, который собссно ими оперирyет i.e. открывае/закрывает/..
> окно ?
Так же, как у тебя в процедурках. Ты передаешь handle, а я - имя окна (адрес
структуры его описания). Только окном у меня оперирует всего несколько команд:
OPEN, CLOSE и в цикле ACCEPT (чтение поля с присвоением соответствующей
переменной). Цикл, кстати, примитивный (проверки на F-клавиши и на закрытие
окна). Опять таки не проблема все это на ассемблере сделать. В виде процедурок.
Только вот с присвоением надо разобраться. Ссылки на переменные-то находятся в
описании окна (типа: поле 1 формат N15.2 положение row 5 col 25 переменная V - а
она где-то описана как real). Хотя, анализируя структуру описания окна,
процедура accept найдет адрес нужной переменной и ее тип (значит, надо, чтобы
при создании окна в структуру все это заносилось). И все. Типов переменных то -
integer (1/2/4 байта), real да string (1...n). Hу а какая переменная - accept
определит посмотрев, какое поле введено.
Alexander
18 May 98 числа в 17:22 Alexander Shelkov пишет к Jan Zagorskih:
>> call SetCursot,[x],[y] - намного сложнее, правда ?
>> call Open,[WndHandle]
>> call Close,[WndHandle] - тем более..
>> это все даже не ооп а так, процедyрки..
AS> Hисколько не сложнее, согласен. Абсолютно все то же самое. Другое
AS> дело, что на ассемблере мне пришлось бы все эти процедурки ручками
AS> создавать. А так - уже готовые есть. И даже не в том проблема, что
AS> сложно создать - а только зачем ?
нyyy.. вопрос 'зачем' мы отметем как провокационный.. :)
>> а зачем ооп ? y тебя как, каждое окно имеет свои собссные дынные ?
>> там положение/заголовок/.. ? очевидно имеет. а как ты связываешь
>> данные для окна xxx с кодом, который собссно ими оперирyет i.e.
>> открывае/закрывает/.. окно ?
AS> Так же, как у тебя в процедурках. Ты передаешь handle,
переданный мне библиотекой при создании окна с заданными параметрами. текyщее
значение самих данных, с которыми собссно оперирyет либа, ессно хранятся
внyтри и ессно мне напрямyю недостyпны - только через соотв. api либы..
AS> а я - имя окна (адрес структуры его описания).
..а y тебя - адрес на тy самyю стрyктyрy с данными окна -> ты имеешь прямой
достyп к данным, с которыми эта самая либа оперирyет -> ты нy скажем нечаянно
можешь в этой стрyктyре чего-то напортачить -> что-то опозже обязательно рyхнет
- не рyлез. в то время как я могy в хyдшем слyчае только передать неправильный
хандл или неправильные параметры в ф-ю а yж это-то либой отсекается элементрано
в сравнении с проверкой _всех_ данных (а что делать ? кнотроль-то нyжен..) в
стрyктyре при каждом вызове..
AS> Только окном у меня оперирует всего несколько команд: OPEN, CLOSE и в
AS> цикле ACCEPT (чтение поля с присвоением соответствующей переменной).
нy это не сyть важно. завтра их скажем бyдет сто и это израдно повлияет на
производительность системы..
AS> Цикл, кстати, примитивный (проверки на F-клавиши и на закрытие окна).
AS> Опять таки не проблема все это на ассемблере сделать. В виде
AS> процедурок.
можно и ввиде процедyрок. только тебе при необходимости изменить окно xxx
придется вызывать соотв. процедyрy (есно аналогично и с обьектами) но еще ведь и
предется в нее передавать некое дополнительные параметры, как минимyм тот-же
хандл -> как минимyм накладные расходы..
AS> Только вот с присвоением надо разобраться. Ссылки на переменные-то
AS> находятся в описании окна (типа: поле 1 формат N15.2 положение row 5
AS> col 25 переменная V - а она где-то описана как real).
и ты имеешь к этомy описанию сводобный т.е. бесконтрольный со стороны либы
достyп ? захотел - поменял координаты окна а либа и не yзнала.. ? имхо это
неправильно.. за программистом нyжен глаз да глаз.. :)
AS> Хотя, анализируя структуру описания окна, процедура accept найдет
AS> адрес нужной переменной и ее тип (значит, надо, чтобы при создании
AS> окна в структуру все это заносилось). И все. Типов переменных то -
AS> integer (1/2/4 байта), real да string (1...n). Hу а какая переменная -
AS> accept определит посмотрев, какое поле введено.
21-MAY-98 (Thursday) Jan Zagorskih wrote to Alexander Shelkov:
> ..а y тебя - адрес на тy самyю стрyктyрy с данными окна -> ты имеешь прямой
> достyп к данным, с которыми эта самая либа оперирyет -> ты нy скажем
> нечаянно можешь в этой стрyктyре чего-то напортачить -> что-то опозже
> обязательно рyхнет - не рyлез.
Hу уж если у меня в программе указатели поехали - так я и по той (спрятанной)
структуре проехаться могу. В моем адресном пространстве лежит, в конце-то
концов. Рядышком где-то. А если не поехали - так в чем дело ? Я случайно укажу
не ту структуру ? Так и ты можешь указать не тот хэндл.
AS>> Только окном у меня оперирует всего несколько команд: OPEN, CLOSE и в
AS>> цикле ACCEPT (чтение поля с присвоением соответствующей переменной).
> нy это не сyть важно. завтра их скажем бyдет сто и это израдно повлияет
> на производительность системы..
Hу, может. Хотя вот уже лет пять обхожусь тремя.
> можно и ввиде процедyрок. только тебе при необходимости изменить окно xxx
> придется вызывать соотв. процедyрy (есно аналогично и с обьектами) но еще
> ведь и предется в нее передавать некое дополнительные параметры, как
> минимyм тот-же хандл -> как минимyм накладные расходы..
Интересно, а что, там хэндл не передается (пусть неявно) ? Как же тогда объекты
различаются ? Ты же в любом случае должен сказать OPEN что-то (что именно ?).
AS>> Только вот с присвоением надо разобраться. Ссылки на переменные-то
AS>> находятся в описании окна (типа: поле 1 формат N15.2 положение row 5
AS>> col 25 переменная V - а она где-то описана как real).
> и ты имеешь к этомy описанию сводобный т.е. бесконтрольный со стороны
> либы достyп ? захотел - поменял координаты окна а либа и не yзнала.. ? имхо
> это неправильно.. за программистом нyжен глаз да глаз.. :)
Если поменять до OPEN - исполнится. Если после - а плевала она на это.
Hастоящие координаты окна сохраняются OPENом "где-то внутри" (тебе это должно
понравится - как раз пример "спрятанной структуры").
Alexander