Re[6]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 23:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>
S>Console.WriteLine("Rum-Coke: ${0:F2}", 10/3);
S>


$"Rum-Coke: $((10/3).ToString(see MSDN for details))";

Но можно макру допилить для поддержки форматирования.
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 23:05
Оценка:
Здравствуйте, VladD2, Вы писали:

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


A>>>Это проблема думать на Блабе
Автор(ы): Чистяков Влад (VladD2)
Дата: 03.03.2007
Язык программирования Nemerle заинтересовал многих в первую очередь своей мощнейшей подсистемой мак-росов. Однако и без них Nemerle предоставляет ряд су-щественных улучшений по сравнению с традиционными, императивными языками программирования (такими как Java, C# и C++).
Nemerle, кроме традиционного императивного програм-мирования, поддерживает функциональное программи-рование. Это выражается в наличии конструкций, упро-щающих манипуляцию функциями, построение и анализ сложных структур данных и т.п.
К сожалению, если вы не использовали возможности, присущие функциональным языкам ранее, то вам будет трудно оценить, насколько Nemerle может оказаться вам полезным в реальной повседневной работе. Данная статья призвана в неформальной форме продемонс-трировать это.


I>>Я не понял что ты хотел сказать.


VD>А ты прочит посылочку. Может поймешь.


Я поясню. Про Блаба все прекрасно поняли. Непонятно только, к чему. Потому что это не проблема программистов, если она им не мешает, но проблема языка. Например, того же ЛИСПа. И исправлять надо в таком случае язык, а не бульоны программистов.
Re[13]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.12.08 23:10
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Вот почему в статьях про Хаскель о ней написано, а в статье про Немерле — нет.

VE>Я ничего не перепутал?

Потому что Хаскель придуман программистами-пуристами. Задача создателей Хачкеля сделать идиально чистый математический язык. А такой язык нужен только людям чей мозг думает в терминах мат.формул.

Немерле же проектировался как гибридный язык. В него вложили базу привычную большинству современных программистов — ООП. При этом к языку еще прикрутили ФП и МП, но сделали так, что оными можно не пользоваться. С помощью МП в языке были реализованы императивные конструкции аналогичные C#-ным. Это позволяет любому знающему C# начинать писать без серьезного предварительного обучения. Кроме того для начала использования языка можно знать С++ или Яву. Этого тоже будет достаточно, с той оговоркой, что рантайм — это дотнет и его со временем придется изучить.

В Хаскеле же ты сразу окунаешся в мир ФП и сделать что-то "по-старому" ты уже не сможешь.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 23:12
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Не, парадокс Блаба — это фак. Он осязаем.

Раумеется. Я и не говорю, что там враньё.

VD>Проблема в том, что люди без базы (с узкой базой) физически не могут здраво рассуждать о предмете, но тем не менее им кажется, что таки могут, и они таки рассуждают. Но объяснить им, при этом, ничегошеньки невозможно. Единственный способ им что-то объяснить — это дать исходную базу. Но это невозможно сделать в рамках беседы. Это в двойне невозможно, если человек не хочет изучать эту самую базу.


Это тоже всё верно. Но проблема эта языка программирования, а не программистов. Чтобы разом куча людей перешла на новый уровень — тут надо или гены задействовать, или обучение общее повышать (что тоже без генов вряд ли так просто получится, только если ценой какого-то другого предмета; МС например может деньги на это вбухать). Поэтому парадокс Блаба подходит для объяснения, когда человек не понимает, чем язык крут. Здесь же вроде как идёт разговор о сложности МП, и парадокс Блаба ну никак не объясняет, как эту сложность преодолеть. С одной стороны мы имеем парадокс Блаба, а с другой "всё просто, как новая техника".
Взять вот указатели. Некоторые их не понимают. Да, с высоты понявшего — всё просто, но ведь у многих на осознание уходило достаточно времени. Так что это оно для понявших просто, а для непонявших эти два условия одновременно выполняться не могут.
Re[14]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 23:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Потому что Хаскель придуман программистами-пуристами. Задача создателей Хачкеля сделать идиально чистый математический язык. А такой язык нужен только людям чей мозг думает в терминах мат.формул.


VD>Немерле же проектировался как гибридный язык. В него вложили базу привычную большинству современных программистов — ООП. При этом к языку еще прикрутили ФП и МП, но сделали так, что оными можно не пользоваться. С помощью МП в языке были реализованы императивные конструкции аналогичные C#-ным. Это позволяет любому знающему C# начинать писать без серьезного предварительного обучения. Кроме того для начала использования языка можно знать С++ или Яву. Этого тоже будет достаточно, с той оговоркой, что рантайм — это дотнет и его со временем придется изучить.


VD>В Хаскеле же ты сразу окунаешся в мир ФП и сделать что-то "по-старому" ты уже не сможешь.


Я согласен, Хаскель тут был просто в качестве примера некоего другого языка, тоже требующего levelup. Но со стороны Блабиста Nemerle не имеет преимуществ, а потому чего туда лезть? Поэтому он не пойдёт туда просто так, а фичей он не поймёт из-за того, что Блабист. Так что ему сначала придётся понять фичи (или хотя бы понять, что они существенны, что в принципе почти равносильно), а уже потом он может принять такое решение и доучиваться.
А фраза моя была ответом на фразу "Проблемы парадокса Блаба для Nemerle нет" (пишу по памяти). А она есть.
Re[6]: Что меня не устраивает в МП в Nemerle
От: Lloyd Россия  
Дата: 28.12.08 23:43
Оценка:
Здравствуйте, IT, Вы писали:

L>>Кстати, а как предполагается локализовывать подобного рода строки?


IT>Зачем?


Супер! 5 баллов. Действительно совершено незачем.
Re[6]: Что меня не устраивает в МП в Nemerle
От: Lloyd Россия  
Дата: 28.12.08 23:46
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Кстати, а как предполагается локализовывать подобного рода строки?


VD>Никак. Они для этого не предназначены.


То есть для одного типа форматирования используем $-нотацию, а когда нужна локализация — откатываемся до строк в стиле "{0}"?
Re[9]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.12.08 23:46
Оценка: :)
Здравствуйте, IB, Вы писали:

VD>>Ага. И по этому на него лучше не равняться.

IB>Ты о чем? На данный момент это единственный внятный способ работать с LINQ2SQL, если лень хранимки писать.

Я о большинстве.

Массы делают свой выбор бездумно. Находясь в плохих условиях они с огромной веорятностью выбирают зло. Пример — Германия в двадцатых годах прошлого века.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.12.08 23:48
Оценка:
Здравствуйте, IT, Вы писали:

IT>За что? За то, что я написал следующий код не руками, а сгенерировал и уже больше никогда не испльзовал генератор?


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

IT>
IT>public class Person
IT>{
IT>    public string FirstName { get; set; }
IT>    public string LastName  { get; set; }
IT>}
IT>

IT>А проблему, которую пораждает такой подход ты можешь назвать?

Изменение модели.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:00
Оценка: +1
Здравствуйте, VoidEx, Вы писали:

VE>Какое предупреждение? Не могу представить. Вроде как без любого из $ (или даже обоих) всё нормально.

VE>Или предупреждение, что mayVar не используется?

Предупреждение будет, что в $-строке нет ни одного $-са. Если нужна просто строка, убери $ перед ней.
Данная проверка выявила 3 ошибки в компилятора (после ее добавления).

VE>Пример, кстати, неудачный, так как собственно фишки и не показывает. Ибо в аналогичном случае в C# всё будет так же:

VE>
VE>int mayVar = 1;
VE>WriteLine("Моя строка равна: {0}", myvar);
VE>


Это как пример напишешь:
int mayVar = 1;
WriteLine("Моя строка равна: {1}", mayVar);

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

VE>Я так понимаю, что отловит он ошибку количества аргументов. Это я придрался, конечно, к слишком общей фразе.


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

VE>Куда интереснее printf, но вот на Cayenne он выглядит на порядок проще.


Ну, так бросай свой любимый язык и пиши не нем. Потом расскажешь о том, что у тебя вышло.
Это я тебе к тому, что ты сравниваешь пример на совершенно академической подлке с реальным промышленным кодом.
В реальности обработка строк в виде списков — это кирдык проивзодительности. Макросы $ и аналоги не просто позволяют сложить строки, но еще и делают это максимально эффективно. Примитивная реализация тоже не заняла бы много места. В конце концов можно тупо повторить приведенный код на Немерле. Только это фикция и она кроме пенесометрии нигде бльше не пригодится.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 29.12.08 00:03
Оценка: +1
Здравствуйте, VladD2, Вы писали:

IT>>За что? За то, что я написал следующий код не руками, а сгенерировал и уже больше никогда не испльзовал генератор?


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


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

IT>>А проблему, которую пораждает такой подход ты можешь назвать?


VD>Изменение модели.


Какой модели?
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:05
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Ну вы-то спецы и пользуетесь макросами. А тут разговор, что массы могут как на C# писать. Вот я про массы. Меня 2.43 пользователя ЛИСП, например, мало интересуют.


Все кто начинал писать на Немерле в начале писали на нем как на немного расширенном Шарпе.
IT написал первую макру только спустя год после знакомства с Немерле. По началу даже то, что стоило бы макрой сделать, делал вручную.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:06
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Не понял. Тому, кому надоел каменный топор как орудие труда, нужно, чтобы другие какие-то программисты (тысячи их) переходили на следующий уровень мышления? Ну допустим. А зачем им это нужно? И много ли таких?


На подобный вопрос отвечали уже сто раз. Ответить сто первый? Или сам ответ поищешь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:07
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Я поясню. Про Блаба все прекрасно поняли. Непонятно только, к чему. Потому что это не проблема программистов, если она им не мешает, но проблема языка. Например, того же ЛИСПа. И исправлять надо в таком случае язык, а не бульоны программистов.


У неандертальцев тоже проблем не было. Они думали, что каменный топор — это самое совершенное орудие труда. Другого они не видели и сделать или добить не могли.

Про Лисп, я уже говорил сто раз. Повторяться не буду.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:23
Оценка: -1
Здравствуйте, VoidEx, Вы писали:

VE>Я согласен, Хаскель тут был просто в качестве примера некоего другого языка, тоже требующего levelup. Но со стороны Блабиста Nemerle не имеет преимуществ, а потому чего туда лезть?


С точки зрения Блаба (отличныйе примеры Блабов в этой теме дискутируют) все языки равны по своим возможностям. Просто некоторые имеют непонятные феньки которые все запутывают (с их точки зрения).

102-ой раз повторяю — Немерле выглядит для блаба как его любимый Блад. Он может писать на Блабе и потихонечку изучать базис который позволит в итоге оценить мощность изучаемого языка. В итоге, он незаметно для себя, перестает быть блабом и его кругозор увеличивается.

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

В 2006-ом я тут один сражался. Меня поддерживал один, ну, от силы два человека, а остальные только посмеивались. Сейчас на форуме уже масса народа которые говорят то что говорил и продолжаю говорить я. Тот же IT начал со смешков в мою сторону, но попробовав втянулся и в итоге понял, что есть языки совершеннее чем C# и С++ которые он знал.
Блабы могут называть этих людей (и меня, естествнно) фанатами. Но это не так. Фанаты — это те кто тупо лабает на Блабе и с пеной у рта доказывает, что их Блаб — это верх совершенства.

VE> Поэтому он не пойдёт туда просто так, а фичей он не поймёт из-за того, что Блабист. Так что ему сначала придётся понять фичи (или хотя бы понять, что они существенны, что в принципе почти равносильно), а уже потом он может принять такое решение и доучиваться.

VE>А фраза моя была ответом на фразу "Проблемы парадокса Блаба для Nemerle нет" (пишу по памяти). А она есть.

Проблема есть. И никто не утверждал обратного. Ты просто не верно понял. Утверждалось совсем иное. Если под абстрактным именем Блаб скрывается C# (или на худой конец С++ или Ява), то блабу будет проще сделать первые шаги, и будет возможно продвигаться в расширении своего кругозора постепенно и безболезненно.

Вот недавно один из наших форумчан решил изучить Немерле. Интересно, что основной проблемой для него стали не какие-то там заумности ФП, а банальная рекурсия. От нее многим крышу рвет. А как раз Map, Fold и Filter он освоил на раз. Макросы тоже оказались не самым простым орешком, но прошли намного проще по сравнению с банальной рекурсией. Вот такие наблюдения из жизни. А вы говорите блабы...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:29
Оценка:
Здравствуйте, IT, Вы писали:

G>>Все новое в программировании вводит новые абстракции, а все что существует — конкретная реализация абстракций. Если вы пытаетесь объяснить новые абстракции через существующие реализации, то ничего у вас не выйдет. Для примера попробуйте объяснить замыкания тому кто на среднем уровне знает C\C++ и только его.


IT>Легко, если человек понимает что такое указатель на функцию.


К сожалению, не всегда и не так легко.

Скажем реализация замыканий через классы реализующие интерфейс — это только одна из возможных реализаций. И не самая эффективная.

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

Но надо признать, что тем кто уже знаком с парадигмами вроде ООП может оказаться проще объяснить реализацию и дать попробовать использовать фичу на практике. А там уже все само собой придет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:36
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Это тоже всё верно. Но проблема эта языка программирования, а не программистов. Чтобы разом куча людей перешла на новый уровень — тут надо или гены задействовать, или обучение общее повышать (что тоже без генов вряд ли так просто получится, только если ценой какого-то другого предмета; МС например может деньги на это вбухать). Поэтому парадокс Блаба подходит для объяснения, когда человек не понимает, чем язык крут. Здесь же вроде как идёт разговор о сложности МП, и парадокс Блаба ну никак не объясняет, как эту сложность преодолеть. С одной стороны мы имеем парадокс Блаба, а с другой "всё просто, как новая техника".

VE>Взять вот указатели. Некоторые их не понимают. Да, с высоты понявшего — всё просто, но ведь у многих на осознание уходило достаточно времени. Так что это оно для понявших просто, а для непонявших эти два условия одновременно выполняться не могут.

Это проблема языка если без базы этот язык использовать нельзя.

Простой пример — С++ и его шаблоны. С++ используют море неопытных программистов. Факт? Факт!
Но шаблоны С++ позволяют писать мета-программы. Факт? Факт!
Писать мета-код на С++ очень сложно. Понять его тоже весьма сложно. От того писать его могут единицы. Факт? Факт!
Но тем не менее С++ используют огромные массы программистов, большая часть которых не знакома со сложными концепциями позволяющими осуществлять мета-программирование на шаблонах С++.

Более того. Эти массы вполне сносно справляются с использованием библиотек использующих это самое МП на шаблонах.

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

Ну, а далее все произойдет само собой. Человек будет пробовать новое и находить, что это не так уж сложно.

Есть конечно вероятность, что некий процент дебилов не сомжет сделать второй шаг. Пока что таких замечено не было. Но возможно пока язык изучают только талантливые люди. Ну, что же можно сказать о дебилах? Гнать их нужно. Может это и будет четкий ценз.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 00:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>Бывает, бывает. Есть генерилки, которые вообще не заточены на автоматическую генерацию вроде Custom Tools. С ними нужно повозиться, указать все необходимые параметры и потом раз и сгенерировать. После этого сгенерированный код используется как обычный рукописный. Народ этим широко пользуется.


Есть, пользуются... не спорю. Только это уродство.

VD>>Изменение модели.


IT>Какой модели?


Любая генерация кода подразумевает, что есть модель описывающая базовые данные по которой генерируются частности.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 29.12.08 01:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VE>>Не понял. Тому, кому надоел каменный топор как орудие труда, нужно, чтобы другие какие-то программисты (тысячи их) переходили на следующий уровень мышления? Ну допустим. А зачем им это нужно? И много ли таких?


VD>На подобный вопрос отвечали уже сто раз. Ответить сто первый? Или сам ответ поищешь?

Отвечай.
Re[7]: Что меня не устраивает в МП в Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 01:06
Оценка:
Здравствуйте, Lloyd, Вы писали:

VD>>Никак. Они для этого не предназначены.


L>То есть для одного типа форматирования используем $-нотацию, а когда нужна локализация — откатываемся до строк в стиле "{0}"?


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