|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 16, 2004 01:47:19 volodya Какой-то автор сказал, что самый лучший способ выучить язык начать писать на нём программы, с асм'ом этот способ вполне прокатил, посмотрим что получится с высокоуровневыми, сейчас пишу(пытаюсь) проги и на С/C++ и Delphi %) |
|
|
Дата: Окт 16, 2004 08:28:57 delphi не востребован. На этом берегу океана он просто никому не нужен. Я не говорю, что настолько крут, что готов обозреть все софтверное поле канады ;) Я просто говорю, что слышал достаточно и видел достаточно. ;) |
|
|
Дата: Окт 17, 2004 09:03:54 Хех, есть ляпсус, признаю. Однако, для меня та фраза не более чем убеждение. А оно, как известно, субъективно. На самом деле, сравнивать 2GL и 4, 5GL - это ... (сами догадаетесь). |
|
|
Дата: Окт 20, 2004 02:57:36 ElvisInterrupt 1. Классы и структуры(как их представить человеку имеющего только опыт низкого уровня) 2. Их реализация на низком уровне 3. Работа компиляторы когда он видит такие вещи можно также виртуалные функции! Можно я тоже отвечу? P.S. Я здесь, наверное, самый нетипичный. Я в детстве (80-е) прочитал несколько книг с обзором языков Бейсик, Це и Фортран, где писалось, что на Бейсике сложную программу не напишешь, на Це запутаешься и будешь долго отлаживать, а Фортран мёртв. Потом я в школе изучал Паскаль, а затем нашёл книги по асму. Потом появился компьютер и было много асма. А серьёзное программирование на ЯВУ появилось после. То есть путь снизу вверх. |
|
|
Дата: Окт 20, 2004 03:01:44 Володе Я на Делфи не писал (почему - отдельный рассказ), при этом считаю Паскаль идеальным языком для написания небольших программ. На Паскале я писал как раз маленькие программы. Если оставить в стороне коммерческую пригодность, то почему ты на Делфи так взъелся? (я помню, ты и раньше высказывался о нём плохо) |
|
|
Дата: Окт 20, 2004 04:42:07 Если оставить в стороне коммерческую пригодность, то почему ты на Делфи так взъелся? (я помню, ты и раньше высказывался о нём плохо) Дык Володя сказал же, что делфи нигде, кроме как в снг не котируеся. |
|
|
Дата: Окт 20, 2004 05:29:15 Совершенно верно. Программируй на дельфи, бог в помощь. Хоть на паскале, хоть на алголе, хоть на аде. Хоть вообще в маш. кодах. Но работы не найдешь и пойдешь класть булочки на конвеер. Потому что эти языки спросом не пользуются. Вот и все. Индустрия сама сделала выбор, какие языки использовать. Что кто бы по поводу С/С++/Perl/Java/PHP не говорил - это стандарт. C# - да. VB - хуже, но тоже ничего. Ассемблер для системщиков. PLC. Обо всем остальном и близко ничего не слышал. Что важнее, не только я ничего не слышал, все мои ничего не слышали. |
|
|
Дата: Окт 20, 2004 09:40:07 masquer > Дык Володя сказал же, что делфи нигде, кроме как в снг не котируеся. Замечательно! Видимо у маркетологов Borland крышу снесло раз они продвигают сей продукт ;-) , да ещё и так шустро развивают :-) наверно это потому что он исключительно СНГ и нужен ;-) |
|
|
Дата: Окт 20, 2004 18:25:05 Короче, мне надоели эти споры. Разумеется, я не представляю себе ситуацию в америке. Могу говорить лишь за часть канады. Пиши хоть ручкой на дисплее. |
|
|
Дата: Окт 20, 2004 18:46:08 Foamplast У меня именно так снизу в верх, то бишь интеловская совместимость. :))) Но блин, привык уже к ячейкам памяти, регистрам и т.д. Даже порты родные, и если встречу че- нить вроде "B8 08 21" испугаюсь меньше чем от класса. Так как я знаю что это! Блин помню теорию автоматов, как мы там на элементах шеффера и стрелках пирса и инверторах такие вещи с помощью К155 серии творили просто диву даешься. А тут какой то класс, а когда чела который уже год кодит спрашиваешь, а что это такое? он репу чешит и чето мычит, а когда меняешь "class" на "struct" и все работает у него волосы чуть ли не выпадают, а у меня ответы вопросы так и не исчерпываются! |
|
|
Дата: Окт 21, 2004 01:18:05 Володе Ну вот и разъяснил. Просто я думал, что тебе сам язык чем-то не нравится. Я придерживаюсь такого же мнения по поводу стандартов индустрии программирования. Только Бейсик не люблю, хотя за последние 15 лет он сильно изменился. Действительно мне кроме FASM/C++/VB/PHP/JavaScript ещё ничего реально не понадобилось. |
|
|
Дата: Окт 21, 2004 02:09:26 · Поправил: Foamplast ООП ООП (объектно-ориентированное программирование) - полезный метод планирования и структуризации программ. Описано с использованием несуществующего объектно-ориентированного ассемблера FASM++. В первой части основы даны весьма упрощённо. Знатоков ООП просьба это учитывать. Концепция такова: Есть объекты. Есть классы объектов. Класс и объект (также можно сказать экземпляр класса) соотносятся между собой как тип данных и переменная. Например, имея тип DWORD можно создать переменную dwSize этого типа, а имея класс MYCOOLCLASS можно создать объект AnObject этого типа. То есть объекты можно рассматривать как переменные. Они могут быть глобальные, локальные и всякие другие. Их, как и переменные, можно размещать в обычной памяти и в стеке.Классы состоят из членов. Членами могут быть данные и функции. Например, у класса "окно" могут быть членами-данными х, у, ширина и высота, а членами-функциями Показать() и Спрятать(). Классы - это на самом деле структуры, состоящие из членов-данных. Предположим, у нас есть следующий класс: класс ОКНО{
; члены-данные
hwnd rd 1
x rd 1
y rd 1
ширина rd 1
высота rd 1
; члены-функции
Создать()
{
Push 0
Call [GetModuleHandle]
Push 0
Push Eax
Push 0
Push 0
Push 0
Push 0
Push 0
Push 0
Push WS_VISIBLE
Push 0
Push szWindowClassName
Call [CreateWindow]
Mov [hwnd], Eax
}
Показать()
{
Push 1
Push [hwnd]
Call [ShowWindow]
}
Спрятать()
{
Push 0
Push [hwnd]
Call [ShowWindow]
}
}
Что произойдёт, если мы где-то в программе напишем следущее: section .code ; ... AWindow.Показать() ; ... section .data szWindowClassName db "EDIT", 0 section .bss AWindow ОКНО А вот что: следом за строкой szWindowClassName, сразу после нуля, будут зарезервированы 5 двойных слов (под hwnd, х, у, ширину и высоту, соответственно). Также будет определена метка AWindow, значением которой будет являться адрес первого из двойных слов (в данном случае - hwnd). Также будут определены метки ОКНО.Создать, ОКНО.Показать и ОКНО.Спрятать, которые будут указывать на начало кода функций ОКНО.Создать(), ОКНО.Показать() и ОКНО.Спрятать(),соответственно. Строка AWindow.Показать() в отладчике превратится в Mov Ecx, AWindow Call ОКНО.Показать То есть классы - это структуры, которые состоят из данных и функций. При создании экземпляра класса (объекта) создаётся структура, состоящая из членов-данных. Члены-функции ассемблируются один раз и являются общими для всех экземпляров. При вызове метода класса в регистр Есх помещается смещение данных объекта, чтобы функция-член знала, с какими данными работать. В нашем примере функция ОКНО.Показать ассемблируется в ОКНО.Показать: Push 1 Push [Ecx + ОКНО.hwnd] Call [ShowWindow] Ret Продолжение следует, т.к. меня выгоняют из-за компьютера (вроде бы на один час...) |
|
|
Дата: Ноя 4, 2004 03:38:54 Блин, этот топик, что, вообще не читают? Я тогда дальше писать не буду. |
|
|
Дата: Ноя 4, 2004 04:34:17 Foamplast Я вот читаю ;-) Т.к. для меня ООП тоже чуждый и непонятный элемент/метод программирования. Может тебе статью написать, типа "Введение в ООП" c ещё более подробным изложением.. |
|
|
Дата: Ноя 4, 2004 05:41:08 Foamplast основы даны весьма упрощённо ... вообще не читают? Я тогда дальше писать не буду Например, я жду, когда дойдешь до наследования и виртуальных функций? Asterix Может тебе статью написать Imho в эфире обсуждать не удобно. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049 |