Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.
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# помогает, но идея, надеюсь, понятна.
Здравствуйте, Suliman, Вы писали:
S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.
S>Nemerle тут мне может помочь?
Ну немерле во многом может помочь, с формы лучше делать конечно на шарпе, это из за недостатков дизайнера студии Н в текущей реализации, а в остальном, обработка данных, парсинг, преобразование кода на этапе компиляции, макросы, все может помочь решить вашу задачу проще и быстрее.
Попробуйте прочитать пару статей по Н и в частности про макросы, это основная черта языка, ну и конечно функциональное программирование модное в последнее время гораздо лучше реализовано в Н чем в C# и проще описывается чем в F#. Если парсите текст то можете попробовать генератор парсеров на основе PEG грамматик, Nemerle.Peg в стандартной поставке. Почитайте сразу увидите чем Немерле может быть полезен, в нем есть конструкции которые позволяют писать намного быстрей и проще чем то же в C#. Практика на языке лучше чем голый обзор.
IT>Для БД можно залудить DSL, типа LINQ, только заточенный под SQL, проще и мощнее.
Можно где-то найти примеры того, как задачу решается в C# и как в Nemerle. Один пример к сожалению ничего не показывает. Нужно больше кейсов. И желательно простых, чтобы было понятно не только человеку, который постоянно пишет код, но и тому у кого программирование не основной профиль деятельности.
S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#? Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.
S>Nemerle тут мне может помочь?
В такой постановке вопроса Nemerle ничем помочь не может. Посмотрите в сторону J.
С другой стороны, если
— есть однотипный код, который приходится писать руками,
— этот код невозможно обобщить средствами C#,
— есть понимание, каких именно средств вам не хватает,
то есть вероятность, что в рамках Nemerle можно эти средства создать, и решить задачу желаемым образом.
Здравствуйте, Suliman, Вы писали:
S>Итак, 90% времени я делаю простые формочки, паршу текст и выполняю ряд не сложных манипуляций с БД. Вопрос, чем Nemerle в моих задачах будет лучше C#?
В создании форм руками не поможет. Тут об этом уже ни раз сказали.
В парсинге точно поможет. Причем, чем сложнее парсинг тем лучше поможет Немерл.
В доступе к СБДУ тоже достаточно линка. Тут немерл мало чем отличается от шарпа.
Но есть нюансы...
Например, формочки можно создавать не в дизайнере, а с помощью ДСЛ-я. Немерл может помочь создать такой ДСЛ. Например, вот NemerleWeb — ДСЛ для веба. Не GUI, но очень близко.
При доступе к БД могут быть полезны различного рода генераторы код. Немерл предоставляет отличные средства для этого (макросистему).
Ну, и как язык Немрл во многом удобнее C#-а. Он удобнее почти во всем. Но такие фишки как паттерн-матчинг и алгебраические типы особо полезны в разных сценариях распознавания и анализа.
S>Просто я тут читаю и вижу, что люди живут не такими приземленными вещами, но мне все эти сложности не интересны. Моя задача -- писать меньше кода при том, что это меньше должно быть максимально понятным и простым.
Тогда стоит начать с жалоб.
Опиши что достает/не устраивает, а мы тебе скажем может ли Немерл устранить эти проблемы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Suliman, Вы писали:
IT>>Для БД можно залудить DSL, типа LINQ, только заточенный под SQL, проще и мощнее. S>Можно где-то найти примеры того, как задачу решается в C# и как в Nemerle.
Согласен.
S>Один пример к сожалению ничего не показывает. Нужно больше кейсов. И желательно простых, чтобы было понятно не только человеку, который постоянно пишет код, но и тому у кого программирование не основной профиль деятельности.
Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
S>>Один пример к сожалению ничего не показывает. Нужно больше кейсов. И желательно простых, чтобы было понятно не только человеку, который постоянно пишет код, но и тому у кого программирование не основной профиль деятельности.
IT>Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.
Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.
Здравствуйте, Ikemefula, Вы писали:
IT>>Нафик, нафик. Самое неблагодарное занятие — это заниматься кейсами, желательно простыми, чтобы понятно было человеку, который не пишет код и которому это всё нафиг не надо. Кому надо сам разберётся и решит для себя стоит оно того или нет.
I>Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.
Если у человека есть реальная потребность в фишках, которые есть в Немерле, то он будет искать и в конце концов найдёт. А если такой потребности нет, то можно предлагать хоть десяток-два тысяч типовых задач, ситуация не изменится.
... << RSDN@Home 1.2.0 alpha 5 rev. 69>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
I>>Наоборот Нужен всего десяток-два типовых задач и далее легко понять, надо или не надо. Особенно актуально для людей у которых программирование не основная деятельность. Слишком часто именно такие люди определяют набор баззвордов в конкретном приложении.
IT>Если у человека есть реальная потребность в фишках, которые есть в Немерле, то он будет искать и в конце концов найдёт. А если такой потребности нет, то можно предлагать хоть десяток-два тысяч типовых задач, ситуация не изменится.
Очень смешно, надо полагать БЛТ уже на Немерле ? Поиски тебе не помогают, правильно ?
Здравствуйте, IT, Вы писали:
IT>Немерле пока не готов для того, чтобы на нём решать задачи вроде БЛТ.
Во оно как?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Зачем мне нужен Nemerle?
От:
Аноним
Дата:
14.10.13 12:25
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, IT, Вы писали:
IT>>Немерле пока не готов для того, чтобы на нём решать задачи вроде БЛТ.
VD>Во оно как?
Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.
Здравствуйте, Аноним, Вы писали:
А>Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.
В языке не бывает форм, как синтаксической конструкции, формы реализуются как библиотека над языком, а дизайнер предоставляет возможности для их рисования и генерирует код, и это не проблема языка, язык готов к тому чтобы использовать его с любой графической технологией, не готовы только дизайнеры форм, а ваше нежелание его освоить лишь свидетельствует что язык вам пока не нужен, вам нужны формы.
Re[11]: Зачем мне нужен Nemerle?
От:
Аноним
Дата:
14.10.13 12:37
Оценка:
Здравствуйте, CodingUnit, Вы писали:
CU>Здравствуйте, Аноним, Вы писали:
А>>Пока в языке нет форм (вариант писать одно на немерли другое на шарпе не предлагать) он может рассматриваться как поделка и не готовый к использованию.
CU>В языке не бывает форм, как синтаксической конструкции, формы реализуются как библиотека над языком, а дизайнер предоставляет возможности для их рисования и генерирует код, и это не проблема языка, язык готов к тому чтобы использовать его с любой графической технологией, не готовы только дизайнеры форм, а ваше нежелание его освоить лишь свидетельствует что язык вам пока не нужен, вам нужны формы.
Бред. У меня все проекты так или иначе требуют форм. Если язык(среда) не готов их предоставить, значит язык не готов к использованию. Мало кто пользуеться С++ без КТ или аналога или взми выкинь из С шарпа редактор форм, сколько народа от него откажеться? 70? 90? процентов