Re: Nemerle через 5 лет - выстрелит или скончается?
От: kurchatov  
Дата: 08.10.14 15:11
Оценка:
> Nemerle через 5 лет — выстрелит или скончается?

Выстрелит себе в голову
Re[56]: Nemerle через 5 лет - выстрелит или скончается?
От: jazzer Россия Skype: enerjazzer
Дата: 08.10.14 15:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


WH>>> http://rsdn.ru/forum/nemerle/5811981.1
Автор: WolfHound
Дата: 08.10.14

WH>>>Объясни, как компилятор поймет, что нужно щелкать счётчиком ссылок 2, а не 4 раза?
J>>Почитай что-нибудь про move-конструкторы, знаток вместе взятых.
WH>Я знаю, что такое move-конструкторы. Я их еще до С++11 делал.
WH>А теперь давай разбери конкретный пример.
WH>Как тут поможет move-конструктор.
WH>Подсказка: move-конструктор тут использовать нельзя от слова совсем.

"Конкретный пример" по ссылке выше? Я ничего в нем не понял, сорри. Если не секрет, что он делает?

J>>Вот-вот, знакомая песня про мифический софт, который у кого-то (у тебя?) в продакшене падает.

J>>У нас вот ничего не падает уже который год, и мы смотрим на тебя с недоумением.
J>>Что-то мы явно делаем не так.
WH>Тот софт который писал лично я тоже не падает.
WH>Но про большинство других разработчиков я это, к сожалению, сказать не могу.

Т.е. смотри — у меня не падает, у тебя не падает, у Евгения не падает, у еще доброго десятка С++ программеров в соответствующем форуме тоже не падает. Но стоит теме С++ всплыть в форуму по Немерле — и всё начинает падать, аки перезрелый виноград.
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[52]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 08.10.14 15:33
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

_>>Собственно ничего. Ну или с другой стороны всё, но в таком случае оно и к C# относится (у нас же там имеется unsafe, не так ли?).

WH>Его отдельно включать надо.

Угу, когда не хватает производительности или нужного доступа. А вот мне на C++ включать "режим C" вообще не надо, т.к. всего хватает на нормальном уровне абстракций. )

_>>Для начала тогда уж std::atomic, а не эта хрень из win api.

WH>Не важно. Уверен, что std::atomic на винде через эту хрень и работает.
WH>Ну, или эту хрень туда тупо скопипастили.

Мдаааааааааа...

А ты например в курсе про x86 инструкцию CMPXCHG и то, как она используется для синхронизации в современном C/C++? )

_>>Ну а потом собственно причём тут это? Мы говори о нулевом оверхеде неких абстракций. А здесь у нас совсем не абстракция, а прямая функциональность — синхронизация. Так что само понятие оверхед тут не применимо, т.к. ресурсы тратятся не на реализацию абстракции, а на "дело". Ну или ты хочешь сказать, что можешь привести случаи, когда в C++ синхронизация нужна, а в том же случае в C# не нужна? )

WH>
WH>class Foo
WH>{
WH>  Baz baz;
WH>  void Bar()
WH>  {
WH>    var localBaz = new Baz();//раз
WH>    baz = localBaz;//два
WH>    //три
WH>  }
WH>  //удаление Foo четыре
WH>}
WH>

WH>В C# не нужно ни разу.

И что должна означать этот код? ) Я не вижу какое он вообще имеет отношение к вопросам синхронизации.
Re[54]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 08.10.14 15:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

EP>>Если прям стоит задача минимизировать лишние передёргивания, то можно запретить неявные копии и оставить только явные move или copy — в любой непонятной ситуации компилятор будет задавать вопрос.

WH>Ну, так я и говорю, что тебе придётся всё это руками выписывать.

Не всё, а только в тех вариантах где возможна копия. Там где возможны только move — неявные move пусть вызываются.

EP>>Это уже вопрос к корректности, надёжности, тестированию, а не к производительности.

WH>Если на асме каждую инструкцию отполировать будет ещё быстрее.

Да, и?

EP>>Как-будто конкуренция куда-то делась

EP>>

EP>>Continuously Concurrent Compacting Collector

WH>Не стоит отвечать на одно слово.
WH>В данном случае это слово означает, что stop-the-world не бывает вообще.

Действительно не стоит, речь ведь шла не только про stop-the-world, но и про прочие GC радости
А уж какие там конкретно GC радости в замену нескольких атомарных передёргиваний счётчика — рояли не играет.

EP>>Это опыт реальных проектов. Как ты говорил "уж поверь практикам".

WH>У меня С++ного опыта тоже не мало.

И что, прям весь код был заселён ref-counting'ом, и он там был действительно к месту?

EP>>При этом не отрицаю что есть некоторые задачи где время жизни определяется внешними факторами. А иногда даже таким способом, что возможны жёсткие циклы в графе зависимостей.

WH>Во-во. Распутать клубок зависимостей в нитре у меня при всём желании не получится.
WH>Хотя конечно можно сложить каждый отдельный клубок в собственный пул.

Можно и так, а при желании можно и GC — C++ -то позволяет Для некоторых задач GC действительно удобнее всего, но таких задач крайне мало.

EP>>P.S. Кстати, а есть ли готовая возможность в Nemerle для освобождения ресурса, как только все ссылки на него выйдут из scope? using'и или их аналоги тут не особо помогают:

WH>Я и на С++ так никогда не писал.

Конечно здорово, но это не ответ на вопрос. Если ничего готового нет — то ок, с prompt finalization проблемы
Re[57]: Nemerle через 5 лет - выстрелит или скончается?
От: WolfHound  
Дата: 08.10.14 15:54
Оценка:
Здравствуйте, jazzer, Вы писали:

J>"Конкретный пример" по ссылке выше? Я ничего в нем не понял, сорри. Если не секрет, что он делает?

Не понял, а отправляешь меня читать TFM. Не хорошо.
Создаёт локальную переменную и присваивает её полю объекта.

J>Т.е. смотри — у меня не падает, у тебя не падает, у Евгения не падает, у еще доброго десятка С++ программеров в соответствующем форуме тоже не падает. Но стоит теме С++ всплыть в форуму по Немерле — и всё начинает падать, аки перезрелый виноград.

Проблема в том что на предыдущих работах где очень много чего было на С++ у большинства коллег всё регулярно падало.
Я тоже далеко не сразу научился писать, так чтобы не падало.
Тех кто умеет писать на С++ так чтобы не падало очень не много.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[55]: Nemerle через 5 лет - выстрелит или скончается?
От: WolfHound  
Дата: 08.10.14 16:08
Оценка: +1
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Не всё, а только в тех вариантах где возможна копия. Там где возможны только move — неявные move пусть вызываются.

Их не так много.
1)Передача объекта в функцию. Но для этого обычно используются константные ссылки.
2)Возвращение из функции свеже созданного объекта или локальной переменной.

EP>>>Это уже вопрос к корректности, надёжности, тестированию, а не к производительности.

WH>>Если на асме каждую инструкцию отполировать будет ещё быстрее.
EP>Да, и?
И сколько времени у тебя на это уйдёт?

EP>Действительно не стоит, речь ведь шла не только про stop-the-world, но и про прочие GC радости

EP>А уж какие там конкретно GC радости в замену нескольких атомарных передёргиваний счётчика — рояли не играет.
Это ещё большой вопрос.

EP>И что, прям весь код был заселён ref-counting'ом, и он там был действительно к месту?

Разные проекты были. Был такой, где действительно всё было засалено этой субстанцией. И иначе было нельзя.

EP>Можно и так, а при желании можно и GC — C++ -то позволяет Для некоторых задач GC действительно удобнее всего, но таких задач крайне мало.

Это не ГЦ. Это говно.
Нормальный ГЦ С++ не позволяет.

EP>Конечно здорово, но это не ответ на вопрос. Если ничего готового нет — то ок, с prompt finalization проблемы

Ты первый кто её просит. А раз никто не просит то никто и не делает.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[53]: Nemerle через 5 лет - выстрелит или скончается?
От: WolfHound  
Дата: 08.10.14 16:11
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Угу, когда не хватает производительности или нужного доступа. А вот мне на C++ включать "режим C" вообще не надо, т.к. всего хватает на нормальном уровне абстракций. )

Не правильно. Ты его тупо отключить не можешь.

_>Мдаааааааааа...

Сам такой.

_>А ты например в курсе про x86 инструкцию CMPXCHG и то, как она используется для синхронизации в современном C/C++? )

А интерлокеды что, по-твоему, делают?

_>И что должна означать этот код? ) Я не вижу какое он вообще имеет отношение к вопросам синхронизации.

Прямое. Я посчитал сколько раз С++ щёлкнет счётчиком ссылок.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[58]: Nemerle через 5 лет - выстрелит или скончается?
От: jazzer Россия Skype: enerjazzer
Дата: 08.10.14 16:19
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

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


J>>"Конкретный пример" по ссылке выше? Я ничего в нем не понял, сорри. Если не секрет, что он делает?

WH>Не понял, а отправляешь меня читать TFM. Не хорошо.
WH>Создаёт локальную переменную и присваивает её полю объекта.

И всё? А зачем там тогда вообще локальная переменная? Почему нельзя присвоить/поменять поле объекта напрямую?
Плюс поле у тебя, вроде как, по значению хранит объект, а локальная переменная — по указателю в кучу.
Или там везде указатели на самом деле?
В общем, я не понимаю смысла этого кода. На С++ он смысла не имеет, тупо не скомпилируется. Не хорошо (с).

ЗЫ Раз ты знаешь, что такое move-constructor, то ты ведь и про move-assignment Тоже, наверняка, знаешь?

J>>Т.е. смотри — у меня не падает, у тебя не падает, у Евгения не падает, у еще доброго десятка С++ программеров в соответствующем форуме тоже не падает. Но стоит теме С++ всплыть в форуму по Немерле — и всё начинает падать, аки перезрелый виноград.

WH>Проблема в том что на предыдущих работах где очень много чего было на С++ у большинства коллег всё регулярно падало.
WH>Я тоже далеко не сразу научился писать, так чтобы не падало.
WH>Тех кто умеет писать на С++ так чтобы не падало очень не много.

Ну хз. Мне везет, наверное. К нам один раз только попало такое чудо в команду — его быстро перевели в скрипто-писатели (и при первой же возможности уволили, ессно). Ну так он и на Питоне "с GC и лямбдами" умудрялся так овнокодить, что потом еще пару лет разгребали за ним его скрипты, и они вдруг начинали работать 5 минут вместо 2 часов (серьезно, так и было). Так что, имхо, тут не в языке проблемы обычно. Программер, у которого падают программы на С++, будет генерить глюкалово на любом языке.
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[59]: Nemerle через 5 лет - выстрелит или скончается?
От: WolfHound  
Дата: 08.10.14 16:35
Оценка:
Здравствуйте, jazzer, Вы писали:

J>И всё? А зачем там тогда вообще локальная переменная? Почему нельзя присвоить/поменять поле объекта напрямую?

Это минимальный пример воспроизводящий проблему.
В реальности там может быть намного больше кода. Просто я его не написал, ибо к проблеме он отношения не имеет.

Это можно считать профессиональной привычкой. Ибо отладить баг компилятора на маленьком примере намного проще, чем на большом. Так что я сразу сжимаю примеры до минимума.

J>Плюс поле у тебя, вроде как, по значению хранит объект, а локальная переменная — по указателю в кучу.

J>Или там везде указатели на самом деле?
В .НЕТ это зависит от типа объекта.

J>ЗЫ Раз ты знаешь, что такое move-constructor, то ты ведь и про move-assignment Тоже, наверняка, знаешь?

Знаю. Но при присвоении одной переменной другой его использовать нельзя.

J>Ну хз. Мне везет, наверное. К нам один раз только попало такое чудо в команду — его быстро перевели в скрипто-писатели (и при первой же возможности уволили, ессно). Ну так он и на Питоне "с GC и лямбдами" умудрялся так овнокодить, что потом еще пару лет разгребали за ним его скрипты, и они вдруг начинали работать 5 минут вместо 2 часов (серьезно, так и было). Так что, имхо, тут не в языке проблемы обычно. Программер, у которого падают программы на С++, будет генерить глюкалово на любом языке.

У меня пока меленький был тоже падали. Уверен, что и у тебя падали.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[54]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 08.10.14 17:12
Оценка:
Здравствуйте, WolfHound, Вы писали:

_>>А ты например в курсе про x86 инструкцию CMPXCHG и то, как она используется для синхронизации в современном C/C++? )

WH>А интерлокеды что, по-твоему, делают?

Для начале это функции win api, со всеми вытекающими последствиями для быстродействия... Ну а внутри там насколько я помню xadd.

_>>И что должна означать этот код? ) Я не вижу какое он вообще имеет отношение к вопросам синхронизации.

WH>Прямое. Я посчитал сколько раз С++ щёлкнет счётчиком ссылок.

Ээээ, а там где-то в этом коде находятся сущности работающие по принципу подсчёта ссылок? ) И как я должен был об этом догадаться по такому коду?

И главное, а зачем они там собственно? )
Re[2]: Nemerle через 5 лет - выстрелит или скончается?
От: Trrrrr  
Дата: 08.10.14 17:31
Оценка:
А можете пояснить чего вам там не хватало?
Вот очень интересно.
Лично я когда писал диплом, я настолько плохо понимал программирование, что делать какие либо выводы не стал бы.
Хоть к тому времени я уже год как работал, а это отрезвляет после домашнего кодинга.
Re[44]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.14 19:41
Оценка: 9 (1)
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>В вопросах производительности не имеет особого смысла рассматривать выделение памяти отдельно от освобождения.


А что с ним не так? В средах с GC освобождение памяти бесплатно. Наоборот, платить приходится за живые объекты (временем затрачиваемым на построение графа живых объектов и дефрагментацию кучи).

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

EP>Но да, есть случаи, как уже выше сказал alex_public, где стандартный аллокатор управляемых языков будет быстрее стандартных new/delete C++


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

EP>Вот только нужно не забывать, что C++ это не только преимущества в скорости, но ещё и в гибкости.

EP>На C# — шаг влево, шаг вправо и упираешься в забор
Автор: Evgeny.Panasyuk
Дата: 03.11.13
, в результате код получается более многословный.


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

Но это по сравнению с C#. А Nemerle, который мы тут обсуждаем этих недостатков не имеет. Он значительно гибче плюсов, и за это не нужно платить неудобствами в повседневной жизни. Он более удобен чем C# и гибче чем C++. Проблемы по ссылки выше в Nemerle просто нет. Но это мелочи.

EP>Обобщённый код (это даже не метапрограммирование) на C++ получается разы короче и проще.


Ну, это преувеличение. Проще писать как раз на C#. C# обладает всегда достаточной гибкость. Но случаи когда ее не хватает не так уж часты. И определяются они неализаций дженериков в донтете. В C++ шаблоны — это по сути препроцессор. Работает он на базе АСТ и облачен в форму обобщений, но реализация именно препроцессорая. В дотнете же дженерики — это первокласная сущность доступная в рантайме. Это позволяет хранить обобщенный код в библиотеках.

Недостаток же гибкости компенсируется использованием функций высшего порядка.

У Nemerle же и эти недостатки дотнета компенсируются еще и макросами. Шаблоны C++ можно рассматривать как подмножество макросов Nemerle. На макросах Nemerle можно сделать все что можно сделать на шаблонах C++ и много чего еще, что шаблонам C++ недоступно. Причем даже если одно и то же можно сделать и на шаблонах, и на макроса, то решение на макросах, обычно, будет более качественным за счет более тесной интеграции с компилятором.

EP>Вот например, на Python можно сделать так (будет работать для любых типов имеющих соответствующие операторы):...

EP>Аналог на C++:
EP>
EP>auto add = [](auto x, auto y)
EP>{
EP>    return x + y;
EP>};
EP>auto sub = [](auto x, auto y)
EP>{
EP>    return x - y;
EP>};
EP>auto apply = [](auto f, auto... args)
EP>{
EP>    return f(args...);
EP>};
EP>print(apply(apply, apply, apply, add, 1, 2));
EP>print(apply(apply, apply, sub, 11, 2));
EP>


EP>На C# будет облом.


Забавный финт ушами. Ничего не скажешь. В C# его можно попытаться воспроизвести на dynamic-ах, но там куча проблем, так что оно точно не будет простым и быстрым. Переменное число параметров в дотнете и C# поддерживается, но типы всех параметров должны быть одинаковы. Кроме того есть проблемы с приведением методов к делегатам. Это надо делать явно.

Вот только это довольно надуманный пример. На практике он мало что дает.

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

Пишется вот такой макрос:
macro apply(f, params args : array[PExpr])
{
  <[ $f(..$args) ]>
}

В макросах тоже поддерживается список параметров, но типы аргументов не важны, так как в данном случае работа идет с кодом (AST-ом), а не со значениями. Таким образом, как и в C++, в Nemerle apply "раскроется" во время компиляции и породит нужный код.

Вот код использования:
using System.Console;

module Program
{
  Main() : void
  {
    
    WriteLine(apply(apply, apply, apply, _ + _, 1, 2));
    WriteLine(apply(apply, apply, _ - _, 11, 2));
    _ = ReadLine();
  }
}


EP>И, что-то мне подсказывает, если это и получится на Nemerle, то не так складно, ибо система типов .NET — примитивней

EP>Ожидаю блаб-объяснений что это и не нужно, потому что можно без этого

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

Я не просто так говорю, что Nemerle мощнее C++ и всех остальных мэйнстрим-языков. Я бы не сменил C++ на C#, а потом C# на Nemerle, если бы на то не было бы весомых оснований. Так что лучше пытаться тягаться длинной пенисов (у меня все равно он длиннее окажется ), а заняться изучением того что ты решил покритиковать. По крайней мере критика станет конструктивнее, да интересные знания лишними не бывают.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Nemerle через 5 лет - выстрелит или скончается?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.10.14 20:52
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Не лучше ли взглянуть на комиты:

VD>https://github.com/rsdn/nemerle/commits/

Сорри что встреваю, но вот как раз что то количество коммитов совсем не впечатляет. Для сранения коммиты по rsdn.ru с начала сентября (для информации — занимаюсь сайтом только я в свободное от работы время по чуть чуть).
  Скрытый текст

Tuesday, October 7, 2014

New quota format in testbed
ad8d70 by andrewvk <avk@rsdn.ru>, Tuesday
Monday, October 6, 2014

New quota format in testbed
0eb55c by andrewvk <avk@rsdn.ru>, Monday
Sunday, October 5, 2014

Linq2db update
498a3a by andrewvk <avk@rsdn.ru>, Sunday
Friday, October 3, 2014

Fix poll list
a47728 by andrewvk <avk@rsdn.ru>, 10/3/2014

Fix subscription, fix broken links
5a7a9d by andrewvk <avk@rsdn.ru>, 10/3/2014

Working on NNTP provider update
438089 by andrewvk <avk@rsdn.ru>, 10/3/2014
Thursday, October 2, 2014

Update Nemerle.xml
99431d by andrewvk <avk@rsdn.ru>, 10/2/2014

Fix subscription
1c6848 by andrewvk <avk@rsdn.ru>, 10/2/2014
Wednesday, October 1, 2014

Fix subscription
b89f74 by andrewvk <avk@rsdn.ru>, 10/1/2014
Tuesday, September 30, 2014

Activate new poll list
743a69 by andrewvk <avk@rsdn.ru>, 9/30/2014

Fix title script
2edabc by andrewvk <avk@rsdn.ru>, 9/30/2014

Fix RSDN-37
3e1004 by andrewvk <avk@rsdn.ru>, 9/30/2014
Sunday, September 28, 2014

Fix script
66f6ee by andrewvk <avk@rsdn.ru>, 9/28/2014

Block title update for side frames
3651ff by andrewvk <avk@rsdn.ru>, 9/28/2014

Limit posting by user rate
844e4f by andrewvk <avk@rsdn.ru>, 9/28/2014

Fix moderator UI. Working on new poll list
df4e00 by andrewvk <avk@rsdn.ru>, 9/28/2014
Saturday, September 27, 2014

Replace Vote.aspx by new poll control.
1b1968 by andrewvk <avk@rsdn.ru>, 9/27/2014

Sort in poll control
657e41 by andrewvk <avk@rsdn.ru>, 9/27/2014

Sort in poll control
75bdbe by andrewvk <avk@rsdn.ru>, 9/27/2014

Sort in poll control
0f9a93 by andrewvk <avk@rsdn.ru>, 9/27/2014

Sort in poll control
fdb8aa by andrewvk <avk@rsdn.ru>, 9/27/2014

Replace Vote.aspx by new poll control.
b1f7e8 by andrewvk <avk@rsdn.ru>, 9/27/2014

Poll control improvements. Replace Vote.aspx by new poll control.
145348 by andrewvk <avk@rsdn.ru>, 9/27/2014
Friday, September 26, 2014

New format testbed
5f3284 by andrewvk <avk@rsdn.ru>, 9/26/2014

Table styles
3fb019 by andrewvk <avk@rsdn.ru>, 9/26/2014

New format testbed
57238e by andrewvk <avk@rsdn.ru>, 9/26/2014

Fix formatter bug on empty links
f9426c by andrewvk <avk@rsdn.ru>, 9/26/2014
Thursday, September 25, 2014

Quotations in format testbed
bd1739 by andrewvk <avk@rsdn.ru>, 9/25/2014

Quotations in format testbed
c90a8e by andrewvk <avk@rsdn.ru>, 9/25/2014

Fix mod bug
55950d by andrewvk <avk@rsdn.ru>, 9/25/2014

Moderator UI separation from admin
cd071d by andrewvk <avk@rsdn.ru>, 9/25/2014

Moderator UI separation from admin
008c93 by andrewvk <avk@rsdn.ru>, 9/25/2014

New format testbed
7825ce by andrewvk <avk@rsdn.ru>, 9/25/2014
Wednesday, September 24, 2014

Moderator UI separation from admin
8e2ef2 by andrewvk <avk@rsdn.ru>, 9/24/2014

Small fixes
556563 by andrewvk <avk@rsdn.ru>, 9/24/2014
Tuesday, September 23, 2014

Hot tab in mainlist
badf09 by andrewvk <avk@rsdn.ru>, 9/23/2014

Mainlist improvements.
11f9e9 by andrewvk <avk@rsdn.ru>, 9/23/2014
Monday, September 22, 2014

Virtual keyboard
1ab4d8 by andrewvk <avk@rsdn.ru>, 9/22/2014

Fix editor script
d11d42 by andrewvk <avk@rsdn.ru>, 9/22/2014

Update frameset title in all new pages layout, refactoring
c70722 by andrewvk <avk@rsdn.ru>, 9/22/2014

Fix caching issue in IE
5a8155 by andrewvk <avk@rsdn.ru>, 9/22/2014

Small fix
07f980 by andrewvk <avk@rsdn.ru>, 9/22/2014

Fix script
1e316a by andrewvk <avk@rsdn.ru>, 9/22/2014

Fix urls, drop old mainlist
372d86 by andrewvk <avk@rsdn.ru>, 9/22/2014
Sunday, September 21, 2014

Mainlist improvements.
8e47ae by andrewvk <avk@rsdn.ru>, 9/21/2014

Script fix
eb1cf9 by andrewvk <avk@rsdn.ru>, 9/21/2014

Mainlist improvements.
2a0bd2 by andrewvk <avk@rsdn.ru>, 9/21/2014

Working on new poll list
510234 by andrewvk <avk@rsdn.ru>, 9/21/2014

Working on new poll list
9a1520 by andrewvk <avk@rsdn.ru>, 9/21/2014

Working on new poll list, mainlist fix
f779a4 by andrewvk <avk@rsdn.ru>, 9/21/2014

Working on new poll list
6509b9 by andrewvk <avk@rsdn.ru>, 9/21/2014

Small mainlist fix
87b164 by andrewvk <avk@rsdn.ru>, 9/21/2014

Fix poll edit bug
5256e1 by andrewvk <avk@rsdn.ru>, 9/21/2014
Saturday, September 20, 2014

Small fixes
8c3b5f by andrewvk <avk@rsdn.ru>, 9/20/2014

Mainlist autorefresh
881ffc by andrewvk <avk@rsdn.ru>, 9/20/2014

Admin UI improvements, dbproj update
9548fb by andrewvk <avk@rsdn.ru>, 9/20/2014

Mainlist autorefresh
116617 by andrewvk <avk@rsdn.ru>, 9/20/2014

Mainlist autorefresh
cb8912 by andrewvk <avk@rsdn.ru>, 9/20/2014

Preview in mainlist
614564 by andrewvk <avk@rsdn.ru>, 9/20/2014

Alt + number guard in message editor
4216fb by andrewvk <avk@rsdn.ru>, 9/20/2014

SiteSubj/NotSiteSubj tabs in mainlist
9098e4 by andrewvk <avk@rsdn.ru>, 9/20/2014

Track ajax by ga
b32f7e by andrewvk <avk@rsdn.ru>, 9/20/2014

Forum filter UI improvements
5acd07 by andrewvk <avk@rsdn.ru>, 9/20/2014

Mistyping
03d153 by andrewvk <avk@rsdn.ru>, 9/20/2014

Forum filter UI in mainlist
7e989d by andrewvk <avk@rsdn.ru>, 9/20/2014

Flag styles
608274 by andrewvk <avk@rsdn.ru>, 9/20/2014
Friday, September 19, 2014

Colors in mainlist
45330c by andrewvk <avk@rsdn.ru>, 9/19/2014

Colors in mainlist
549bdb by andrewvk <avk@rsdn.ru>, 9/19/2014

Fix script
421eff by andrewvk <avk@rsdn.ru>, 9/19/2014

Page size in mainlist
37bef2 by andrewvk <avk@rsdn.ru>, 9/19/2014

Fix editor tooltips
cab160 by andrewvk <avk@rsdn.ru>, 9/19/2014

New mainlist improvements. Redirect from old MainList.
d5e1d3 by andrewvk <avk@rsdn.ru>, 9/19/2014

Admin UI improvements
aba6f2 by andrewvk <avk@rsdn.ru>, 9/19/2014
Thursday, September 18, 2014

Update dbproj
7fd304 by andrewvk <avk@rsdn.ru>, 9/18/2014

Revert "Country image links tmp fix"...
b56109 by andrewvk <avk@rsdn.ru>, 9/18/2014

Fix routing
1aa973 by andrewvk <avk@rsdn.ru>, 9/18/2014

Working on new mainlist
b106e8 by andrewvk <avk@rsdn.ru>, 9/18/2014

Mainlist layout
24057c by andrewvk <avk@rsdn.ru>, 9/18/2014

Mainlist layout
d6c6c5 by andrewvk <avk@rsdn.ru>, 9/18/2014

Country image links tmp fix
d286c2 by andrewvk <avk@rsdn.ru>, 9/18/2014

Working on new mainlist
050861 by andrewvk <avk@rsdn.ru>, 9/18/2014

Working on new mainlist
1e3e4d by andrewvk <avk@rsdn.ru>, 9/18/2014
Wednesday, September 17, 2014

Add gravatar and country to janus ws
23574d by andrewvk <avk@rsdn.ru>, 9/17/2014

Delete old forum search
e523b7 by andrewvk <avk@rsdn.ru>, 9/17/2014

Fix rate base svc
bb1cb5 by andrewvk <avk@rsdn.ru>, 9/17/2014

Src encoding
78f265 by andrewvk <avk@rsdn.ru>, 9/17/2014

Flat mode performance
e3dad5 by andrewvk <avk@rsdn.ru>, 9/17/2014

Country dispersion
d6b4ce by andrewvk <avk@rsdn.ru>, 9/17/2014

Fix country cache
c9bb45 by andrewvk <avk@rsdn.ru>, 9/17/2014

Fix country cache
25fb2f by andrewvk <avk@rsdn.ru>, 9/17/2014
Tuesday, September 16, 2014

Admin UI improvements
1a2c65 by andrewvk <avk@rsdn.ru>, 9/16/2014

Admin UI improvements
36323a by andrewvk <avk@rsdn.ru>, 9/16/2014

Country recognition fixes
e421b8 by andrewvk <avk@rsdn.ru>, 9/16/2014

Country recognition improvements
a0353e by andrewvk <avk@rsdn.ru>, 9/16/2014

Country recognition improvements
01625c by andrewvk <avk@rsdn.ru>, 9/16/2014

Wiki fixes
f3e19e by andrewvk <avk@rsdn.ru>, 9/16/2014

Fix compilation
83a8bf by andrewvk <avk@rsdn.ru>, 9/16/2014

Fix compilation
ab90ad by andrewvk <avk@rsdn.ru>, 9/16/2014

Fix compilation
3abd86 by andrewvk <avk@rsdn.ru>, 9/16/2014

Update dbproj, message page refactoring
124a55 by andrewvk <avk@rsdn.ru>, 9/16/2014
Monday, September 15, 2014

Fix compilation
0d8c6e by andrewvk <avk@rsdn.ru>, 9/15/2014

Country flags in origin
07590a by andrewvk <avk@rsdn.ru>, 9/15/2014

MS icons
681ec9 by andrewvk <avk@rsdn.ru>, 9/15/2014

Working on new navtree
c20712 by andrewvk <avk@rsdn.ru>, 9/15/2014

Fix tree editor
cf1e45 by andrewvk <avk@rsdn.ru>, 9/15/2014

Navtree control
d7f206 by andrewvk <avk@rsdn.ru>, 9/15/2014
Sunday, September 14, 2014

Do not create poll control in quotas
ec85d5 by andrewvk <avk@rsdn.ru>, 9/14/2014

Fix style
76fdf3 by andrewvk <avk@rsdn.ru>, 9/14/2014

Replace poll links in messages to poll control
92b866 by andrewvk <avk@rsdn.ru>, 9/14/2014
Saturday, September 13, 2014

Working on poll control
992ba3 by andrewvk <avk@rsdn.ru>, 9/13/2014

Working on poll control
48700f by andrewvk <avk@rsdn.ru>, 9/13/2014

Poll control
2697c9 by andrewvk <avk@rsdn.ru>, 9/13/2014
Friday, September 12, 2014

Editor fixes
a699da by andrewvk <avk@rsdn.ru>, 9/12/2014

Rewrite article adv logic
107051 by andrewvk <avk@rsdn.ru>, 9/12/2014

Rewrite article adv logic
256eac by andrewvk <avk@rsdn.ru>, 9/12/2014

Rewrite article adv logic
b7782b by andrewvk <avk@rsdn.ru>, 9/12/2014

Rewrite article adv logic
02a257 by andrewvk <avk@rsdn.ru>, 9/12/2014

Add last topics to main page. Fix GetElapsedString bugs.
7d5aab by andrewvk <avk@rsdn.ru>, 9/12/2014

Custom styles support
9f37b8 by andrewvk <avk@rsdn.ru>, 9/12/2014
Thursday, September 11, 2014

Fix focusing behavior in FF&Opera
9e6ba7 by andrewvk <avk@rsdn.ru>, 9/11/2014

Fix close button in FF
0733b8 by andrewvk <avk@rsdn.ru>, 9/11/2014

Fix layout
72e259 by andrewvk <avk@rsdn.ru>, 9/11/2014

Spaces around inline tags
45750e by andrewvk <avk@rsdn.ru>, 9/11/2014

Fix editor script
4587ca by andrewvk <avk@rsdn.ru>, 9/11/2014

Tabs in editor
a83d2b by andrewvk <avk@rsdn.ru>, 9/11/2014

Send message hotkey
c50ac8 by andrewvk <avk@rsdn.ru>, 9/11/2014

Editor fixes
99f3f7 by andrewvk <avk@rsdn.ru>, 9/11/2014

Style fix
4c5554 by andrewvk <avk@rsdn.ru>, 9/11/2014
Wednesday, September 10, 2014

Update packages
999996 by andrewvk <avk@rsdn.ru>, 9/10/2014

Style fixes
ebb778 by andrewvk <avk@rsdn.ru>, 9/10/2014

Fix start page wikies query
b7372c by andrewvk <avk@rsdn.ru>, 9/10/2014

Update dbproj
0c272d by andrewvk <avk@rsdn.ru>, 9/10/2014

Popup position
0df892 by andrewvk <avk@rsdn.ru>, 9/10/2014

Fix message name row visibility
cd035b by andrewvk <avk@rsdn.ru>, 9/10/2014

URL tag specific handling
2cf877 by andrewvk <avk@rsdn.ru>, 9/10/2014

Missing tags in editor
60d23d by andrewvk <avk@rsdn.ru>, 9/10/2014

Fix message name disappearing on preview
306081 by andrewvk <avk@rsdn.ru>, 9/10/2014

Allow "wikitize" messages without name
0d762a by andrewvk <avk@rsdn.ru>, 9/10/2014

Fix scripts
f43dc6 by andrewvk <avk@rsdn.ru>, 9/10/2014

Refactoring&cleanup
5822ba by andrewvk <avk@rsdn.ru>, 9/10/2014

Theme settings layout
b3be72 by andrewvk <avk@rsdn.ru>, 9/10/2014

Drop www prefixes
22f0e5 by andrewvk <avk@rsdn.ru>, 9/10/2014

Move id attr in svgie.js
ebac5e by andrewvk <avk@rsdn.ru>, 9/10/2014
Tuesday, September 9, 2014

Refactoring, style fixes
a608eb by andrewvk <avk@rsdn.ru>, 9/9/2014

Meta in newmsg page
55a56a by andrewvk <avk@rsdn.ru>, 9/9/2014

Move editor demo to production page
d5a3c0 by andrewvk <avk@rsdn.ru>, 9/9/2014

Tooltips in editor
fb8f52 by andrewvk <avk@rsdn.ru>, 9/9/2014

Decode urls in link text
11f8f5 by andrewvk <avk@rsdn.ru>, 9/9/2014

Fix formatter bug
521c6a by andrewvk <avk@rsdn.ru>, 9/9/2014

Working on editor demo
0e5b2d by andrewvk <avk@rsdn.ru>, 9/9/2014

Working on editor demo
108a5a by andrewvk <avk@rsdn.ru>, 9/9/2014

Fix copy code issue. Working on editor demo
7cd485 by andrewvk <avk@rsdn.ru>, 9/9/2014

Working on editor demo
dc727b by andrewvk <avk@rsdn.ru>, 9/9/2014

Editor demo (own control)
0d8df9 by andrewvk <avk@rsdn.ru>, 9/9/2014
Monday, September 8, 2014

Meta in forum page
e7e721 by andrewvk <avk@rsdn.ru>, 9/8/2014

Wiki changes on start page
834aa1 by andrewvk <avk@rsdn.ru>, 9/8/2014

Fix styles in mail
45fa30 by andrewvk <avk@rsdn.ru>, 9/8/2014

Meta in msg page
bbb05b by andrewvk <avk@rsdn.ru>, 9/8/2014

Increase janus svc limits
6a0232 by andrewvk <avk@rsdn.ru>, 9/8/2014
Sunday, September 7, 2014

Fix origin
d56cec by andrewvk <avk@rsdn.ru>, 9/7/2014

Fix origin
470717 by andrewvk <avk@rsdn.ru>, 9/7/2014

Fix origin
3062e3 by andrewvk <avk@rsdn.ru>, 9/7/2014

Fix origin
12f52e by andrewvk <avk@rsdn.ru>, 9/7/2014

Fix preview
bcda61 by andrewvk <avk@rsdn.ru>, 9/7/2014

Daily stat for team
cee1c6 by andrewvk <avk@rsdn.ru>, 9/7/2014

Forum wiki as default forum page
06d278 by andrewvk <avk@rsdn.ru>, 9/7/2014

Reply count in wiki page
72a6c5 by andrewvk <avk@rsdn.ru>, 9/7/2014

Fix auth bug
55da58 by andrewvk <avk@rsdn.ru>, 9/7/2014
Saturday, September 6, 2014

Fix script
42ee1b by andrewvk <avk@rsdn.ru>, 9/6/2014

Restore addthis
7de805 by andrewvk <avk@rsdn.ru>, 9/6/2014

Fix rate bug
b905ca by andrewvk <avk@rsdn.ru>, 9/6/2014

AJAX topic subs
47e806 by andrewvk <avk@rsdn.ru>, 9/6/2014

Fix styles
81ef25 by andrewvk <avk@rsdn.ru>, 9/6/2014

Show subs status
902bc5 by andrewvk <avk@rsdn.ru>, 9/6/2014

Show subs status
547cee by andrewvk <avk@rsdn.ru>, 9/6/2014

AJAX AddFav
79e09e by andrewvk <avk@rsdn.ru>, 9/6/2014

AJAX AddFav
3af7d3 by andrewvk <avk@rsdn.ru>, 9/6/2014

Refactoring
2d0adb by andrewvk <avk@rsdn.ru>, 9/6/2014

Refactoring
77877c by andrewvk <avk@rsdn.ru>, 9/6/2014

Refactoring
f6fad8 by andrewvk <avk@rsdn.ru>, 9/6/2014

Fix script
25e589 by andrewvk <avk@rsdn.ru>, 9/6/2014

Fix script
63353a by andrewvk <avk@rsdn.ru>, 9/6/2014

Fix RSDN-25
8424ff by andrewvk <avk@rsdn.ru>, 9/6/2014

js => ts
bbe592 by andrewvk <avk@rsdn.ru>, 9/6/2014
Friday, September 5, 2014

Show message name in header
a903b8 by andrewvk <avk@rsdn.ru>, 9/5/2014

Adding TypeScript
5fd726 by andrewvk <avk@rsdn.ru>, 9/5/2014

Refactoring, colors
119d38 by andrewvk <avk@rsdn.ru>, 9/5/2014

Do not assign rate to user, if message is wiki
b70946 by andrewvk <avk@rsdn.ru>, 9/5/2014

Do not assign rate to user, if message is wiki
5b5b8e by andrewvk <avk@rsdn.ru>, 9/5/2014
Thursday, September 4, 2014

FB share in blogs
8eebef by andrewvk <avk@rsdn.ru>, 9/4/2014

FB meta tags in blogs
69d36e by andrewvk <avk@rsdn.ru>, 9/4/2014

FB meta tags in blogs
21850b by andrewvk <avk@rsdn.ru>, 9/4/2014

FB meta tags in blogs
84fe3b by andrewvk <avk@rsdn.ru>, 9/4/2014

FB meta tags in blogs
7733f5 by andrewvk <avk@rsdn.ru>, 9/4/2014

Small fix
181bf1 by andrewvk <avk@rsdn.ru>, 9/4/2014

Message edit comments
b1b6d2 by andrewvk <avk@rsdn.ru>, 9/4/2014

Message edit comments
7acd5f by andrewvk <avk@rsdn.ru>, 9/4/2014

Formatter fixes
0ef862 by andrewvk <avk@rsdn.ru>, 9/4/2014
Wednesday, September 3, 2014

fix origin
bf32da by andrewvk <avk@rsdn.ru>, 9/3/2014

Formatter layout
d1f2cf by andrewvk <avk@rsdn.ru>, 9/3/2014

Style fixes
bbf152 by andrewvk <avk@rsdn.ru>, 9/3/2014

Well known host links highlight in message body
03fadf by andrewvk <avk@rsdn.ru>, 9/3/2014

Well known host links highlight in message body
dc179f by andrewvk <avk@rsdn.ru>, 9/3/2014

Well known host links highlight in message body
e620ba by andrewvk <avk@rsdn.ru>, 9/3/2014
Tuesday, September 2, 2014

Quotation level
1fee17 by andrewvk <avk@rsdn.ru>, 9/2/2014

Quotation level
354289 by andrewvk <avk@rsdn.ru>, 9/2/2014

Sync formatter with main repo
a62cc7 by andrewvk <avk@rsdn.ru>, 9/2/2014

Admin UI improvements
4a1360 by andrewvk <avk@rsdn.ru>, 9/2/2014

Anti XSS protection
561ef4 by andrewvk <avk@rsdn.ru>, 9/2/2014

Anti XSS protection
eb4260 by andrewvk <avk@rsdn.ru>, 9/2/2014

Fix messageNameRow visibility
7f7905 by andrewvk <avk@rsdn.ru>, 9/2/2014

Fix messageNameRow visibility
ea7a74 by andrewvk <avk@rsdn.ru>, 9/2/2014

Fix blog news query
2e8549 by andrewvk <avk@rsdn.ru>, 9/2/2014

Formatter styles
597b2a by andrewvk <avk@rsdn.ru>, 9/2/2014

Links
79b409 by andrewvk <avk@rsdn.ru>, 9/2/2014
Monday, September 1, 2014

Collapsible versions
51a133 by andrewvk <avk@rsdn.ru>, 9/1/2014

Wiki layout
9cede5 by andrewvk <avk@rsdn.ru>, 9/1/2014

Wiki layout
41c95b by andrewvk <avk@rsdn.ru>, 9/1/2014

Access checks on message edit
57ed54 by andrewvk <avk@rsdn.ru>, 9/1/2014

Working on wiki
573202 by andrewvk <avk@rsdn.ru>, 9/1/2014

NewMsg.aspx refactoring & fixes
35304d by andrewvk <avk@rsdn.ru>, 9/1/2014

Wiki icon
1429ba by andrewvk <avk@rsdn.ru>, 9/1/2014

Wiki history
3f88b0 by andrewvk <avk@rsdn.ru>, 9/1/2014

Wiki history
436cc1 by andrewvk <avk@rsdn.ru>, 9/1/2014

Fix tags saving on edit
6f2c32 by andrewvk <avk@rsdn.ru>, 9/1/2014

Working on wiki
5da9ac by andrewvk <avk@rsdn.ru>, 9/1/2014

Working on wiki
c8e33f by andrewvk <avk@rsdn.ru>, 9/1/2014

... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[56]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 08.10.14 21:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>>>И не дай байт написать это лишний раз.

EP>>>>Это уже вопрос к корректности, надёжности, тестированию, а не к производительности.
WH>>>Если на асме каждую инструкцию отполировать будет ещё быстрее.
EP>>Да, и?
WH>И сколько времени у тебя на это уйдёт?

В разы, а то и на порядок больше чем если бы не было полировки, так как код C++ — optimization-friendly, после прохода оптимизатора остаётся не так много возможностей для улучшения
К чему вопрос-то?
Неужели ты считаешь цену ручной оптимизации ASM кода сопоставимой с ценой правильной расстановкой move/copy?
Или это как-то сравнимо с тем, когда для производительности полностью отказываются от GC, а-ля garbage-free?

EP>>Действительно не стоит, речь ведь шла не только про stop-the-world, но и про прочие GC радости

EP>>А уж какие там конкретно GC радости в замену нескольких атомарных передёргиваний счётчика — рояли не играет.
WH>Это ещё большой вопрос.

Поделись соображениями. С одной стороны у нас редкие wait-free inc/dec, с другой — конкурентная-пакость, которая параллельно основным потокам шарит по их данным и делает какие-то манипуляции, хорошо ещё если lock-free.

EP>>И что, прям весь код был заселён ref-counting'ом, и он там был действительно к месту?

WH>Разные проекты были. Был такой, где действительно всё было засалено этой субстанцией. И иначе было нельзя.

А хотя бы чем было обусловлено? Какими-то алгоритмическими/прикладными особенностями? Или возможно каким-то interop'ом?

EP>>Можно и так, а при желании можно и GC — C++ -то позволяет Для некоторых задач GC действительно удобнее всего, но таких задач крайне мало.

WH>Это не ГЦ. Это говно.
WH>Нормальный ГЦ С++ не позволяет.

Нормальный это какой?
В стандарте есть интерфейс для для консервативного GC.
Есть точные GC — но они менее автоматизированные чем консервативные. При использовании точных нужно заменять T* на gc_ptr<T> и т.п. При решении каких-то затейливых задач с жёсткими циклами — вполне себе вариант.

EP>>Конечно здорово, но это не ответ на вопрос. Если ничего готового нет — то ок, с prompt finalization проблемы

WH>Ты первый кто её просит. А раз никто не просит то никто и не делает.

Хотя бы как тогда разруливается ситуация с IDisposable? Например — один метод поставил using скобки на объект, передал его в другой метод, который втихую сохранил его до лучших времён — в итоге у него окажется ссылка на disposed объект. Фейерверк?
Отредактировано 08.10.2014 21:27 Evgeny.Panasyuk . Предыдущая версия .
Re[9]: Nemerle через 5 лет - выстрелит или скончается?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.10.14 21:23
Оценка:
Здравствуйте, jazzer, Вы писали:

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


К сожалению это не так. В Немерле есть много (относительно шарпа) странностей — другие скобки для дженериков, последнее выражение в блоке как return, да даже обязательная необходимоть писать else у if. Каждая по отдельность проблемочка — яйца выеденного не стоит, но в комплексе оно все делает язык довольно далеко отстоящим от шарпа.
Что самое печальное, вместо того чтобы попытаться как то поправить странности, пусть даже и с потерей некоторой абстрактной стройности концепций (хотя ряд фич там не из за концепций, а просто потому что захотелось так изначальным полякам), на практике мы видим попытки нас убедить, что это наоборот, все зашибись, просто мы не прониклись.
А так я лет 5 назад предлагал взять шарп, выкинуть из него некоторое количество хвостов и косяков, да добавить туда самые вкусные моменты — ПМ, сахарок разный типа того, что отчасти реализовали, отчасти напредлагали в C# 6 и т.п. Тогда, особенно на фоне микроизменений в C# 4 и 5, у языка были бы шансы. А Немерле нет, никогда не станет существенно популярным, увы.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.10.14 21:28
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Мартышкам проще и приятнее бить очки, чем разбираться.


Маленький непрошенный совет — обзывая собеседников мартышками ты никогда на свою сторону их не привлечешь, а наоборот, сделаешь их своими врагами.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: Nemerle через 5 лет - выстрелит или скончается?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.10.14 21:38
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Компилятор Nemerle умеет компилировать C# . ( Не все фишки и есть некоторые нюансы )


Ага. Вот еще новое навигационное дерево для rsdn.ru. Тоже практически работает, но есть некоторые нюансы.
Есть только одна закавыка — я тут сел и за час на голом JS (ок, на TS) написал это проклятущее дерево. Пусть без модных фишек типа запинивания, зато на 100% вписывающееся в существующую серверную инфраструктуру. И, что характерно, никаких "это невозможно в нашей концепции".
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: Nemerle через 5 лет - выстрелит или скончается?
От: DarthSidius  
Дата: 08.10.14 22:05
Оценка: :)
Здравствуйте, kurchatov, Вы писали:

>> Nemerle через 5 лет — выстрелит или скончается?


K>Выстрелит себе в голову


Евгений Ваганович, перелогинтесь.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Re[10]: Nemerle через 5 лет - выстрелит или скончается?
От: STDray http://stdray.livejournal.com
Дата: 08.10.14 22:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>К сожалению это не так. В Немерле есть много (относительно шарпа) странностей — другие скобки для дженериков, последнее выражение в блоке как return, да даже обязательная необходимоть писать else у if.

Немерл не является надмножеством шарпа. Это другой язык с иными приоритетами и синтаксисом.

AVK>...делает язык довольно далеко отстоящим от шарпа.

Далеко отстоящим от шарпа язык делает не набор синтаксических отличий, а концепции положенные в основу.
Надо понимать, что ядро Немерле — минималистичный ML, но возможности его макросистемы позволяют создать диалект достаточно близкий к C#.

AVK>Что самое печальное, вместо того чтобы попытаться как то поправить странности, пусть даже и с потерей некоторой абстрактной стройности концепций (хотя ряд фич там не из за концепций, а просто потому что захотелось так изначальным полякам), на практике мы видим попытки нас убедить, что это наоборот, все зашибись, просто мы не прониклись.

Если странности — это синтаксис "относительно шарпа", то см. выше, иначе надо более развернуто.

AVK>А так я лет 5 назад предлагал взять шарп, выкинуть из него некоторое количество хвостов и косяков, да добавить туда самые вкусные моменты — ПМ, сахарок разный типа того, что отчасти реализовали, отчасти напредлагали в C# 6 и т.п.

Это, имхо, знатное чсв, что можно взять шарп и что-то там убрать или добавить. Шарп делают умнейшие люди, которые ищут локальный максимум в пространстве с осями: обратная совместимость, интероперабельность в рамках CLR/Mono и, конечно, фичи/хотелки. Может, я утрирую, и там еще сложней.

AVK> Тогда, особенно на фоне микроизменений в C# 4 и 5, у языка были бы шансы.

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

AVK> Немерле нет, никогда не станет существенно популярным, увы.

Популярность Немерле — это примерно как популярность Линукса. С одно стороны ядро, с другой — куча дистрибутивов. Я полагаю, что делая дистрибутив "шарп с плюшками", сложно придти к популярности. Потому что флагман известен, но цели его не ясны, а добежать туда раньше можно только случайно, но и это не гарантирует успеха.
Отредактировано 08.10.2014 22:35 STDray . Предыдущая версия .
Re[11]: Nemerle через 5 лет - выстрелит или скончается?
От: STDray http://stdray.livejournal.com
Дата: 08.10.14 23:02
Оценка:
Здравствуйте, DarthSidius, Вы писали:

DS>- четвертый, что: КАК-ТАК! Здесь же IO и код не анемичный

DS>Ну и где конструктив?

Претензии были к тому, что невозможно оценить преимущества языка, используя не идиоматичные конструкции. В данном конкретном случае код императивный с побочными эффектами. Для его понимания _необходимо_ прочитать все ветки (неважно, как они организованы и какой там сахар) и внимательно изучить. На мой взгляд, этот пример ничего не демонстрирует.

> код не анемичный

Ну да. После override все остальное читать желания нет — очевидно, что часть контекста "скромно" отсутствует.
Отредактировано 08.10.2014 23:06 STDray . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.