Re[9]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 29.09.14 07:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Предлагаю тебе сначала описать, что ты имеешь в виду под "принципы дизайна". Мне вот по Немерлу сразу понятно зачем и почему (ц). Давай ты опишешь то что ты имеешь в виду для C#, а я попробую в этом же стиле тебе тоже самое по Немерлу описать.

EP>>Для C++ (цитаты Страуструпа): ...
VD>Меня не слышат? Я же попросил "для C#".

Это так принципиально для понимания?

VD>Кроме того все приведенное — это какой-то булшит. Из него мало что можно узнать о языке.


Ещё раз, это цели и принципы дизайна, а не описание набора фич.

VD>Ну, разве что язык близкий к железу.


Легковесные абстракции над железом, так и есть

EP>>Думаю такого описания достаточно, чтобы понять о чём именно идёт речь.

VD>Это описание не плохо подходит для С, Дельфи и тучи других языков.

Это Delphi-то подходит?

* Leave no room for a lower-level language below C++ (except assembler)
* What you don’t use, you don’t pay for (zero-overhead rule).
* No gratuitous incompatibilities with C



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


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

EP>>По принципам C# у меня сложилось мнение, но описывать не буду, дабы не давать повода для возможного холивара, который был бы совершенно offtopic. Если кто-то знает официальную/каноничную картину — ссылки лишними не будут.

VD>Ну, и о чем с тобой говорить, если ты свое описание заранее оцениваешь как флеймовое?

Я не описание оцениваю как флеймовое, а то, во что тут обычно вырождается практически любой вопрос по языкам.
ОК, вот моё краткое описание:
Язык программирования для корпоративных информационных систем, опердней и всего подобного. Некоторые руководствующие принципы:
* реализация поддержки конкретных use-case'ов ASAP
* отдельная конкретная фича важнее предоставления обобщённых возможностей позволяющих её реализовать (delegate, await, linq, nullable и т.п.)
* надёжность и безопасность важнее скорости.

EP>>А причём тут wiki?

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

Ещё раз, абзац вот отсюда: nemerle.org/About
И к нему я не докапывался, а всего лишь спросил — правильно я понял из него основную идею языка.

VD>Как язык он лучше чем C# он почти всем.


То что он лучше, я не сомневаюсь. И с тем что его макросы мощная и полезная фича тоже не спорю.
Я всего лишь спрашиваю какова цель, а не сравнение feature-by-feature.

EP>>* “Things should be as simple as possible, but no simpler.” (Einstein)

VD>Гениально! Скомуниздили высказывание Энштейна и назвали это описанием концепции языка. А есть на земле вещи для которых эта концепция не является актуальной?

Конечно. Python очень простой и лаконичный язык. В C++, например, простоту часто приносят в жертву другим идеалам

VD>Остальное в том же духе. Что тебе дает этот рекламный бред?


Отчего же:

* Don’t try for perfection because “good enough” is often just that.

С другой стороны есть языки которые как раз и стремятся к perfection

EP>>* A bug in the user’s Python code should not be allowed to lead to undefined behavior of the Python interpreter; a core dump is never the user’s fault

VD>Вообще вранье. Не раз слышал о "странном поведении" Питона.

Это цель, а не утверждение.

EP>>Интересно почему именно этот набор возможностей, в какую сторону возможно развитие, а в какую нет.

VD>Набор возможностей потому что он требовался авторам и пользователям языка.

ОК, какие задачи решали авторы и пользователи языка, в каких областях, что им понадобились эти конкретные фичи?

EP>>Я предполагаю что фичи всё-таки добавлялись в соответствии с какими-то принципами, преследуя определённые идеалы, а не как в той байке

EP>>

суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы...

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

"Мощный и расширяемый язык для .NET" — это я неправильно понимаю?

VD>Вкратце можно сказать, что немерл — это C# в котором исправлены ошибки дизана, добавлена качетвенная поддержка функционального программирования и маро-система.


ОК, пока что всё сводится к тому, что это мощный язык-замена для C#, соответственно с той же областью применения — так?
Re[10]: Nemerle через 5 лет - выстрелит или скончается?
От: jazzer Россия Skype: enerjazzer
Дата: 29.09.14 07:16
Оценка: +1
Здравствуйте, Evgeny.Panasyuk, Вы писали:

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


EP>>>Для C++ (цитаты Страуструпа)

J>>Это все сводится к ровно двум вещам:
J>>1) Уметь все, что умеет Си, чтоб быть способным заменить Си в его нише
J>>2) Предоставить клевые фичи (абстракции и т.п.), если только они не будут противоречить фиче 1.
J>>Т.е. Си + абстракции.
EP>Это сейчас ниша C чётко очерчена, а в своё время, под это описание также подходил Objective-C.

Ну в пунктах выше никаких ниш не упоминается С++ старался бить Си на его же поле, где бы оно ни было

А Objective-C, все-таки, не совсем то — так слишком много динамики (т.е. рантайм-оверхеда) по сравнению с Си.
То же ООП естественным образом реализуется на Си при помощи указателей на функции (в случае виртуальных функций) и обычных функций (в случае невиртуальных) — и именно это и делается в С++, в отличие от Objective-C, где объекту передается строка, которую надо интерпретировать, с соответствующими тормозами и отсутствием проверки типов аргументов. (Справедливости ради, в K&R тоже с типами аргументов было худо, конечно — но это было до Objective-C.)
Так что Objective-C, скорее, ближе к СОМ-овскому IDispatch, чем к СОМ-овским же скоростным сишным интерфейсам.

J>>В этом смысле Немерле по отношению к шарпу точно в такой же позиции находится, имхо: шарп + макросы.

EP>То есть цель — заменить C# в его нише более мощным и гибким языком? Собственно я это и спрашивал.

Более того, ты это и процитировал с их вики

J>>ЗЫ Продвинутая макросистема никак не противоречит философии С++. По той простой причине, что она целиком compile-time.

EP>Так я же и не против продвинутых макросов (пруф
Автор: Evgeny.Panasyuk
Дата: 16.11.13
), или хотя бы чего-то эквивалентного (пруф), типа mixin в D (грубо говоря, строчка возвращённая constexpr функцией встраивается прямо в код)


Угу. Хотя мне строковые миксины не нравятся — имхо, это костыль. Реальное решение — это продвинутые макросы.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: kekekeks  
Дата: 29.09.14 07:22
Оценка: +3
DS>Это трындец. Сколько программирую, столько же считаю, что фича эдит_энд_континью — нафиг не впилась Но если нечего сказать, то можно говорить что без э.э.к. вобще нормально ничего написать нельзя
Её проблема не в ненужности, а в том, что она всё равно нормально не работает. Как только появляется LINQ-выражение, которое надо поправить, студия начинает кричать, что она так не умеет и идите перезапускаться.
Re[16]: Nemerle через 5 лет - выстрелит или скончается?
От: hi_octane Беларусь  
Дата: 29.09.14 07:41
Оценка: 216 (2) +1
B>Async/await вроде бы сделан специально для высокоуровневых вещей, где явная синхронизация не нужна, не? Ладно, допустим я ошибаюсь, проведем мысленный эксперимент — опрос среди пользователей C#: нужна ли вам поддержка lock() в асинхронных методах? С 3мя вариантами: нужна в ежедневных задачах, нужна была пару раз, ни разу не сталкивался с необходимостью. Как думаете, наберет первый вариант больше 1%?

Вопрос нужна ли фича XXX или это что-то редко используемое и в языке нафиг не сдалось, старше меня. Ещё в FIDO обсуждалось, нужны ли C или C-- (был такой), или ассемблер единственный выбор настоящего программиста. Прямо сейчас ребята из клана java доказывают что linq не нужен, и уже почти себя в этом убедили. Создатели C# сходу объяснили нам что не нужны тьюринг-полные шаблоны и множественное наследование. Самые крутые как всегда математики, они реально, наверняка неопровержимо, доказали что GOTO не нужен, всё это программирование сводится только к IF

Сила макросов в том что ты можешь сделать под конкретный проект фичи, которые нужны только тебе и только в твоём проекте. Многопоточность — вот тебе ключевые слова на каждый чих, много работы с БД — и в твоём linq появятся insert, update, delete, commit, rollback, aggregate, count и т.п. Работаешь с JSON/REST — и у тебя вместо жуткого набивания динамиков возможность описать кусок json прямо в твоём коде, и т.д. и т.п. И какую фичу не возьми — она не то что каждому программисту, она одному и тому же программисту <1% проектов нужна будет.
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 29.09.14 07:47
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>В этом смысле Немерле по отношению к шарпу точно в такой же позиции находится, имхо: шарп + макросы.

EP>>То есть цель — заменить C# в его нише более мощным и гибким языком? Собственно я это и спрашивал.
J>Более того, ты это и процитировал с их вики

Там написано что Nemerle мощнее C#, и что можно использовать его как продвинутый C#. Но из этого не следует что целью была только замена C#.

J>Угу. Хотя мне строковые миксины не нравятся — имхо, это костыль. Реальное решение — это продвинутые макросы.


Да, костыль, самый примитивный, зато мощный. Прикидывая когда продвинутые макросы смогут к нам добраться (C++2y? C++3y?? C++4y!?!?!), я бы не отказался от такого костыля сейчас, тем более гипотетическим продвинутым макросам он никак не помешает.
Re[16]: Nemerle через 5 лет - выстрелит или скончается?
От: hi_octane Беларусь  
Дата: 29.09.14 08:09
Оценка: 1 (1) +1
К>Я уже много лет пишу async-await код, мутексы понадобились всего пару раз за это время в очень странных случаях, как например background audio agent для windows phone — по-моему это говорит о том, что у афтаров получилось.

Эта действительно частный пример узкоспециализированной фичи, нужной в одном проекте. А вот ещё редкая фича:
virtual void Initialize()
{
//такое объявление уходит в тело класса
//но сама переменная видна только внутри этой функции и её наследниках (если protected)
private bool initialized = false; 
if(initialized)
    return;
}


Может всего пару раз на проект нужны такие переменные которые видны в одном конкретном методе. Удобно? Ну конечно. В общем попытайся обобщить идею на разные проекты и разные фичи.

К>Забыли функциональный метод:

К>По-моему наглядный, и ничего не мешает?

Я всё-таки предпочитаю using(await lockable), который в dispose отпускается. Но это всё костыли, от недостатка нормальных решений.
Отредактировано 29.09.2014 8:09 hi_octane . Предыдущая версия .
Re[9]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 29.09.14 08:17
Оценка:
Здравствуйте, VladD2, Вы писали:

EP>>А для Nemerle основная идея-то какая? Сделать язык с кучей фич и "лучше C#"?

VD>Хороший подход!

Собственно я и предполагал что так оно и есть, спасибо что подтвердил.

VD>Можно продолжить этот ряд.

VD>Порш — это автомобиль с кучей фич и лучше чем Жигули.
VD>Суперджет — это самолет с кучей фич и лучше чем Як-42.
VD>Ну, да. Все так. Только эта куча фич и отличает Порш от Жугулей и Суперджет от Як-42.

Конечно можно, и принципов-то ведь никаких не было, ни у Порша, ни у Суперджета — были только, как ты говоришь, "рекламный бред", "агитки" и "булшит". А фичи добавлялись спонтанно, ничем не руководствуясь, без всякой цели.
Вообще, если взять Жигули, начать добавлять рандомные фичи, то ведь обязательно получится Порш — так?
Re[6]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 09:10
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Большое количество комитов показывает, что над проектом работают. Раз так, твои рассуждения:

VD>

VD>Пациент скорее мертв чем жив, потому что основные майнтейнеры занялись более другими делами.

VD>высосаны из пальца.

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


VD>Зачем ты ходишь на этот форум, если от тебя кроме флуда и флейма ничего нет?


Зачем ты повторяешь этот вопрос ? Ответ был даден много раз, ничего не изменилось.
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 09:21
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>Правда несколько отличается от твоих фантазий. C# имеет только два реальных преимущества перед Nemerle на сегодня:

VD>>>1. Скорость компиляции.
VD>>>2. Поддержка Edit and continue.

I>>Внятный рефакторинг нужен вне зависимости от парадигмы


VD>Какая связь моей цитаты и этого утверждения?


В преимущества C# нужно добавить наличие полноценных тулов почти на все случаи жизни.

VD>>>Решарпер — отличный продукт и многие откровенные косяки шарпа сглаживает, но мы почему-то предпочитаем писать сложный код на Nemerle.

I>>Сколько лично ты подготовил студентов на немерле ? Сколько вообще студентов у вас использует немерле ?

VD>Опять не вижу связи. У меня не было такой задачи.


Раз тебе не хватает только рекламы, то это значит что язык готов для индустрии. Подготовка специалистов "на вырост" это важный аспект индустрии. Покажи как этот аспект работает в Немерле. На этот раз очень желательно без аргументов в духе "не то мироустройство"
Re[17]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 09:50
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Создание лямбды и её вызов ничтожны по сравнению с асинхронной операцией. Более того — ничтожны даже сравнивая со временем переключения контекста.
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 09:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вы так говорите, как будто — этого мало.


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


На рынке доля лиспа далеко за гранью статистической погрешности. Это и есть "вет большую часть языков как Тузик грелку" ?
Re[9]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 09:56
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Порш — это автомобиль с кучей фич и лучше чем Жигули.

VD>Суперджет — это самолет с кучей фич и лучше чем Як-42.

VD>Ну, да. Все так. Только эта куча фич и отличает Порш от Жугулей и Суперджет от Як-42.


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

Отсюда ясно, что добавляя по фиче в жигули и як-42 никогда не получишь ни порш, ни суперджет.
Re[9]: Nemerle через 5 лет - выстрелит или скончается?
От: BoobenCom  
Дата: 29.09.14 11:21
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Evgeny.Panasyuk, Вы писали:


EP>>А для Nemerle основная идея-то какая? Сделать язык с кучей фич и "лучше C#"?


VD>Хороший подход! Можно продолжить этот ряд.


VD>Порш — это автомобиль с кучей фич и лучше чем Жигули.

VD>Суперджет — это самолет с кучей фич и лучше чем Як-42.

VD>Ну, да. Все так. Только эта куча фич и отличает Порш от Жугулей и Суперджет от Як-42.


Порш ездит быстрее жигулей в несколько раз.
А суперджет летает быстрее як-42 в несколько раз.

А вот программы на Немерле будут быстрее работать чем на C# ?

PS: Вообще я за то, чтобы проект пилили и дальше. Тем более у вас уже есть финансирование.
А чего еще нужно, чтобы тихой неспешной сапкой проверять гипотезы, по вечерам попивая пивко ?
Re[12]: Nemerle через 5 лет - выстрелит или скончается?
От: BoobenCom  
Дата: 29.09.14 11:24
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>На рынке доля лиспа далеко за гранью статистической погрешности. Это и есть "вет большую часть языков как Тузик грелку" ?


Ну не скажите. Лисп чуть ли не самый старейший из высокоуровневых языков в мире и пережил всякие там фортраны, коболы и прочье.
В приличных вузах, как минимум, вполне себе преподается.
Re[13]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 12:38
Оценка:
Здравствуйте, BoobenCom, Вы писали:

I>>На рынке доля лиспа далеко за гранью статисти\ческой погрешности. Это и есть "вет большую часть языков как Тузик грелку" ?


BC>Ну не скажите. Лисп чуть ли не самый старейший из высокоуровневых языков в мире и пережил всякие там фортраны, коболы и прочье.

BC>В приличных вузах, как минимум, вполне себе преподается.

Где он на рынке ?
Re[14]: Nemerle через 5 лет - выстрелит или скончается?
От: BoobenCom  
Дата: 29.09.14 13:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>На рынке доля лиспа далеко за гранью статисти\ческой погрешности. Это и есть "вет большую часть языков как Тузик грелку" ?


BC>>Ну не скажите. Лисп чуть ли не самый старейший из высокоуровневых языков в мире и пережил всякие там фортраны, коболы и прочье.

BC>>В приличных вузах, как минимум, вполне себе преподается.

I>Где он на рынке ?


Не у всех языках миссия оккупировать рынок.
Достаточно что он уже 50 лет "на слуху".
И проектов хватает.
Можно поиграться с статистикой популярности для разных технологий на разных ресурсов здесь:
http://booben.com/Stat?q=%D0%BB%D0%B8%D1%81%D0%BF%20%D1%88%D0%B0%D1%80%D0%BF
Re[15]: Nemerle через 5 лет - выстрелит или скончается?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.09.14 13:18
Оценка:
Здравствуйте, BoobenCom, Вы писали:

BC>Не у всех языках миссия оккупировать рынок.

BC>Достаточно что он уже 50 лет "на слуху".
BC>И проектов хватает.

Когда проектов хватает это проявляется в виде вакансий.
Re[16]: Nemerle через 5 лет - выстрелит или скончается?
От: BoobenCom  
Дата: 29.09.14 13:30
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


BC>>Не у всех языках миссия оккупировать рынок.

BC>>Достаточно что он уже 50 лет "на слуху".
BC>>И проектов хватает.

I>Когда проектов хватает это проявляется в виде вакансий.


Вакансий действительно мало, но они есть.
Даже не в США, а в Москве

http://hh.ru/vacancy/9185449
Re[15]: Nemerle через 5 лет - выстрелит или скончается?
От: WolfHound  
Дата: 29.09.14 14:25
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Для генерации и парсинга C++ нитра уже пригодна. Остается только написать грамматику C++. Те же квази-цитаты будут из каробки доступны. Вот типизацию придется подождать.

Ты очень оптимистичен.
В С++ есть препроцессор.
А вот что на нём творят:
http://www.boost.org/doc/libs/1_56_0/libs/preprocessor/doc/index.html
Посмотри примеры.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: bazis1 Канада  
Дата: 29.09.14 17:16
Оценка:
Здравствуйте, VladD2, Вы писали:

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


B>>Да-да-да, с таким подходом немерле обязательно взлетит, обретет много новых пользователей и обгонит C# по популярности. Удачи...


VD>В таким как ты никакой подход не подходит. По сему тратить время просто глупо.

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