Re[25]: Nemerle через 5 лет - выстрелит или скончается?
От: ionoy Эстония www.ammyui.com
Дата: 16.10.14 09:35
Оценка: +1 -1
Здравствуйте, AndrewVK, Вы писали:

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


I>>Потому что это разные паттерны.

AVK>Аргументище!
Я их противопоставляю, потому что это разные паттерны. И на клиентской стороне они друг с другом конкурируют. Что тут непонятного?

I>> Вместе они не могу ужиться никак.

AVK>У кого не могут, а у кого и вполне уживаются.
Ты не понимаешь о чём ты говоришь. Да, можно их ужить в одном приложении, но тогда они никак не будут связаны. То о чём ты говоришь, это MVC на сервере, MVVM на клиенте.

AVK>>>И именно поэтому MVC популярен. Интересная логика.

I>>Нет. Именно поэтому MVVM не так популярен, как MVC.
AVK>Вот ведь МС какая злая Вот только и ASP.NET MVC тоже из МС произошел, такая незадача.
MVC был придуман задолго до MS. MVVM родился именно там (хоть у него и были прародители).
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[54]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.10.14 23:07
Оценка: :)
Здравствуйте, alex_public, Вы писали:

_>Это ты видимо C# библиотеки хочешь включить в список библиотек Nemerle? ) Потому как если говорить о его родных, то их думаю поменьше чем даже у D, у которого всё довольно печально.


Ты несешь настолько явную чушь, что на нее очень тяжело отвечать сдержанно и аргументированно. Ведь тяжело аргументировать банальные и очевидные вещи.

Я просто не понимаю на каком основании нужно говорить только о "родных" библиотеках. Ну, какого черта рассуждая о Шарпе у тебя не приходит на ум считать библиотеки дотнета не родными для шарпа и "не засчитывать" их наличие.

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

Все дотнетные библиотеки являются родными для немерла. Зачем мене писать, например, библиотеку ввода–вывода, если она уже есть в дотнете?

_>Всё правильно. Это известный замкнутый круг. Он в различных ипостасях присутствует во многих местах индустрии. Например с некоторыми видами ПО под линухом. И решается это обычно (если вообще решается) поворотом какой-то одной крупной компании (пример Steam под линух).


Ну, так не фига выдумывать сказки про какую–то там инфраструктуру, которую ты даже описать не можешь. Все упирается в брэнд, бабло и рекламу.

_>Они как раз ничего не запретили. Obj-C вполне себе продолжает жить. Правда он настолько убогий, что все нормальные программисты с радостью сами убегут с него на Swift. )))


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

_>Ну и кстати на .net этот язык совсем не похож. Начнём с его организации памяти, компиляции и т.п. Он скорее похож на упрощённый (без МП) и чуть более изящный D. Т.е. он вполне хорошо позиционируется на место современного системного языка, в отличие от Java/C#.


О, как? Становится веселее! С этого места, пожалуйста, по подробнее. В чем схожесть с Ди и различие с дотнетом? Только чер с примерами.

О сходстве с Ди интересно услышать в двойне. Например каковы в Ди аналоги паттерн–матчинга и алгебраических типов данных.

Хотя про организацию памяти тоже очень интересно услышать.

_>Не совсем так. В данном случае за языком стоит производитель ОС и производитель главной IDE под эту ОС. Т.е. мы заранее имеем гарантии наличия всех необходимых инструментов для языка.


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


_>Я как раз ничего не советовал. ) Я лишь указал на наличие проблемы у Nemerle (такой же как и у D и т.п.), а как её решить у меня нет идей. Ну если конечно кто-то из монстров вдруг не повернётся к языку.


Ты выдвинул гипотизу об отсутствии инфраструктуры. При попытке обяснить этот термин напридумывал что–то мало относящееся к реальности. Здравыми мыслями были комьюнити и большая компания. Но причем тут загадочная инфраструктура? Может пора признать, что ты в чем–то заблуждаешься?


VD>>Но ведь фига два ты возьмешься помогать. Критиковать то куда проще. Правда?


_>Совершенно верно. Мне сейчас интересны только готовые отточенные инструменты, а времени заниматься доработкой потенциально интересных у меня нет — через полгода надо новый продукт выдать (причём реально инновационный, а не очередные формочки к БД).


Ты потратил довольно много времени в этой теме. Потратил бессмысленно, если не сказать — "во вред". За это время ты мог бы с тем же Ди разобраться. Глидишь он все же подошел бы для ваших проектов и ты бы сэкономил туче времени в будущем.

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

_>Но разве от этого факта моё мнение о продукте становится менее правильным? )


Я бы сказал, что оно вообще из пальца высосано. Правильным оно может быть толко случайно.

_>Ммм, понимаешь... Мне, как потребителю продукта, не особо принципиальны причины всего этого. Главное сам факт, что у Swift'a оно есть/будет, а у Nemerle в данный момент нет.


Да даже не спорю. Мне просто интересно кто это загадочное "оно"? Комьюнити? Ну тык вы и есть это комьюнити. И пока вы будете потреблять любое говно каторое вам подсовывают маркетологи и корпорации вы не дадите пробиться чему–то стоящему.

Свифт образца 2014-го года недотягивает до Немерла образца 2006-го года. У Немерла есть и IDE, и библиотеки. Он прожил уже 10 лет и умирать не собирается. Но миллионы мух сбегаются на форум, чтобы потоптаться здесь своими грязными лапками и позлорадствовать над отсутствием огромного комьюнити.

_>Т.е. деньги это или пиар или ещё нюансы какие-то, типа упоминаемых мною выше,


Да, нет ничего выше кроме домыслов. Остаются только денги, пиар и брэнд. Но ты стакательно не хочешь признавать, это не инфраструктура, а маркетинговые ресурсы.

_>результат то один и именно он важен при выборе инструмента для работы.


О бабле и пиаре я тебе сказал в самом начале. Но ты начал спорить. В итоге мы пришли к тому, что кроме бабла и пиара за наукообразным термином "инфраструктура" не стоит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[58]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.10.14 23:21
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Это естественно следует из факта, что макро-проект по сути является плагином к компилятору. Делая плагин к Clang'у на C++, можно использовать библиотеку X, которая будет доступна и для использования в программе компилируемой Clang'ом.

EP>Из этого также следуют и ограничения подхода — пока работает плагин компилятора, результат ещё не скомпилирован, и его нельзя использовать во время работы плагина (что справедливого и для плагина к Clang'у, и Nemerle).

Ну, и? Капитан очевидность?

Так и есть.

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


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

В общем не понимаю, что ты тут хочешь доказать.

EP>Это как раз uber-wunderwaffe, с этим никто и не спорит, я даже неоднократно соглашался. (зачем опять-то повторять эту мантру?)


А с чем ты вообще споришь и зачем?

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


Да, не плохо. И что? Почему это не мешает тебе использовать Шара. Ведь оптимизатор у него с немерлом один и тотже.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[59]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 19.10.14 00:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А кто называл шаблон макросом? Тебе сказали простую и очевидную мысль — шаблоны, как и макросы работают во время компиляции и манипулируют кодом (АСТ–ом), а не рантайм–данными (как Питон, например). Ты в ответ привел констэкспрешоны — которые к шаблонам особого отношения не имеют, а являются хаком позволяющим писать функции, которые можно вычислять как во время компиляции, так и в рантацме. Ну, дык любую (а не только констэкспр) функцию немерла так же можно променять когда угодно.

VD>В общем не понимаю, что ты тут хочешь доказать.

Ещё раз:

EP>Естественно что аналогичный результат можно получить и другими способами, речь-то не об этом.
EP>Выше было заявлено, что шаблоны это фактически препроцессор, что макросы Nemerle это надмножество шаблонов, и что на них можно сделать всё то, что и на шаблонах.
EP>Я привёл контраргумент, а потом конкретный пример в поддержку этого аргумента.
EP>constexpr там лишь усиливает эффект, но грубо говоря не обязателен. И там не два шаблона, а шаблон функции и функция.


EP>>Это как раз uber-wunderwaffe, с этим никто и не спорит, я даже неоднократно соглашался. (зачем опять-то повторять эту мантру?)

VD>А с чем ты вообще споришь и зачем?

Где именно? — тут уже много под-веток
А то что макросы это крутая штука, я сказал практически в начале топика, и ты это даже прочитал (так как ответил), но всё равно ведёшь себя так, как-будто "кругом враги! Nemerle в опасносте!"

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

VD>Да, не плохо. И что? Почему это не мешает тебе использовать Шара. Ведь оптимизатор у него с немерлом один и тотже.

Там где скорость не нужна, в основном использую Python (который на голову гибче C#, и даже более кросс-платформенный). Если понадобится именно .NET — обязательно посмотрю на Nemerle (наверное уже раз третий повторяю).
Даже так, практически везде где мне нужны DSL'и — требуется скорость, значит нужно генерировать C++. Тут основной выбор — либо метапрограммирование на шаблонах (что мягко-говоря громоздко), либо внешняя генерация кода, причём особо не важно чем (в этом плане Nemerle даёт минимум).
Если же нужен DSL, но без скорости — то можно и просто строчки в runtime парсить и интерпретировать
Re[50]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.10.14 00:31
Оценка: :)
Здравствуйте, alex_public, Вы писали:

VD>>Я считаю, что ты зазнался малость и превозносишь этот С++, так как сотворил себе из него кумира.


_>У тебя какое-то нарушение в логике. ) Эта фраза имела бы смысл, если бы я был автором C++. )


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

_>Для этого надо знать об устройстве этой памяти, и не только её.


1. С какого ражна мне нужно знать об устройстве памити, если С и С++ как раз и ценны тем, что предлагают бнезависимую абстракцию — указатель?

2. Об устройстве этой памяти расказывают в любом программистском ВУЗ–е.

Вранье это все. В С++ самый важный скил — это умение обходить грабли заботливо расставленные автором языка в порыве оставить совместимость с С и в борьбе за эффективность.

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


Устал тебе повторять о твоем предвзятом отношении. В реальности задач которые нельзя решать на яве или дотнете крайне мало.

Сейчас на управляемых языках пишут такие требовательные к производительности вещи как IDE и компиляторы.

Еще раз задаю тот же вопрос: какие задачи решаете вы на работе (на плюсах) ?


_>А кто-то с этим спорил? ) Естественно хочется язык с возможностями C++, но при этом с простотой Python'а или вообще JavaScript. Но это же пока только мечты... )))


Ты себе сочинил сказки про фатальный недостаток в производительности дотнета с свой и отказываешся в упор видеть тот самый язык, что даст фору Питону с Жабоскрипом.

_>О да, очень мало.))) С удовольствием посмотрю на реализацию сложной фильтрации в реальном времени FHD/4K видео на скажем Java... Если что, это очень даже актуальная сейчас задача в целом ряде направлений.


Да — мало. Один твой пример (весьма спорный) этотутверждение не опровергает. Задач которые приемлемо решаются на дотнете и яве несравнимо больше. На немерле есть макрос преобразующий немерловый код в CODE. Твой С++ будет нервно курить на задачах решаемых на GPU.

_>А на Nemerle вообще можно удобно писать скрипты? )


А ты (для себя) сначала сформулируй определение этого термина. Если это окажется — быстрым написанием кода автоматизации рутинных операций, то вполне можно. Тут дело в уровне языка и возможностях его специализации под задачи.

_>1. Ты говорил, что в 2006-ом бросил, так что и C++11 не застал (а это заметно большее изменение).


В С++ не появилось ничего радикально нового. Все изменения перечислены в вики легко изучаются за вечер. Неужели ты думаешь я этого не сделал?

Что до библиотек, ты мы щи тоже не лаптем хлебали. У нас были свои смартпоинтеры с политиками владения. С++ 11 всего лишь поднял производительность и позволил отличать некоторые случаи (засчет &&). У нас все это было. Только с большим числом копирований и на конвенциях. Радикально этот && ничего не мешает. Остальные изменения вообще по большей части косметика. Кривые лябды — это хорошо, но и раньше были выкрутасы в разных бустах. Ну, а того же полноценного функционированого типа так и не ввели. В каждом компиляторе под std::function может быть скрыто что угодно. Бинарногоформата нет. Совместимость только через С–экспорт/импорт. Модульности нет. Управление память — ручное. Интеллисенс в больших проектах всегда ломается, так как дизай языка на него не расчитан. Причем новшества только ухудшают ситуацию разрешая глобальный вывод типов. Короче, допотопный язык с тучей нерешенных проблем.

_>2. Мой текущий компилятор C++ отлично поддерживает стандарт C++14 — с кактуса MS мы слезли давным давно. )))


И куда девается хваленая стандартность и совместимость? И ты еще по инфраструктуру говоришь? А сколько тулов (IDE и т.п.) его поддерживает?

_>4. Что касается моих отношений с C#, то они имеют весьма продолжительную основу. ))) Помнится я ещё с Доном Боксом спорил на эти темы — вот это настоящий пропагандист .net'а, не чета народу с этого форума (как он программировал в блокнотике помнится). А первым моим приложением на C# были животинки для Террариума, на конкурс. Если ты в курсе о чём я. )))


Мне не интересны твои дисскуссии с еванголистами Майкрософт. Я спросил — "сколько серьезных проектов ты написал на Шарпе?". Добавлю вопрос: с какими проблемами ты в них столкнулся. Похоже, что знакомство с языком ограничилось играми на конкурсе, а зниние о производительности основано на домыслах.

Вот просто ответь на простой вопрос. Нужна ли производительнось в IDE? И, если — да, то почему же их с успехом пишут на дотнете и яве, а нативный код выбрасывают?

_>Вот у меня на компьютере установлена огромная куча ПО. И из него всего только одно приложение написано на .Net. Кстати, у него как раз самый страшный интерфейс из всех и оно живёт у меня на компьютере только по необходимости (системная хрень). Плюс имеется два приложения на Java. Надо признать что приятных. А все остальные десятки приложений — это или натив или натив+скрипт. И это всё явно не "игры или браузеры". Так кто из нас живёт в виртуальной реальности? )


К сожалению, опять вынужден констотировать проблемы в твоей логике. Какая связь между твоим софтом и возможностью писать софт на дотнете? Ну, а про скрипты вообше смешно. Если софт можно написать на тормозном скрипте, то его уж точно можно написать на дотнете.

Ладно. Отвечать с телефона на такие простыни нет ни желания, ни сил.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[51]: Nemerle через 5 лет - выстрелит или скончается?
От: Evgeny.Panasyuk Россия  
Дата: 19.10.14 01:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Твой С++ будет нервно курить на задачах решаемых на GPU.


Ты ври-то, да не завирайся.
Для GPGPU основная задача в том, чтобы написать быстрое ядро. Там шаг влево, шаг вправо — и просадка по скорости на порядок. Причём если скорость сильно потерянна, то и смысла заморачиваться с GPGPU нет.
А уж как там ты будешь описывать ядра — на DSL'е, на Nuda, на C++ AMP, на CUDA, на голом OpenCL, на OpenACC, на TaskGraph — рояли не играет. Точнее из этого ряда немного выделяется только TaskGraph — так как умеет автоматически оптимизировать ядра под конкретные данные, на лету.
Re[64]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.10.14 01:17
Оценка: :))
Здравствуйте, Ikemefula, Вы писали:

I>Я эту хохму слышу постоянно. И постоянно ловлю себя на том, что приходится рыться в коде либы, ибо автор забыл указать например нюансы многопоточности, косяки, безопасности и тд и тд


Какие проблемы? Смотри сгенерированный макрой код. Смотреть код макры для этого не надо.

Ты, видимо, по опыту из С++ судишь. Там сгенерированных исходников увидеть нельзя. И это проблема. Но не МП, а плюсов. У Немерла ее нет. Исходники может генерить сама макра или их можно добыть декомпилятором.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.10.14 02:00
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Для приложений, в которых представление связано с моделью биндингами, имхо, лучше подходит MVVM. То, что популярные client-side фреймворки выбрали MVC, это повторюсь в угоду пользователям, которые просто привыкли к MVC. MVVM

I>в таких сценариях удобнее.

Вот эта мысль, причем с обоснованием, должна быть первой во вводной стать по НВеб.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: Nemerle через 5 лет - выстрелит или скончается?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.10.14 02:04
Оценка:
Здравствуйте, AndrewVK, Вы писали:

K>А в вашем примере, напоминаю, все с точностью до наоборот, логика тщательно размешана с представлением.


А можно по подробнее описать это смешивание, а то я его в упор не вижу. Или ты считаешь смешиванием размещение кода модели и представления внутри одногофайла?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[55]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 19.10.14 18:37
Оценка: -3 :)))
Здравствуйте, VladD2, Вы писали:

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


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


VD>У Немерла есть одна малюсенькая либа в которой находятся типы и функции небходимые для работы самого языка и несколько неизменяемых коллекций удобных в функциональном коде.


VD>Все дотнетные библиотеки являются родными для немерла. Зачем мене писать, например, библиотеку ввода–вывода, если она уже есть в дотнете?


Вот на языке C существуют тысячи библиотек, почти на все случаи жизни. Однако почему-то глупые программисты на C++ любят переписывать их на C++ не смотря на то, что любая библиотека на C является родной для C++. Как ты думаешь, почему? )

Могу подсказать: если библиотека написана на C++, то пользоваться ею намного удобнее, благодаря возможностям языка (в сравнение с C). Аналогично должно быть и с Nemerle. Конечно при условии, что Nemerle предоставляет какие-то расширенные возможности в сравнение с C#. Но ведь если нет, то тогда зачем он вообще нужен? )

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


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

И да, разрывается этот круг вложением крупной компании. Но не тупо бабла и уж точно не в пиар. Если мы говорим допустим про игры (одна из главных проблем в линухе для домашних пользователей) и пример Steam'а, то там ведущий распространитель и один из солидных разработчиков игр вложился в том смысле, что доработал свою платформу под Линух и начал делать под него игры. Теперь бы ещё в паре областей (например в CAD и т.п.) кто-то из лидеров рынка аналогично вложился и Линух совсем хорош станет в смысле ПО.

VD>О, как? Становится веселее! С этого места, пожалуйста, по подробнее. В чем схожесть с Ди и различие с дотнетом? Только чер с примерами.


Работа с голыми указателями естественно. ) Swift — это полноценный системный язык, как и D. В отличие от языков .net.

VD>О сходстве с Ди интересно услышать в двойне. Например каковы в Ди аналоги паттерн–матчинга и алгебраических типов данных.


Вот ты как раз перечислил ту пару мелких дополнений в Swift'e, которые отсутствуют в D. Аналогично есть ещё и куча возможностей в D, которые не взяты в Swift. Но в целом по сумме возможностей и подходов D является наверное самым близким сейчас к Swift'у.

VD>Хотя про организацию памяти тоже очень интересно услышать.


А что там говорить то, если в .net у нас сборщик мусора, а в Swift используется классический для всей платформы Apple ARC (разновидность подсчёта ссылок, но весьма эффективная на 64 битных процессорах).

_>>Я как раз ничего не советовал. ) Я лишь указал на наличие проблемы у Nemerle (такой же как и у D и т.п.), а как её решить у меня нет идей. Ну если конечно кто-то из монстров вдруг не повернётся к языку.


VD>Ты выдвинул гипотизу об отсутствии инфраструктуры. При попытке обяснить этот термин напридумывал что–то мало относящееся к реальности. Здравыми мыслями были комьюнити и большая компания. Но причем тут загадочная инфраструктура? Может пора признать, что ты в чем–то заблуждаешься?


Комьюнити — это и есть часть инфраструктуры. А большая компания к инфраструктуре прямого отношения не имеет, но может быть гарантией создания других компонентов инфраструктуры (IDE, компиляторов, отладчиков, библиотек и т.п.)

VD>Ты потратил довольно много времени в этой теме. Потратил бессмысленно, если не сказать — "во вред". За это время ты мог бы с тем же Ди разобраться. Глидишь он все же подошел бы для ваших проектов и ты бы сэкономил туче времени в будущем.


Ну так отдыхать то тоже иногда надо. ) Я на этом форуме отдыхаю и развлекаюсь (ну максимум помогаю кому-то советом), а не работаю.

С D я уже давно разобрался. Мы делали стажёрский проектик на базе этой http://vibed.org штуки. Однако для основных наших дел D пока не особо подходит. Ну и у меня есть подозрение, что он уже не взлетит. Просто потому, что современный C++ начал быстро развиваться и как раз в сторону D. Собственно на мой взгляд вполне возможно модернизировать C++ почти до всех возможностей D без потери обратной совместимости. Возможно сможет взлететь Rust, т.к. он более радикален и до него C++ не получится развиться никакими эволюционными методами.

VD>Да даже не спорю. Мне просто интересно кто это загадочное "оно"? Комьюнити? Ну тык вы и есть это комьюнити. И пока вы будете потреблять любое говно каторое вам подсовывают маркетологи и корпорации вы не дадите пробиться чему–то стоящему.


Оно — это инфраструктура конечно же. )

VD>Свифт образца 2014-го года недотягивает до Немерла образца 2006-го года.


Смешное сравнение. Nemerle можно сравнивать со Scala (как с конкурентом) или с Java/C# (как с нижележащей платформой). А языки типа C++, D, Rust, Swift — это другой мир, в котором нижележащим базисом является C.

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


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


Это не мы пришли к такому выводу, а ты. Не заметив в упор указаний на то, что за языком стоит производитель главной IDE для платформы (т.е. автоматом получаем с ходу большую часть инструментов) и производитель ОС (т.е. автоматом все библиотеки ОС являются нативными для этого языка). Да, бренд и деньги безусловно тоже играет роль, но если бы новый язык предложил к примеру Samsung, то это вряд ли особо ему помогло бы на старте...
Re[51]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 19.10.14 23:13
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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

Ну и кстати я C++ совсем не превозношу. Это довольный ужасный язык и я могу перечислять сотни его недостатков. Просто все другие ещё хуже. По сумме параметров конечно же, включая и инфраструктурные.

VD>1. С какого ражна мне нужно знать об устройстве памити, если С и С++ как раз и ценны тем, что предлагают бнезависимую абстракцию — указатель?


Имеется в виду не об устройстве конкретной платформы (хотя для максимального быстродействия тоже не плохо бы), а о тех же самых указателях. К примеру пользователю Java вообще не надо знать, что такое существует в природе.

VD>Вранье это все. В С++ самый важный скил — это умение обходить грабли заботливо расставленные автором языка в порыве оставить совместимость с С и в борьбе за эффективность.


Возможно. ))) Но других то альтернатив особо не видно. )

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


Смешно. ) Хотя если ты говоришь про всякие формочки внутрикорпоративные, то тогда конечно же можно согласиться. )

VD>Ты себе сочинил сказки про фатальный недостаток в производительности дотнета с свой и отказываешся в упор видеть тот самый язык, что даст фору Питону с Жабоскрипом.


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

Ну у насчёт сочинил... Я не очень понял, ты хочешь сказать, что производительность .net сравнима с решениями на C++ или что? ) Вроде как где-то выше ты соглашался, что отставание имеет место.

VD>Да — мало. Один твой пример (весьма спорный) этотутверждение не опровергает. Задач которые приемлемо решаются на дотнете и яве несравнимо больше. На немерле есть макрос преобразующий немерловый код в CODE. Твой С++ будет нервно курить на задачах решаемых на GPU.


Ну так я могу ещё накидать примеров, если надо)))

VD>А ты (для себя) сначала сформулируй определение этого термина. Если это окажется — быстрым написанием кода автоматизации рутинных операций, то вполне можно. Тут дело в уровне языка и возможностях его специализации под задачи.


Я пока про более банальные вещи спрашиваю. Могу ли я создать текстовый файл с содержимым вида:
import os
os.system('notepad')

и чтобы по клику на нём в Проводнике запустился блокнот? )

Ключевым тут естественно является объём кода и удобство его исполнения.

_>>2. Мой текущий компилятор C++ отлично поддерживает стандарт C++14 — с кактуса MS мы слезли давным давно. )))

VD>И куда девается хваленая стандартность и совместимость? И ты еще по инфраструктуру говоришь? А сколько тулов (IDE и т.п.) его поддерживает?

Это вопрос к MS. ))) Собственно они всегда этим отличались, но как говорится "есть нюансы". Когда они плевали на стандарты в том смысле что отрывались от них будущее (т.е. их решения были лучше стандартов), то это им многими (в том числе и нами) прощалось. Но когда они стали банально отставать и халтурить — нет, спасибо, прощайте. )

Да, а с инфраструктурой как раз всё отлично) GCC поддерживают все инструменты. Собственно многие поддерживают только его. ))) Хотя clang сейчас тоже сильно продвинулся. У него есть плюс в более вменяемых сообщениях об ошибках, но при этом по быстродействию создаваемого кода он пока отстаёт. Ну и конечно ещё ICC, но это отдельная песня. )))

VD>Мне не интересны твои дисскуссии с еванголистами Майкрософт. Я спросил — "сколько серьезных проектов ты написал на Шарпе?". Добавлю вопрос: с какими проблемами ты в них столкнулся. Похоже, что знакомство с языком ограничилось играми на конкурсе, а зниние о производительности основано на домыслах.


Вообще то разные сравнивательные тесты производительности мы даже прямо на этом форуме делали. И пока что ни один сторонник .net'a не смог представить решения, дотягивающегося до представляемых мною версий на C++. Причём это в основном были тесты (кстати, парсеры например и т.п.) ещё и не из моей профильной области. А если взять оттуда, то вообще смешно будет.

VD>Вот просто ответь на простой вопрос. Нужна ли производительнось в IDE? И, если — да, то почему же их с успехом пишут на дотнете и яве, а нативный код выбрасывают?


Вообще то я знаю ровно одну ide, которую переписали с нативного языка на управляемый. Причём это очевидно имело политический смысл (кстати, всю эту политику демонстративного забвения нативной разработки не так давно свернули, но уже поздно — большинство нативных разработчиков уже ушли с их инструментов), т.к. данная компания проталкивала совсем другие инструменты. Да, кстати... И я помню сколько ругани на тормознутость той первой версии было тогда на форумах. )))

_>>Вот у меня на компьютере установлена огромная куча ПО. И из него всего только одно приложение написано на .Net. Кстати, у него как раз самый страшный интерфейс из всех и оно живёт у меня на компьютере только по необходимости (системная хрень). Плюс имеется два приложения на Java. Надо признать что приятных. А все остальные десятки приложений — это или натив или натив+скрипт. И это всё явно не "игры или браузеры". Так кто из нас живёт в виртуальной реальности? )

VD>К сожалению, опять вынужден констотировать проблемы в твоей логике. Какая связь между твоим софтом и возможностью писать софт на дотнете? Ну, а про скрипты вообше смешно. Если софт можно написать на тормозном скрипте, то его уж точно можно написать на дотнете.

Что значит какая связь? Я же тоже пользователь. Я предлагаю посмотреть какой процент нативного/управляемого софта стоит на машине среднестатистического пользователя. Для начала я взял в рассмотрение себя. Я конечно совсем не среднестатистический пользователь, но это идёт как раз в пользу управляемым языкам, т.к. тех двух программок на Жабке у них точно не будет. А вот большинство нативных будет...

Что касается скриптов. Ты читай внимательно. У меня написано натив+скрипт, а не просто скрипт. Это абсолютно разные вещи. Чтобы было понятно о чём речь, могу привести простейший пример. Ну скажем одна из самых популярных онлайновых игр сейчас, танчики (WoT). Написана на C++ с управляющей игровой логикой на встроенном Python'е (ну точнее там ещё Flash есть в роли GUI библиотеки, но это уже мелочь). На мой взгляд вполне оптимальное решение, сочетающее в себе и быстродействующий код и быструю разработку. Ну и что ты хочешь переписать тут на .net?
Re[55]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 19.10.14 23:20
Оценка: -1
Здравствуйте, DarthSidius, Вы писали:

DS>Гы ) Открою тебе секрет: ложки... библиотек C# не существует. Существуют только библиотеки .Net


Юмор хорош только если он по делу. ) А тут боюсь что нет. См. мой ответ Владу.
Re[49]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 19.10.14 23:34
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Кроме того в продвинутых GC (к сожалению пока что имеющихся только в Яве) есть такие фишки как escape analysis которые позволяют в автоматическом режиме применять оптимизации вроде размещения памяти в пуле или на стеке для объектов не прикапываемых внутри функций.


Вот собственно говоря это "продвинутое" решение, которое иногда может сработать в некоторых реализациях на Java и является полным аналогом стандартной работы с памятью в C++. )))
Re[56]: Nemerle через 5 лет - выстрелит или скончается?
От: DarthSidius  
Дата: 20.10.14 01:16
Оценка: +1
Здравствуйте, alex_public, Вы писали:

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


DS>>Гы ) Открою тебе секрет: ложки... библиотек C# не существует. Существуют только библиотеки .Net


_>Юмор хорош только если он по делу. ) А тут боюсь что нет. См. мой ответ Владу.


У меня серьезное сообщение. А ты насмешил. Так бывает — от незнания предмета. Это одно из важных преимуществ платформы — неважно на каком языке написаны библиотеки, использовать их могут все. И ты извини конечно, но твое сообщение Владу — ахинея.
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Re[52]: Nemerle через 5 лет - выстрелит или скончается?
От: DarthSidius  
Дата: 20.10.14 01:16
Оценка: +1 -3
Здравствуйте, alex_public, Вы писали:

_>Ну и кстати я C++ совсем не превозношу. Это довольный ужасный язык и я могу перечислять сотни его недостатков. Просто все другие ещё хуже. По сумме параметров конечно же, включая и инфраструктурные.


Ты себе создал уютный теплый мирок, где тебе более менее все знакомо. И не желая выходить из него говоришь: "мне и здесь хорошо, а там снаружи все плохо". Ну сиди в своем мирке, но зачем всем вокруг доказывать, что, то что вовне — авно?
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 58>>
♠♠♥♠♠♦♥
Re[57]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 20.10.14 03:52
Оценка: +1 -1
Здравствуйте, DarthSidius, Вы писали:

DS>У меня серьезное сообщение. А ты насмешил. Так бывает — от незнания предмета. Это одно из важных преимуществ платформы — неважно на каком языке написаны библиотеки, использовать их могут все. И ты извини конечно, но твое сообщение Владу — ахинея.


До тебя так и не доходит? ) Использовать то конечно могут, но зачем они такие неполноценные нужны в продвинутом языке? Или быть может ты хочешь сказать, что все C# библиотеки архитектурно рассчитаны на приём алгебраических типов данных (из того же F#)? Про макросы Немерле я вообще молчу.

Тут имеется полная аналогия с языком C и языками предоставляющими свободное использование библиотек на нём (C++, D, Rust, Swift и т.д.). Использовать безусловно можно, но лучше переписать на самом языке, чтобы можно было использовать исключения, передавать классы или вообще шаблонные параметры и т.п.

Да, и кстати если F# вряд ли можно назвать успешным примером, то есть на эту тему и очевидные успешные образцы. Предлагаю взглянуть на Scala и оценить количество родных библиотек на нём. Хотя там опять же доступны все библиотеки на Java, которые уж точно есть на все случаи жизни (сравнимо с C).
Re[53]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 20.10.14 04:02
Оценка:
Здравствуйте, DarthSidius, Вы писали:

DS>Ты себе создал уютный теплый мирок, где тебе более менее все знакомо. И не желая выходить из него говоришь: "мне и здесь хорошо, а там снаружи все плохо". Ну сиди в своем мирке, но зачем всем вокруг доказывать, что, то что вовне — авно?


И какой именно у меня по твоему мирок? ) Потому как "мирок C++" явно не подходит — я и к D присматриваюсь для замены C++ и к Rust и к Swift. И прямо сейчас использую Python и даже вообще Prolog (совместно с C++). Так что у меня за мирок? Или быть может всё наоборот и это ты живёшь в виртуальном мирке Nemerle? )
Re[56]: Nemerle через 5 лет - выстрелит или скончается?
От: alex_public  
Дата: 20.10.14 10:03
Оценка:
Хыхы, я смотрю фанаты Nemerle дружно заминусовали это
Автор: alex_public
Дата: 19.10.14
моё сообщение, но при этом ни один не смог представить ни одного аргументированного возражения. В общем то совсем не удивительно...

Наверное если бы rsdn был бы форумом Nemerle, то меня бы вообще забанили от греха подальше. )))

Кстати, а вот если бы Nemerle был кроссплатформенным системным языком, то я обязательно бы его попробовал даже без наличия какой-либо инфраструктуры. И возможно (если бы понравился, а вообще макросы выглядят интересно) даже стал бы пропагандировать его.
Re[22]: Nemerle через 5 лет - выстрелит или скончается?
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.10.14 10:18
Оценка: 3 (1)
Здравствуйте, Ikemefula, Вы писали:

I>Лямбда это не самая проблемная вещь в плане перформанса.

I>Самые проблемные вещи в перформансе
I>0. кривые алгоритмы и структуры данных, включая встроеные во фремворк
I>1. неправильное кеширование, например из за write barrier
I>2. ленивый код итераторов, генераторов
I>3. неэффективный расход памяти, например конское количество объектов в Gen2 или туча фрагментации
I>4. боксинг-анбоксинг
Ну так с моей точки зрения, единственный способ борьбы с п.1 — это повышение уровня абстракции.
Очень часто проблемы с перформансом вылезают только после передачи проекта в продакшн. Зачастую — далеко не сразу.
В хорошем случае — потому, что программист заложился на нереалистичную статистику использования. Грубо говоря, рассчитывал на 20k пользователей с одной фоткой каждый, а получил 100 пользователей с 10k фоток у каждого. В плохом — потому, что программист вообще не понимает, как работает перформанс, и покрыл исключительно функциональные требования.

Хороший пример — это Linq и запросы с опциональными параметрами. В классическом подходе мы получаем либо хреновый перформанс (where (orderDate = @orderDate or @orderDate is null)), либо ад в поддержке, либо и то и другое, и ещё нечитаемого кода километр.
Linq прячет всю эту кухню за кадром, гарантируя корректность всех 2^N запросов, которые нужно построить для каждого сочетания параметров. А RDBMS гарантирует применение всей мощи оптимизатора к таким запросам, которые не содержат разветвлённой логики.

Менее известный пример — switch statement в C#, который автоматически раскрывается либо в серию if, либо в обращение по словарю. Заниматься выбором стратегии руками — не самое эффективное времяпровождение.

И так везде — чем декларативнее код, тем больше шансов заменить реализацию нижнего уровня.
В C# уже много чего встроено для таких вещей. Но каждой фенечки приходится ждать по три года.
Nemerle — это попытка ответить на вопрос "как мне писать код на более высоком уровне абстракции, чем в C#, сохраняя совместимость с .Net FW".
К сожалению, пока что набор killer examples не перевешивает скепсиса аудитории. Необразованные люди не отличают nemerle от не-немерле; мышление образованных устроено так, что выискивает во всём недостатки, подсознательно считая безусловный восторг признаком некомпетентности.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[23]: Nemerle через 5 лет - выстрелит или скончается?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.10.14 12:22
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Менее известный пример — switch statement в C#, который автоматически раскрывается либо в серию if, либо в обращение по словарю.


В текущем шарпе switch никогда не раскрывается в серию if. Либо в инструкцию switch в IL, либо в поиск по хештаблице для строк. Единственное, я не помню где поддержка switch по nullable типам реализована — в CLR или в компиляторе C#.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.