Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кто такие асм-программеры? Мозахисты или герои? 
:(
    Опции темы
SABROG
Дата 5.1.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Асм первый язык программирования который я освоил. Он помог мне понять архитектуру процессора, понять как он работает, что такое программа для него. Узнать что существуют инструкции, которые могут его "повесить". Показал мне что одна задача может решаться несколькими способами, популярный пример умножения на 2. Ассемблер дал мне свободу творчества, свободу выбора, я сам себе оптимизатор по скорости и по размеру. Ассемблер научил меня понимать чужой код, влиять на ход событий другой программы. В итоге это привело к написанию нескольких кряков к программам и тренеров к играм. Писались они тоже на ассемблере, посему размер тех же тренеров был по 4кб, в отличае от существующих на сегодняшний день по 200-500кб. Не понятно что они в них пихают, когда задача программы поменять пару байт по нескольким адресам.

А эта ужасная типизация ЯВУ, такое количество типов как С++ приводит в ужас, а собственные типы в виде классов с перегруженными операторами. Пока не изучишь весь класс - не поймешь что же дает перегруженный оператор, скажем сложения. Для этого пишут документации. В ассемблере есть только 2 типа данных - бит и байт. Остальное все производное от них. Изучая C++ я долго не мог понять почему он настолько сложнее ассемблера, до такой степени сложный, что я с ужасом представляю себе момент, когда мне придется изучать паттерны проектирования.

Как бы там нибыло, я думаю, никто не будет спорить, что прежде чем написать любую программу - для нее заготавливается каркас. Прописываются инклюды, пишется int main () {} и т.д. В ассемблере тоже есть каркасы, поэтому для того кто пишет на нем активно не занимает большого времени внедрить ту или иную заготовку.
Причем эти заготовки, как правило, уже оптимизированы по самое не хочу и компилятору уже не надо ничего самому оптимизировать, программа компилиться за считанные секунды или доли секунд. А внутри своих программ вы никогда не увидите спама в виде надписей "Borland C++ - Copyright 2002 Borland Corporation" или "Microsoft Visual C++ Runtime Library", вы можете контролировать каждый байт и это только ваша программа в которой не будет ничего лишнего, ничего того, что вы не используете.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
JackYF
Дата 5.1.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



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


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SABROG
Дата 5.1.2008, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Для каждой задачи свой инструмент. Я не асматик, асм для меня не религия.
Понятно, что можно воспользоваться одной единственной функцией WinApi, чтобы скачать файл, а можно написать клиента на сокетах, который реализует протокол http, а можно скачать готовый класс или библиотеку и т.д.

Асм должен быть стартовой площадкой для понимания работы программ, а не средством, которое будет использоваться повсеместно. Лично для моих программ мощностей асма вполне хватало, порой доходило до того, что тупо использовались подряд одни вызовы winapi и ничего большего. Или из последних программ, это бот информер для сети DirectConnect. Причем на асме была реализована только работа с сокетами, типа подключение, отключение, слушание порта, принятие данных, отправка данных. А к самой программе я подключил дллку скриптового движка Lua, и на скрипте луа реализовал уже сам протокол соединения. Задача бота была простая - в заданном интервале повторять новость в главный чат. Программа весила 8кб, dllка Lua около 500кб. Такой же эксперимент проводил с парсингом XML'я, программа 4кб, дллки libxml2 - 2 мегабайта. Ну и с COM баловался, экспорт данных в Word, Excel из проги на асме.

Т.е. я ни в коем случае не призываю все на нем писать, но действительно нет смысла стрелять из пушки по воробьям. Хоть я и понимаю, что мы настолько ленивые порой бываем, что нам хватает функциональности .bat или .js файлов.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
MAKCim
Дата 5.1.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(SABROG @  5.1.2008,  14:11 Найти цитируемый пост)
Лично для моих программ мощностей асма вполне хватало, порой доходило до того, что тупо использовались подряд одни вызовы winapi и ничего большего. 

вот это уже глупость, имхо
ассемблер должен использоваться в 2-ух случаях
1. оптимизация с использованием "недоступных" компилятору фишек типа SIMD
2. использование архитектурных особенностей конкретной машины
использование в остальных случаях, имхо, фанатизм



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
morfus
Дата 6.1.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 30.6.2007

Репутация: нет
Всего: 2



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

Цитата(MAKCim @  5.1.2008,  16:05 Найти цитируемый пост)
ассемблер должен использоваться в 2-ух случаях
1. оптимизация с использованием "недоступных" компилятору фишек типа SIMD
2. использование архитектурных особенностей конкретной машины
использование в остальных случаях, имхо, фанатизм

Т.е для того чтоб написать "Hello World" надо отказаться от уже известного АСМа и дополнительно начать изучать какой нибудь другой язык ?
(ИМХО маразм)

Это сообщение отредактировал(а) morfus - 6.1.2008, 19:11
PM MAIL WWW   Вверх
MAKCim
Дата 6.1.2008, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(morfus @  6.1.2008,  19:07 Найти цитируемый пост)
Т.е для того чтоб написать "Hello World" надо отказаться от уже известного АСМа и дополнительно начать изучать какой нибудь другой язык ?
(ИМХО маразм)

Код

print "Hello, World!"

а зачем это писать?  smile 
для написания сложных программ ассемблер не лучшее решение по всем парамерам кроме скорости работы конечной программы (и то не всегда)
я не имею в виду 2 вышеназванных пункта

Это сообщение отредактировал(а) MAKCim - 6.1.2008, 21:28


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
barin_Student
Дата 9.1.2008, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 488
Регистрация: 10.8.2007
Где: Казахстан , Алмат ы

Репутация: нет
Всего: 2



На ассемблере что полезное можно сделать?Какой приличный проект smile , максимально выгодно.. и т.п.? Если вам дали заказ на реализацию протокола SMPP в качестве клиента, на асемлере это можно решить? Если да то за скока лет 1 человек это сделает? На яве клиент SMPP с готовой библиотекой реализутеся за неделю со всеми тестингами и т.п.? 
Ассемблер - это как порно журнал, ускоряет , но не впечатляет..Не впечатляет , ограничением того что написанный код проекта будет как албанский язык написанный китайцем.. Потом кто с этим проектом разберется? Неспорю есть те вещи где без асм. не обойтись(практически), но категорически заявлять , что без него никуда - это ,как его там.. пора завязывать журналы смотреть, и старую порно касету смотреть ...)) Когда есть красивые девушки..хоть с ними и медленей, порой дороже, порой они по 2 часа спамят, но живой проект ,который не байты в регистрах с места на место ложит , а еще что то делает намного приятней. ИМХО smile 


--------------------
Нехорошо блин!!!
PM MAIL   Вверх
SABROG
Дата 9.1.2008, 09:51 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Во всем надом смотреть в корень. SMPP - протокол работащий на основе TCP/IP или X.25, с этими протоколами работается без проблем на ассемблере. Все остальное зависит от твоих наработок, если ты много пишешь, то у тебя остается много кода и множество готовых решений. Исходники обычно комментируют, если не будешь этого делать, то с твоим кодом на C++ или Java тоже мало кто быстро разберется. Oracle начинали писать на ассемблере. Серьезные проекты - MenuetOS, RadAsm. Кстати тот же компилятор fasm не назвать серьезным проектом язык не поворачивается, да написан на ассемблере для ассемблера, но чем он не серьезен ?

Кстати еще один факт почему на ЯВУ пишется легче - Open Source. Сейчас все у друг друга передирают, сначала решения передирали с unix'a. Теперь все просто пишут на C++ и другие передирают у них. На ассемблере такого не увидишь, т.к. людей желающих писать на ассемблере мало. Короче community у ЯВУ больше, и поддержка соотвественно больше. Вот только начинающие программисты того же Php или Java не понимают как работает их программа, не умеют работать с отладчиком, анализировать дампы, крэши.

Скажу на своем примере. Я знаю ассемблер, но сейчас не пишу на нем серьезных или не серьезных программ.
Какое-то время писал на Borland Builder C++. Сейчас переместился в сторону Qt. Я не зацикливаюсь на чем-то одном, я изучаю все что мне интересно, я также отдаю себе отчет в том, что в ассемблере для меня осталось очень много не познанного и не изученного. Если человек хочет углубляться и испытывать себя это его право, хочет всю жизнь посвятить ассемблеру - пожалуйста, он станет великим специалистом в своей области и узнает гораздо больше чем знает программист на Jave. Ведь не смотря на то что северный и южные полюса покорили уже не однократно, туда все еще идут и идут исследователи. Можно спросить их: "зачем ?", у каждого свой ответ на этот вопрос. Считать таких людей фанатами ? Они исследователи ! Кто-то изучает литературу в школе и этого ему достаточно, кто-то идет дальше и становится литератором. Знания формируют свое мировозрение, в каждой области есть что-то свое - ценное, чего нет в других областях.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
morfus
Дата 10.1.2008, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 30.6.2007

Репутация: нет
Всего: 2



Цитата(barin_Student @  9.1.2008,  07:20 Найти цитируемый пост)
На ассемблере что полезное можно сделать?Какой приличный проект, максимально выгодно.. и т.п.?

Тыщу раз уже писали, никто не говорит что выгоднее и быстрее писать всё на ASM но мелкие функции очень даже можно (и местами нужно)

Что касается меня лично так я вообще не только за деньги пишу, но и для себя (хобби моё такое программирование называется) а в этом случае можно смело плевать на трудности, сроки, деньги, и прочую чепуху...
PM MAIL WWW   Вверх
sgi1981
Дата 22.1.2008, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 7
Всего: 10



Пример программы на асме.
Реализация алгоритма перекодировки видео или аудио информации из одного формата в другой формат (кодек). Требуется по возможности максимальное быстродействие. Решений задачи тут бесчисленно.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1271 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.