RE: актуальность применения языка ассемблера в современном мире
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 18:09:30.376666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX Может и не зловонный. ура. мы явно на пути ко взаимопониманию :) quote:
ORIGINAL: kolPeeX Однако, ведь стравил же, да? Тролль, значит. К тому же, здесь нет ни одного фанатика ассемблера, отказывающегося и от того и от другого ты внимательно читал этот тред? судя по всему - нет. к слову, есть очень простое средство отделения в какой-либо области профессионалов от фанатиков - профессионал учитывает плюсы и минусы инструмента, и выбирает тот или иной компромисс; фанатик видит только плюсы более того, здесь не просто фанатики - здесь зашоренные фанатики, отказывающиеся видеть что-либо кроме своего носа. "высокопроизводительные вычисления"? вы ещё GAMESS на асме IA-32 перепишите, или CERNLib - вот где настоящие вычисления. такой ведь прирост производительности будет quote:
ORIGINAL: kolPeeX Ты же развел тему, не решающую ни одной проблемы, не призванную кому-то помочь. Тема ущербна, а ТС - тролль. Фу!! ошибаешься. DDD, эффективная кодогенерация из проблемно-ориентированных языков, верификация низкоуровневого софта - это bleeding edge современного computer science. ручное кодирование на ассемблере и отказ от эволюции методов в этой области - вот что действительно ущербно quote:
ORIGINAL: kolPeeX Вот и приходи с конкретной расчетной задачей, а не с троолльскими побуждениями. Тролль. map/reduce с прозрачной параллелизацией (эффективным использованием доступных ядер/процессоров). на haskell или erlang это десяток строк, и эффективность, достаточная для индексирующих машин google. вперёд, детка - бодро, смело (с) P.S. а то что я тролль я нигде и не скрывал, между прочим - посмотри мои первые комменты; так что Америки ты не открыл, извини
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 19:02:54.130000
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
quote:
ORIGINAL: kolPeeX Однако, ведь стравил же, да? Тролль, значит. К тому же, здесь нет ни одного фанатика ассемблера, отказывающегося и от того и от другого ты внимательно читал этот тред? судя по всему - нет. к слову, есть очень простое средство отделения в какой-либо области профессионалов от фанатиков - профессионал учитывает плюсы и минусы инструмента, и выбирает тот или иной компромисс; фанатик видит только плюсы более того, здесь не просто фанатики - здесь зашоренные фанатики, отказывающиеся видеть что-либо кроме своего носа. "высокопроизводительные вычисления"? вы ещё GAMESS на асме IA-32 перепишите, или CERNLib - вот где настоящие вычисления. такой ведь прирост производительности буде Никто не отказывается. Это ты отказываешься от асма совсем. Ты его не признаешь и пытаешься доказать его ущербность. quote:
quote:
ORIGINAL: kolPeeX Ты же развел тему, не решающую ни одной проблемы, не призванную кому-то помочь. Тема ущербна, а ТС - тролль. Фу!! ошибаешься. DDD, эффективная кодогенерация из проблемно-ориентированных языков, верификация низкоуровневого софта - это bleeding edge современного computer science. ручное кодирование на ассемблере и отказ от эволюции методов в этой области - вот что действительно ущербно Решение проблемы - одно. Насильное переведение - другое. Твоя тема не решает эту проблему и никакую другую. Жри полуфабрикаты, это же эволюция! quote:
quote:
ORIGINAL: kolPeeX Вот и приходи с конкретной расчетной задачей, а не с тролльскими побуждениями. Тролль. map/reduce с прозрачной параллелизацией (эффективным использованием доступных ядер/процессоров). на haskell или erlang это десяток строк, и эффективность, достаточная для индексирующих машин google. вперёд, детка - бодро, смело (с) Ну, давай. Покажи нам код. Мне интересно, чего же там на ерланге или хаскеле можно?
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 19:26:18.893333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX Никто не отказывается. Это ты отказываешься от асма совсем. Ты его не признаешь и пытаешься доказать его ущербность. тебя заело? как я могу отказаться от асма совсем? тем более - доказать его ущербность? как вообще архитектурно-ориентированный язык может быть ущербным? я чётко и ясно выразил свой тезис - сомнение в актуальности для разработки приложений на ассемблере IA-32/IA-64. а ущербными я называю методы фанатиков и их самих (и тебя тоже, да) quote:
ORIGINAL: kolPeeX Решение проблемы - одно. Насильное переведение - другое. Твоя тема не решает эту проблему и никакую другую. ты хочешь сказать, что ты сравнил оба подхода и пришёл к такому выводу? ну просто Ъксперт, я в восхищении…расскажи же нам о минусах подхода domain-driven design в низкоуровневом программировании! мы внемлем! quote:
ORIGINAL: kolPeeX Жри полуфабрикаты, это же эволюция! ты блаженный? наверное и в интернет при свечах выходишь, да? quote:
ORIGINAL: kolPeeX Ну, давай. Покажи нам код. Мне интересно, чего же там на ерланге или хаскеле можно? ты мне правда не веришь? :) лови (код не мой, при желании можешь погуглить прилежащую статью):
{-# RULES
"treeFold/treeMap" forall f b g t.
treeFold f b (treeMap g t) =
treeFold (\l x r -> f l (g x) r) b t
#-}
treeFold f b Empty = b
treeFold f b (Node l x r) =
f (treeFold f b l) x (treeFold f b r)
treeSum t = treeFold (\l x r -> l+x+r) 0 t
treeSum (treeIncr (treeDouble tree)[/align][/align]
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 20:06:18.393333
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: Denaturat ущербными я называю методы фанатиков и их самих (и тебя тоже, да) Я - фанатик ассемблера? Ха. Может так оно и есть. Но мне насрать на то, как ты меня воспринимаешь, и на то, что ты обо мне думаешь. (да, просто насрать) quote:
ты хочешь сказать, что ты сравнил оба подхода и пришёл к такому выводу? ну просто Ъксперт, я в восхищении… Не стоит сводить соверешенно разные мысли. quote:
расскажи же нам о минусах подхода domain-driven design в низкоуровневом программировании! мы внемлем! Да и вообще не знаю, что такое domain-driven design. По крайней мере, этого термина, конкретно. Да и не собираюсь ради этой дисскусии давиться этим малоизвестным отребьем. quote:
ты блаженный? наверное и в интернет при свечах выходишь, да? Жопу с пальцем сравниваешь. quote:
{-# RULES
"treeFold/treeMap" forall f b g t.
treeFold f b (treeMap g t) =
treeFold (\l x r -> f l (g x) r) b t
#-}
treeFold f b Empty = b
treeFold f b (Node l x r) =
f (treeFold f b l) x (treeFold f b r)
treeSum t = treeFold (\l x r -> l+x+r) 0 t
treeSum (treeIncr (treeDouble tree) Молодец. Может скинешь линк на статью (на втора кода в т.ч.)? (поиск не рулит)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 20:14:31.236666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX Да и вообще не знаю, что такое domain-driven design. По крайней мере, этого термина, конкретно. Да и не собираюсь ради этой дисскусии давиться этим малоизвестным отребьем. и после этих утверждений ты ещё со мной споришь? "я не фанатик, но на сколько-нибудь более прогрессивные методы чем те, что мне известны, я положил" - ты вообще вменяемый человек, а? кстати, если "известность" ты оцениваешь по этому форуму, то тебя ждёт много жестоких разочарований в жизни :) quote:
ORIGINAL: kolPeeX Молодец. Может скинешь линк на статью (на втора кода в т.ч.)? (поиск не рулит) на гугле забанили? лови: http://www.randomhacks.net/articles/2007/02/10/map-fusion-and-haskell-performance http://labs.google.com/papers/mapreduce.html там среди прочего объясняется, чем так хороша referencial transparency в контексте задачи
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-10 20:32:03.896666
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: Denaturat и после этих утверждений ты ещё со мной споришь? "я не фанатик, но на сколько-нибудь более прогрессивные методы чем те, что мне известны, я положил" - ты вообще вменяемый человек, а? кстати, если "известность" ты оцениваешь по этому форуму, то тебя ждёт много жестоких разочарований в жизни :) Да не вменяемый я человек. Чего тут думать? Ты так уверен в этом? quote:
на гугле забанили? лови: http://www.randomhacks.net/articles/2007/02/10/map-fusion-and-haskell-performance http://labs.google.com/papers/mapreduce.html Да, забанили. Спасибо, за ссылки. Почитаю на досуге… может быть.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-11 07:38:19.840000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
лично я прогаю на асме потому что мне это НРАВИЦА, ибо асм - самый симпатяжный язык. а все эти мастурбации вроде паскаля, лиспа и хаскелла меня БЕСЯТ ибо приходится приходится бороться с дибильным синтаксисом и обходить горы искуственных ограничений. надеюсь это до тебя допёрло? ибо весь этот топик - сплошной поток необоснованой агрессии с твоей стороны. и вообще, почитай мою книгу: http://redsh.narod.ru/files/help_c.zip
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-11 08:05:42.776666
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: redsh лично я прогаю на асме потому что мне это НРАВИЦА, ибо асм - самый симпатяжный язык. а все эти мастурбации вроде паскаля, лиспа и хаскелла меня БЕСЯТ ибо приходится приходится бороться с дибильным синтаксисом и обходить горы искуственных ограничений. надеюсь это до тебя допёрло? ибо весь этот топик - сплошной поток необоснованой агрессии с твоей стороны. и вообще, почитай мою книгу: http://redsh.narod.ru/files/help_c.zip Не надо быть таким категоричным.
Мораль сей басни такова: усилия на разработку должны быть соизмеримы с продолжительности жизни программного комплекса. Т.е. если нужно написать прогу, которая перечешит один раз все картинки в папке, переименовав их однотипно, то здесь даже си не нужен. Баш вам в руки. А еще: затраты на оптимизацию должны быть меньше выиграша от этой производительности, иначе это плохая оптимизация. Т.е. оптимизация участка на пару миллисекунд не имеет смысла, если ее добивались два месяца.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-11 11:10:29.183333
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: kolPeeX Мораль сей басни такова: усилия на разработку должны быть соизмеримы с продолжительности жизни программного комплекса. Усилия на разработку должны быть соизмеримы с продолжительности жизни программиста ;)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-12 11:07:34.270000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
kolPeeX, пойми, что иногда просто хочется сделать вещь хорошо, не взирая на экономическую целесообразность. если ты считаешь, что в разработке ПО самое главное - максимально сэкономить свои драгоценные силы, то мы с тобой никогда не найдём общей плоскости взаимопонимания. впрочем не найдёшь ты её и со своими заказчиками, если например, боевая ракета промажет мимо цели на км из-за того, что сэкономил час на оптимизации кода
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-12 13:14:13
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: redsh впрочем не найдёшь ты её и со своими заказчиками, если например, боевая ракета промажет мимо цели на км из-за того, что сэкономил час на оптимизации кода И почему вдруг программа ракеты должна сбиться из-за неоптимизированного кода? Ты бы писал ПО для ракет на ассемблере?
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-12 17:02:24.320000
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: redsh kolPeeX, пойми, что иногда просто хочется сделать вещь хорошо, не взирая на экономическую целесообразность. если ты считаешь, что в разработке ПО самое главное - максимально сэкономить свои драгоценные силы, то мы с тобой никогда не найдём общей плоскости взаимопонимания. впрочем не найдёшь ты её и со своими заказчиками, если например, боевая ракета промажет мимо цели на км из-за того, что сэкономил час на оптимизации кода По-твоему приведение while(1) foo(); в lbl:
call foo
jmp lbl - оптимизация? ХАХАХА)))) Оптимизировать ты можешь сугубо аппаратные фишки, используя финты ушами для какой-то определенной системы. Да ты никогда не выравняешь свой ассемблерный код так, как это делает компилятор, учитывая целевую архитектуру. В обычном коде это делает компилятор (gcc делает, а турбо паскаль не делает:)) Я, конечно, понимаю, что на Си нельзя делать многие вещи (например, работать с кэш и т.д.), но вот только тогда на помощь приходит inline-ассемблер. А если ты пишешь такой код, что без небольшой оптимизации он делает хер знает что и хер знает как, то ты - быдлокодер по определению.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-13 21:30:00.540000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX А если ты пишешь такой код, что без небольшой оптимизации он делает хер знает что и хер знает как, то ты - быдлокодер по определению. оптимизация не должна влиять на результат выполнения программы, в противном случае это баг компилятора. к сожалению, в том же GCC такие баги есть до сих пор
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-13 21:33:24.383333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX Мораль сей басни такова: усилия на разработку должны быть соизмеримы с продолжительности жизни программного комплекса. я бы привёл другую мораль - серебрянной пули не существует, каждой нише - свой инструмент. однако если в одной нише существует несколько подходящих инструментов, то необходимо провести анализ области решений вместо выбора по принципу "а мне нравится вот так, и я так и буду делать" quote:
ORIGINAL: kolPeeX А еще: затраты на оптимизацию должны быть меньше выиграша от этой производительности, иначе это плохая оптимизация. Т.е. оптимизация участка на пару миллисекунд не имеет смысла, если ее добивались два месяца. не всегда. зайди как-нибудь в Институт Вычислительной Математики РАН и посмотри чем они там занимаются
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-13 21:40:50.950000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: redsh лично я прогаю на асме потому что мне это НРАВИЦА, ибо асм - самый симпатяжный язык. а все эти мастурбации вроде паскаля, лиспа и хаскелла меня БЕСЯТ ибо приходится приходится бороться с дибильным синтаксисом и обходить горы искуственных ограничений. надеюсь это до тебя допёрло? ибо весь этот топик - сплошной поток необоснованой агрессии с твоей стороны. и вообще, почитай мою книгу: http://redsh.narod.ru/files/help_c.zip прикинь - в LISP синтаксиса вообще нет, там одни S-выражения; а в Haskell синтаксис (позаимствованый по большей части из Gopher и Miranda) максимально приближен к математической нотации. но видимо ты её просто не знаешь (ни нотации, ни математики) - что ж, тут я ничем не смогу помочь книга твоя насколько бестолкова, настолько и бессмысленна, мне откровенно жаль всех тех, кто её читал. ну а касательно агрессии - к сожалению, мне эмоции недоступны: даже ярость приходится имитировать ;) в общем, свободен
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 04:50:19.650000
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: Denaturat не всегда. зайди как-нибудь в Институт Вычислительной Математики РАН и посмотри чем они там занимаются Ты, наверное, хочешь сказать, что они там занимаются исключительно оптимизацией? Если да, то, наверняка, это и есть сама цель, т.е. оправданно. quote:
оптимизация не должна влиять на результат выполнения программы, в противном случае это баг компилятора. к сожалению, в том же GCC такие баги есть до сих пор Да ну? Странно, ни разу не встречал.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 06:28:18.360000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: Denaturat прикинь - в LISP синтаксиса вообще нет, там одни S-выражения; запись выражения это и есть синтаксис quote:
ORIGINAL: Denaturat а в Haskell синтаксис (позаимствованый по большей части из Gopher и Miranda) максимально приближен к математической нотации. но видимо ты её просто не знаешь (ни нотации, ни математики) - что ж, тут я ничем не смогу помочь и не хочу знать, ибо есть более полноценные способы абстрактного мышления. quote:
ORIGINAL: Denaturat книга твоя насколько бестолкова, настолько и бессмысленна, мне откровенно жаль всех тех, кто её читал. сделай лучше quote:
ORIGINAL: Denaturat в общем, свободен даже не надейся. ты бы ещё подошёл к ниндзя и начал заяснять, что махать мечом сейчас не модно ибо есть ядерные бомбы и т.д. думаю, он тебя тоже так просто не отпустит)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 15:06:22.143333
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
а кто вообще говорил о крутости? я любитель и не отрицаю этого. з.ы. а то что тебе смешно, мог бы и процитировать, я тоже люблю посмеяться)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 19:20:47.863333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: kolPeeX Ты, наверное, хочешь сказать, что они там занимаются исключительно оптимизацией? Если да, то, наверняка, это и есть сама цель, т.е. оправданно. ахха, типа того quote:
ORIGINAL: kolPeeX Да ну? Странно, ни разу не встречал. везучий :)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 19:35:16.430000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: redsh запись выражения это и есть синтаксис S-выражения - это способ записи AST; т.е. ты работаешь напрямую со внутренним представлением компилятора. поверх AST уже можно построить свой синтаксис по желанию, однако лисперы этого не любят quote:
ORIGINAL: redsh и не хочу знать, ибо есть более полноценные способы абстрактного мышления. например? наскальная живопись под воздействием псилоцибовых грибов? quote:
ORIGINAL: redsh сделай лучше не аргумент. ты в данной теме не первопроходец, и лучше чем, например, вот они: http://www.ozon.ru/context/detail/id/2355879/ ты не сделал. более того, ты сделал намного хуже. вопрос: зачем? quote:
ORIGINAL: redsh даже не надейся. ты бы ещё подошёл к ниндзя и начал заяснять, что махать мечом сейчас не модно ибо есть ядерные бомбы и т.д. думаю, он тебя тоже так просто не отпустит) ознакомься с историей Японии, особо обрати внимание на запрет огнестрельного оружия. а по существу - что, тебе ещё есть что сказать? ну так говори, почитаем
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 20:00:10.783333
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: redsh а кто вообще говорил о крутости? я любитель и не отрицаю этого. Любители пишут книжки и учат других, при этом сами учиться не желают. Куда катиться мир… quote:
ORIGINAL: redsh з.ы. а то что тебе смешно, мог бы и процитировать, я тоже люблю посмеяться) quote:
Бывает несколько подходов к программированию: например, математический подход, когда ты строго формулируешь задачу, разбиваешь её на подзадачи, составляешь алгоритм, бывает хакерский подход, когда ты знаешь что тебе надо от компа и просто записываешь это на нормальном языке программирования, ну и конечно, визуальный подход, когда всё за тебя делает среда программирования. Тебе самому не смешно? Математический подход - это сформулировать задачу и разбить её на подзадачи? Это подход к решению любой большой проблемы, называется, струтурирование или структурное программирование. А хакерский подход - это писать всё через goto, наверное, да? Вообще-то, если ты знаешь, что тебе надо, и просто записываешь это на языке программирования - это подход декларативных языков, к которым ни Си, ни Ассемблер не имеют никакого отношения. А визуальных подход - это когда ты содишься перед компом и втыкаешь, как среда за тебя программироует. Правильно я понимаю? Следующее предложение quote:
Существует множество языков программирования, но их можно разбить на группы, внутри которых различие языков не столь существенны. Первая группа - нормальные языки… Дальше предложение можно уже не читать. Деление на "хороших" и "плохих" - это привычка детей в детском саду. Да, и мы с тобой так и не закончили разговор C vs. Pascal, где ты всё пытался доказать, что Паскаль - гауно, но при этом я так и не услышал ни одного серьёзного аргумента (ну кроме аргумента, что Паскаль - гауно). quote:
Идея этих языков - взаимодействие тебя, человека и железного мозга твоего компьютера, то есть ты всего лишь разговариваешь со своим компом. Ааа! Он разговаривает! Это СкайНет, это СкайНет! Роботы пороботят мир! quote:
Си и Ассемблер - как русский и английский языки - они работают с одинаковыми понятиями и всё такое, но русский (или Си) - прост и понятен, а английский (или Ассемблер) - красив и логичен. Бедные иностранцы, как же они смогут оценить всю прелесть Си, если они не знают русского?! Вот поэтому и придумывают всякие вряжеские Джавы и Си-Шарпы, или ваще какие-нибудь Лиспы и Хаскелы… И главное, что Си - просто и понятен. Вот посмотришь на оператор % - и сразу интуитивно поймёшь, что это деление по модулю (конечно, а что же ещё может означать знак процента!), или оператор & - это взятие адреса (в то время, как логическое И нужно писать через два амперсанда - &&). Я уже не говорю о таком "очень понятном" коде, как этот: quote:
for(;P("\n").R-;P("\ ")) (с) Деймос или как этот: quote:
if (cmd[1] == RESET) // если принятая команда RESET {((void(*)(void))0)();} // что-то из черной магии (с) ithappens quote:
Глава 2. Как появились компы? Всегда люди не очень-то любили работать руками и поэтому решили заставлять всё и всех вокруг работать на себя потому что они были хитрые и ещё их было много. Издалека зашёл… Мне дальше продолжать цитировать? Там много "интересного" написано ;) Причём из содержания первой "теоретической" главы я понял, что чтобы выучить Си нужно сначала выучить как минимум Ассемблер. А для этого, в свою очередь, нужно написать пару тройку программ на чистых машинных кодах. Ну ну.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 20:16:27.430000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
AST-выражение - это бред вроде этого?
#<CLOSURE TEST (A B) (DECLARE (SYSTEM::IN-DEFUN TEST)) (BLOCK TEST (+ A B))>
даже если так, мне всё равно ненравица - даже банального xor'a нету ): а насчёт моей книги: она не для того, чтобы сделать из читателя гуру программирования. таких книг полно, но они рассчитаны на другую аудиторию. моей целью было заинтересовать тех, кто никогда не сталкивался с программированием или знаком с ним на уровне школьной программы. я старался всё максимально упрощать, но не упускать важных вещей и не вносить слишком грубых ошибок, хотя конечно, до Рудольфа Свореня мне далеко…
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 20:24:44.840000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: redsh AST-выражение - это бред вроде этого?
#<CLOSURE TEST (A B) (DECLARE (SYSTEM::IN-DEFUN TEST)) (BLOCK TEST (+ A B))>
http://en.wikipedia.org/wiki/Abstract_syntax_tree http://en.wikipedia.org/wiki/S-expression читать quote:
ORIGINAL: redsh даже если так, мне всё равно ненравица - даже банального xor'a нету ): эммм…где, пардон, XOR'а нет? quote:
ORIGINAL: redsh а насчёт моей книги: она не для того, чтобы сделать из читателя гуру программирования. таких книг полно, но они рассчитаны на другую аудиторию. моей целью было заинтересовать тех, кто никогда не сталкивался с программированием или знаком с ним на уровне школьной программы. я старался всё максимально упрощать, но не упускать важных вещей и не вносить слишком грубых ошибок, хотя конечно, до Рудольфа Свореня мне далеко… напиши книгу, которую сможет понять даже дурак - и только дурак станет её читать. серия "для чайников" и так срывает банк, да и активность этого форума (и популярность журнала) говорит о многом вообще тебя есть за что похвалить - работа во всяком случае проделана большая, и видно что намерения были хорошие; но вот результат получился…не очень. мягко выражаясь
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 20:52:14.303333
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: kreol учат других, при этом сами учиться не желают а оно всегда так - те кто учат, нифига на самом деле не знают, а тем кто знает нет дела до того, чтобы кого-то учить. но я никого не пытаюсь научить. научиться можно только самому. я только борюсь за идеологию. мне хотелось бы, чтобы качественно сделаная программа (в которой нет кода, который делает непонятно что, несвязаное с непосредственным назначением программы) ценилась и считалась произведением искусства. а программа, на 99% сосоящая из мусора считалась бы мусором. ибо разработчики железа проделали для нас огромную работу, создав компы, способные выполнять милиарды операций в секунду. мне просто обидно, что такая мощь расходуется на издержки языка, а не на полезное дело. з.ы. а то, что я не хочу учиться - полный бред, хотя в моём понимании учиться - набирать опыт, а не зубрить кучу бессмысленных формулировок и т.п.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 21:04:42.310000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: Denaturat вообще тебя есть за что похвалить - работа во всяком случае проделана большая, и видно что намерения были хорошие; но вот результат получился…не очень. мягко выражаясь а что ты хотел, во-первых, это - первая моя книга, так сказать, проба пера. а во-вторых, я же не пытаюсь её тиражировать или что-то в таком роде, она просто лежит на моей страничке в архиве. з.ы. а вообще, моя мечта - научиться писать как Рудольф Сворень, ибо ещё с детства люблю его книжки))
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 21:51:12.623333
|
|
|
il0dbg
Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
|
Denaturat Простой пример: Представь, что ты пишешь программу на Си, и у тебя есть маленькая функция, которая дергается много-много раз. Функция создает и удаляет в своем теле динамический двумерный массив небольшого размера. К области памяти, выделенной под массив, ты будешь обращаться через двойной указатель типа int**. И как ты думаешь, что будет более оптимально, все время дергать malloc/calloc/free или же просто выделять сей массив в стеке? А чтобы выделить такой массив в стеке, необходимо сделать ассемблерную вставку. Этот пример примитивен, но все же, он имеет место быть и на практике его можно использовать для оптимизации.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 22:20:33.823333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: il0dbg Denaturat Простой пример: Представь, что ты пишешь программу на Си, и у тебя есть маленькая функция, которая дергается много-много раз. Функция создает и удаляет в своем теле динамический двумерный массив небольшого размера. К области памяти, выделенной под массив, ты будешь обращаться через двойной указатель типа int**. И как ты думаешь, что будет более оптимально, все время дергать malloc/calloc/free или же просто выделять сей массив в стеке? А чтобы выделить такой массив в стеке, необходимо сделать ассемблерную вставку. Этот пример примитивен, но все же, он имеет место быть и на практике его можно использовать для оптимизации. fail во-первых, я могу выделить память в сегменте данных - локальные статические переменные в С никто не отменял; во-вторых кто мне мешает выделить память на куче? в третьих, я могу использовать статический memory pool для случая если обращение к куче слишком дорого по времени пример не то чтобы примитивен, он просто ничем не подтверждает твоей позиции. либо я чего-то не понял - тогда разверни мысль, желательно с примерами кода (можно псевдокод)
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 22:38:42.376666
|
|
|
il0dbg
Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
|
Denaturat Да, ты немного не понял. quote:
…локальные статические переменные в С никто не отменял … …статический memory pool… Речь идет о динамическом двумерном массиве quote:
…во-вторых кто мне мешает выделить память на куче?… А разве malloc/calloc - это не функции работы с кучей?
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 22:44:36.550000
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: redsh з.ы. а то, что я не хочу учиться - полный бред, хотя в моём понимании учиться - набирать опыт, а не зубрить кучу бессмысленных формулировок и т.п. quote:
ORIGINAL: redsh и не хочу знать, ибо есть более полноценные способы абстрактного мышления. Это уже не говоря о том, что тебе наплевать на всякие там Лиспы, Паскали и т.д., то есть ты их учить не хочешь. Нормальных же языка всего ж два - Си и Асм, так ты говорил? quote:
а оно всегда так - те кто учат, нифига на самом деле не знают, а тем кто знает нет дела до того, чтобы кого-то учить. Дейкстра ничего не знает, Кнут ничего не знает, Вирт ничего не знает, даже Страуструп ничего не знает. Так получается? quote:
ибо разработчики железа проделали для нас огромную работу, создав компы, способные выполнять милиарды операций в секунду. мне просто обидно, что такая мощь расходуется на издержки языка, а не на полезное дело. Это ты про какой язык сейчас говоришь? Если ты хочешь сказать, что издержки языка - это высокоуровневые конструкции, которые ты сам можешь соптимизировать, то помни два факта: 1) время работы программиста всегда стоит больше времни работы программы 2) для более-менее крупных систем очень сложно предсказать производительность, поэтому оптимизация проводиться не по каким-то мелким издержкам (пара операторов ассемблера), а по всей архитектуре (иерархия классов, разбиение на модули и так далее). И если говорить о произведении искусства, то скорее такая система будет считаться им, а не написанный на ассемблере калькулятор (кстати, я не рассказывал историю о том, как inline-функции замедлили код?). Если ты говоришь об издержках а-ля виртуальных машин, то здесь Михаэль Франц (создатель slim binaries, которые чуть не стали заменой байт-кода Джавы) очень хорошо сказал: "увеличение мощности компьютеров приводит к неконтролируемому росту размера программных средств, но иногда оно даёт новые, действительно важные возможности". (не точная фраза, но суть такая). В случае виртуальных машин это преимущество - полная переносимость кода. Вряд ли это можно назвать минусом для языка.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 22:47:04.753333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: il0dbg Да, ты немного не понял. Речь идет о динамическом двумерном массиве пример, давай пример. выигрыша от размещения массива на стеке я пока не вижу quote:
ORIGINAL: il0dbg А разве malloc/calloc - это не функции работы с кучей? они самые. касательно задачи - если я интенсивно использую некую перезаписываемую область памяти, то перевыделять я её могу в случае нехватки; во всех остальных - использовать повторно уже выделенную. и это будет корректно для любой области памяти, включая и кучу
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 23:01:00.323333
|
|
|
il0dbg
Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
|
void foo(void);
void foo(void)
{
_asm{
push ebx
push edx
push ecx
push eax
};
char **p;
int m,n;
int i, j;
scanf("%d %d",&m,&n);
printf("%d %d\n",m,n);
_asm{
mov eax,[m]
imul eax,4
sub esp,eax
mov eax,esp
mov edx,[n]
mov ebx,[m]
imul ebx,4
ka:
sub esp, edx
mov [eax],esp
add eax,4
sub ebx,4
cmp ebx,0
jne ka
mov ebx,[m]
imul ebx,4
sub eax,ebx
mov [p],eax
mov edx,0
mov eax, esp
mov ecx,4
div ecx
sub esp,edx
};
for(i=0;i<m;i++)
for(j=0;j<n;j++)
p[i][j]=(i+1)*(j+1);
printf("Matrix:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%3d ",p[i][j]);
putchar('\n');
};
_asm{
mov ebx,[m]
mov edx,[n]
imul edx,ebx
imul ebx,4
add ebx,edx
add esp,ebx
mov edx,0
mov eax,esp
mov ecx,4
div ecx
mov ebx, 4
sub ebx,edx
add esp,ebx
pop eax
pop ecx
pop edx
pop ebx
};
};
int main(int argc, char* argv[])
{
foo();
return 0;
}
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 23:10:41.936666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
какова цель оптимизации? уменьшение времени на выделение памяти? уменьшение времени обращения к памяти? задача, в чём заключается сама задача - ради чего автор этого кода отказался от переносимости?
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-14 23:23:06.800000
|
|
|
il0dbg
Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
|
Цель - уменьшение времени на выделение памяти Простая арифметика - посчитай, сколько здесь ассемблерных команд, и дизассемблируй malloc - уже, даже не считая внутренностей HeapAlloc, кода получается гораздо больше, нежели чем здесь,а если считать иерархию дальнейших вызовов - получится в разы больше.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-15 15:29:10.140000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
тебе наплевать на всякие там Лиспы, Паскали и т.д., то есть ты их учить не хочешь не спорю, учить я их не хочу и вообще, в гробу я их видал, но это не значит, что я их не знаю ибо лабы всё равно сдавать надо))
а вот пример из жизни одного моего знакомого: на АТС была стойка с большим количеством девайсов (уплотнение или что-то в таком роде, непомню уже точно), в общем, каждый из них имел собственные настройки, к тому же иногда эти девайсы сгорали, так что приходилось менять соответствующий блок на запасной и в ручную его конфигурировать. так что через некоторое время было принято решение сделать что-то вроде сервера, который бы отслеживал состояние каждого блока и автоматически загружал-сохранял их настройки. соответствующий интерфейс у этих девайсов уже был, так что оставалось только написать программу для сервера. нужно было обеспечить индикацию состояния и управление каждым блоком через последовательную шину. задачу решала специальная команда программистов, но так и не решила, хотя в их распоряжении было всё что нужно - хорошая IDE, Jtag отладка, всевозможные библиотеки, к тому же прога писалась не для какого-нибуть PIC12, а для гламурненькой ATmega128. и это не значит, что программисты были плохие, просто они привыкли, что за них всё делают библиотеки и среда разработки. они считали, что их время слишком дорого стоит, чтобы писать много кода и считали себя слишком серьёзными дядьками, чтобы увлекаться детскими играми вроде ассемблера:) а тут возникла творческая задача - реализовать нестандартный интерфейс, который не поддерживался ни одной библиотекой - в общем то несложный, реализуюзий только минимальный контроль ошибок и детектирование горячей замены устройства. но для программиста, мыслящего математическими терминами считается чем-то невероятным грамотно распределить код, рассчитать сколько наносекунд будет выполняться каждый из операторов, а без этого не удасться выдержать все тайминги и устройство будет работать несинхронно… что и на самом деле вышло. ведь математик легко напишет (-1)^n, по его мнению, возведение в степень происходит мгновенно, а почему программа не работает он так и не поймёт. короче, взялся за дело мой знакомый, хотя вообще то он не программист и кодит просто аццки, пренебрегая даже разбиением кода на строки (не знаю, понимает ли он что-либо в этой мешанине, либо его проги работают с первого раза:), не говоря уже о каком-то там структурировании, стиле и прочих высших материях. а про C++ он говорит, как про анекдот - посмотрите, что эти чудаки навыдумывали - наследование!)) но надо ли говорить, что требуемую прогу он написал за один вечер и она до сих пор отлично работает
ещё есть один крутой пример о вреде абстакций вообще - книга Сергея Лукьяненко "Сумеречный Дозор". в книге Костя Саушкин тоже пренебрегал так сказать, элементами реализации, абстрагируясь от них… закончилась его жизнь очень поучительно))
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-16 03:26:26.826666
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: redsh не спорю, учить я их не хочу и вообще, в гробу я их видал, но это не значит, что я их не знаю ибо лабы всё равно сдавать надо)) Ты писал лабы на Лиспе? Интересно, какого уровня были задания. quote:
ORIGINAL: redsh а вот пример из жизни одного моего знакомого: … Офигенный пример: одни чуваки не смогли решить задачу, пришёл другой чувак и всех порвал. Точную формулировку задачи дай, укажи ограничения на скорость и что там ещё есть, покажи то, как решали задачу первые чуваки и приведи код своего знакомого - вот тогда и посмотрим, кто, что и из-за чего не смог написать. А то, что какие-то там чуваки не смогли написать какую-то там программу потому, что чё-та там не понимают - это не пример, это чё-та где-то как-то, и главное, не понятно, как это всё связано с Ассемблером и высокоуровневыми языками.
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-16 08:06:06.810000
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: kreol Ты писал лабы на Лиспе? Интересно, какого уровня были задания. лабы действительно были несложными, вроде работы со множествами (поиск, пересечение, объединение, конкатенация и т.п.), но для того, чтобы оценить всю прелесть Лиспа, этого вполне достаточно. quote:
ORIGINAL: kreol Точную формулировку задачи дай, укажи ограничения на скорость и что там ещё есть, покажи то, как решали задачу первые чуваки и приведи код своего знакомого - вот тогда и посмотрим, кто, что и из-за чего не смог написать. формулировку я тебе уже сказал: куча девайсов соединены асинхронной последовательной шиной по схеме один master - много slave'вов, slave'ы уже готовы и снабжены интерфейсом (подробностей интрфейса я не знаю). нужно написать управляющую программу для master'а, требования - работа с шиной (контроль ошибок/коллизий, автоопределение горячей замены устройств), светодиодная индикация состояния выбраного устройства (выбор по команде с клавиатуры, либо автоматически в случае bad condition'а), звуковая сигнализация при отказе устройства. номер текущего устройства должен отображаться на АЛС340 в виде двух десятичных цифр. язык реализации - Си. ограничений никаких - программа писалась не для серийного устройства а всего лишь для "своей кухни" под устройство, производительность которого (16 MIPS, 4K RAM, 128K ROM, 4K EEPROM) во много раз превосходила потребности программы. как видишь, не нужно никаких особых знаний (системных вызовов, библиотечных функций), только программа в чистом виде, всё её "общение с внешним миром" ограничено портами и SFR'ами микроконтроллера. но требуется творческий подход, а у программистов, начитавшихся умных книжек и писавших "крутые проги" на Delphi он, видимо, окончательно завял. хотел бы тебе показать готовый сорц, но не могу, ибо во-первых, он не мой, а во-вторых у меня его уже нету(
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-16 10:47:41.336666
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
Вот еще пример нецелесообразного выбора языка - программа ExeScript. Стаб написан вроде на С и весит 40КБ, а на асме весил бы в 10 раз меньше и особых знаний асма для написания ненужно….. по моим наблюдениям шароварщики вообще не юзают асм, даже в микро целях, времени для написания на асме которых уходит не намного больше чем на других языках
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-16 17:20:53.626666
|
|
|
kreol
Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
|
quote:
ORIGINAL: redsh лабы действительно были несложными, вроде работы со множествами (поиск, пересечение, объединение, конкатенация и т.п.), но для того, чтобы оценить всю прелесть Лиспа, этого вполне достаточно. Почитай про макросы и символьное программирование - вот отличительная черта Лиспа. А работа со множествами - этого в любом функцирнальном языке придостаточно. Да и не в функциональных это тоже неплохо эмулируется. quote:
ORIGINAL: redsh формулировку я тебе уже сказал: … Ну я так и не увидел доказательств, что те чуваки не смогли написать программу, потому что слишком много писали на высокоуровневых языках. Писать на языках ВУ ещё не значит не знать, во что это транслируется, тем более, если они писали на Си. Я могу привести кучу приверов, как люди, хорошо писавшие даже на далёких от машины Java и C# садились и писали программы на Ассемблере, которые другие "низкоуровневые" программисты не могли написать. Это доказывает, что C# помогает сформировать низкоуровневое мышление?
|
|
|
RE: актуальность применения языка ассемблера в современном мире - 2008-11-16 19:55:35.936666
|
|
|
il0dbg
Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
|
quote:
Я могу привести кучу примеров, как люди, хорошо писавшие даже на далёких от машины Java и C# садились и писали программы на Ассемблере, которые другие "низкоуровневые" программисты не могли написать. Это доказывает, что C# помогает сформировать низкоуровневое мышление? Приводи. Только очень бы хотелось увидеть код.
|
|
|
|
|