Зачем мне нужен Nemerle?
От: Suliman  
Дата: 07.10.13 20:17
Оценка:
Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.

Nemerle тут мне может помочь?
Re: Зачем мне нужен Nemerle?
От: hardcase Пират http://nemerle.org
Дата: 07.10.13 20:22
Оценка: 1 (1)
Здравствуйте, Suliman, Вы писали:

S>Nemerle тут мне может помочь?


Может Опиши типовую задачу, подумаем как можно на Nemerle ее решить.
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Зачем мне нужен Nemerle?
От: catbert  
Дата: 07.10.13 20:43
Оценка: 6 (2)
Здравствуйте, Suliman, Вы писали:

S>Nemerle тут мне может помочь?


Обычно да, если не говорить о формочках, которые в текущем IDE клепать сложно. Кода придется писать меньше, и он может выйти лучше.

Мне больше всего нравится пример с небольшим классом, в котором есть несколько полей:

[Record, StructuralEquality]
class SomeData
{
   [Accessor] _name : string;
   [Accessor] _foo : Foo;
   [Accessor] _bar : Bar;
}


Это вместо

class SomeData
{

   public string Name { get; private set; }
   public Foo Foo { get; private set; }
   public Bar Bar { get; private set; }

   public SomeData(string newName, Foo newFoo, Bar newBar)
   {
      Name = newName;
      Foo = newFoo;
      Bar = newBar;
   }

   public override int GetHashCode()
   {
      // как же это написать нормально? 
   }

   public override bool Equals(object other)
   {
      var otherData = other as SomeData; 
      return Equals(otherData); // лишний код      
   }

   public bool Equals(SomeData otherData)
   {
      if (otherData == null) return; // потенциальный баг, потому что мы еще определим ==, который будет вызывать этот Equals

      // лучше писать == или Equals? не закралась ли опечатка? все ли поля учтены?
      return (this.Name == otherData.Name && this.Foo == otherData.Foo && this.Bar == otherData.Bar);
   }

   public static bool operator == (SomeData left, SomeData right)
   {
      if (left == null) return right == null; // легко забыть; неопытному программисту сложно понять

      return left.Equals(right); // лишний код
   }

   public static bool operator != (SomeData left, SomeData right)
   {
       return !(left == right); // зачем нормальному человеку это писать?
   }
}


Решарпер для C# помогает, но идея, надеюсь, понятна.
Re: Зачем мне нужен Nemerle?
От: CodingUnit Россия  
Дата: 07.10.13 20:50
Оценка:
Здравствуйте, Suliman, Вы писали:

S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.


S>Nemerle тут мне может помочь?


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

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

Ссылки на статьи:

http://rsdn.ru/summary/4022.xml
Re: Зачем мне нужен Nemerle?
От: IT Россия linq2db.com
Дата: 08.10.13 00:59
Оценка: :)
Здравствуйте, Suliman, Вы писали:

S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД.


Для БД можно залудить DSL, типа LINQ, только заточенный под SQL, проще и мощнее.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Зачем мне нужен Nemerle?
От: _NN_ www.nemerleweb.com
Дата: 08.10.13 07:20
Оценка: 1 (1)
Здравствуйте, catbert, Вы писали:

C>Мне больше всего нравится пример с небольшим классом, в котором есть несколько полей:

  Скрытый текст
C>
C>[Record, StructuralEquality]
C>class SomeData
C>{
C>   [Accessor] _name : string;
C>   [Accessor] _foo : Foo;
C>   [Accessor] _bar : Bar;
C>}
C>

Или аналогичный код через свойства только для чтения:
[Record, StructuralEquality]
class SomeData
{
   public Name : string { get; }
   public Foo : Foo { get; }
   public Bar : Bar { get; }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Зачем мне нужен Nemerle?
От: Suliman  
Дата: 08.10.13 10:43
Оценка:
IT>Для БД можно залудить DSL, типа LINQ, только заточенный под SQL, проще и мощнее.
Можно где-то найти примеры того, как задачу решается в C# и как в Nemerle. Один пример к сожалению ничего не показывает. Нужно больше кейсов. И желательно простых, чтобы было понятно не только человеку, который постоянно пишет код, но и тому у кого программирование не основной профиль деятельности.
Re: Зачем мне нужен Nemerle?
От: STDray http://stdray.livejournal.com
Дата: 08.10.13 10:56
Оценка: +1
S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.

S>Nemerle тут мне может помочь?


В такой постановке вопроса Nemerle ничем помочь не может. Посмотрите в сторону J.
С другой стороны, если
— есть однотипный код, который приходится писать руками,
— этот код невозможно обобщить средствами C#,
— есть понимание, каких именно средств вам не хватает,
то есть вероятность, что в рамках Nemerle можно эти средства создать, и решить задачу желаемым образом.
Re: Зачем мне нужен Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.13 15:55
Оценка:
Здравствуйте, Suliman, Вы писали:

S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#?


В создании форм руками не поможет. Тут об этом уже ни раз сказали.

В парсинге точно поможет. Причем, чем сложнее парсинг тем лучше поможет Немерл.

В доступе к СБДУ тоже достаточно линка. Тут немерл мало чем отличается от шарпа.

Но есть нюансы...

Например, формочки можно создавать не в дизайнере, а с помощью ДСЛ-я. Немерл может помочь создать такой ДСЛ. Например, вот NemerleWeb — ДСЛ для веба. Не GUI, но очень близко.

При доступе к БД могут быть полезны различного рода генераторы код. Немерл предоставляет отличные средства для этого (макросистему).

Ну, и как язык Немрл во многом удобнее C#-а. Он удобнее почти во всем. Но такие фишки как паттерн-матчинг и алгебраические типы особо полезны в разных сценариях распознавания и анализа.

S>Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.


Тогда стоит начать с жалоб.

Опиши что достает/не устраивает, а мы тебе скажем может ли Немерл устранить эти проблемы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Зачем мне нужен Nemerle?
От: IT Россия linq2db.com
Дата: 08.10.13 23:28
Оценка: 1 (1)
Здравствуйте, Suliman, Вы писали:

IT>>Для БД можно залудить DSL, типа LINQ, только заточенный под SQL, проще и мощнее.

S>Можно где-то найти примеры того, как задачу решается в C# и как в Nemerle.

Согласен.

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


Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Зачем мне нужен Nemerle?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 13.10.13 10:41
Оценка:
Здравствуйте, IT, Вы писали:

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


IT>Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.


Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.
Re[5]: Зачем мне нужен Nemerle?
От: IT Россия linq2db.com
Дата: 13.10.13 17:23
Оценка:
Здравствуйте, Ikemefula, Вы писали:

IT>>Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.


I>Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.


Если у человека есть реальная потребность в фишках, которые есть в Немерле, то он будет искать и в конце концов найдёт. А если такой потребности нет, то можно предлагать хоть десяток-два тысяч типовых задач, ситуация не изменится.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Зачем мне нужен Nemerle?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 13.10.13 19:24
Оценка:
Здравствуйте, IT, Вы писали:

I>>Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.


IT>Если у человека есть реальная потребность в фишках, которые есть в Немерле, то он будет искать и в конце концов найдёт. А если такой потребности нет, то можно предлагать хоть десяток-два тысяч типовых задач, ситуация не изменится.


Очень смешно, надо полагать БЛТ уже на Немерле ? Поиски тебе не помогают, правильно ?
Re[7]: Зачем мне нужен Nemerle?
От: IT Россия linq2db.com
Дата: 13.10.13 23:28
Оценка: +1 :)
Здравствуйте, Ikemefula, Вы писали:

I>Очень смешно, надо полагать БЛТ уже на Немерле ? Поиски тебе не помогают, правильно ?


Немерле пока не готов для того, чтобы на нём решать задачи вроде БЛТ.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Зачем мне нужен Nemerle?
От: Аноним  
Дата: 14.10.13 04:10
Оценка:
Блт?
Re[9]: Зачем мне нужен Nemerle?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 14.10.13 04:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Блт?


http://bltoolkit.net/
Ce n'est que pour vous dire ce que je vous dis.
Re[8]: Зачем мне нужен Nemerle?
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.13 12:15
Оценка:
Здравствуйте, IT, Вы писали:

IT>Немерле пока не готов для того, чтобы на нём решать задачи вроде БЛТ.


Во оно как?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Зачем мне нужен Nemerle?
От: Аноним  
Дата: 14.10.13 12:25
Оценка: :)))
Здравствуйте, VladD2, Вы писали:

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


IT>>Немерле пока не готов для того, чтобы на нём решать задачи вроде БЛТ.


VD>Во оно как?


Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.
Re[10]: Зачем мне нужен Nemerle?
От: CodingUnit Россия  
Дата: 14.10.13 12:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.


В языке не бывает форм, как синтаксической конструкции, формы реализуются как библиотека над языком, а дизайнер предоставляет возможности для их рисования и генерирует код, и это не проблема языка, язык готов к тому чтобы использовать его с любой графической технологией, не готовы только дизайнеры форм, а ваше нежелание его освоить лишь свидетельствует что язык вам пока не нужен, вам нужны формы.
Re[11]: Зачем мне нужен Nemerle?
От: Аноним  
Дата: 14.10.13 12:37
Оценка: :))
Здравствуйте, CodingUnit, Вы писали:

CU>Здравствуйте, Аноним, Вы писали:


А>>Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.


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


Бред. У меня все проекты так или иначе требуют форм. Если язык(среда) не готов их предоставить, значит язык не готов к использованию. Мало кто пользуеться С++ без КТ или аналога или взми выкинь из С шарпа редактор форм, сколько народа от него откажеться? 70? 90? процентов
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.