Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: актуальность применения языка ассемблера в современном мире

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> RE: актуальность применения языка ассемблера в современном мире
Имя
Сообщение << Старые топики   Новые топики >>
RE: актуальность применения языка ассемблера в современном мире - 2009-08-03 22:41:33.090000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: xxxGradxxx

Что такое ситнтаксис? Это грамматика и она сущевствует для каждого языка. К этой граматике строится PDA (это часть компилера), который проверяет количество открывающихся и закрывающихся скобок, правельность выражения и т.д.


синтаксический анализатор занимается превращением текста, порождённого некоторой грамматикой, в некоторое промежуточное представление - в массе своей в AST. синтаксис лиспа и есть AST, и данного преобразования не требует (что и делает возможными богатые возможности CL в смысле метапрограммирования). лисп - это язык, у которого IR показан наружу; синтаксис же к нему можно прикрутить какой душе угодно

quote:

ORIGINAL: xxxGradxxx

Если компилятор делает не машинный код (ассемблер код), расскажи мне, что он тогда делает? как твою программу понимает процессор? Как все это работает?


компилятор (в общем случае) занимается трансляцией высокоуровневого языка в низкоуровневый. в случае C# мы имеем трансляцию исходников C# в .Net IR, генерацию байткода, и JIT-компиляцию в машинные коды в момент выполнения. до JIT-компиляции машинных кодов у нас нет. если на твоём компьютере не будет развёрнут .Net CLR, процессор "не поймёт" твою программу. и "работать" это не будет

quote:

ORIGINAL: xxxGradxxx

Я не преплел, вопрос был "актуальность применения языка ассемблера в современном мире". Крэкеры у нас уже прошлое?


во-первых, реверс-инжениринг сколько-нибудь сложной системы практически не имеет смысла - за пределами слома защиты от дурака он не работает. во-вторых - дизассемблирование, крякинг, и прочий детский сад я не обсуждаю; выше по треду я уже указывал, что вопрос стоит о разработке

quote:

ORIGINAL: xxxGradxxx

"расчёта на регистровой машине" - а на каких машинах мы работаем? Здесь ты вообще тупонул.


на гибридных вообще-то, но не в этом суть; большинство современных VM -  стековые, и неспроста. предметная же область в большинстве случаев чертовски плохо ложится на регистровые вычисления. именно из-за этого люди бьются и изобретают всякие FORTRAN'ы и Algol'ы - чем дальше ты уходишь от регистровой машины, тем меньше сил тебе приходится тратить на решение задачи распределения регистров (тем более на такой убогой архитектуре, как x86), и тем больше сил ты можешь бросить на решение своих задач

quote:

ORIGINAL: xxxGradxxx

"предметной областью и областью решений сформулировать" - ты о чем? переведи эти определения на английский


предметная область - domain; область решений - ну, пусть будет language features, раз уж мы о языках

quote:

ORIGINAL: xxxGradxxx

Ты когда-нибудь строил процессор?


переход на личности в техническом разговоре - признак чертовски дурного тона. я работаю с FPGA, если тебе от этого станет легче; у меня есть некоторый опыт проектирования HW/SW систем
Post #: 241
RE: актуальность применения языка ассемблера в современном мире - 2009-08-03 23:05:11.396666   
VaZoNeZ

Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
Тема а-ля "Я самый лучший! Я самый длинношеий!"
ТСу не хватает общения в реале с представительницами женского пола, вот он и комплексы свои сгружает на всех…
Думаешь заучил пару терминов и ты уже "жопой ежиков давил" ?
Post #: 242
RE: актуальность применения языка ассемблера в современном мире - 2009-08-03 23:44:32.450000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
я вообще-то стараюсь придерживаться аргументированного стиля дискуссии. есть что сказать по существу - говори; нет - лучше помолчи, умней ты себя уж точно не выставишь

к слову сказать, спермотоксикоз - пожалуй, самый популярный диагноз по юзерпику на этом ресурсе; должно ли это удивлять? увы, я не силён в психоанализе


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

что ж, прекрасный пол оценит - у нас тут герой, победитель дракона! браво! браво! неаргументированно оскорбить собеседника - деяние, достойное настоящего мужчины. снимаю шляпу
Post #: 243
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 00:31:49.526666   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
quote:


синтаксический анализатор занимается превращением текста, порождённого некоторой грамматикой, в некоторое промежуточное представление - в массе своей в AST.

Я тебе честно скажу, lisp я вообще не знаю, но я изучал компилеры. Синтаксический анализатор, как мне кажется ты имеешь ввиду Push-down Automat, не занимается "превращением текста, порожденного некоторой грамматикой", а проверяет, подходит ли текст к грамматике языка. Все формальные языки имеют грамматику (эта грамматика называется context-free grammar)
quote:


лисп - это язык, у которого IR показан наружу; синтаксис же к нему можно прикрутить какой душе угодно

Какой душе угодно и отрицать, что его там нет - это совсем разные вещи, не правда ли?

quote:


компилятор (в общем случае) занимается трансляцией высокоуровневого языка в низкоуровневый.

компилятор (в общем случае) занимается проверкой синтаксиса и семантики. Затем он создает машинный код.
Случай с с# это скорее всего единственный случай. Хотя нет, в Java тоже используют эту технологию.
Ты наверное догадываешься для чего это зделано?

quote:


во-первых, реверс-инжениринг сколько-нибудь сложной системы практически не имеет смысла - за пределами слома защиты от дурака он не работает. во-вторых - дизассемблирование, крякинг, и прочий детский сад я не обсуждаю; выше по треду я уже указывал, что вопрос стоит о разработке


хорошо, bios программируют на asm.
вообщем выше я тоже писал, где он используется.

quote:


на гибридных вообще-то, но не в этом суть; большинство современных VM - стековые, и неспроста.

скинь ссылочку какую-нить, а то чувствую меня хотят наебать. Еще скажи что они конвеерные. Ты предстовляешь себе работу со стеком. Это LIFO принцип?

quote:


предметная область - domain; область решений - ну, пусть будет language features, раз уж мы о языках

ты меня еще больше запутал!

quote:


переход на личности в техническом разговоре - признак чертовски дурного тона. я работаю с FPGA, если тебе от этого станет легче; у меня есть некоторый опыт проектирования HW/SW систем


О коллега, а я вот только закончил собирать процессор на VHDL. представляешь?
Post #: 244
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 02:19:25.673333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: xxxGradxxx

Я тебе честно скажу, lisp я вообще не знаю, но я изучал компилеры. Синтаксический анализатор, как мне кажется ты имеешь ввиду Push-down Automat, не занимается "превращением текста, порожденного некоторой грамматикой", а проверяет, подходит ли текст к грамматике языка. Все формальные языки имеют грамматику (эта грамматика называется context-free grammar)


плохо изучал. не изучил. General Top-Down парсер - не единственный способ парсить CF-грамматику, а PDA - далеко не единственная реализация такого подхода; посмотри хотя бы Definite Clause Grammars из Prolog'а, чтобы убедиться в том, что твои представления несколько ограничены

что касается генерации, то парсер - не единственная часть синтаксического анализатора. ежели ты считаешь, что генерация AST - лишний этап, то скажи - каким образом ты будешь строить кодогенератор? оперируя текстом, как это сделано в интерпретаторе Tcl? так это исключение, второй такой язык ещё поискать (и ценой ему - жуткие тормоза)

дальше. формальные языки только по одной иерархии (Хомского) могут иметь 5 разных видов грамматик - от свободной грамматики до грамматики конечных состояний, CF - всего лишь один вид из этих пяти; впрочем, существуют и другие классификации. ты очень сильно плаваешь в теме, не надо спорить, лучше книжки почитай. могу порекомендовать парочку хороших

если вдруг вышесказанное тебя не убедило - вперёд, покажи мне EBNF для C++

quote:

ORIGINAL: xxxGradxxx

Какой душе угодно и отрицать, что его там нет - это совсем разные вещи, не правда ли?


нет. попробуй средствами C++ изменить его синтаксис, не нарушив систему типов. в лиспе синтаксиса нет, поверх IR ты строишь всё что хочешь - в языках с фиксированным синтаксисом у тебя этого просто не получится сделать

quote:

ORIGINAL: xxxGradxxx

компилятор (в общем случае) занимается проверкой синтаксиса и семантики. Затем он создает машинный код.


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

quote:

ORIGINAL: xxxGradxxx

Случай с с# это скорее всего единственный случай. Хотя нет, в Java тоже используют эту технологию.


а ещё в Scala, Groovy, Perl, Python, Ruby, CL, Erlang, F#, Rebol и практически любой современной реализации языков программирования. любой динамический язык, или язык, имеющий развитые возможности рефлексии, будет использовать эту технологию

quote:

ORIGINAL: xxxGradxxx

Ты наверное догадываешься для чего это зделано?


да. а ты - нет

quote:

ORIGINAL: xxxGradxxx

хорошо, bios программируют на asm.
вообщем выше я тоже писал, где он используется.


ок, BIOS программируют на ассемблере. система достаточно проста, чтобы не прострелить себе ногу

quote:

ORIGINAL: xxxGradxxx

скинь ссылочку какую-нить, а то чувствую меня хотят наебать. Еще скажи что они конвеерные. Ты предстовляешь себе работу со стеком. Это LIFO принцип?


о! появился интерес к самообразованию :) это же прекрасно. ссылочку? пожалуйста:

http://en.wikipedia.org/wiki/Java_Virtual_Machine: This language conceptually represents the instruction set of a stack-oriented, capability architecture

детальней:
http://www.artima.com/insidejvm/ed2/jvm2.html
http://www.xs4all.nl/~mpdeboer/scriptie/node5.html

http://en.wikipedia.org/wiki/Common_Intermediate_Language: CIL is an object-oriented assembly language, and is entirely stack-based. It is executed by a virtual machine

детальней:
http://msdn.microsoft.com/en-us/library/ddk909ch(VS.71).aspx

и - да, стек это именно LIFO. описание разницы между стековыми, регистровыми и гибридными машинами нужно? если уж разбирать вопрос нормально, то ноги у всех этих VM растут из Forth-машин; крайне рекомендую сравнить Forth с ассемблером

quote:

ORIGINAL: xxxGradxxx

ты меня еще больше запутал!


ок. попробую упростить. предметная область - это задача, которую надо решить. область решений - те инструменты, которые есть в твоём распоряжении для решения задачи. если рассматривать, например, задачу имитационного моделирования колебания струны на языке IA-32, то предметная область - теория дифференциальных уравнений в частных производных, а область решений - набор регистров и опкодов, которыми ты можешь оперировать. так понятней?

quote:

ORIGINAL: xxxGradxxx

О коллега, а я вот только закончил собирать процессор на VHDL. представляешь?


вполне. надеюсь, что в этой области ты подкован хоть чуть-чуть лучше, чем в теории компиляторов
Post #: 245
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 11:21:07.063333   
VaZoNeZ

Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
quote:

ORIGINAL: Denaturat

я вообще-то стараюсь придерживаться аргументированного стиля дискуссии. есть что сказать по существу - говори; нет - лучше помолчи, умней ты себя уж точно не выставишь

к слову сказать, спермотоксикоз - пожалуй, самый популярный диагноз по юзерпику на этом ресурсе; должно ли это удивлять? увы, я не силён в психоанализе


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

что ж, прекрасный пол оценит - у нас тут герой, победитель дракона! браво! браво! неаргументированно оскорбить собеседника - деяние, достойное настоящего мужчины. снимаю шляпу

Ы)) что-то напоминает, только не могу вспомнить что именно)))
В общем, верь что ты лучший))

Post #: 246
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 13:07:07.963333   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
quote:


плохо изучал. не изучил. General Top-Down парсер - не единственный способ парсить CF-грамматику, а PDA - далеко не единственная реализация такого подхода; посмотри хотя бы Definite Clause Grammars из Prolog'а, чтобы убедиться в том, что твои представления несколько ограничены

Дорогой товарищь, конечно не единственный, второй способ - это Turing машина. Я тебе об одном, ты мне о другом.
Ты согласен со мной, что LISP формальный язык? Согласен ли ты со мной, что все языки программирования - это языки Typ2 в хомской иерархии? Если ты с этим согласен, тогда знай, что для для любого Typ2 языка сущевствует Typ2 и Typ1 и Typ0 грамматика, по которой строится Push down Automat  и Turing машина.
Сейчас дальше посмотрим, на сколько ограничены мои и насколько твои представления.
quote:


формальные языки только по одной иерархии (Хомского) могут иметь 5 разных видов грамматик - от свободной грамматики до грамматики конечных состояний, CF - всего лишь один вид из этих пяти; впрочем, существуют и другие классификации. ты очень сильно плаваешь в теме, не надо спорить, лучше книжки почитай. могу порекомендовать парочку хороших

В иерархии Хомского 4 типа языков. Откуда ты взял пятый? ааа, ты наверное о DCF и NDCF, так знай, что они лежат в одном классе CF.
"впрочем, существуют и другие классификации" о чем здесь речь?
 
quote:


если вдруг вышесказанное тебя не убедило - вперёд, покажи мне EBNF для C++

Все писать - это очень долго и муторно, я покажу тебе проверку выражения на синтаксис.
G=({S,A,B},{0,1},S,R)
R={
S->(S)|S+S|S*S|A|B
A->0A|0B|0
B->1B|1A|1
}
quote:


нет. попробуй средствами C++ изменить его синтаксис, не нарушив систему типов. в лиспе синтаксиса нет, поверх IR ты строишь всё что хочешь - в языках с фиксированным синтаксисом у тебя этого просто не получится сделать

смотри выше.
quote:


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

Давай разбиремся о моих представлениях здесь.
Сущевствует Сигнатура, в которой прописываются множества и операции на множества.
Сигнатуру имплементирует алгебра (часть из них, языки программирования) которых несчетное колечиство.
Если в сигнатуру добавить уравнинения, то получается спецификация. Не все Алгебры входя в спецификацию, а только та часть, которая выполняет некоторые условия, одно из них: Алгебра должна выполнять уровнения спецификации.
Еще сущевствует такое определение,как инициальная алгебра. Это та алгебра, с которой существует только один хомоморфизм во все алгебры спецификации. Инициальные алгебры (языки программирования) между собой изоморфы, значит сущевствут биективная функция (запомни, этонам еще пригодится)между ними.
Теперь от теории к практике.
Вчера ты сказал, что компилер переводит в язык низкого уровня.Это верно. Но как он это делает? Ты запомнил, что сущевствует биективная функция между ЯП? так вот, с помощью этой функции он это и делает. Что такое низкоуровневый язык - это язык, на котором ты пишешь сразу в байт коде ( только не говори, а как же mov,addб etc. Это зделанно для удобства, что бы не запоминать опецрационный код, длинною до 32 бит). Поэтому я и назваю конечную фазу компеляции ассемблированием(переводом в машинный код).
quote:


ок, BIOS программируют на ассемблере. система достаточно проста, чтобы не прострелить себе ногу

Ну так теперь зделай вывод в слух, где применяется ассмблер?
Post #: 247
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 15:36:21.973333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: xxxGradxxx
Еще сущевствует такое определение,как инициальная алгебра. Это та алгебра, с которой существует только один хомоморфизм во все алгебры спецификации. Инициальные алгебры (языки программирования) между собой изоморфы, значит сущевствут биективная функция (запомни, этонам еще пригодится)между ними.
Теперь от теории к практике.
Вчера ты сказал, что компилер переводит в язык низкого уровня.Это верно. Но как он это делает? Ты запомнил, что сущевствует биективная функция между ЯП? так вот, с помощью этой функции он это и делает.

Господа теоретики, вам самим-то не смешно заявлять такое? Вы на практике попробуйте найти эту биекцию. Обещаю вам года безуспешных поисков. Не надо переходить от теории к практике без большой надобности. В теории может быть сколько угодно изоморфизмов, а в практике их нету. Ну нету. Знаешь почему? Теория всегда исходит от предположения типа: допустим, что ситуация достаточно благоприятна. На практике такого не бывает, на практике приходится исходить из допущения, что как только мы выключим свет, то мало того, что изо всех щелей полезут тараканы, так ещё кто-нибудь вломится в окно.
Короче (долой лирику!), тебе надо на примерах объяснять отсутствие изоморфизма, или так поверишь? Косвенным указанием на отсутствие такого изоморфизма, предлагаю считать название наиболее популярного дизассемблера IDA: Interactive DisAssembler. Второе указание – это это само понятие рефакторинга кода. Прямые же примеры доказывающие отсутствие какого-бы ни было изо- гомо- и всех прочих морфизмов я могу привести, но мне кажется, тебе было бы интересно найти их самостоятельно.

ps. А вообще, заканчивайте письками меряться, тут уже даже без вникания в слова понятно у кого длиннее.
Post #: 248
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 16:10:20.456666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Гы. Просмотрел ветку. Столько букф, а я не высказывал своего мнения по этому животрепещущему вопросу… Как же это так могло случиться.

Итак. Ассемблер – это круто. Современные компиляторы жгут в оптимизации, но, хоть их и непросто обогнать по скорости, но можно, а если речь идёт об оптимизации по размеру кода, то однозначно ручное ассемблерование наиболее эффективно. Ассемблер – это прикольно. Мне очень нравится писать на ассемблере. Стоит элементарно вспомнить как я недели две создавал дискетку, которая имела ёмкость 1960Kb вместо 1440 и при этом была загрузочной. Ммм… Весь мозг переломал, изучил досконально контроллер FDD, нашёл груду оригинальных решений проблем катастрофической нехватки места под хранение кода (а попробуй впихни драйвер FDD в 512 байт!), заодно линёвый драйвер написал, который с этим форматом работал. Веселуха! Или как я, желая написать собственную ось (каюсь, было), долго-долго изобретал в чём же будет уникальность этой оси, и в конечном итоге придумал, что ось должна быть *nix-like и минимального размера (впихиватся в 2Mbit'а). Ух ты! 16-битное программирование в защищённом режиме. Никогда не думал что это может хоть зачем-то пригодиться. И какая ностальгия – регистр ax… Я им последний раз в досе пользовался. А срыв стека, переполнение буфера, шеллкоды, полиморфный код? Ну куда тут без ассемблера? А гонка за бинарником hello-world минимального размера?
Но… Есть грядка паршивых "но", которые портят всю малину. Они наверное всем известны, но я боюсь отдельные участники обсуждения не поймут меня, если я их не перечислю, поэтому перечисляю:
- Ассемблер – это непереносимо. С одного процессора на другой. Даже если процессоры и одинаковы практически по набору команд, всё не так радужно как хотелось бы. Даже если забыть про совершенно различные техники оптимизации кода для i486 и i586. Даже так, офигенно соптимизированную программу при переносе придётся оптимизировать по новой. Вручную. Неделями. В то время как компилятор сделает это автоматически и на десяток порядков быстрее.
- Ассемблер – это долго и несистемно. Да, если иметь навык можно писать достаточно быстро и даже довольно-таки большие программы. Но, особенно второе – большие программы, потребует отказа от ряда прелестей ассемблера, типа передачи аргументов в функцию в первом попавшемся месте – регистре общего назначения, в регистре FPU/MMX, или в регистре SSE, или в потоке кода, или, на крайняк в стеке (какие там ещё способы можно придумать?). По-любому придётся загонять себя в рамки и писать код используя ограниченные возможности ассемблера, то есть действовать так, как действует компилятор ЯП высокого уровня.
Сейчас даже микроконтроллеры программируют на C. И всё по этим самым причинам. Да, есть суровые люди, которые не признают arm'а под линуксом: столько памяти и тактов процессора, и всё впустую. По их мнению надо написать всё что нужно на asm'е, и получить гораздо более эффективное решение. В чём-то они правы. Но это лишь до тех пор, пока сложность их программерских решений ограничена чем-нибудь типа чтением файлов с флешки отформатированной в fat32 и декодированием mp3. Когда же возникает желание работать и с ext* и ntfs, равно как и с ogg/vorbis, flac…, а заодно ещё на экранчике груду полезных приложений иметь, то уже возникает сомнение в их правоте. А когда, до кучи, мы приделываем к девайсине rj45 разъём и wifi антенну, то рождается желание поиметь полноценную ось, да и ассемблер уже не выглядит лучшим подходом к решению проблемы.
ЯП – это автоматизация ручного труда, причём огромная автоматизация. И как фанат автоматизации, я не могу этого не оценить. Но… (ещё одно паршивое "но" :D) Ассемблер – это круто и никто меня в этом не переубедит.
Post #: 249
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 17:29:33.470000   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
rgo, значит ты считаешь, что теоритическая информатика - филькина граммота? Ты наверное знаешь, что ЯП просто так не садятся и не пишут, а сначало его моделируют. Моделирование - это и есть часть теоритической информатики.
quote:


Господа теоретики, вам самим-то не смешно заявлять такое? Вы на практике попробуйте найти эту биекцию

Конечно есть эта биекция. Несущие множества одинаковы, принципы сложения и вычитания тоже одинаковы.
quote:


Теория всегда исходит от предположения типа: допустим, что ситуация достаточно благоприятна

Есть такой принцип доказательства в теории, называется доказательством от обратного.Допустим, что ситуация достаточно благоприятна и доказываешь, что ситуация не достаточно благоприятная.
quote:


на практике приходится исходить из допущения, что как только мы выключим свет, то мало того, что изо всех щелей полезут тараканы, так ещё кто-нибудь вломится в окно

Есть такое в практике и называется это не предсказуемостью. В компьютерных системах все предсказуемо, просто еще не совершенно, венной тому корявые руки.
quote:


тебе надо на примерах объяснять отсутствие изоморфизма, или так поверишь?

Конечно объясни, очень интересно. Постарайся формально, а не на примерах.
 
PS. я в курсе, что модератор всегда прав :-)
 
Post #: 250
RE: актуальность применения языка ассемблера в современном мире - 2009-08-04 17:29:59.810000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
поскольку резюме rgo мне по нраву, продолжать тему ассемблера я и правда не буду. sapienti sat и jedem das seine. однако последние комментарии к теории компилирования оставлю, ибо мало ли кто будет читать тред - решит ещё что всё правильно

quote:

ORIGINAL: xxxGradxxx

Дорогой товарищь, конечно не единственный, второй способ - это Turing машина. Я тебе об одном, ты мне о другом.


машина Тьюринга в данном контексте не причём - это всего лишь универсальный вычислитель (такой же, как лямбда-исчисление Чёрча) - конкретно к задаче парсинга отношения не имеет. то, что я имел в виду - General Directional Top-Down/Bottom-Up Parsing, и Deterministic Directional Top-Down/Bottom-Up Parsing - вот тебе уже четыре существенно различных методики парсинга CF-грамматики

quote:

ORIGINAL: xxxGradxxx

Ты согласен со мной, что LISP формальный язык? Согласен ли ты со мной, что все языки программирования - это языки Typ2 в хомской иерархии?


да, LISP формальный язык. нет, синтаксис далеко не всех языков порождается CF-грамматикой. откуда ты вообще это взял? контрпример я тебе приводил - синтаксис C++ порождается CS-грамматикой, поэтому построить для него BNF нельзя

quote:

ORIGINAL: xxxGradxxx

Если ты с этим согласен, тогда знай, что для для любого Typ2 языка сущевствует&nbsp;Typ2&nbsp;и&nbsp;Typ1&nbsp;и Typ0&nbsp;грамматика, по которой строится&nbsp;Push down Automat&nbsp; и Turing машина.


во-первых, задача распознавания для языка, порождённого грамматикой типа 0 по Хомскому, алгоритмически неразрешима - именно в том смысле, что ни один универсальный вычилитель, эквивалентный машине Тьюринга, не способен её решить. во-вторых, фраза о существовании грамматик просто бессмысленна, комментировать не буду

детальней по грамматикам 0 типа:

http://lib.mexmat.ru/books/9019 (стр. 182-183)
http://www.amazon.com/Introduction-Formal-Languages-Gyorgy-Revesz/dp/007066501X (стр. 98)

quote:

ORIGINAL: xxxGradxxx

В иерархии Хомского 4 типа языков. Откуда ты взял пятый? ааа, ты наверное о DCF и&nbsp;NDCF, так знай, что они лежат в одном классе CF.


нет, ты не угадал. я про грамматики конечного выбора - FC, Finite Choice, для которых добавляется ещё одно ограничение поверх регулярных грамматик - запрет на наличие нетерминала в правой части правила порождения (что делает подобную грамматику негенеративной). так, множество зарезервированных слов в языке программирования - типичный пример FC. ввёл четвёртый тип в иерархию не Хомский, однако в современной практике СS он активно используется

подробней:
http://books.google.ru/books?id=05xA_d5dSwAC&pg=PA33&lpg=PA33&dq=finite-choice+grammars&source=bl&ots=3MuB8IedKa&sig=qxRbKumoVTyQ8rfkJoeRdoQGMw0&hl=ru&ei=VDF4Sq6MOYGE-QbnzbzLBQ&sa=X&oi=book_result&ct=result&resnum=2#v=onepage&q=finite-choice%20grammars&f=false

quote:

ORIGINAL: xxxGradxxx

"впрочем, существуют и другие классификации" о чем здесь речь?


двухуровневые (VW) грамматики:
http://homepages.cwi.nl/~steven/vw.html

расширенные аффиксные грамматики:
http://en.wikipedia.org/wiki/Extended_Affix_Grammar

TAGs (tree-adjoint grammars):
http://cat.inist.fr/?aModele=afficheN&cpsidt=2446507
http://www.springerlink.com/content/x300533l86g75x77/

ACG (attribute coupled grammars):
http://portal.acm.org/citation.cfm?id=502890

HOG (грамматики высших порядков):
http://www.ling.ohio-state.edu/~hana/hog/

PEG (parsing expression grammar):
http://en.wikipedia.org/wiki/Parsing_expression_grammar

и это ещё не все сущетвующие формализмы; некоторые из них имеют сугубо академическую ценность, некоторые активно применяются в разработке. иерархией Хомского мир распознавания языков не ограничивается

quote:

ORIGINAL: xxxGradxxx

Все писать - это очень долго и муторно, я покажу тебе проверку выражения на синтаксис.


это не "долго и муторно". это невозможно

quote:

ORIGINAL: xxxGradxxx

Давай разбиремся&nbsp;о моих представлениях&nbsp;здесь.


из того, что между двумя языками существует изоморфизм (биекция, если тебе приятней это слово) следует только то, что можно построить обратимый транслятор. в реальной жизни это очень редко так - морфизмы получаются достаточно сложными, и ни в коем случае не обратимыми. опять же, можешь отстоять свою точку зрения путём построения изоморфизма между Scheme и IA-32

и бросай использовать умные слова, смысла которых не вполне понимаешь. от того, что ты назовёшь трансляцию морфизмом алгебр, задача его построения не решится. решается же она с помощью атрибутных грамматик, синтаксически управляемой трансляции и прочих далёких от формального алгебраического определения методик. есть, правда, категориальные грамматики, но даю правую руку на отсечение что ты с ними не работал

что же касается представлений - мой тебе совет, попробуй подходить к вопросу методично и аккуратно. сейчас ты пишешь очень много глупостей. очень
Post #: 251
RE: актуальность применения языка ассемблера в современном мире - 2009-08-05 00:41:31.366666   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
quote:


машина Тьюринга в данном контексте не причём - это всего лишь универсальный вычислитель

Это не всего лишь универсальный вычеслитель, а мощный инструмент для доказательств.
Я смотрю по немецки ты шпрехаешь, вот тебе ссылочка (постарайся перевести первый абзац)
http://page.mi.fu-berlin.de/alt/vorlesungen/Prosem0708/TI_-_Vortrag_-_Marco_Traeger.pdf
там и написанно, в каком классе лежит General Directional Top-Down/Bottom-Up Parsing, и Deterministic Directional Top-Down/Bottom-Up Parsing. И там же есть иерархия, где показанно, что PDA мощнее.

quote:


да, LISP формальный язык. нет, синтаксис далеко не всех языков порождается CF-грамматикой. откуда ты вообще это взял? контрпример я тебе приводил - синтаксис C++ порождается CS-грамматикой, поэтому построить для него BNF нельзя

вот тебе ссылочка и объяснение для с++
http://books.google.de/books?id=XPdOBeqXeZMC&pg=PA55&lpg=PA55&dq=c%2B%2B++kontextfrei&source=bl&ots=PjfuOfDPR3&sig=ymgJzC8DC-0S1fk_deQnNTyCb7E&hl=de&ei=pId4Sr3sCoXqnAPijqWBBg&sa=X&oi=book_result&ct=result&resnum=6#v=onepage&q=&f=false
quote:


во-первых, задача распознавания для языка, порождённого грамматикой типа 0 по Хомскому, алгоритмически неразрешима - именно в том смысле, что ни один универсальный вычилитель, эквивалентный машине Тьюринга, не способен её решить. во-вторых, фраза о существовании грамматик просто бессмысленна, комментировать не буду

Я могу написать грамматику типа 0, для которой язык будет типа 3, так как в иерархии Хомского тип 3 часть типа 0. Алгоритмически неразрешимы языки типа 0.
В чем бесмысленна фраза о существовании грамматик?
quote:


нет, ты не угадал. я про грамматики конечного выбора - FC, Finite Choice, для которых добавляется ещё одно ограничение поверх регулярных грамматик - запрет на наличие нетерминала в правой части правила порождения (что делает подобную грамматику негенеративной). так, множество зарезервированных слов в языке программирования - типичный пример FC. ввёл четвёртый тип в иерархию не Хомский, однако в современной практике СS он активно используется

так я тебе тогда еще 1 тип придумаю, в котором запрещу заменять нетерминальные символы пустым словом. Но DFA сможет распознавать слова этого языка.
Мы говорим о иерархии Хомского, а не его модификацией.
quote:


и это ещё не все сущетвующие формализмы; некоторые из них имеют сугубо академическую ценность, некоторые активно применяются в разработке. иерархией Хомского мир распознавания языков не ограничивается

Заметь, все твои выше приведенные примеры лежат между типом 3 и типом 0 языков. Кто нибудь показал, что существует язык, для которого нельзя построить тип0 грамматику?
quote:


это не "долго и муторно". это невозможно

http://www.math.uni-wuppertal.de/~axel/skripte/oop/oopA.html#declaration
quote:


из того, что между двумя языками существует изоморфизм (биекция, если тебе приятней это слово) следует только то, что можно построить обратимый транслятор. в реальной жизни это очень редко так - морфизмы получаются достаточно сложными, и ни в коем случае не обратимыми. опять же, можешь отстоять свою точку зрения путём построения изоморфизма между Scheme и IA-32

Мне долго тебе это объяснять.
quote:


и бросай использовать умные слова, смысла которых не вполне понимаешь.

Откуда тебе знать?
quote:


что же касается представлений - мой тебе совет, попробуй подходить к вопросу методично и аккуратно. сейчас ты пишешь очень много глупостей. очень

Без комментариев
Post #: 252
RE: актуальность применения языка ассемблера в современном мире - 2009-08-06 00:08:07.276666   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
Денатурат, ну так как порешали, есть в Лиспе синтаксис?

Что бы долго не думал:
http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%81%D0%BF
Видишь там есть раздел Синтаксис?

P.S. Если бы его там небыло, то декларация типа
*************************
(defun fibonacci (n
*(loop repeat n
for a = 1 b
and and b 1 + then ( a b
finaly (return a

*************************
проконала (я изменил пример, который находится по тойже ссылке).
Post #: 253
RE: актуальность применения языка ассемблера в современном мире - 2009-08-06 02:29:02.476666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: xxxGradxxx
rgo, значит ты считаешь, что теоритическая информатика - филькина граммота? Ты наверное знаешь, что ЯП просто так не садятся и не пишут, а сначало его моделируют. Моделирование - это и есть часть теоритической информатики.
quote:


Господа теоретики, вам самим-то не смешно заявлять такое? Вы на практике попробуйте найти эту биекцию

Конечно есть эта биекция. Несущие множества одинаковы, принципы сложения и вычитания тоже одинаковы.
quote:


Теория всегда исходит от предположения типа: допустим, что ситуация достаточно благоприятна

Есть такой принцип доказательства в теории, называется доказательством от обратного.Допустим, что ситуация достаточно благоприятна и доказываешь, что ситуация не достаточно благоприятная.
quote:


на практике приходится исходить из допущения, что как только мы выключим свет, то мало того, что изо всех щелей полезут тараканы, так ещё кто-нибудь вломится в окно

Есть такое в практике и называется это не предсказуемостью. В компьютерных системах все предсказуемо, просто еще не совершенно, венной тому корявые руки.

Как сказал бы Барт: blah-blah-blah…
Шутка. Неудачная. Извините.
Ты, по-моему, не пытаешься понять о чём я. Неужто ты действительно хоть на секунду можешь поверить, что я тут сидя и модерируя могу считать теоретическую информатику филькиной грамотой? Надеюсь, что нет. Так почему же ты позволяешь себе после этого исходить из этого предположения? /*Вопрос риторический, ответ я знаю, так что можно не отвечать вслух.*/

Я говорю о другом. Во-первых, о теории вообще. Не только об информатике. Там и фраза между прочим именно так и построена. А во-вторых, я говорю о другом. О том что теория всегда исходит из предположений, что всё достаточно благоприятно. Возьмём, например, геометрию. В ней предположения о благоприятности окружающего мира со времён Евклида принято назвать аксиомами. Сейчас геометрия раздел математики, которая мнит себя абстрактной, но когда-то она родилась в древнем египте как наука, позволяющая измерять длину забора и площадь участка ограждённую забором. Итак геометрия и реальная жизнь. Посмотрим на забор древнего египта. С точки зрения геометрии забор выглядит призмой, углы забора – вертикальные рёбра призмы, – это отрезки прямых, прямые же имеют нулевую толщину и ширину. Красота! Попробуем теперь сосчитать сколько краски понадобится, чтобы покрасить углы забора. Суммарная площадь боковых рёбер призмы равна нулю, но если мы возьмём 0 кубометров краски и пойдём красить, то подойдя поближе увидим, что угол забора – это отрезок не прямой, но бетонного столба, имеющего помимо длины ещё толщину и ширину. Фак. Придётся возвращаться, и искать другую теорию/модель/абстракцию для описания забора. Мы найдём нужную модель, найдём и нужное количество краски, но крася столбы вдруг заметим, что два столба стоят покосившись и наполовину выдернуты из земли проезжавшим мимо танком. И нам не хватит на эти столбы краски. Покрасив таким образом 100 заборов, мы станем умными и будем использовать стохастическую модель для описания реальности. Будем считать сколько краски нам надо согласно всем теориям вероятностей и заодно ещё прикидывать вероятную погрешность и брать с собой некоторый запас краски. Для того чтобы хранить все статистические данные нам понадобятся винчестеры, а чтобы их обрабатывать программы написанные программистами. Но вспышка на солнце зацепит процессор, который почему-то был в незакрытом системнике стоящем под открытым небом, всплеск радиации сменит состояние одному триггеру и в результате мы пойдём красить имея на 32 литра краски меньше чем надо.

И так всегда. Любой теории/модели/абстракции рано или поздно приходит каюк. Я уверен, что тебе это известно и без меня. Твои практические выводы сделанные из теоретических изысканий противоречат реальности, это может означать одно из трёх:
- ты потомок Эйнштейна. Это вряд ли, так как Эйнштейн, действовал несколько иначе, он исходил из практики, в которой были факты не вписывающиеся в теорию, и создал новую, куда вписались все факты. Ты делаешь ровно наоборот – пытаешься создать реальность, которая будет соответствовать теории.
- теория неверна. Это опять вряд ли.
- ты применяешь теорию не так, как подразумевали её создатели. Вот это, мне кажется наиболее "тёплым" предположением. Истина где-то рядом. Пилите Шура, пилите. ©

ps. Не могу не удержаться.
quote:

ORIGINAL: xxxGradxxx
В компьютерных системах все предсказуемо, просто еще не совершенно, венной тому корявые руки.

Я бы может и пережил эту фразу молча, но слово "ещё" не позволяет мне это сделать. :D
Вижу… Вижу я вечность, и вижу реальность в этой вечности… Несовершенство царит в этой реальности… Не могу сказать, почему оно там, виной ли тому корявые руки, или может ограниченность разума… Туман хаоса окружает время и не позволяет видеть мелкие детали. Но гнойная сыпь несовершенства чётко проступает на чреслах реальности, и тянется… тянется… тянется вплоть до точки где сходятся параллельные прямые, и даже немного дальше.
Post #: 254
RE: актуальность применения языка ассемблера в современном мире - 2009-08-06 11:42:36.063333   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
Есть что ответить, но нет времени. Еду на море, буду в понедельник.
Post #: 255
RE: актуальность применения языка ассемблера в современном мире - 2009-08-10 19:41:38.960000   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
Передумал что-либо писать.
Спасибо за понимание!
ЗЫ: нет смысла рассуждать здесь на эту тему
Post #: 256
RE: актуальность применения языка ассемблера в современном мире - 2009-08-12 11:22:02.456666   
DzumoHu4

Сообщений: 279
Оценки: 0
Присоединился: 2008-08-04 19:04:43.236666
Фу блин тупо развели !ФЛУД! на тему "У меня больше интелекта чем у тебя, Вишь как извилины пульсируют".
Не по приколу же его придумали.
Ассемблер на мой взгляд, язык для Единиц, Функция Вычисления CRC32 сумм на Асемблере занимает 10 строк, на Дельфи листинг на 3 страницы, на С по моему лист, или полтора.
Ассемблер более Быстрый, Лаконичный и более Понятный компьютеру чем любой другой Высокоуровневый язык.
Пример:

Представьте себе что вы общаетесь с японцем через Google Translate(C++), Infran(Delphi) и прочие машинные переводчики, или вы поднапряглись и выучили Чистый Японский Язык(Asm).
После этого стоит сравнивать? Кого лучше поймёт японец? Тебя или гугл транслейт.

Всё БАСТА ТЕМА СЕБЯ ИСЧЕРПАЛА, сравнивать "Попу" с "Пальцем" тяжело, не умеешь по человечески какать, используй Транслейт, либо "Выковыревай".
Post #: 257
RE: актуальность применения языка ассемблера в современном мире - 2009-08-12 21:49:19.066666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
ну что же, давай спокойно и по пунктам - во имя истины

quote:

ORIGINAL: xxxGradxxx

Это не всего лишь универсальный вычеслитель, а мощный инструмент для доказательств.
Я смотрю по немецки ты шпрехаешь, вот тебе ссылочка (постарайся перевести первый абзац)
http://page.mi.fu-berlin.de/alt/vorlesungen/Prosem0708/TI_-_Vortrag_-_Marco_Traeger.pdf
там и написанно, в каком классе лежит General Directional Top-Down/Bottom-Up Parsing, и Deterministic Directional Top-Down/Bottom-Up Parsing. И там же есть иерархия, где показанно, что PDA мощнее.


мощность распознавателя - не единственный критерий; есть такие вещи, как эффективность, удобство использования, наличие готовых реализаций (генераторов). у PDA (как и у любого другого универсального средства) есть рад существенных недостатков. основные из них:

1. перед построением PDA грамматика должна быть приведена к нормальной форме Грейбаха (Greibach Normal Form, GNF); несмотря на то, что любая CF-грамматика, не порождающая пустую строку, может быть приведена к GNF, на практике всегда удобней работать с исходной грамматикой, избегая дополнительных преобразований (особенно если исходная грамматика подвержена изменениям)

2. PDA является недетирминированным распознавателем: в процессе распознавания произвольной грамматики будут возникать разветвления, принятие решений по которым требует дополнительных методов анализа. несмотря на существование многочисленных механизмов построения детерминированного PDA (DPDA), все они существенно ограничивают область применения PDA, не давая существенных преимущест перед более специализированными распознавателями

3. существуют промышленные генераторы LL(1), LALR, и PEG-распознавателей, работающие за линейное время. в случае, если выбор грамматики формального языка остаётся за разработчиком, лучшим решением является использование LL(1)-грамматики (как, к слову, поступил Вирт в своей Модуле-2): на основании исходной EBNF всегда можно сгенерировать эффективный детерминированный парсер

в случае же, когда грамматика формального языка определяется внешними факторами, имеет смысл иметь наготове парсер, способный работать с контекстно-зависимыми грамматиками (вроде Parsec'а и его аналогов): область применения PDA ограничивается CF

quote:

ORIGINAL: xxxGradxxx

http://books.google.de/books?id=XPdOBeqXeZMC&amp;pg=PA55&amp;lpg=PA55&amp;dq=c%2B%2B++kontextfrei&amp;source=bl&amp;ots=PjfuOfDPR3&amp;sig=ymgJzC8DC-0S1fk_deQnNTyCb7E&amp;hl=de&amp;ei=pId4Sr3sCoXqnAPijqWBBg&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=6#v=onepage&amp;q=&amp;f=false

http://www.math.uni-wuppertal.de/~axel/skripte/oop/oopA.html#declaration

C++ ist (wie die meisten höheren Programmiersprachen) eine kontextsensitive Sprache


по обоим ссылкам немецким по чёрному умные люди пишут о том, что грамматика C++ (как и большинства современных языков программирования) является контекстно-зависимой. о грамматике по второй ссылке написано: во-первых, она является надмножеством над синтаксисом С++ (значит будут распознаны некорректные с точки зрения С++ конструкции), во-вторых она является контекстно-свободным приближением к грамматике С++ (значит не будут распознанны корректные с точки зрения С++ конструкции)

quote:

ORIGINAL: xxxGradxxx

Я могу написать грамматику типа 0, для которой язык будет типа 3, так как в иерархии Хомского тип 3 часть типа 0. Алгоритмически неразрешимы языки типа 0.
В чем бесмысленна фраза о существовании грамматик?


можешь, но это бессмысленно. ествественное направление - упрощение задачи; так, парсинг CS-грамматики в некоторых случаях может быть выполнен двумя парсерами CF-грамматик (за кубическое, а не экспоненциальное время). строить для языка более общую грамматику имеет смысл только с точки зрения теоретических изысканий

quote:

ORIGINAL: xxxGradxxx

так я тебе тогда еще 1 тип придумаю, в котором запрещу заменять нетерминальные символы пустым словом. Но DFA сможет распознавать слова этого языка.


без этого типа грамматик иерархия Хомского будет неполной. впрочем, это уже чисто демагогический спор,- хочешь четыре грамматики по Хомскому, пусть будет четыре. мне, в общем-то, неважно

quote:

ORIGINAL: xxxGradxxx

Заметь, все твои выше приведенные примеры лежат между типом 3 и типом 0 языков. Кто нибудь показал, что существует язык, для которого нельзя построить тип0 грамматику?


польза этих формализмов в том, что они позволяют строить эффективные парсеры для грамматик, выходящих за рамки CF. существенно более эффективные, чем те, которые в общем случае строятся с помощью CS-грамматики по Хомскому. вопрос про неограниченную грамматику смысла не имеет - на то она и неограниченная, вообще говоря, что любой язык под неё подгоняется

quote:

ORIGINAL: xxxGradxxx

Мне долго тебе это объяснять.


можешь не объяснять, просто попробуй построить изоморфизм между Scheme и IA-32. можно даже о результатах не отчитываться, лишь бы самому на пользу пошло

quote:

ORIGINAL: xxxGradxxx

Откуда тебе знать?


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

quote:

ORIGINAL: xxxGradxxx

Денатурат, ну так как порешали, есть в Лиспе синтаксис?


с точки зрения построения распознавателя (recognizer) - да, твоя взяла. с точки зрения построения синтаксического анализатора - нет, по изложенным выше причинам. на практике первый пункт особого веса не имеет, ибо грамматика весьма простая; второй же является ключевым моментом в вопросе реализации метапрограммирования

quote:

ORIGINAL: VaZoNeZ

В общем, верь что ты лучший))


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

к слову, я никогда никого не оскорбляю безосновательно. если я говорю, что человек - идиот, значит так оно и есть. вот тебе пример, ежели сомневаешься:

quote:

ORIGINAL:DzumoHu4

Ассемблер на мой взгляд, язык для Единиц


вот это - идиот. клинический

надеюсь, данный ответ не полужит толчком к очередному витку обсуждения: знания нужны не для того, чтобы понтоваться на форумах, а для того, чтобы применять их в реальной жизни

если есть вопросы или замечания к моим словам - с удовольствием на них отвечу, если есть желание продолжить гнуть пальцы - увольте, уж больно утомительное это занятие
Post #: 258
RE: актуальность применения языка ассемблера в современном мире - 2009-08-12 22:34:13.790000   
DzumoHu4

Сообщений: 279
Оценки: 0
Присоединился: 2008-08-04 19:04:43.236666
Что и говорить, убогий флудер.(
З.ыч Вроде раньше такого не было, может у него акк увели?:D
Post #: 259
RE: актуальность применения языка ассемблера в современном мире - 2009-08-15 15:25:59.783333   
xxxGradxxx

Сообщений: 40
Оценки: 0
Присоединился: 2007-02-24 01:22:33.600000
quote:


мощность распознавателя - не единственный критерий; есть такие вещи, как эффективность, удобство использования, наличие готовых реализаций (генераторов). у PDA (как и у любого другого универсального средства) есть рад существенных недостатков

Это единственный и главный критерий. Все что ты строишь автоматами слабее чем PDA ты можешь это построить с PDA, но не все то, что ты можешь построить с PDA, можешь построить с любым автоматом слабее чем PDA (простые истины).
Такое ощущение, что ты черпаешь инфу с википедии и чтобы показаться умным пишишь это все сюда. Не надо мне рассказывать как работает PDA, я с ними немало работал.

quote:


по обоим ссылкам немецким по чёрному умные люди …
http://books.google.de/books?id=XPdOBeqXeZMC&pg=PA55&lpg=PA55&dq=c%2B%2B++kontextfrei&source=bl&ots=PjfuOfDPR3&sig=ymgJzC8DC-0S1fk_deQnNTyCb7E&hl=de&ei=pId4Sr3sCoXqnAPijqWBBg&sa=X&oi=book_result&ct=result&resnum=6#v=onepage&q=&f=false

"Programmiersprachen basieren üblicherweise auf kontextfreien Grammatiken, da diese eine guten Kompromiss aus Mächtigkeit der Sprache und Schnelligkeit der Analyse bieten. Meist können allerdings nicht alle Konzepte einer Programmiersprache durch kontextfreie Sprachen beschrieben werden (beispielweise Typverträglichkeit, Überprüfung der Anzahl der Parameter in einem Funktionsaufruf). Statt hierfür den Schritt zu einer komplexeren kontext-sensitiven Grammatik zu vollziehen, behilft man sich in solchen Fällen jedoch lieber mit einigen expliziten Zusatzregeln."
Перевод:
Языки программирования базируются в основном на CF грамматиках, так как они дают хороший компромисс между величием языка и быстродействие анализа. В большенстве случаев невозможно описать все концепты языка программирования CF языком (например соотношение типов, проверка числа параметров функции в шапке).Вместо того, чтобы делать шаг к наиболее сложной CS грамматике, обходятся в таких случаях лучше некоторыми дополнительными условиями
quote:


http://www.math.uni-wuppertal.de/~axel/skripte/oop/oopA.html#declaration

"Die hier aufgeführte kontextfreie Grammatik entspricht…"
Показанная здесь CF грамматика
"C++ ist (wie die meisten höheren Programmiersprachen) eine kontextsensitive Sprache, so daß zu der hier angegebenen kontextfreien Grammatik kontextsensitive Zusätze erforderlich sind"
с++ (как и многие языки программирование высокого уровня) CS язык, так как к ниже приведенной CF грамматике некоторые CS дополнения необходимы.
У каждого своя точка зрения, например по первой ссылке автор считает, что эти некоторые дополнения не позволяют называть язык CS языком. Вторую ссылку я тебе дал, на твое утверждение, что нельзя построить к с++ CF грамматику

quote:


quote:

ORIGINAL: xxxGradxxx

Я могу написать грамматику типа 0, для которой язык будет типа 3, так как в иерархии Хомского тип 3 часть типа 0. Алгоритмически неразрешимы языки типа 0.
В чем бесмысленна фраза о существовании грамматик?


можешь, но это бессмысленно. ествественное направление - упрощение задачи; так, парсинг CS-грамматики в некоторых случаях может быть выполнен двумя парсерами CF-грамматик (за кубическое, а не экспоненциальное время). строить для языка более общую грамматику имеет смысл только с точки зрения теоретических изысканий




Это я тебе написал не для того, чтобы ты рассуждал на тему, "есть ли смысл строить Typ0 грамматику для Typ3 языка", а для того чтобы показать тебе, что ты ниуя не знаешь о иерархии и пытаешься о ней рассуждать с помощью википедии. Твои изречения типа:
quote:


RE: актуальность применения языка ассемблера в современ… - 04.08.2009 17:29:59
во-первых, задача распознавания для языка, порождённого грамматикой типа 0 по Хомскому, алгоритмически неразрешима - именно в том смысле, что ни один универсальный вычилитель, эквивалентный машине Тьюринга, не способен её решить. во-вторых, фраза о существовании грамматик просто бессмысленна, комментировать не буду

Человек, занимавшийся этой темой не допустит себе такой ошибки сказать, что "задача распознавания для языка, порождённого грамматикой типа 0 по Хомскому, алгоритмически неразрешима". Правельно сказать "задача распознавания для языков типа 0 по Хомскому, алгоритмически неразрешима". Поэтому я тебе и привел пример, что грамматикой типа0 можно построить язык типа 3, а тип3 язык алгоритмически разрешим.

quote:


с точки зрения построения распознавателя (recognizer) - да, твоя взяла. с точки зрения построения синтаксического анализатора - нет, по изложенным выше причинам. на практике первый пункт особого веса не имеет, ибо грамматика весьма простая; второй же является ключевым моментом в вопросе реализации метапрограммирования


есть Синтаксис?__|__recognizer?____OR____ синтаксический анализатор?
_____true_______ |_____true_______true___________true
_____true_______|______true______true___________false
_____true_______|______false______true___________true
_____false______|______false______false___________false

на практике первый пункт особого веса не имеет, ибо грамматика весьма простая
Это ты сам так порешал?
quote:


если я говорю, что человек - идиот, значит так оно и есть

Очень приятно, царь (ржу немогу). Ты сильно много на себя берешь.

quote:


вот это - идиот. клинический

Идиот - это ты! А он прав, на ассемблере ты можешь написать все (вопрос надо ли), что ты можешь написать на любом др. ЯП, но не наоборот.
Post #: 260
RE: актуальность применения языка ассемблера в современном мире - 2009-08-17 19:23:24.270000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
увы, диалога не получилось. тебя можно (и стоило бы) показательно выпороть, однако ты так тщательно оберегаешь собственное невежество, что становится элементарно противно о чём-либо говорить. я, признаться, совершил ошибку, излишне высоко оценив твои умственные способности,- надо было доверять первому впечатлению

живи себе и дальше в мире нативных кодов, регистровых машин, CF-языков, беспросветного PDA и табличных распознавателей с экспоненциальной сложностью; в мире без AST и вообще какого-либо IR в компиляторах, без грамматик конечного выбора, без генераторов лексеров, парсеров и кодогенераторов. и заодно построй изоморфизм между Scheme и IA-32 - или, если вдруг Scheme тебя чем-то пугает,- между тем же C и IA-32; иными словами - компилятор, которых работал бы в обе стороны. это ведь элементарно - построить изоморфизм между инициальными алгебрами. особенно если владеешь таким универсальным и мощным инструментом, как PDA
Post #: 261
RE: актуальность применения языка ассемблера в современном мире - 2009-08-17 19:38:54.270000   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
quote:

ORIGINAL: Denaturat
живи себе и дальше в мире нативных кодов, регистровых машин, CF-языков, беспросветного PDA и табличных распознавателей с экспоненциальной сложностью; в мире без AST и вообще какого-либо IR в компиляторах, без грамматик конечного выбора, без генераторов лексеров, парсеров и кодогенераторов. и заодно построй изоморфизм между Scheme и IA-32 - или, если вдруг Scheme тебя чем-то пугает,- между тем же C и IA-32; иными словами - компилятор, которых работал бы в обе стороны. это ведь элементарно - построить изоморфизм между инициальными алгебрами. особенно если владеешь таким универсальным и мощным инструментом, как PDA


ОФФТОП:

– Папа, а почему, когда яблоко откусишь, оно делается коричневым?
– Дело в том, сынок, что в яблоке имеются различные химические вещества. Одно из них – железо. Так вот, когда железо вступает с кислородом, находящимся в воздухе, в химическую реакцию, получается окисление. В результате образуется вещество, которое и окрашивает яблоко в коричневый цвет.
– Папа, а с кем ты сейчас разговаривал?
Post #: 262
RE: актуальность применения языка ассемблера в современном мире - 2009-08-28 15:26:30.716666   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
[sm=offtopic.gif] эх… а топик так и не усох до сих пор. я вот вернулся и прочитал что вы там понаписали… распознаватели какие то… очевидно, никто из собравшихся тут гениев-теоретиков ни разу в жизни не испытывал необходимости сделать качественно и быстро работающую вещь.[sm=bw.gif]] нельзя всё мерять мерками экономии драгоценнейших сил программиста. хакеры блин:'(

зы. мне вот последнее время, когда я пытаюсь разобраться с какой-нибудь хитро закрученой хренью хочется всех теоретиков которые навыдумывали эту лажу перестрелять с дробовика нафик:D нету у мя дробовика, блин[:(]
Post #: 263
RE: актуальность применения языка ассемблера в современном мире - 2009-08-30 16:30:09.036666   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Ты компилятор пробовал делать? Хакер - практик, my ass…
Post #: 264
RE: актуальность применения языка ассемблера в современном мире - 2009-08-30 17:11:40.456666   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
пробовал и делал даже. никто и не говорил что надо прям везде юзать асм:)

quote:

ORIGINAL: redsh

испытывал необходимости сделать качественно и быстро работающую вещь.[sm=bw.gif]] нельзя всё мерять мерками экономии драгоценнейших сил программиста
Post #: 265
RE: актуальность применения языка ассемблера в современном мире - 2009-08-30 17:42:07   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Я о претензиях к "теоретикам". Обсуждались грамотные методы трансляции. В обсуждении нет почти compuning-science. Для нормального программиста, как и любого инженера, математика - один из основных инструментов анализа. Или предлагаешь вместо пользования КА и регулярных выражений взад-назад по тексту бегать? ;-/

А любая инженерная деятельность - эффективное создание эффективных решений (это по теме топика). Игры подростков в расчет не берем. 8)
Post #: 266
RE: актуальность применения языка ассемблера в современном мире - 2009-08-30 19:02:35.886666   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
quote:

ORIGINAL: linuxoid

Я о претензиях к "теоретикам". Обсуждались грамотные методы трансляции. В обсуждении нет почти compuning-science. Для нормального программиста, как и любого инженера, математика - один из основных инструментов анализа. Или предлагаешь вместо пользования КА и регулярных выражений взад-назад по тексту бегать? ;-/

А любая инженерная деятельность - эффективное создание эффективных решений (это по теме топика). Игры подростков в расчет не берем. 8)


ну тут не поспоришь. просто некоторые люди оч любят орать о том, какой си "небезопасный": насколько вредна работа с "голыми" указателями и насколько ужасны последствия переполнения значения переменной ну и т.п, насколько удобна объектная модель (полный аналог которой, кстати, легко реализуется средствами стандартного си), и потому ужасно хвалят всякие обероны, лиспы, дельфи и т.п. (как я понимаю, все ваши рассуждения о грамотных методах трансляции сводятся к этому). при этом, если удосужиться немного подумать то все эти доводы не выдерживают никакой критики. 1) например, ну обнаружила rtl переполнение, выкинула эксепшн - и что толку? всё равно программер исключение не обработает, и обработчик по дефолту просто завершит прогу. а если программер учтёт возможности переполнения, то что ему мешает сделать тоже самое на обычном си. в результате мы имеем rtl, которая ничего полезного не делает, а только тормозит прогу, а вы её так хвалите… (примерно о том же писал Крис в хакере про лишниие проверки, не помню уж какой номер). 2) ну или вот пример - типа, программер не учёл нулевой указатель, прога вылетела (типичная ошибка для си). неужели если программер на паскале не учтёт аналогичной ошибки, прога продолжит работать стабильно и безошибочно. 3) ещё вот пример про объектную модель. к примеру, у нас есть класс, внутри которого заинкапсулирован метод, который захватывает картинку и ложит в файл. а к примеру мне надо не сохранить картинку в файл, а приаттачить к письму (пример из собственной практики). в результате я вынужден ставить хук на WriteFile и вообще, плясать с бубном не по детски. или разбираться с классом (учитывая, кстати, то, что код на объектном языке весит в 10 раз больше, чем на нормальном). для сравнения, если бы это была обычная сишная либа, я бы её без труда подредактировал (что обычно авторы либ учитывают, в отличии от "приплюснутых" программеров, старающихся всё заинкапсулировать). людей непонимающих такие простые вещи я и называю теоретиками:) математики мя вообще, мало волнуют, хотя не спорю, они изобрели много хорошего для нашего дела (быстрое преобразование Фурье, к примеру). но в основном занимаются вредительством и критикой хороших вещей…
Post #: 267
RE: актуальность применения языка ассемблера в современном мире - 2009-08-30 20:52:23.050000   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Камрад, разделяй абзацы и начинай предложения с большой буквы, читать очень неудобно.

Чистый Си - действительно небезопасный, и нефиг тут! :)
1), 2) http://www.inr.ac.ru/~info21/blackbox/disciplina/arr_bounds_checks.htm. А отлов RTL всяких ошибок позволяет их быстро обнаружить и исправить.
3) Конечно, сложно заочно понять, что у тебя там было, но осторожно выдвину гипотезу, что программа была неудачно спроектирована / класс выбран неподходящий. И не надо наезжать на ОО языки :). Во-первых, часто ООП пихают куда не надо. Во-вторых, давай не брать в расчет корявые языки с неудачным дизайном вроде Си++. Не раздувают они код, но предлагают адекватные задачи средства.

В этом контексте слово "теоретики" звучит неуместно.
А о математиках у тебя странное представление… Кстати, они есть прикладные и теоретики. Последние часто клоуны, занимаются вещами в себе 8). Но мы не о них. :)
Post #: 268
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 00:41:59.193333   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
quote:

Чистый Си - действительно небезопасный, и нефиг тут! :)


Для того, чтобы кодить на Си нужны определённые навыки. К примеру, если сравнивать Си с каким-нибудь "правильным" языком (с паскалем, например - не люблю я его:)), то Си - это аналог реактивного истребителя, а паскаль - инвалидной коляски. Разумеется с точки зрения обычного, неподготовленного чела летать на Си небезопасно. Но если ты с лёгкостью оперируешь трёх и четырёхмерными указателями, если правильный и безопасный код генерируется прямо у тебе в голове и почти телепатически передаётся в комп, ты будешь любить Си, а один вид паскаля будет навевать смертельную тоску. Лично мне приятнее стремиться именно к этому, а не усовершенствовать каляски (ибо сколько их не усовершенствуй, суть не меняется). Немножко более формально эту мысль можно выразить так:

1) Си потенциально безопаснее всех "правильных" языков. Причина в том, что каждый из "правильных" языков таскает за собой здоровенную RTL, которая сама по себе является источником багов. Короче, надёжность языка равна надёжности RTL. А Си - это чистая платформа, на которой можно возвести всё что угодно. И надёжность твоего кода будет зависеть исключительно от твоей аккуратности, и от умения грамотно использовать средства языка.

2) Си интуитивно понятен, то есть "программировать на Си" быстро переходит в "думать на Си". Если ты изначально приучен писать стабильный код (перед использованием, проверять указатели на NULL, следить за выделением и освобождением памяти и т.д.), то у тебя никогда не будет проблем с безопасностью кода, поскольку в голове автоматически генерируется правильный код, со всеми необходимыми проверками. Хотя, к сожалению, многие люди сознательно подавляют желание вставить проверку, мотивируя его тем, что "тут такого значения теоретически быть не может". А потом, конечно же, пропускают её в критичекском месте (человеческая психология), и возникают access violation'ы, утечки памяти и вопли о небезопасности:)

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


quote:

http://www.inr.ac.ru/~info21/blackbox/disciplina/arr_bounds_checks.htm


не открывается блин:( ошибка 404…


quote:

Последние часто клоуны, занимаются вещами в себе 8).


полностью согласен[sm=ay.gif]
Post #: 269
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 01:38:12.556666   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
quote:

ORIGINAL: redsh

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

Поржал. Теперь рассказывай про проблему (с)
Есть претензии к мощности языка? В студию. Только сразу линейку, по которой будем мерять разницу между "касялками" и "истребителями" введи, а то по моей линейке каляской является как раз таки Си.

quote:

ORIGINAL: redsh

Причина в том, что каждый из "правильных" языков таскает за собой здоровенную RTL, которая сама по себе является источником багов.&nbsp;

Что такое RTL и почему ты думаешь, что он бажный?
 
quote:

А Си - это чистая платформа, на которой можно возвести всё что угодно.

Ну тогда Java - тоже чистая платформа. Читстая JVM. И заметь, у неё есть одно большое преимущество, о котором ты вообще, видимо, предпочитаешь не думать, - переносимость.
 
quote:

&nbsp;И надёжность твоего кода будет зависеть исключительно от твоей аккуратности

Диспетчеров в аэропортах приучают быть сверхаккуратными, причём там потенциальная ошибка может погубить десятки человеческих жизней, так что все понимают, что им нужно быть ооочень аккуратными. Тем не менее человеческий фактор был, есть и будет самой распространённой причиной аварий и катастроф.

quote:

Си интуитивно понятен

Ага, особенно синтаксис ну просто идеал интуитивного понимания.
Дальше совсем бред, так что без комментариев.
 
quote:

Хотя, к сожалению, многие люди сознательно подавляют желание вставить проверку, мотивируя его тем, что "тут такого значения теоретически быть не может".

Ты сообщение назад говорил, что лишние проверки нужно убирать. Доктор, ну вы определитесь.
 
И вообще, давай если что-нибудь хочешь написать, то сначала придумай этому обоснование, а потом уже выкидывай на форум, а не своди все разговоры к тому, что "Си - это круто, и понятно, и ваще, а Паскаль - говно, кака и кодить на нём нельзя, потому что вот." Попробуй вместо этого "вот" подставить что-нибудь хотя бы отдалённо напоминающее здравый смысл. И размер твоих сообщений сразу таааак уменьшится ;)
Post #: 270
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 09:46:12.023333   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
quote:

Поржал. Теперь рассказывай про проблему

молодец. теперь советую хотя бы попробовать понять.

quote:

Есть претензии к мощности языка?

эх. ну это же понятно. паскаль - шаблонный, т.е. конструкции представляют что-то типа

for &lt;int_var&gt; := &lt;int_start&gt; to &lt;int_end&gt; do по сути всё что тут есть - это <intvar>, <int_start> и <int_end>. а всё остальное - это бесполезный балласт и украшательства. в общем безобразие и шаблонное мышление. например, в турбо паскале был такой баг - если последней командой (перед end.) стоит readln, то работает он только если после него нет ';', одно лишь это говорит о том, что транслятор с паскаля "тупее", шаблоннее и прямолинейнее даже парсера ини файлов. для сравнения - конструкции на Си полностью рекурсивны (вложены), универсальны и логичны. (читай трюки от Криса). в паскале операторы := , + и div работают совершенно по разному и к логике каждого из них надо привыкать (она совсем не очевидна), каждая фигень работает по своему. ну про указатели я вообще молчу. реализованы они так, что чёрт ногу сломит.

quote:

Что такое RTL и почему ты думаешь, что он бажный?

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

quote:

Ты сообщение назад говорил, что лишние проверки нужно убирать.


quote:

например, ну обнаружила rtl переполнение, выкинула эксепшн - и что толку? всё равно программер исключение не обработает, и обработчик по дефолту просто завершит прогу. а если программер учтёт возможности переполнения, то что ему мешает сделать тоже самое на обычном си.


читай внимательнее:)

quote:

Это вовсе не призыв к отказу от проверок на корректность выделения памяти. Это просто констатация факта, что если память закончилась, то ситуация опаньки и проверка ее не исправляет, а только усугубляет. Если мы действительно хотим принять такой фактор риска во внимание, необходимо предусмотреть обработку ситуации


© http://www.xakep.ru/magazine/xa/097/144/1.asp

quote:

Ага, особенно синтаксис ну просто идеал интуитивного понимания.


ну не совсем идеал к сожалению, но лучше ничего не видел, причём отрыв очень существенный (о асме не говорим, конечно, только высокоуровневое). в любом случае, у разработчиков Си получилось гораздо лучше, чем можно было в то время ожидать. серьёзно.
Post #: 271
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 09:51:29.760000   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
quote:

ORIGINAL: kreol

Ты сообщение назад говорил, что лишние проверки нужно убирать. Доктор, ну вы определитесь.

И вообще, давай если что-нибудь хочешь написать, то сначала придумай этому обоснование, а потом уже выкидывай на форум, а не своди все разговоры к тому, что "Си - это круто, и понятно, и ваще, а Паскаль - говно, кака и кодить на нём нельзя, потому что вот." Попробуй вместо этого "вот" подставить что-нибудь хотя бы отдалённо напоминающее здравый смысл. И размер твоих сообщений сразу таааак уменьшится ;)


Вот-вот! Присоединяюсь!

Похоже, кадр не серьезные задачи решает, а на си дрочит.

[Обсчитывает RTL Компонентного Паскаля]
National , Kernel, Files, HostFiles, StdLoader - 73,71 КБ. И про баги (и даже "фичи" :) ) в этих модулях я не слышал.
Post #: 272
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 09:57:33.480000   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Регулярность синтаксиса - большой плюс для компилятора языка и восприятия листингов. Их кстати больше читают, чем пишут.

И если тебе не только на Си дрочить придется, вот: http://www.inr.ac.ru/~info21/blackbox/disciplina/welcome.html.
Оттуда:

quote:


«… я ничего обидного про свободное искусство открытого общества сказать не хочу, я к нему со всей душой. Поэтому извиняюсь, если нижеследующая метафора покажется обидной:

'Функция всех структур — сохранять форму и служить опорой — требует, по определению, в известной мере пожертвовать свободой. Можно привести такой пример: червяк может согнуть свое тело в любом месте, где пожелает, в то время как мы, люди, можем совершать движения только в суставах. Но мы можем выпрямиться, встать на ноги - а червяк не может' (Конрад Лоренц).

Зато червяк может саму способность встать на ноги объявить несерьезным делом и дорогой к рабству. …»

Владимир Шинкарев. «Митьковские пляски.
Краткое руководство для хореографических кружков художественной самодеятельности»
Post #: 273
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 10:04:12.010000   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
quote:

Похоже, кадр не серьезные задачи решает, а на си дрочит.


quote:

«… я ничего обидного про свободное искусство открытого общества сказать не хочу, я к нему со всей душой. Поэтому извиняюсь, если нижеследующая метафора покажется обидной:

'Функция всех структур — сохранять форму и служить опорой — требует, по определению, в известной мере пожертвовать свободой. Можно привести такой пример: червяк может согнуть свое тело в любом месте, где пожелает, в то время как мы, люди, можем совершать движения только в суставах. Но мы можем выпрямиться, встать на ноги - а червяк не может' (Конрад Лоренц).

Зато червяк может саму способность встать на ноги объявить несерьезным делом и дорогой к рабству. …»

Владимир Шинкарев. «Митьковские пляски.
Краткое руководство для хореографических кружков художественной самодеятельности»


отвратительно:'( оба утверждения даже ничего общего не имеют со здравым смыслом. думали бы хоть сначала…
Post #: 274
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 16:03:50.570000   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Поясни, раскройся, здравомыслящий ты наш.
Post #: 275
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 17:41:48.126666   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
"Функция всех структур — сохранять форму и служить опорой — требует, по определению, в известной мере пожертвовать свободой."

на Си мона сделать всё что угодно. то есть любые фичи, которые доступны в любом другом языке. хочешь ограничивать - на здоровье. не хочешь юзать вложенные операторы - никто не заставляет. причём здесь червяки? вот я и говорю, думал бы прежде чем писать…
Post #: 276
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 17:47:28.350000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Блин… Вы скатились до спора, что лучше паскаль или C? Не стыдно так боянить? redsh, ты зря туда полез. Тебе уже всё рассказали про "опасность" языка C. Тебе уже начали доказывать что C непереносимый язык и привязан к платформе. Щаз тебе начнут втирать про богоподобного Вирта, в одиночку пишущего самые крутые операционные системы причём сразу на десяти разных оберонах… Если ты выстоишь, то тебя засыпят названиями всяких прочих паскалей, которые Вирт успел насочинять в течение своей жизни. Против этого устоять шансов у тебя ровно ноль: ты прёшь напролом, а холивар – это тонкая штука, в нём надо считать на несколько ходов вперёд. Единственная твоя надежда – это linuxoid, который начинает терять самообладание. Но не надо раскатывать губы, я верю в kreol'а.
Твоим единственным шансом было, незметно, исподволь, вести беседу к… Ладно, не буду раскрывать проффесиональные секреты xD

Давайте лучше резведём холивар на тему асм vs. ООП – я ещё недостаточно отлакировал свои аргументы против ООП, и я б с громадным удовольствием понаблюдал бы ещё разок за тактикой защитников ООП.

2linuxoid
ты меня озадачил… Твоё отношение к C никак не вяжется с ником linuxoid. Linuxoid – это человек почитающий unix, и традиции unix. В частности понимающий все прелести C. Как можно быть linuxoid'ом и плевать в сторону C? В сторону разработчиков использующих C? В Столлмана, который призывал всех (да и по сей день вроде как призывает) использовать C для GNU разработок. В Торвальдса, который чётко и однозначно высказывался по поводу выбора C в качестве языка для разработки linux. По-моему это прерогатива вендусятников, пользоваться программой и одновременно соревноваться в том, кто более крупной/зелёной соплёй плюнет в разработчика этой программы.
Не, ну ладно бы ты тут демонстрировал unix идеи изложенные на паскале – это было бы оригинально и любопытно. По-моему они просто не совместимы в философском смысле и могут безболезненно существовать лишь на определённой дистанции друг от друга. А совмещение несовместимого всегда вызывает интерес. Дык, ты просто сверкаешь на C красными глазами. Точно так же как redsh сверкает красными глазами на паскаль. Твоя позиция, по-моему, даже ещё более красноглаза чем его – ты явно быстрее движешся к прямым оскорблениям собеседников чем оппонент. Но, как бы там не было, позиция redsh мне знакома, она нисколько не оригинальна, я знаю её наизусть и мог б вести её гораздо лучше чем redsh, было б желание. А вот твоя позиция озадачивает.

ps. Любопытно но факт. Обсуждение актуальности ассемблера, по каким-то загадочным причинам тонет в обсуждении теории компиляторов, потом, едва выплыв оттуда, тонет в проблеме C vs Pascal (сразу после того, как не удалось утонуть в C vs C++)… redsh, ты не думаешь, что это неплохой показатель актуальности asm'а?
Post #: 277
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 18:18:32.823333   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
Да паскаль так популярен потому что в школе учат. Не учили бы, так все бы про него уже давно забыли. А на Асме, думаю, уже мало кто кодит серьёзно:( Так, лоадер какой-нибудь написать, а дальше на Си. Даже в низкопроизводительной эмбедщине. Хотя, безусловно, Асм актуален. Вот например: http://obdev.at/developers/articles/00003.html . Мне прям тепло на душе стало, когда читал. Молодец мужык. Не то, что всякие задроты, старающиеся сделать самый оберонистый оберон:)
Post #: 278
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 18:37:52.370000   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Да, учиться вам и учиться, друзья. Эффективность результата и его достижение сильно зависит от применяемых инструментов. А многие ничего за рамками убогого мейнстрима не видят, но в технологических спорах не стезняются задвигать мега-тезисы. Это я вообще, не о конкретных участниках. Кстати, вспоминается понятие "туннельный кругозор". :)

Про опасность си. А ничего, что по некоторым источникам, в больших системах при одинаковых условиях, там в 16 раз больше плотность багов, чем на оберонах? На сайте ЦЕРН можно где-то найти документ про это.
Кстати, я си не с Паскалем (тот в 1980г устарел с созданием Модулы) сравниваю, а с оберонами. Но к Си у меня особых претензий нет - тот в определенных условиях и для определенных задач создавался. И неплохо помогал эти задачи решить. Но вот всюду с ним возиться спустя 40 лет - странно. Гораздо сильнее я не люблю си++ - бездумно мертвыйСтраус и К понамешали там теплого и мягкого - и получилась теплая и мягкая субстанция. И насмотрелся я, какую [consored] и по скольку времени на нем делают.
Еще паскали компилятся быстро - это ускоряет процесс разработки-отладки.

quote:

unix идеи изложенные на паскале


ОС Excelsior, создана в новосибирском ВЦ СО АН СССР. Unix-система на Модуле-2. Вот здесь много всякого найдете.

2rgo:

Я с линукса вырос, а ник остался. Оскорблять никого не хотел. Просто подколы по факту (и называния вещей своими именами) - надо некоторым самим думать, что пишут на публике.

PS Мы тут вроде веселимся и жизни радуемся. Заодно и всякое интересное-полезное можем узнать. Кого что не устраивает? Уж и постебаться нельзя 8)
Post #: 279
RE: актуальность применения языка ассемблера в современном мире - 2009-08-31 20:32:02.273333   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Я так понимаю, мы подходим к программистским вопросам с технической стороны, "популярность" и т. п. технологий отношения к делу не имеет. Хотя, это зависит от отрасли.
Post #: 280
Страниц:  1 2 3 4 5 6 [7] 8 9
Все форумы >> [Прочее] >> RE: актуальность применения языка ассемблера в современном мире







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.