
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.218] |
![]() |
|
Страницы: (31) « Первая ... 21 22 [23] 24 25 ... 30 31 ( Перейти к последнему сообщению ) |
Сообщ.
#331
,
|
|
|
А что макросы в лиспе еще делают? Вычисления в compile-time и генерацию кода. То же самое, что и темплейты, только синтаксис более причесанный (в первую очередь, за счет свойств языка), но не более. |
Сообщ.
#332
,
|
|
|
Цитата Темплейты именно костыль Звучит неубедительно. Цитата Макрос в лиспе -- естественная языковая конструкция. Звучит так же неубедительно Цитата Шаблоны в C++ - естественная языковая конструкция Звучит убедительно. У тебя есть аргументы против? |
Сообщ.
#333
,
|
|
|
Макрос в лиспе пишется на лиспе.
Шаблон в C++ пишется на множестве языка шаблонов для C++. Превратить по желанию шаблон в функцию и наоборот ты сможешь? То-то. Вот тебе и «естественно-неестественно». А макры рулят, и скобочки тоже. |
Сообщ.
#334
,
|
|
|
Цитата Ho Im @ Превратить по желанию шаблон в функцию и наоборот ты сможешь? То-то. А что, на лиспе таки прям можно? И аргументы вычисляться не будут у функции? Т.е., не все макросы можно превратить в функции. |
Сообщ.
#335
,
|
|
|
Цитата Превратить по желанию шаблон в функцию и наоборот ты сможешь? Это называется специализация шаблона, если я правильно понял, что ты имеешь в виду ![]() У специализаций более высокий приоритет при разрешении перегрузки, так что всё в порядке. Добавлено Если я конечно правильно понял твой вопрос. |
![]() |
Сообщ.
#336
,
|
|
Не стану читать 20 с лишним страниц флуда, просто скажу своё мнение... Это должен быть язык, "интерпретируемый" искусственным интеллектом (ныне называемым "компилятор"). В него должно быть заложено переключение на "старый тип кода", нечто гибридное между ObjectPascal и VisualBasic и обучение новым функциям. Код такого языка мог бы выглядеть так: ![]() ![]() using AI; AI.Execute ("Установить мою форму на верху и сделать её прозрачной на 10%"); If AI.NewObjects.Forms.MyForm.Top > 110 { } IDE должна поддерживать технологию Speech Recognition и в реальном времени выполнять программу в окне предпросмотра. Обязательна полная кроссплатформенность, это уже на совести AI. При всем при этом должны поддерживаться макросы. Например, так: ![]() ![]() AI.Execute ("Выполнить [Эффект плавной смены цветов формы] кроме последнего цикла"); Вот таким должен быть идеальный язык. |
Сообщ.
#337
,
|
|
|
Цитата Ho Im @ Шаблон в C++ пишется на множестве языка шаблонов для C++. Неа. Шаблон в С++ пишется на языке С++. Основание - раздел 14 стандарта ISO/IEC 14882. ![]() |
Сообщ.
#338
,
|
|
|
Цитата BugHunter @ Не, видимо речь не о том. Просто в С++ существует специальный "язык" шаблонов со своим синтаксисом и особенностями. В Лиспе каких-то дополнительных средств (типа угловых скобочек "template <...>") для организации макросов нет. Это к вопросу целостности языка ("органично-неорганично"). Если я конечно правильно понял твой вопрос. Добавлено Цитата B.V. @ Диалект SQL? Вот таким должен быть идеальный язык. ![]() Цитата Flex Ferrum @ Мы тут в философию ударились, так что Стандарт пофиг. Шаблон в С++ пишется на языке С++. Основание - раздел 14 стандарта ISO/IEC 14882. ![]() ![]() |
Сообщ.
#339
,
|
|
|
Цитата Relan @ Просто в С++ существует специальный "язык" шаблонов со своим синтаксисом и особенностями. Как такового языка шаблонов в С++ нет. Есть языковые конструкции, такие же, как class, try-catch, и т. п., используемые для описания шаблонов. |
![]() |
Сообщ.
#340
,
|
|
Цитата Relan @ Диалект SQL? Не совсем. Здесь скорее "общение" с компилятором на свободном "языке", не ограниченом командами и правилами их расстановки. Цитата Relan @ это декларативный стиль программирования Точно, он. |
Сообщ.
#341
,
|
|
|
Цитата Flex Ferrum @ Как такового языка шаблонов в С++ нет. Есть языковые конструкции, такие же, как class, try-catch, и т. п., используемые для описания шаблонов. По сути, таковая конструкция одна - template<>, ну еще export template<>. О каком языке идет речь? |
Сообщ.
#342
,
|
|
|
Цитата Flex Ferrum @ А как же угловые скобочки? Как такового языка шаблонов в С++ нет. Есть языковые конструкции, такие же, как class, try-catch, и т. п., используемые для описания шаблонов. ![]() Цитата B.V. @ Нет уж, спасибо. Программистам и так багов хватает. Не совсем. Здесь скорее "общение" с компилятором на свободном "языке", не ограниченом командами и правилами их расстановки. ![]() |
![]() |
Сообщ.
#343
,
|
|
Цитата Relan @ Нет уж, спасибо. Программистам и так багов хватает. А почему должны появится баги? Максимум, что будет - выполнение не того чего хочет программист. Тогда достаточно будет уточнить команду или написать "чистым кодом", напрямую. |
Сообщ.
#344
,
|
|
|
Цитата Relan @ Ну и в приведениях типов, синтаксис которых, по признанию самого Страуструпа, срисован с шаблонов. Он просто унифицирован для того, чтобы не отличался от синтаксиса явного инстанцирования шаблонной функции. Только и всего. Цитата Relan @ А как же угловые скобочки? Не тянет на "специальный язык". ![]() |
Сообщ.
#345
,
|
|
|
Цитата Flex Ferrum @ Дык о нем родимом и речь. По сути, таковая конструкция одна - template<>, ну еще export template<>. О каком языке идет речь? ![]() ![]() |