|
|
| Посл.отвђт | Сообщен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 "Это все делается для тех, кому лень думать" Не только. Еще и для тех кому важно решить конкретную задачу и не столь важно какие кирпичи для этого использовать. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.146 |