· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› ООП и асм

<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . >>

Посл.отвђт Сообщенiе


Дата: Сен 18, 2004 05:01:07

> „адресация "структура.элемет" хуже чем "регистр+число"“

Это полностью идентичные операции, различающиеся только формой записи в исходнике.


> „Invoke создает устаревшие тормознутые инструкции enter\leave“

?????
invoke создаёт несколько (возможно 0) команд push, и затем call.


Дата: Сен 18, 2004 06:40:53

zzzyab
Зачем вообще ООП? ИМХО для защиты ... процессору все равно с ООП или без
Глупости не пиши. Защита и процессор здесь не причем.
В современном мире большое значение играет время, затрачиваемое создание и сопровождение. Технология ООП добавила очередной уровень абстракции и принято считать (я с этим не согласен), что ее использование сокращает это время.


Дата: Сен 18, 2004 23:10:32

zzzyab
Есть вещи, которые без ООП не реализуются в здравом уме. Я с такими задачами сталкивался не раз. А еще есть параноидальные приказы сверху: "только ООП, а то покусаю".

q_q
Считать принято, но это неправильно. Если человек прекрасно пишет на чистом коде, он может по скорости обогнать ООПщиков. С языками та же история. Я на асме пишу быстрее чем на сях, хотя си в меня вдолбили основательно.


Дата: Сен 19, 2004 05:58:42

"В современном мире большое значение играет время, затрачиваемое создание и сопровождение. Технология ООП добавила очередной уровень абстракции и принято считать (я с этим не согласен), что ее использование сокращает это время."

Для быстрой разработки - готовая библиотека классов не помешает. Иметь что-то похожее на MFC (не такое тупое, но всё-таки...). Код открыт - не нравится - пиши свой. Но самое интересное будет если люди пишущие для разных ассемблеров (FASM,MASM,TASM,...) смогут обмениваться классами. А для этого нужен единый исходник:

псевдо-код класса -> генератор ASM-кода (Plug-In) -> бинарник

Plug-In решает что генерировать: FASM,MASM...
Придумал новый ассемблер - напиши Plug-In.
Напоминает 'C', но без "наворотов".

P.S.: У Randall-а идея не плоха, но переборщил с "наворотами".


Дата: Сен 19, 2004 06:58:16

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

похожее на MFC (не такое тупое
Если ты не создал более достойный аналог, то, imho, не стоит ругать оригинал.


Дата: Сен 19, 2004 08:12:17

AsmGuru62
Кстати, нечто подобное у меня потихоньку появляется. Есть мнение, что у многих тоже. Я выделил стандартные функции, такие как strlen, strcat и т.д., в отдельную папку и пути к ней прописал. Там лежат функции максимально оптимизированые и удобные. Но они на фасме (хотя там чистый ассемблер, только запись адресации другая). Если бы существовал способ обмениваться своими наработками, я бы был очень рад.

Этот способ удобен тем, что нет готовой библиотеки (как сделали многие разработчики, имхо, напрасно). Т.е. я не обязан подключать огромного мутанта в виде Run-кода (CRT) или тем более использовать заглушки (CRT, MFC, etc.). Если мне из всех функций работы со строками нужен только strlen, то зачем мне подключать ВСЕ функции? Я прицеплю strlen.inc и буду счастлив.

Согласен, для сей подключение здорового run-кода иногда бывает очень удобным (кроссплатформенность, совместимость, удобство кода), но для ассемблера это смерти подобно.

Так что, если появится достойная разработка в направлении этом, буду рад. Единственное критичное для меня требование - больше ассемблера. Засилие макросов меня угнетает.. %(

q_q
MFC действительно получилась на редкость дерьмовая. Тормозная, глючная, неудобная.. А главное - она не улучшила программирование. Мало того, что приходится изучать основы работы с библиотекой, так еще и программирование непривычное..

Незнаю, может кто-то и нашел ей достойное применение, но лично я не смог.


Дата: Сен 19, 2004 08:15:22

q_q
Ну так вот и идет речь о создании библиотеки КАЧЕСТВЕННЫХ кирпичиков! Т.е. для добавления новой функции или блока функций они должны быть одобрены минздравом. Можно выложить их на всеобщее обозрение и пусть люди как могут оптимизируют. А потом взять лучший вариант.


Дата: Сен 19, 2004 09:23:16 · Поправил: q_q

n0p
Кстати, нечто подобное у меня потихоньку появляется. Есть мнение, что у многих тоже ... и идет речь о создании библиотеки
Я и говорю, что побеждает психология обжига кирпечей.

MFC действительно получилась на редкость дерьмовая.
Я уже написал AsmGuru62. Повторю для тебя. Все познается в сравнении. Ругать чужое много ума не надо. Называя MFC неудобной приводи ссылки на лучшее решение (идеальный вариант собственного изготовления), чтобы были понятны твои критерии качества.

PS я mfc не использую.


Дата: Сен 19, 2004 09:36:56

n0p > „выделил стандартные функции, такие как strlen ... максимально оптимизированые и удобные.“

IMHO это и есть „некачественные кирпичики“.
Если нужны строки, в которых необходимо постоянно знать длину, существуют строки a-la pascal


Дата: Сен 19, 2004 13:00:27

S_T_A_S_
Мне строки а-ля паскаль не нужны нафик. И стрлен это только пример. Есть функции перевода между системами, есть функции хеширования, пара математических функций, функции для работы с памятью..

q_q
Сравнение? Да хотябы тот же дельфовый маразм. Там все просто как карандаш, даже работает. Технология .NET работает по тому же принципу, что и дельфя. Эти технологии требуют минимум усилий для переобучения, чего не скажешь про МФЦ.

А собственные разработки.. Мне вобще противна концепция визуального программирования, поэтому какие согут быть разработки?

Что же касается встроенных классов.. Ну вот зачем они это сделали? У них CRT - полностью на ООП написано. С классами, инхеритацией и прочими вещами. Нет, надо было извратиться и сделать тоже самое, но по-другому.. :)


Дата: Сен 19, 2004 23:42:57

Я пытался делать серьёзные вещи на MFC, но дальше самого простого скелета программы дело не идёт. Например, есть там такой Code Wizard - можно заимствовать классы от классов MFC. Только Wizard этот работает на первом уровне иерархии. Пример:
CWnd -> CMyWnd -> CMyWndLevel2

CWnd -> CMyWnd: нет проблем.
CMyWnd -> CMyWndLevel2: CMyWnd нет в списке базовых классов.

Конечно, неплохо иметь часто используемые функции где-то отдельно и подключать по мере надобности. А лучше иметь класс, который хранит строку - саму строку, её длину и другие вещи: дело в деталях. Самое главное, что от этого класса можно наследовать и расширить код не замечая деталей строки. Это тот самый качественный кирпич, который так нужен. И таких классов можно наваять сколько угодно.

Пусть класс имеет 100 методов - ведь код генерируется по мере надобности! - если только 10 методов используется в коде - только эти методы войдут в бинарник. Это-ж золотая жила! Не раздутые программы!


Дата: Сен 20, 2004 04:58:34

n0p
Мне вобще противна концепция визуального программирования ...
При чем здесь визуальное программирование? По твоему использовать MFC и VCL можно только из IDE?

А собственные разработки ... какие согут быть разработки?
Imho если, указывая на изъяны в чужых разработках, ты не можешь сослаться на более качественное решения, пусть не собственное, то не стоит использовать эпитеты вроде "дерьмовая, тормозная, глючная, неудобная".

AsmGuru62
Я пытался делать серьёзные вещи на MFC ... Например, есть там такой Code Wizard ...
Я не собираюсь защищать/нападать/комментировать MFC, поэтому не рассказывай о своем опыте ее использования. Ибо в результате может выясниться твоя недостаточная усидчивость при ее освоении.

Пусть класс имеет 100 методов ... если только 10 методов используется в коде - только эти методы войдут в бинарник
А как быть с членами класса? Кто-то хочет всегда считать длину строки, а кто-то хранить?


Дата: Сен 20, 2004 07:03:15

Усидчивости у меня нету - это правда... неважно, оставим MFC...

Считать длину строки или нет - это детали. Можно сделать свой класс для строки, можно вообще все классы переписать с нуля. То чего сейчас нет - нет единства данных и кода в одной обёртке (нет класса, иначе говоря) - из которого можно сделать другой класс. Полиморфизма тоже нет, но всё это может быть реализовано в псевдокоде - достаточно просто.


Дата: Сен 21, 2004 10:14:08

q_q
На самом деле, АБСОЛЮТНО ВСЕ, что я видел из разработок в данном направлении, не стоит потраченного времени. И VCL, и .NET и прочие разработки. Это все делается для тех, кому лень думать. Последнее вообще расчитано на непонятно кого.

Кому интересно мое мнение насчет ООП в асме, могут его поискать в этой ветке.


Дата: Сен 21, 2004 11:07:34 · Поправил: leo

n0p
"Это все делается для тех, кому лень думать"
Не только. Еще и для тех кому важно решить конкретную задачу и не столь важно какие кирпичи для этого использовать.

<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.146