Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
В АссемБЛЕре я разочаровался. Он абсолютно непереносим. Скоро 32-разрядная архитектура и вовсе сдохнет, тогда ассемблер другой понадобится. "С" более переносим, даже на другие процессоры, а системные проги (даже драйверы) можно писать на нём (я писал VXD под Win-95/98 на С, но не ++, надо только слинковать с маленьким модулем, написанном на Ассемблере). Если привые к С/С++, то можно всё что угодно. Раньше я писал на Паскале. Паскаль более дубовый язык, но и на нём многое можно. Например, имхо, Borlsnd C++ Builder очень портит дельфёвая реализация VCL.
Напрягает разнообразие языков. Когда приходится одну прогу (но разные её модули) писать на C--/С++, Паскале (Дельфи), Бейсике (VBA), SQL и Ассемблере... Ну, нафига, спрашивается?... Я думаю, что будущее за С-подобными языками, к которым я отношу и джаву. Ну, сама джава - это больше для апплетов и серверлетов...
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Ну, да! Конечно.
Когда-то я писал на AutoLISP под AutoCAD. Если кому-нибудь интересно, могу дать свою программу, которая реализована на AutoLISP, и она в среде AutoCAD реализует моделирование оптических систем. Можно расчитывать оптические системы любой сложности. Но больше она ориентирована на любительское телескопостроение.
Могу также поделиться вирусом, который я написал на АвтоЛИСПе
Ещё я когда-то написал собственный интерпретатор языка LISP, который называется TopoLISP. Там поддерживается управление топологией списков. И что интересно, хоть Лисп означально не имеет поддержки объектно-ориентированной парадигмы, но достаточно было написать небольшой модуль на самом Лиспе, как среда этого языка стала объектно-ориентированной!
На Лиспе хорошо писать системы искусственного интеллекта.
А ещё Лисп обладает удивительными свойствами. Например, можно написать интерпретатор Лиспа на самом Лиспе. Легко на нём пишутся автоаппликативные и авторепликативные программы, а так же программы с самомодифицирующимся кодом. Короче, Лисп - это идеальная среда для вирусов, червяков и прочей виртуальной живности. Да к тому же, с искусственным интеллектом!
Группа: Moderators
Сообщений: 204
Регистрация: 4-July 06
Пользователь №: 462
Имя: aler
Настроение: ^^
Заходит на форум с полного инета.
Цитата(drusha @ Jul 7 2006, 00:56)
В АссемБЛЕре я разочаровался. Он абсолютно непереносим. Скоро 32-разрядная архитектура и вовсе сдохнет, тогда ассемблер другой понадобится. "С" более переносим, даже на другие процессоры, а системные проги (даже драйверы) можно писать на нём (я писал VXD под Win-95/98 на С, но не ++, надо только слинковать с маленьким модулем, написанном на Ассемблере). Если привые к С/С++, то можно всё что угодно. Раньше я писал на Паскале. Паскаль более дубовый язык, но и на нём многое можно. Например, имхо, Borlsnd C++ Builder очень портит дельфёвая реализация VCL.
Напрягает разнообразие языков. Когда приходится одну прогу (но разные её модули) писать на C--/С++, Паскале (Дельфи), Бейсике (VBA), SQL и Ассемблере... Ну, нафига, спрашивается?... Я думаю, что будущее за С-подобными языками, к которым я отношу и джаву. Ну, сама джава - это больше для апплетов и серверлетов...
Yj lkz leib - dc` hfdyj - LISP? b njkmrj LISP!!!
C,C++,Java - нечитабельны (даже простую программу в исходных кодах долго придется разбирать) "Паскаль более дубовый язык, но и на нём многое можно" - не многое а все что угодно, как и на любом современном языке программирования, разница только в сложности реализации. "В Ассемблере я разочаровался. Он абсолютно непереносим." - переносимость нужна тем, кому лень писать программу для каждой платформы
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Лично мне - лень под каждую платформу. Тем более, которой пока ещё нет. А хочется чего-то вечного, чтоб сразу на века... Ну, как наши предки делали. Самолёты Ил-14, Ил-18 до сих пор кое-где летают... Ракета Р-7 (это первые две ступени, которые вывели первый Спутник, а в зависимости от третьей ступени она называлась "Восток", "Союз", "Молния"...) тоже летает до сих пор... Вот, хотелось бы чтобы и программы такими же были... Но, вот, что есть насчёт даты-времени в стандартной библиотеке (stdlib) ANSI-стандарта языка C (из С++/С# её функции также доступны), всё это будет правильно работать где-то до 2038 года. То есть, грядёт "проблема 2038 года", и тогда многие программы, написанные на С/С++, единомоментно сдохнут. Это касается 16- и 32-разрядных платформ Windows (подозреваю, что и под UNIX тоже, и даже MAC OS). Возможно, в 64-разрядных версиях эта проблема уже не стоит. Проживёт ли архитектура 16/32 разряда ещё 30 лет - я не знаю. Но многие предметы 30-летней давности (не только самолёты и ракеты, но иавтомобили, мотоциклы, холодильники, велосипеды, фотоаппараты, телевизоры, радиоприёмники, катушечные магнитовоны и проигрыватели виниловых дисков) не только работают, но и во многом превосходят современные аналоги.
Насчёт ассемблера. Кстати, есть (не очень, правда, распространены) лисп-машины, пролог-машины... Там такие языки как Лисп (конкретно, Зета-лисп), Пролог и т.п. поддерживаются на аппаратном уровне: по сути они являются для них ассемблерами.
Группа: Новички
Сообщений: 42
Регистрация: 10-May 06
Пользователь №: 391
Заходит на форум с гостевика или полного инета.
Я думаю если СССР прожил на десяток лет больше то наши программисты точно написали бы супер программы на века думаю что были бы у нас самые лучшее вирусы и трояны для взлома американских компов в белом доме
На счёт языков я не знаю не один кроме языка для написания web странниц и то плохо знаю
--------------------
Господа, я хочу сделать, одно заявление! Тише, господа, тише! Господа, внимание! Tiberian Sun-рулез! Спасибо за внимание, господа.
Группа: Moderators
Сообщений: 204
Регистрация: 4-July 06
Пользователь №: 462
Имя: aler
Настроение: ^^
Заходит на форум с полного инета.
Цитата(OXOTHuK-SM @ Jul 15 2006, 17:35)
Я думаю если СССР прожил на десяток лет больше то наши программисты точно написали бы супер программы на века думаю что были бы у нас самые лучшее вирусы и трояны для взлома американских компов в белом доме На счёт языков я не знаю не один кроме языка для написания web странниц и то плохо знаю
Первый вирус использующий защищенный режим(и при этом совместимый с Windows) для укрывательства от DOS-антивирусов (давно было, тогда еще было очень много DOS-программ) - российский:
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Цитата
Если же вирус будет запущен в Windows DOS- окне, то из-за отсутствия интерфейса VCPI вирус не сможет переключиться в защищенный режим.
А разве в DOS-окне поддержка VCPI отсутствует? У меня есть программа, активно использующая VCPI (от EMM386), и она нормально работала под Win-95/98 в DOS-окне. Правда, тогда в CONFIG.SYS (ешё до загрузки виндов) стоял вызов EMM386.EXE со специфическими параметрами, как они нудны именно для этой программы (с установками по умолчанию, а так же вообще без EMM386 эта программа вообще не работала, но при инсталляции проверяла CONFIG.SYS и по мере необходимости вставляла или заменяла там вызов EMM386.EXE с такими параметрами, которые надо именно ей). Правда, всё это относится к виндам 95-98-МЕ. На NT (2000, XP) я её не проверял, да и за фигом? Всё это дела давно минувших дней.
Группа: Moderators
Сообщений: 204
Регистрация: 4-July 06
Пользователь №: 462
Имя: aler
Настроение: ^^
Заходит на форум с полного инета.
Цитата(drusha @ Jul 16 2006, 16:58)
А разве в DOS-окне поддержка VCPI отсутствует?
1. Описание вируса писал не я - оно взято из VIRLIST'а DrWeb'а. 2. Не знаю, есть ли VCPI. 3. Кроме VCPI есть еще DPMI, который точно поддерживается, и программы обычно знают оба стандарта.
Сообщение отредактировал aler - Jul 16 2006, 17:21
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Вообще, здесь про вирусы писать - это оффтоп.
А так, чисто теоретически, все языки, обладающие тьюринг-полнотой - эквивалентны. По этому поводу есть "тезис Чёрча". То есть, любой алкогоритм, который можно выразить на одном тьюринг-полном языке, можно и на любом другом таком же.
Но. Наличие выразительных средств, ВСТРОЕННЫХ в этот язык - различается. Я, скажем, представляю себе, как написать на С подпрограмму, которая компилируется в эквивалентный машинный код, как получается на С++ при реализации метода некого класса. Но я не знаю, как можно заставить его (не прибегая к инлайн-ассемблеру, на котором можен всё) передать массив по значению или возвратить из функции значение типа массива (структуры, и т.п., но не по ссылке или указателю). И чтобы это было совместимо со всеми версиями компилятора (от Microsoft, Borland, Watcom, Symantec, IBM...) А на Паскале как написать функцию, которая берёт неопределённое количество параметров... Паскале-подобные функции на С/С++ писать можно - там есть модификатор PASCAL, STDCALL или WINAPI (весь API Windows сделан по-паскалевски, ибо Си к паскалевскому стилю приспособить можно, наоборот - нет). Но всё это - детали внутренней кухни, которая может позволять или не позволять реализовывать алкогоритмы эффективнее, быстрее, жрать меньше памяти... Но по сути - ничего принципиального. И вообще, в 64-битном режиме x86-е процессоры (что Intel, что AMD) ведут себя больше похоже на RISC-процессоры типа ALPHA, SUN и иже с ними... У них там не 8, а уже 16 РОНов, сегменты отсутствуют как класс, и т.п. Там уже обретает смысл использовать ключевое слово _register...
Группа: Advanced
Сообщений: 957
Регистрация: 21-August 05
Из: Страна Лимония
Пользователь №: 79
Заходит на форум с полного инета.
Хех, комрад drusha очевидно, забыл, что LISP - прежде всего, функциональный язык и он не столь гибок, как ASM. Нет, например инсталлер (кому-то смешно? на AltLinux инсталлер именно на ЛИСПЕ, исходники сам видел) удобнее будет на нем написать, а не на асме. Для "оконных приложений" он примерно так же геммороен, как и асм. ТЕперь о переносимости- да , под UNIX синтаксис асма отличается, например, приемники и передачи менеются местами и т.д. Однако гооврить о ПОЛНОЙ непереносимости нельзя.
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Ну, как я уже упоминал, существуют лисп-машины, в которых он поддерживается аппаратно (фактически являясь для них их родным асмом) Я не помню, как тот комп назывался (дело было в прошлом веке), но у нас в институте такой стоял. На нём был Зета-Лисп - очень продвинутая версия Лиспа. Там и ООП реализован, и графика, и оконный интерфейс... Функциональный - это "чистый" (True)-Лисп, который практически никому не интересен (кроме чисто учебных применений).
Что касается асмов с другим синтаксисом, то это не под Unix, а под другой проц. Unix с самого начала задуман как портабельная ось под разные процы. Мне когда-то приходилось писать на Асме под VAX, PDP (СМ-4)... Так, там было 15 РОНов, 3-адресная (кажись, так, если не путаю с асмом под IBM-360/370 или наш аналог EC-1061). То есть, там в команде, которая выполняет какую-то операцию, указывается не 2 адреса, а 3: откуда взять первый и второй операнды, и куда положить результат. Его можно класть на место первого или второго, или какого-то совершенно третьего регистра...
А ещё я видел (не писал, правда) такой обобщённый ассемблер под PICK. Он, типа, портабельный. Но я не вижу смысла называть его асмом. Там уже теряется однозначная связь между строчками исходного кода и машинным кодом.
Но, имхо, сейчас уже нет смысла изучать 32-битный асм, поскольку все современные процы уже поддерживают 64 разряда, и года через 3 все 32-битные версии виндов (и линюксов, наверное) уже сдохнут. Конечно, современный Пентиум (даже с 64-битным расширением) поддерживает и 16-битный код 286-го проца (и даже реальный режим 8086/8088), но кто-нибудь под это сейчас пишет? Тем более, на 16-битном асме...
Группа: Advanced
Сообщений: 957
Регистрация: 21-August 05
Из: Страна Лимония
Пользователь №: 79
Заходит на форум с полного инета.
Про последний абзац- Никакой ПОЛНОЦЕННОЙ 64-битизации (я тут сфамильярничаю немного) нет. Вот во времена прехода с 16 на 32 - да, добавились регистры, полностью изменилась "техника" программирования и т.д. А сейчас все что есть на руках - это обыкновенные 32x PE, к которым дописано несколько дополнительных секций. И "портировать" обычные EXE туда-обратно несложно. ПРосто вся мощь архитектуры 64-х битников не применяется. Нас просто дурят. (подробнее можно почитать у Криса Касепрски (мыщьХ, Нецуми)) А 16-битный асм отлично подходит для первоначального обучения и знакомства с языком.
Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.
Как раз, в 64-битной архитектуре (доступной в 64-битном режиме) отличий от 32-битной гораздо больше, чем при переходе с 16 на 32.
Кстати, с тех пор как появилася 32-битная архитектура 80386 (кажись, 1985-86 гг прошло примерно 10 лет прежде чемпоявилась возможность использовать её в полную мощь (пришли полностью 32-битные операционки типа Win-95, OS/2 Warp 3.0). Сами 386-е процы не дожили до этих дней, тогда уже 486-е заканчивались...
А до этого с 32-битным кодом была примерно такая же петрушка, как сейчас с 64-битным. Была такая примочка DOS4G, DPMI и т.п. В обычный DOS-овский EXEшемк вставлялись сегменты (или секции), которые надлежало грузить в 32-битные сегменты защищённого режима. В свамой программе был стартовый код, который переводит проц в звщищённый режим, делает там 32-битный сегмент, грузит туда надлежащие секции программы (как будто это просто данные), оформляет сегмент как исполняемый, и передаёт туда управление...
А формат PE - потому он так и называется Portable Executable, то есть, там с самого начала предусмотрена возможность переноса на другую архитектуру... Так что, вполне возможно, что и через 10 лет этот формат будет так и называться - PE.
Так что, да, я согласен, что СЕЙЧАС никакой полноценной поддержки нет. И она будет актуальна когда количество физической оперативки на среднем компе перевалит за 2 Гб (тем более, за 4Гб). Сейчас новые компы обычно комплектуют примерно одним гигом. Двумя - это уже довольно навороченные. А четырьмя - и более это только крутые серваки, хотя в той нише гораздо крепче позиции Sun (Solaris), Unix и т.п. А до двух гигов обычные винды ещё худо-бедно потянут...