Здравствуйте, mkizub, Вы писали:
M>По поводу идей как реально достичь следующей качественной ступени автоматизации работы программиста — ищи по ключевым словам Intentional programming, Semantic-oriented programming.
Здравствуйте, FR, Вы писали:
M>>По поводу идей как реально достичь следующей качественной ступени автоматизации работы программиста — ищи по ключевым словам Intentional programming, Semantic-oriented programming.
FR>declarative и meta здесь более ключевые слова
Нет, meta относится и к lisp/forth, которые за новые технологии не канают, и если и будут использоваться компьютерами, то как унутренний ассемблер. Declarative программирование без meta тоже мимо кассы.
Здравствуйте, mkizub, Вы писали:
FR>>declarative и meta здесь более ключевые слова
M>Нет, meta относится и к lisp/forth, которые за новые технологии не канают, и если и будут использоваться компьютерами, то как унутренний ассемблер. Declarative программирование без meta тоже мимо кассы.
Нифига, они по мощности не уступают "новым", так что вполне канают.
Здравствуйте, FR, Вы писали:
FR>>>declarative и meta здесь более ключевые слова
M>>Нет, meta относится и к lisp/forth, которые за новые технологии не канают, и если и будут использоваться компьютерами, то как унутренний ассемблер. Declarative программирование без meta тоже мимо кассы.
FR>Нифига, они по мощности не уступают "новым", так что вполне канают.
Машина Тюринга тоже по мощности не уступает современным и будущим процессорам. А на практике это две большие разницы.
Здравствуйте, tarmik2, Вы писали:
E>>Я думаю так: если человек начал проект по созданию языка, то он должен знать, что он хочет сделать. И не должен публично озвучивать свои опасения в том, что через 5 лет это может оказаться полной фигней -- таких лидеров проектов просто не бывает.
T>Я видел лидеров которые могли проталкивать утопические идеи. В общем идея то проходит под руководством такого "лидера", но проэкт в итоге потихоньку тонет. В общем лидерство — это та же самая политика. Т.е. нельзя доверять тому чего нельзя измерить. Иначе будет второй СССР.
<...Цитаты из Константина поскипаны...>
Вы путаете две вещи -- увереность в конечной цели и уверенности в способах достижения цели. Лидер проекта как раз должен демонстрировать уверенность в конечной цели. И должен внимательно выслушивать предложения своих последователей о способах ее достижения. Как раз об этом Константин и говорит.
Вы же, как зачинатель данного амбициозного проекта, не демонстрируете ни того, ни другого. И на это я вам и пытаюсь указать -- если вы начали проект, то не ожидайте, что к вам кто-нибудь присоединится пока вы _публично_ решаете для себя вопрос "а нужно ли это мне вообще?"
T>Так вот — кто из нас "can shout loudest" и кто пытается аргументировать обратно ?
Понятия "нас" здесь нет. Есть вы, кто заявляет о своем прожекте. И я, который говорит -- сначала определитесь, что вы хотите, а потом выносите это на суд публики. Хотите делать язык -- покажите, что это за язык. Хотите получить информацию для размышления -- так и скажите.
И если бы я что-то здесь аргументировал, так это то, что:
— вам нужно серьезно расширить свой кругозор. Вы пытаетесь браться за очень и очень сложную задачу, но при этом производите впечатление человека, который кроме C/C++ и gcc мало что видел;
— вы беретесь за задачу не с того конца. Вы заявляете о попытке создать гибрид естественного и компьютерного языка, но вас интересуют принципы кодогенерации. Не конструкции и абстракции будущего языка, а детали его реализации. Т.е. вы хотите понять, как реализовать то, что вы еще не придумали! Но так не бывает.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
E>Вы путаете две вещи -- увереность в конечной цели и уверенности в способах достижения цели. Лидер проекта как раз должен демонстрировать уверенность в конечной цели. И должен внимательно выслушивать предложения своих последователей о способах ее достижения. Как раз об этом Константин и говорит.
Я рассуждаю с точки зрения — для того что бы уметь ходить — нужны ноги.
Я ищу ноги для начала.
Лидером можно становится после того как достиг чего-то на данном поприще.
Я пока никак языков не написал, так что лидером не спешу становится.
E>Вы же, как зачинатель данного амбициозного проекта, не демонстрируете ни того, ни другого. И на это я вам и пытаюсь указать -- если вы начали проект, то не ожидайте, что к вам кто-нибудь присоединится пока вы _публично_ решаете для себя вопрос "а нужно ли это мне вообще?"
У меня время есть, я подожду...
Как я сказал — сначала идеи должны осесть в голове у людей, затем они привратятся в магнит.
T>>Так вот — кто из нас "can shout loudest" и кто пытается аргументировать обратно ?
E>Понятия "нас" здесь нет. Есть вы, кто заявляет о своем прожекте. И я, который говорит -- сначала определитесь, что вы хотите, а потом выносите это на суд публики. Хотите делать язык -- покажите, что это за язык. Хотите получить информацию для размышления -- так и скажите.
Я в общем то уже сказал кого и чего я ищу.
E>И если бы я что-то здесь аргументировал, так это то, что: E>- вам нужно серьезно расширить свой кругозор. Вы пытаетесь браться за очень и очень сложную задачу, но при этом производите впечатление человека, который кроме C/C++ и gcc мало что видел;
Не буду спорить, т.к. думаю это без толку. Я получу по кайней мере кое какие линки с rsdn, было бы неплохо и от вас что нибуть получить кроме критики.
Знаю намного больше чем наверное вам показалось, но это все относительно — информация это не есть умение.
E>- вы беретесь за задачу не с того конца. Вы заявляете о попытке создать гибрид естественного и компьютерного языка, но вас интересуют принципы кодогенерации. Не конструкции и абстракции будущего языка, а детали его реализации. Т.е. вы хотите понять, как реализовать то, что вы еще не придумали! Но так не бывает.
Бывает. Архитектуру можно разрабатывать по разному... Можно сверху вниз — как вы предлагаете — можно снизу вверх —
------------------------------------------------------------------------------------------------------------------------------
I would like to apply bottom-up
architecture approach — also called as "Focus on the infrastructural aspects of the system prior to designing for application functionality"
Software Product Line Practice — Architecture Definition: http://www.sei.cmu.edu/productlines/frame_report/arch_def.htm
------------------------------------------------------------------------------------------------------------------------------
Я предпочитаю идти снизу вверх. На бумаге всегда все выглядит очень красиво, а когда начинаешь копаться внутри — хоть стой хоть падай.
Я предпочитаю найти гармонию между низом (то что мы можем сделать) и верхом (то что мы бы хотели сделать).
Здравствуйте, mkizub, Вы писали:
M>Машина Тюринга тоже по мощности не уступает современным и будущим процессорам. А на практике это две большие разницы.
Не надо путать разные "мощности". По контексту понятно что имеется в виду именно "мощность" абстрагирования или как ты сам писал
следующей качественной ступени автоматизации работы программиста
, в этом старые языки ничем ни уступают новым DSLстроительным монстрам.
Здравствуйте, FR, Вы писали:
FR>Не надо путать разные "мощности". По контексту понятно что имеется в виду именно "мощность" абстрагирования или как ты сам писал
следующей качественной ступени автоматизации работы программиста
, в этом старые языки ничем ни уступают новым DSLстроительным монстрам.
Я не устаю повторять пример с математикой. В которой пределом достижения без современной нотации (использования букв и операторов) вершиной достижения было решение квадратных и кубических уравнений. А до использования арабских цифр деление у умножение было предметом которому учились годами. При том, что по мощности обычные слова не уступали формулам, просто были неудобны. В этом смысле о машине Тюринга я и говорю — она теоретически может то-же, что и любой современный процессор, а на практике использовать её для программирования у нас бы мозги свернулись. Лисп и форт могут теоретически определить какую угодно концепцию и с ней работать. А на практике синтаксические/отображательные способности низки настолько, что их не используют и в 1% проектов.
Компьютеру всё равно, как у него внутри это шевелится, через лисп или через другие структуры — только бы он мог определять эти новые концепции и с ними работать.
А вот при "общении" компьютера с программистом — способ отображения этих концепций — совсем не "всё равно".
M>Я не устаю повторять пример с математикой. В которой пределом достижения без современной нотации (использования букв и операторов) вершиной достижения было решение квадратных и кубических уравнений. А до использования арабских цифр деление у умножение было предметом которому учились годами. При том, что по мощности обычные слова не уступали формулам, просто были неудобны. В этом смысле о машине Тюринга я и говорю — она теоретически может то-же, что и любой современный процессор, а на практике использовать её для программирования у нас бы мозги свернулись. Лисп и форт могут теоретически определить какую угодно концепцию и с ней работать. А на практике синтаксические/отображательные способности низки настолько, что их не используют и в 1% проектов.
Ты не устаешь придумывать некорректные аналогии
У лиспа и форта (плюс еще рефала) есть только одно преимущество по сравнению с большинством других языков программирования, они позволяют легко писать метапрограммы. И легко писать именно человеку, компьютеру абсолютно это безразлично. И в этой области они до сих пор мощнее всех остальных.
M>Компьютеру всё равно, как у него внутри это шевелится, через лисп или через другие структуры — только бы он мог определять эти новые концепции и с ними работать. M>А вот при "общении" компьютера с программистом — способ отображения этих концепций — совсем не "всё равно".
Эти языки как раз дают самый удобный способ "общатся" с компьютером на уровне метапрограмм. Если такой уровень не нужен они ничем ни лучше (чаще хуже и менее удобны) чем другие средства.