В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции?
Может ли кто-нибудь назвать идеальный язык, который:
1) Позволяет использовать шаблоны классов/функций
2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!)
3) Позволяет подключать к себе C/C++ библиотеки
4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него)
5) Готовые программы не кушают гигабайты памяти и 100% процессора, когда надо сложит 2+2
Здравствуйте, humanist-TPV-, Вы писали:
HT>Здравствуйте, коллеги.
HT>В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции?
Здравствуйте, FR, Вы писали:
FR>Здравствуйте, humanist-TPV-, Вы писали:
HT>>Здравствуйте, коллеги.
HT>>В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции?
FR>http://www.digitalmars.com/d/index.html
К сожалению, отсутствие multiple inheritance в D, сводит пользу от шаблонов к минимуму.
Здравствуйте, Smal, Вы писали:
R>>http://www.digitalmars.com/d/index.html S>К сожалению, отсутствие multiple inheritance в D, сводит пользу от шаблонов к минимуму.
Отсутсвие multiple inheritance сводит к минимуму пользу от multiple inheritance. И к шаблонам это отношение не имеет. Не стоит подходить с сишными повадками, к другому языку.
Здравствуйте, humanist-TPV-, Вы писали:
HT>Может ли кто-нибудь назвать идеальный язык, который: HT>1) Позволяет использовать шаблоны классов/функций HT>2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!) HT>3) Позволяет подключать к себе C/C++ библиотеки HT>4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него) HT>5) Готовые программы не кушают гигабайты памяти и 100% процессора, когда надо сложит 2+2
Вы где были последний год? Неужели есть еще места, где не слышали о Nemerle!
Здравствуйте, Smal, Вы писали:
HT>>>В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции?
FR>>http://www.digitalmars.com/d/index.html S>К сожалению, отсутствие multiple inheritance в D, сводит пользу от шаблонов к минимуму.
Присутствие миксинов, Variadic Templates, static if и других мелких удобств не только восстанавливает паритет, но и делат программирование на шаблонах в D проще и удобнее чем в C++.
Здравствуйте, Smal, Вы писали:
HT>>>В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции?
FR>>http://www.digitalmars.com/d/index.html S>К сожалению, отсутствие multiple inheritance в D, сводит пользу от шаблонов к минимуму.
Там, наверное, вместо multiple inheritance можно mixin'ы какие-нибудь использовать.
HT>Может ли кто-нибудь назвать идеальный язык, который: HT>1) Позволяет использовать шаблоны классов/функций HT>2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!)
у меня с каскелом точно такая же проблема, проектик в 400 кил компилируется без оптимизации две минуты. при этом с++ ная часть — по размеру больше, с оптимизацией компилируется секунд 10 от силы
но вообще-то вроде в последнее время компиляторы стали поддерживать прекомпиляцию шаблонов? я правда только краем уха про это слышал. а ещё бывает распределённая компиляция
Здравствуйте, Quintanar, Вы писали:
Q>Вы где были последний год?
Кто тебя просил упоминать Nemerle? Тем более что он здесь совершенно не в тему, так как в контексте этой темы почти по всем пунктам можно поставить жирный минус.
Q>Неужели есть еще места, где не слышали о Nemerle!
О Nemerle здесь слышно только потому, что некоторые люди очень любят провоцировать флэйм на тему Nemerle, в том числе подобными заявлениями.
HT>>Может ли кто-нибудь назвать идеальный язык, который: HT>>1) Позволяет использовать шаблоны классов/функций
Не позволяет. Только дженерик-классы/методы. Вместо шаблонов можно использовать макросы, но ничего общего с шаблонами они не имеют, хотя для ряда задач они и гораздо лучше.
HT>>2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!)
К сожалению пока нет. Скорость компиляции сравнима с C++, но при обильном использовании метапрограммирования скорость компиляции в Nemerle практически не деградирует, в отличие от.
HT>>3) Позволяет подключать к себе C/C++ библиотеки
Этому требованию ни один язык кроме C++ на 100% не удовлетворяет.
HT>>4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него)
Не имеет. В синтаксисе Nemerle нет практически ничего общего с C++. Быстро перейти на него именно с C++ тоже не получится, но уже по другим причинам.
HT>>5) Готовые программы не кушают гигабайты памяти и 100% процессора, когда надо сложит 2+2
Nemerle это не язык для спид-фриков. Это язык для тех, кто любит быстро и не в ущерб качеству кода реализовывать идеи, с оптимизацией всегда можно успеть — было бы что оптимизировать.
Здравствуйте, Vermicious Knid, Вы писали:
HT>>>4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него) VK>Не имеет. В синтаксисе Nemerle нет практически ничего общего с C++.
-1. С# — родитель Немерле, а С++ — родитель С#, следовательно, прародитель Немерле.
VK>Быстро перейти на него именно с C++ тоже не получится, но уже по другим причинам.
Здравствуйте, Андрей Хропов, Вы писали:
VK>>Не имеет. В синтаксисе Nemerle нет практически ничего общего с C++. АХ>-1. С# — родитель Немерле, а С++ — родитель С#, следовательно, прародитель Немерле.
"Авраам родил Исаака, Исаак родил Иакова".
Ну и что?
Здравствуйте, GlebZ, Вы писали:
GZ>Отсутсвие multiple inheritance сводит к минимуму пользу от multiple inheritance. И к шаблонам это отношение не имеет. Не стоит подходить с сишными повадками, к другому языку.
Проблема в том, что автор вопроса сам определил свою судбу введя следующие предпосылки:
3) Позволяет подключать к себе C/C++ библиотеки
4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него)
С ними любой язык отличный от С++ будет чем-то нитакой.
И основная масса С++-ников никогда не перейдет на другой язык потому, что они еще живы
Здравствуйте, FR, Вы писали:
FR>Присутствие миксинов, Variadic Templates, static if и других мелких удобств не только восстанавливает паритет, но и делат программирование на шаблонах в D проще и удобнее чем в C++.
Ну, static if это не более чем ошибка дизайна. А присуствие всех замечательных фич шаблоном мало что дают в области обобщенного программирования. Это все фичи которые нужны для извращенного метапрограммирвоания. Меж тем ты и сам прекрасно знаешь, что есть более прямые пути реализации метапрограммирования. И как не смешно это звучит, похоже в Ди-комьюнити как раз обсуждают их. Так что боюсь вас ребяты огорчить, но похоже (если авторы не ступят) Ди 2.0 бодет очень сильно похож на... Ты знал! Ты знал!
ЗЫ
...ухожу, ухожу.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, humanist-TPV-, Вы писали:
HT>В очередной раз компилируя проект с использованием boost и наблюдая за минутами компиляции, подумалось — А есть ли языки в которых такие же возможности (использование статического полиморфизма) сочитаются с быстротой компиляции? HT>Может ли кто-нибудь назвать идеальный язык, который: HT>1) Позволяет использовать шаблоны классов/функций HT>2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!) HT>3) Позволяет подключать к себе C/C++ библиотеки HT>4) Имеет сходный с C++ синтаксис (чтобы быстро перейти на него) HT>5) Готовые программы не кушают гигабайты памяти и 100% процессора, когда надо сложит 2+2
Ну, что я говорил? Вот первый же товаришь сразу потребовал от Ди итеропа с С++.
ЗЫ
Мой тебе совет. Изучи что-то кроме С++. Толко не Паскальевские потомки, а действительно что-то другое. Тогда пункты 3-4 отпадут сами собой, пункт 5 покажется тебе фобией, пункт 2 окажется естественным, а пункт 1 вообще не будет тебе интересен, так как есть куда более эффективные и красивые способы решать твои проблемы.
Здравствуйте, Vermicious Knid, Вы писали:
Q>>Вы где были последний год? VK>Кто тебя просил упоминать Nemerle?
Ладно тебе. Мы его не банем так как он обещал на пару с eao197 в каждом сообщении упоминать о Nemerle. Типа 10 упоминаний дают эндульгенцию от оного бана.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Vermicious Knid, Вы писали:
HT>>>2) Имеет быстрый компилятор (Хочу компиляции секунды,а не минуты!) VK>К сожалению пока нет. Скорость компиляции сравнима с C++, но при обильном использовании метапрограммирования скорость компиляции в Nemerle практически не деградирует, в отличие от.
Любезный. Не пугай людей.
Все же скорость компиляции с С++-ной не сравнима. Прекомпилированным ngen-ом компилятором большинство проектов компилируются не более секунды. Самое большое время у меня на машине занимает компиляция всех проектов компилятора — 27 секунд. Это конечно по более чем C#, но не 15 минут как в старые добрые времена на С++.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.