Re[17]: Успешные проекты на .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.07 23:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

VD>>Ну, вот скажем кмопилятор сложного языка. Точнее наверно можешь, только будет это сложно и работать он будет очень медленно.

WH>Ну жаба в этом случае не сильно лучше. Разве что работать быстрее будет.

Ты ее недооцениваешь. Компилятор Явы написан на ней же самой. Конечно язычок в разы проще, но все же скорости ему хватает.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Успешные проекты на .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.07 23:36
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Что этому мешает? Почему на других язык4ах это сделать можно, а на Питоне нет? Или почему на других языках не сложно, а на Питоне сложно?


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

AV>Про скорость. Во-первых, про нее не говорилось. Во-вторых, насколько медленно? Будет ли это критично? А то по моим наблюдениям, скорость компилятора никак не является узким местом в процессе разработки.


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

Но Скажем, Руби как язык мне нравится больше чем Питон, но у Руби в данном аспекте еще меньше шансов, так как у Питона есть хотя бы глючный PyPy который хоть какие-то надежды оставляет. А у Руби вообще ничего. Плюс интерпретатор Руби эталон тормоза.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Успешные проекты на .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.07 23:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Скорость важна всегда.


Вот это утверждение натянуто. Скажем, если мы клепаем не очень сильно посещаемую веб-страничку, то пхп и Питоны очень даже прокатывают по скорости. Процессоры то огого теперь. Но компилятор не та область. А компляторы сложных языков как раз та область где производительность становится критически-важной.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 06:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Ну, вот скажем кмопилятор сложного языка. Точнее наверно можешь, только будет это сложно и работать он будет очень медленно.

WH>>Ну жаба в этом случае не сильно лучше. Разве что работать быстрее будет.
VD>Ты ее недооцениваешь. Компилятор Явы написан на ней же самой. Конечно язычок в разы проще, но все же скорости ему хватает.
Еще раз перечитай что я написал.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 06:16
Оценка: +1
Здравствуйте, ambel-vlad, Вы писали:

AV>Сколько мало, а сколько много? И откуда тебе известно сколько и какие языки я знаю?

Ну судя по твоим вопросам с ML и его потомками или вобще не знаком или знаком очень поверхностно.

AV>Так и ждал этого. А как обходятся в языках где pattern matching нет?

Пишут примерно в 10 раз больше кода чем могло бы быть.

AV>А то сколько не вижу промышленных компиляторов, что-то большинство написано на языках где pattern matching нет. И ничего, живут же как-то. Да, эта фича облегчает написание. Но она не является настолько жизненно важной, чтобы без нее никак. А принципиальных причин, почему нельзя на Питоне написать компилер так и не было приведено.

Понимаешь в чем дело... теоритически препятствий нет. Ибо питон полный по Тьюрингу, а это значит что теоритически на нем можно написать все.
Вопрос в цене разработки и качестве полученого решения.
Так вот у питона по сравнению с многими наследниками ML тут шансов нет. Те при разработке будет куча гемороя и качество ниже плинтуса.

AV>А почему-то когда идет речь про сравнение скорости работы managed/unmanaged кода, то скорость не важна. А сейчас она уже стала важна.

Где не важна? Кто сказал такую глупость?

WH>>Причем если на 10-20 процентов можно забить при условии что мы получи серьезное удешевление разработки то забить на питоновские 10 раз не получится.

AV>Сколько процентов можно пожертвовать?
Еще раз прочитай да.

AV>Тем более, что критические по скорости функции я могу написать на С/С++. Не думаю, что их там будет очень много.

Те пол компилятора...
Да и интеграция разных языков геморой еще тот.

А главное зачем мучаться если можно взять статически типизированный язык с выводом типов (те код будет примерно как на питоне но не будет проблем с производительностью) и паттерн матчингом (те колличество кода сильно уменьшается и код становится декларативным причем без потери эффективности)?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Успешные проекты на .NET
От: ambel-vlad Беларусь  
Дата: 12.06.07 07:25
Оценка:
Hi WolfHound

AV>>Так и ждал этого. А как обходятся в языках где pattern matching нет?

WH>Пишут примерно в 10 раз больше кода чем могло бы быть.

И написано на несколько порядков больше промышленных компиляторов больше.

AV>>А то сколько не вижу промышленных компиляторов, что-то большинство написано на языках где pattern matching нет. И ничего, живут же как-то. Да, эта фича облегчает написание. Но она не является настолько жизненно важной, чтобы без нее никак. А принципиальных причин, почему нельзя на Питоне написать компилер так и не было приведено.


WH>Вопрос в цене разработки и качестве полученого решения.

WH>Так вот у питона по сравнению с многими наследниками ML тут шансов нет. Те при разработке будет куча гемороя и качество ниже плинтуса.

Сие не есть факт (с) товарищ Смирнов. Особенно в отношении качества. Почему существующие промышленные компиляторы имеют качество удовлетворяющее подавляющее число программеров? Они же написаны не на наследниках ML.

AV>>Тем более, что критические по скорости функции я могу написать на С/С++. Не думаю, что их там будет очень много.

WH>Те пол компилятора...

А что ты будешь делать, если твоя программа на Nemerle не будет укладываться в требования по скорости и алгоритмы вылизаны?

WH>Да и интеграция разных языков геморой еще тот.


У Питона с этим никаких проблем нет. У него с этим все очень просто.

--
С Уважением
Posted via RSDN NNTP Server 2.0
Re[18]: Успешные проекты на .NET
От: ambel-vlad Беларусь  
Дата: 12.06.07 07:27
Оценка:
Hi VladD2

AV>>Что этому мешает? Почему на других язык4ах это сделать можно, а на Питоне нет? Или почему на других языках не сложно, а на Питоне сложно?


V>Да на других тоже не на всех это удобно делать. Языки являющиеся развитием ML тут подойдут как нельзя лучше, а остальные в пролете. Решающим фатором является наличие паттерн-матчинга. Причем ML-подобные тоже не все покатят, так как скорость является определяющим фактором.


Вот объясни тогда, почему же тогда практически все промышленные компиляторы написаны не на ML-наследниках?

--
С Уважением
Posted via RSDN NNTP Server 2.0
Re[21]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 07:59
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

WH>>Пишут примерно в 10 раз больше кода чем могло бы быть.

AV>И написано на несколько порядков больше промышленных компиляторов больше.
Распространенность ни разу не аргумент.
Скажем если бы немерле писали на С++ то я уверен что я о нем бы никогда не узнал ибо он просто небыл бы написан. Тк 2 аспиранта не поднимут объем работы который нужен для написания настолько сложного языка как немерле на С++. Это под силу только мелкософту с армией программеров и тестеров. Причем даже у мелкософта это получается плохо даже для болие простых языков типа C#.

Но ребята поступили умно. Они начали разработку на окамле и после того как первая версия начала работать они все переписали на немерле. Благодоря тому что языки довольно близкие перенос был довольно простым. Примерно как между С и паскалем.
Причем благодоря тому что немерле написан на немерле каждая новая фича ускоряет дальнейшую разработку.

WH>>Вопрос в цене разработки и качестве полученого решения.

WH>>Так вот у питона по сравнению с многими наследниками ML тут шансов нет. Те при разработке будет куча гемороя и качество ниже плинтуса.
AV>Сие не есть факт (с) товарищ Смирнов. Особенно в отношении качества. Почему существующие промышленные компиляторы имеют качество удовлетворяющее подавляющее число программеров? Они же написаны не на наследниках ML.
Причем тут промышленные компиляторы? Они что все на питоне написаны? Вернее сколько ты знаешь промышленных компиляторов написанных на питоне?

AV>А что ты будешь делать, если твоя программа на Nemerle не будет укладываться в требования по скорости и алгоритмы вылизаны?

Ни разу небыло чтобы при вылизанных алгоритмах мне нехватало скорости.
Причем я в это еще могу поверить при разработке какихнибудь аудио/видио кодеков вот только сколько людей ими занимаются? Я думаю что даже компиляторами занимается больше народу.
Ну или как вариант разработка ведется на кокайнибудь тормозной динамике типа питона...

WH>>Да и интеграция разных языков геморой еще тот.

AV>У Питона с этим никаких проблем нет. У него с этим все очень просто.
Ну в .NET interop тоже на высоте вот только используется он исключительно для взаимодействия с уже написанным нативным кодом.
И никому в здравом уме не приходит в голову таким образом разгонять программы.
Ибо геморой.
Да и не нужно это ибо все и так быстро работает. Причем порой быстрее чем на С++ (а некоторые С++ компиляторы сливают стабильно) ибо благодоря ГЦ можно применять болие другие алгоритмы.
А при наличии многопоточности классические кучи сливаю ГЦ по крупному.

А в случае питона которы из-за димаки тороз. Причем не смотря на многочисленные попытки вывести типы он всеравно остается тормозом ибо на вывод типов ни разу не заточен.
Короче С++ для питона единственный способ хоть как то разогнаться.

Но зачем нужно мешать ежа с ужем если можно обойтись одним языком?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Успешные проекты на .NET
От: FR  
Дата: 12.06.07 09:28
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, ambel-vlad, Вы писали:


AV>>Что этому мешает? Почему на других язык4ах это сделать можно, а на Питоне нет? Или почему на других языках не сложно, а на Питоне сложно?

WH>Ну по тому что ты знаешь слишком мало других язычков.
WH>Некоторые из других язычков (которые ты по всей видимости не знаешь) имеют pattern matching при разработке компиляторов фича абсолютно необходимая, а в питоне ее нет.

Угу на си (на котором написано большинство компиляторов) писать компиляторы невозможно
Re[19]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 09:42
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Угу на си (на котором написано большинство компиляторов) писать компиляторы невозможно

Так они и пишутся ооооочччеееенннннььььь мммееееддддллллеееенннннннннноооо. Те дорого. Да и получаются они глючными и плохо расширяемыми.
А нужно дешево и качественно. А для этого нужен ПМ. Без него никак.

И вобще все можно написать на машине Тьюринга вот только это идиотизм.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Успешные проекты на .NET
От: FR  
Дата: 12.06.07 09:53
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FR, Вы писали:


FR>>Угу на си (на котором написано большинство компиляторов) писать компиляторы невозможно

WH>Так они и пишутся ооооочччеееенннннььььь мммееееддддллллеееенннннннннноооо. Те дорого. Да и получаются они глючными и плохо расширяемыми.
WH>А нужно дешево и качественно. А для этого нужен ПМ. Без него никак.

Языки с ПМ существуют очень давно. Тот же Ocaml например. Почему же компиляторы до сих пор пишут на си?
Re[21]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 10:10
Оценка:
Здравствуйте, FR, Вы писали:

FR>Языки с ПМ существуют очень давно. Тот же Ocaml например. Почему же компиляторы до сих пор пишут на си?

Откуда я знаю? Может мазохисты? Или ты знаешь объективные причины?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Успешные проекты на .NET
От: FR  
Дата: 12.06.07 11:40
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FR, Вы писали:


FR>>Языки с ПМ существуют очень давно. Тот же Ocaml например. Почему же компиляторы до сих пор пишут на си?

WH>Откуда я знаю? Может мазохисты? Или ты знаешь объективные причины?

Их куча самые важные легаси код и специалисты которые умеют писать компиляторы, но не видят смысла учить новый язык.
Re[22]: Успешные проекты на .NET
От: ambel-vlad Беларусь  
Дата: 12.06.07 12:37
Оценка:
Hi WolfHound

WH>>>Пишут примерно в 10 раз больше кода чем могло бы быть.

AV>>И написано на несколько порядков больше промышленных компиляторов больше.
WH>Распространенность ни разу не аргумент.

Не сказал бы так. Если языки с ПМ так сильно упрощают написание, то было бы логично именно их использовать. Тем более, что написанием компиляторов занимаются достаточно выкосоклассные специалисты. И они способны выбрать инструмент под задачу. Да и на рекламный булшит менее ведуться. Однако этого не наблюдается. Значит все таки не все так прекрасно. Не так ли?

WH>>>Вопрос в цене разработки и качестве полученого решения.

WH>>>Так вот у питона по сравнению с многими наследниками ML тут шансов нет. Те при разработке будет куча гемороя и качество ниже плинтуса.
AV>>Сие не есть факт (с) товарищ Смирнов. Особенно в отношении качества. Почему существующие промышленные компиляторы имеют качество удовлетворяющее подавляющее число программеров? Они же написаны не на наследниках ML.

WH>Причем тут промышленные компиляторы? Они что все на питоне написаны? Вернее сколько ты знаешь промышленных компиляторов написанных на питоне?


Притом, что они написаны не на наследниках ML. Написаны на языках где ПМ нет. И качество их удовлетворяет подавляющее кол-во пользователей. То есть получается, что без ПМ вполне можно обойтись.

AV>>А что ты будешь делать, если твоя программа на Nemerle не будет укладываться в требования по скорости и алгоритмы вылизаны?

WH>Ни разу небыло чтобы при вылизанных алгоритмах мне нехватало скорости.

То что ты не сталкивался с такими ситуациями не значит, что их не бывает вообще. Так что ты делал бы в подобной ситуации?

А в случае питона которы из-за димаки тороз. Причем не смотря на многочисленные попытки вывести типы он всеравно остается тормозом ибо на вывод типов ни разу не заточен.
WH>Короче С++ для питона единственный способ хоть как то разогнаться.

Ну да. В том куске проги где нужна большая скорость используем С++. А все остальное на Питоне. Что в этом плохого?

WH>Но зачем нужно мешать ежа с ужем если можно обойтись одним языком?


А затем, что для разных частей системы лучше использовать разные инструменты (языки).

--
С Уважением
Posted via RSDN NNTP Server 2.0
Re[23]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 12:42
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Их куча самые важные легаси код

Это объективная проблема.

FR>и специалисты которые умеют писать компиляторы, но не видят смысла учить новый язык.

Если программист перестал развиватся то он очень быстро превращается в ламера.
И если эти "специалисты" начинают писать новый компилятор на С/С++ то в топку этих "специалистов".
И вобще Колхоза на них нет...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 13:16
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Не сказал бы так. Если языки с ПМ так сильно упрощают написание, то было бы логично именно их использовать.

http://www.rsdn.ru/article/nemerle/Amplifier.xml
Автор(ы): Чистяков Влад (VladD2)
Дата: 03.03.2007
Язык программирования Nemerle заинтересовал многих в первую очередь своей мощнейшей подсистемой мак-росов. Однако и без них Nemerle предоставляет ряд су-щественных улучшений по сравнению с традиционными, императивными языками программирования (такими как Java, C# и C++).
Nemerle, кроме традиционного императивного програм-мирования, поддерживает функциональное программи-рование. Это выражается в наличии конструкций, упро-щающих манипуляцию функциями, построение и анализ сложных структур данных и т.п.
К сожалению, если вы не использовали возможности, присущие функциональным языкам ранее, то вам будет трудно оценить, насколько Nemerle может оказаться вам полезным в реальной повседневной работе. Данная статья призвана в неформальной форме продемонс-трировать это.

В этой статье есть пример калькулятора.
Сравни C#ную версию с немерловой.
В случае с голым С все будет еще хуже.

AV>Тем более, что написанием компиляторов занимаются достаточно выкосоклассные специалисты. И они способны выбрать инструмент под задачу. Да и на рекламный булшит менее ведуться. Однако этого не наблюдается. Значит все таки не все так прекрасно. Не так ли?

Не так.
Есть только одна причина писать компилятор на С. На платформе где должен работать этот компилятор есть только С.
Да и то стоит рассмотреть вариант портирования на эту платформу чего-то помощьнее ибо может оказаться что это дешевле чем писать на С.

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

А что касается рекламы то паттерн матчинг + макросы (не путать с Сишным убожеством) это убийственно средство борьбы со сложностью.
Это факт медицинский. Достатоно разобратся в компиляторе немерла чтобы в этом убедится.

AV>Притом, что они написаны не на наследниках ML. Написаны на языках где ПМ нет. И качество их удовлетворяет подавляющее кол-во пользователей. То есть получается, что без ПМ вполне можно обойтись.

Еще раз. Это вопрос цены. Разработка на болие подходящих языках былабы значительно дешевле.

AV>То что ты не сталкивался с такими ситуациями не значит, что их не бывает вообще. Так что ты делал бы в подобной ситуации?

Еще раз. То что ты постоянно сталкиваешься с ними при работе на питоне не говорит о том что с ними постоянно сталкиваются при работе на языках которые работают со скоростью от 10 раз быстрее до 2 раз медленней чем С++.
Немерле это не питон который от 10 раз медленней чем С++.

AV>Ну да. В том куске проги где нужна большая скорость используем С++. А все остальное на Питоне. Что в этом плохого?

Плохо в этом то что:
1)Мы имеем гемор с динамикой в питоне.
2)Гемор с unsafe в С++
3)И гемор с интеграцией двух языков.

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

AV>А затем, что для разных частей системы лучше использовать разные инструменты (языки).

Это при условии что ты знаешь только С++ и питон.
А если взять немерле или даже C# или жабку то не нужно.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Успешные проекты на .NET
От: FR  
Дата: 12.06.07 13:24
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Плохо в этом то что:

WH>1)Мы имеем гемор с динамикой в питоне.
WH>2)Гемор с unsafe в С++
WH>3)И гемор с интеграцией двух языков.

Это теория. А на практике я писал достаточно много на связке питон + C++ и могу сказать что все эти гиморы из области мифов.

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


AV>>А затем, что для разных частей системы лучше использовать разные инструменты (языки).

WH>Это при условии что ты знаешь только С++ и питон.
WH>А если взять немерле или даже C# или жабку то не нужно.

С# или жабка будут по уровню сильно похуже связки питон + C++.
Re[24]: Успешные проекты на .NET
От: FR  
Дата: 12.06.07 13:30
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FR, Вы писали:


FR>>Их куча самые важные легаси код

WH>Это объективная проблема.

FR>>и специалисты которые умеют писать компиляторы, но не видят смысла учить новый язык.

WH>Если программист перестал развиватся то он очень быстро превращается в ламера.
WH>И если эти "специалисты" начинают писать новый компилятор на С/С++ то в топку этих "специалистов".
WH>И вобще Колхоза на них нет...

Угу только если бы мне нужно было набирать на работу по написанию наового компилятора, то я бы взял этого "неразвивающегося специалиста" чем пару чрезмерно развитых фанатов знающих ПМ
Re[25]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 13:33
Оценка:
Здравствуйте, FR, Вы писали:

FR>Это теория. А на практике я писал достаточно много на связке питон + C++ и могу сказать что все эти гиморы из области мифов.

А может ты просто к ним привык?

FR>С# или жабка будут по уровню сильно похуже связки питон + C++.

Не сильно особенно если взять различные волшебные библиотечки типа BLToolKit. Но с немерле этой парочке точно не тягаться.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: Успешные проекты на .NET
От: WolfHound  
Дата: 12.06.07 13:36
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Угу только если бы мне нужно было набирать на работу по написанию наового компилятора, то я бы взял этого "неразвивающегося специалиста" чем пару чрезмерно развитых фанатов знающих ПМ

Ну-ну... посмотрю я как это спец бедет соревноватся на сях с авторами немерле на немерле
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.