Что вас раздражает или не нравится в Nemerle?
От: Ka3a4oK  
Дата: 21.09.10 11:18
Оценка: +1
Мне не нравится что нельзя писать a=-1, а нужно писать a= -1
Re: Что вас раздражает или не нравится в Nemerle?
От: catbert  
Дата: 21.09.10 11:19
Оценка: 6 (1)
Здравствуйте, Ka3a4oK, Вы писали:

KK>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1


Нельзя макросы использовать в своей сборке.
Re: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 21.09.10 11:23
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1


Это кстати спорный момент. Найди хотябы один гайдлайн, где дозволяется не отбивать пробелами сишный оператор присваивания.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.10 23:18
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1


А меня раздражает когда код без отбивок пишут.

Что касается самого языка, то больше всего раздражает тормоза компилятора.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.09.10 23:20
Оценка:
Здравствуйте, catbert, Вы писали:

KK>>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1


C>Нельзя макросы использовать в своей сборке.


Ну, дык не лисп. Статическая типизация диктует свои условия.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 22.09.10 05:03
Оценка:
Здравствуйте, VladD2, Вы писали:

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


KK>>>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1


C>>Нельзя макросы использовать в своей сборке.


VD>Ну, дык не лисп. Статическая типизация диктует свои условия.


Вообще я думаю можно выделить подмножество макросов, которое вполне можно использовать в во время компиляции "того же проекта".
Например введя некоторую директиву в файле, где он объявлен. Файлы с такой директивой компилировать во временную сборку и потом использовать при билде остальных исходников.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Что вас раздражает или не нравится в Nemerle?
От: Аноним  
Дата: 22.09.10 05:16
Оценка: -1
Здравствуйте, Ka3a4oK, Вы писали:

KK>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1

Супер! И это язык программирования, претендующий на убийцу всех других языков вместе взятых?

Я в свое время с удовольствием прочитал все статьи Влада, они помогли мне "въехать" в ФП. В Nemerle не нравится несколько "неупорядоченный" синтаксис (или отсутствие документации по синтаксису?).
Нет единого списка ключевых слов, операторов и т.д.
К примеру, в выражениях nemerle часто используется символ подчеркивания. А формально это что? Оператор, ключевое слово?
Не нравится отход от стандартного си-подобного синтаксиса во многих местах. Все то же самое можно было сделать более "си-подобным" чисто внешне. В частности, использование оператора "|" в match.
Возможно, пишу глупость, но вот такие мелочи почему-то портят впечатление.
Re[2]: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 22.09.10 06:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Я в свое время с удовольствием прочитал все статьи Влада, они помогли мне "въехать" в ФП. В Nemerle не нравится несколько "неупорядоченный" синтаксис (или отсутствие документации по синтаксису?).

А>Нет единого списка ключевых слов, операторов и т.д.

Документация есть, но она не столь удобна для изучения (однажды я таки сяду и соберу все основные конструкции в одном месте).

А>К примеру, в выражениях nemerle часто используется символ подчеркивания. А формально это что? Оператор, ключевое слово?


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

А>Не нравится отход от стандартного си-подобного синтаксиса во многих местах. Все то же самое можно было сделать более "си-подобным" чисто внешне. В частности, использование оператора "|" в match.


И как же можно сделать вхождение match Си-подобным, учитывая тот факт, что в Си аналогичной конструкции нет от рождения?

А>Возможно, пишу глупость, но вот такие мелочи почему-то портят впечатление.


Взгляни на match в Scala или F#.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Что вас раздражает или не нравится в Nemerle?
От: Ka3a4oK  
Дата: 22.09.10 12:14
Оценка:
Здравствуйте, Аноним, Вы писали:

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


KK>>Мне не нравится что нельзя писать a=-1, а нужно писать a= -1

А>Супер! И это язык программирования, претендующий на убийцу всех других языков вместе взятых?

Недостаток неприятный, но не смертельный. Было бы неплохо выводить более врзаумительное сообщение об ошибке: оператор не найден — возможно вы забыли поставить прбел между = и -.
Re[2]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.10 15:23
Оценка: +1
Здравствуйте, Аноним, Вы писали:

Во-первый, чего шифруешся. Здесь за критику (если она не переходит в разряд срача) не банят и на критикующих не обижаются.

А>Я в свое время с удовольствием прочитал все статьи Влада, они помогли мне "въехать" в ФП. В Nemerle не нравится несколько "неупорядоченный" синтаксис (или отсутствие документации по синтаксису?).


Как-то странно. С одной стороны статьи помогли разобраться аж ФП, а не только языке. Но с другой недостаточно документации. Я вот C# изучал вообще на практике (ничего не читал), С++ по книжке. Спецификации увидел только потом. Та же спецификация C# мне понадобилась только когда я собрался писать его парсер.

А>Нет единого списка ключевых слов, операторов и т.д.


http://nemerle.org/Reference_Manual
далее по ссылкам.

Проблема (проблема ли?) в том, что операторов и ключевых слов в самом языке очень мало.
Большая их часть вводится макросами, которые (не полностью, но все же) описаны в разделе Macro packages.

А>К примеру, в выражениях nemerle часто используется символ подчеркивания. А формально это что? Оператор, ключевое слово?


Ключевое слово. Но воспринимать его надо в контексте синтаксических констурукций. Скажем если он используется как имя параметра или переменной, то это значит, что данная переменная/параметр игнорируются.

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

А>Не нравится отход от стандартного си-подобного синтаксиса во многих местах.


Ну, это кому как. Отход обычно обоснован. Те кто плотно пользуется немерлом более трех месяцев обычно сходятся во мнении, что синтаксис немерла лучше. "Обычно" — это мягко говоря, потому как пока что я не видел других мнений.

А>Все то же самое можно было сделать более "си-подобным" чисто внешне. В частности, использование оператора "|" в match.


Сам match — это конструкция из ML-подобных языков. В ML-подобных языках он зародился и сформировался. Удобство его использования обуславливается рядом факторов, одним из которых является краткость синтаксиса. Если бы нам пришлось в каждом вхождении писать case ... breack, то код стал бы сильно грязнее.

Опять же опыт использования match более трех месяцев обычно меняет отношение к нему.

А>Возможно, пишу глупость, но вот такие мелочи почему-то портят впечатление.


Не то что бы глупости. Просто это стандартные первые ощущения человека привыкшего писать на си-подобных языках.

Лично я, всзглянув на язык могу сказать, что не по делу пожалу только [] в синтаксисе параметров типов. В принципе можно было бы отставить и <>. Возможно во второй версии мы сделаем возможность использования <> вместо [] при описании типов. Но пока что это плата за гибкость.

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

Парсер следующей версии немерла будет основан на PEG, который (потенциально) позволит отличать операторы и без пробелов. Но не уверен, что мы будем изменять традициям, так как это совершенно надуманная проблема.

Если главной проблемой немерла является невозможность слитного написания унарного минуса с бинарными операторами, то Немерл и правда идельный язык .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.10 15:26
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Взгляни на match в Scala или F#.


В Скале используется ключевое слово case, правда без Сишного синтаксиса (с совсем другим синтаксисом).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 22.09.10 15:45
Оценка: +2
Здравствуйте, VladD2, Вы писали:

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


H>>Взгляни на match в Scala или F#.


VD>В Скале используется ключевое слово case, правда без Сишного синтаксиса (с совсем другим синтаксисом).


О чем и речь. Это же охренеть можно, от частоты его использования.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Что вас раздражает или не нравится в Nemerle?
От: Ka3a4oK  
Дата: 22.09.10 15:53
Оценка:
VD>Та же фигня и с требованием отбивки операторов. Технологии на которых построен современный парсер Немерле не позволяют отделить два оператора кроме как пробелами. Но на самом деле это что называется докапываться до радио. Унарные операторы применяются крайне редко, а все поголовно, соглашения о кодировании требуют отбивать операторы пробелами. Так что на практике это ни разу не создает проблем.

VD>Парсер следующей версии немерла будет основан на PEG, который (потенциально) позволит отличать операторы и без пробелов. Но не уверен, что мы будем изменять традициям, так как это совершенно надуманная проблема.


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


Согласен, что проблема незначительная. Это как if(x=0) в С++. Один(несколько) раз споткнувшись, дальше не попадаешься. Можно только сделать сообщение об ошибке более "релевантным": а не забыли ли вы пробел поставить?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[3]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.10 16:32
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Недостаток неприятный, но не смертельный. Было бы неплохо выводить более врзаумительное сообщение об ошибке: оператор не найден — возможно вы забыли поставить прбел между = и -.


Так надо было сказать о том, что что-то не так.

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

Если бы был соотвествющий баг-репорт, то давно бы поправили. Там делов то на 10 минут.

PS

Как сказать "отбить оператор пробелом"? Т.е. как правильно перевести слово "отбить"?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 22.09.10 16:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>PS


VD>Как сказать "отбить оператор пробелом"? Т.е. как правильно перевести слово "отбить"?


surround with spaces
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Что вас раздражает или не нравится в Nemerle?
От: x-code  
Дата: 22.09.10 16:45
Оценка: +1 -1 :)
Здравствуйте, Ka3a4oK, Вы писали:

KK>Недостаток неприятный, но не смертельный. Было бы неплохо выводить более врзаумительное сообщение об ошибке: оператор не найден — возможно вы забыли поставить прбел между = и -.


Нет, я все понимаю, но вот такое... Лексический анализатор, который сканирует входной поток и выдает "лексемы", выкидывая при этом пробелы, комментарии и переносы строк, пишется студентом 1 курса за один вечер (а профессиональным программистом — за пару часов со всей отладкой и тестированием) на любом языке прогораммирования. Никаких специальных знаний для этого не нужно вообще...
Nemerle особенный?
Это даже несерьезно, язык-то действительно интересный. Даже обидно стало за Nemerle, несмотря на то что я к нему никакого отношения не имею
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.10 16:46
Оценка: +1
Здравствуйте, Ka3a4oK, Вы писали:

KK>Согласен, что проблема незначительная. Это как if(x=0) в С++.


Вообще-то, в С++ подобный код раньше приводил к трдно обнаружимым ошибкам. А тут выдается сообщение об ошибке времени компиляции. Так что сравнивать эти вщеи, на мой взгляд, некорректно.

KK>Один(несколько) раз споткнувшись, дальше не попадаешься. Можно только сделать сообщение об ошибке более "релевантным": а не забыли ли вы пробел поставить?


Надо было баг-репорт добавить, и сделали бы.

А вообще, я бы просто посоветовал придерживаться общепринятых приципов форматирования кода. За одно проблем с коллегами меньше будет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: Ka3a4oK  
Дата: 22.09.10 16:56
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


KK>>Недостаток неприятный, но не смертельный. Было бы неплохо выводить более врзаумительное сообщение об ошибке: оператор не найден — возможно вы забыли поставить прбел между = и -.


VD>Так надо было сказать о том, что что-то не так.


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


Неужели я один не отбиваю операторы пробелами. Просто так код компактнее получается. В математической верстке, например, операторы пробелами не отбиваются, и ничего вроде все понимают. Там есть промежуток конечно, но назвать это полноценным пробелом язык не поворачивается.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 22.09.10 16:56
Оценка:
Здравствуйте, x-code, Вы писали:

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


KK>>Недостаток неприятный, но не смертельный. Было бы неплохо выводить более врзаумительное сообщение об ошибке: оператор не найден — возможно вы забыли поставить прбел между = и -.


XC>Нет, я все понимаю, но вот такое... Лексический анализатор, который сканирует входной поток и выдает "лексемы", выкидывая при этом пробелы, комментарии и переносы строк, пишется студентом 1 курса за один вечер (а профессиональным программистом — за пару часов со всей отладкой и тестированием) на любом языке прогораммирования. Никаких специальных знаний для этого не нужно вообще...

XC>Nemerle особенный?

Угу. В нем можно ввести произвольную операторную абракадабру. Посему все операторные нецифробуквенные символы (кроме скобок) склеиваются в один токен, для которого Немерл пытается найти обработчик. В принципе добавить интеллекту поисковику можно, да только никому в голову не приходило — постоянные пользователи языка этой проблемы просто не замечают.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Что вас раздражает или не нравится в Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.09.10 16:57
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Нет, я все понимаю, но вот такое...


Видимо не совсем все.

XC> Лексический анализатор, который сканирует входной поток и выдает "лексемы", выкидывая при этом пробелы, комментарии и переносы строк, пишется студентом 1 курса за один вечер (а профессиональным программистом — за пару часов со всей отладкой и тестированием) на любом языке прогораммирования. Никаких специальных знаний для этого не нужно вообще...


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

XC>Nemerle особенный?


Ага. Он позволяет вводить новые операторы, причем как в макросах, так и в типах.

Посему его лексический анализатор (который, правда, сильно сложнее чем те что пишут студенты) распознает операторы по следующему паттерну.
1. Если символ принадлежит к числу операторных, то начать его распознавание.
2. Продолжать распознавание оператора до окончания последовательно идущих операторных символов.

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

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

XC>Это даже несерьезно, язык-то действительно интересный. Даже обидно стало за Nemerle, несмотря на то что я к нему никакого отношения не имею


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