Re[11]: Что меня не устраивает в МП в Nemerle
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.12.08 20:45
Оценка:
Здравствуйте, mihailik, Вы писали:

AVK>>Главное, чтобы он запускался тогда, когда хочу я.


M>Легко -- правой кнопочкой и Run Custom Tool.


А если в солюшене файлов с custom tool несколько сотен?
... << RSDN@Home 1.2.0 alpha 4 rev. 1132 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[7]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 20:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Т.е. VladD2 понаписывает макросов на все случаи жизни ?


I>Я в это не поверю.


Это отличный шанс для вашего бизнеса — как говорят американцы.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[4]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 20:48
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>На практике надо посадить на немерле не только всю комманду, но и людей, которые потенциально могут стать частью этой комманды.


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


Nemerle создает стандартные .Net сборки. Так что достаточно посадить одного инструментальщика.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[7]: Что меня не устраивает в МП в Nemerle
От: rameel https://github.com/rsdn/CodeJam
Дата: 27.12.08 21:20
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

R>>
R>>$"Output: $a"
R>>string.Format("Output: {0}", a)
R>>

R>>но где здесь 5 спецсимволов и где здесь клиника?

I>Где там 5 спецсимволов, неясно.


I>Но вот код такой просто клиника.


Да ну А обоснования будут?

I>Прозрачности в первой строке около нуля, как объяснить например студенту первого курса подобное — неясно. Вот она, сложность.


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

Так что вопрос прозрачности больше тут связан как мне кажется с инертностью мышления и силой привычки
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 >>
Re[9]: Что меня не устраивает в МП в Nemerle
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 27.12.08 21:22
Оценка: 44 (3) +1
Здравствуйте, VoidEx, Вы писали:

VE>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>А что есть такого у Карузо, чего не может быть у Петьки в данном случае? Ну, кроме отсутствия желания, разумеется.


VE>Все рождены в равенстве и с равными возможностями!


Я же вроде уточнил, что говорю о данном случае?

Я правильно понимаю, что это сейчас было утверждение "метапрограммистами не становятся, ими рождаются"? Я уже не раз приводил (в том числе и тут, в ФП) аналогию с рисованием. Рисовать можно научить любого. Научить же передавать через рисунок свои чувства (а тем более, чувства других людей), практически нереально, этому необходимо учится самому, имея некоторый врожденный фундамент и желание/стремление. Восприимчивость к такого рода самобучению и называют талантом. Так вот, освоить МП — это как научиться использовать новую технику в рисунке. Никаких талантов для этого не требуется, чистый формализм и механика. А вот то, как художник/программер эту технику будет применять в своих работах — это уже формализм совсем не всегда. Но и тут никаких новых талантов, кроме тех, что у хорошего художника/программера уже есть, и не нужно.

Забавно, пока писал про техники, вспомнил, как мы осваивали в школе на уроках живописи, одну из оных. Ее суть сводилась к следующему: в качестве холста для работы выступал кусок оргстекла, нужного размера. Рисунок наносился на стекло кистью, с использованием крайне размоченной на палитре акварели (точнее даже, воды с небольшим добавлением акварели), очень крупными и весьма условными мазками. После этого, холст (мы использовали ватман) обильно пропитывался водой и нашлепывался на это стекло. Сверху ложился еще один кусок стекла, и весь этот бутерброд придавливался чем-нибудь тяжелым (чтобы холст не покоробило от влаги). Когда краска высыхала, холст отдирался от обоих стекол и, сначала просто влажной кисточкой, а потом пером с тушью уточнялись контуры рисунка, смазанные из-за водянистости техники и смещений холста при нашлепывании.

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

Эта техника отличалась от всех остальных, ранее нами изученных, в т.ч. и следующим:

1. Позволяла крайне быстро получить работы необычайной красоты и выразительности
2. Основной базис для рисунка со всеми его богатыми фактурами и переходами выполнялся не художником, а другим, более огрубленным рисунком, нанесенным заранее на стекло.
3. Овладение пером и навыками уточнения контуров хоть и потребовало некоторое время, но результат того стоил однозначно
4. Концентрация творческой составляющей, преимущественно на последней стадии позволила целиком и полностью посвятить себя на ней передаче своих эмоций, а не размазывать этот процесс по всем этапам, как в других техниках.

Вот и с чего это я про нее сейчас вспомнил?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[6]: Что меня не устраивает в МП в Nemerle
От: mihailik Украина  
Дата: 27.12.08 21:26
Оценка: -3 :))) :)
R>но где здесь 5 спецсимволов и где здесь клиника?

1) $
2) "
3) :
4) $
5) "

Клиника: 5 спецсимволов на 7 букв. Птичий язык Write Only типа перла.
Re[12]: Что меня не устраивает в МП в Nemerle
От: mihailik Украина  
Дата: 27.12.08 21:33
Оценка: :)
AVK>А если в солюшене файлов с custom tool несколько сотен?

Тогда потрать 10 минут и напиши програмулинку, чтобы вызывало. Обычно все Custom Tool имеют программируемый API.
Re[10]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 27.12.08 21:39
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Я правильно понимаю, что это сейчас было утверждение "метапрограммистами не становятся, ими рождаются"?

Разумеется. Ну т.е. становление тоже имеет место, но далеко не 100%, и даже скорее всего не 50. Захотеть тоже надо уметь. Гены сильная штука. В принципе можно и кролика научить курить (вопрос времени и денег), но вот есть люди, какие есть. Есть даже неспособные понять указатели.

KV>Я уже не раз приводил (в том числе и тут, в ФП) аналогию с рисованием. Рисовать можно научить любого.

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

KV>Так вот, освоить МП — это как научиться использовать новую технику в рисунке. Никаких талантов для этого не требуется, чистый формализм и механика.

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

В любом случае это не по теме, у AVK есть вроде как более конкретные претензии. Но большинством это вопринимается "МП в Немерле ненужное говно, им никто не в состоянии овладеть и оно сложное". И они считают своим долгом рассказать, как можно человека научить понять простую макру, хотя к теме это отношения не имеет. Некоторые идут ещё дальше и слышат "Немерле говно". Потому и ответы в стиле "можно писать как на C#". Казалось бы, причём тут МП?
Re[7]: Что меня не устраивает в МП в Nemerle
От: rameel https://github.com/rsdn/CodeJam
Дата: 27.12.08 21:51
Оценка: :)
Здравствуйте, mihailik, Вы писали:

R>>но где здесь 5 спецсимволов и где здесь клиника?


M>1) $

M>2) "
M>3) :
M>4) $
M>5) "

M>Клиника: 5 спецсимволов на 7 букв. Птичий язык Write Only типа перла.


Скажите мне, что это стеб А то невольно вспоминается разговор про синтаксический оверхед господина Губанова

ЗЫ.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 >>
Re[4]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 22:03
Оценка:
Здравствуйте, IT, Вы писали:

IT>$"Output: $a"

IT>string.Format("Output: {0}", a)

IT>Сравни и прикинь, что будет легче объяснить и где будет меньше ошибок как по незнанию, так и по невнимательности.


Плюс проверка типов параметров во время компиляции.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[9]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 22:12
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Откуда взялись твои оценки сложности ? Здесь то и зарыта собака.


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


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


Это проблема думать на Блабе
Автор(ы): Чистяков Влад (VladD2)
Дата: 03.03.2007
Язык программирования Nemerle заинтересовал многих в первую очередь своей мощнейшей подсистемой мак-росов. Однако и без них Nemerle предоставляет ряд су-щественных улучшений по сравнению с традиционными, императивными языками программирования (такими как Java, C# и C++).
Nemerle, кроме традиционного императивного програм-мирования, поддерживает функциональное программи-рование. Это выражается в наличии конструкций, упро-щающих манипуляцию функциями, построение и анализ сложных структур данных и т.п.
К сожалению, если вы не использовали возможности, присущие функциональным языкам ранее, то вам будет трудно оценить, насколько Nemerle может оказаться вам полезным в реальной повседневной работе. Данная статья призвана в неформальной форме продемонс-трировать это.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[5]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 22:15
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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



IT>>$"Output: $a"

IT>>string.Format("Output: {0}", a)

IT>>Сравни и прикинь, что будет легче объяснить и где будет меньше ошибок как по незнанию, так и по невнимательности.


I>Я на полном серьезе считаю, что второй вариант проще. Кода больше, но он и сообщает много больше.


А если я тебе скажу что во втором варианте могут быть рантайм ошибки, а первый их отловит на этапе компиляции?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[10]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 27.12.08 22:21
Оценка:
Здравствуйте, alvas, Вы писали:

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

И?
Re[6]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 27.12.08 22:23
Оценка:
Здравствуйте, alvas, Вы писали:

A>А если я тебе скажу что во втором варианте могут быть рантайм ошибки, а первый их отловит на этапе компиляции?

Расскажите мне, как он их отловит. Вдруг и правда?
А то у меня подозрение, что он может отловить только одну рантайм ошибку, которая может быть во втором случае.
Re[11]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 22:26
Оценка:
Здравствуйте, VoidEx, Вы писали:

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

VE>И?

Нужно переходить на следующий уровень мышления.
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[7]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 27.12.08 22:36
Оценка:
Здравствуйте, VoidEx, Вы писали:

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


A>>А если я тебе скажу что во втором варианте могут быть рантайм ошибки, а первый их отловит на этапе компиляции?

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

Прошу прощения, перепутал с макросом printf
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[12]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 01:00
Оценка:
Здравствуйте, alvas, Вы писали:

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

VE>>И?

A>Нужно переходить на следующий уровень мышления.

Кому нужно? Кому нужно, чтобы большое кол-во программистов перешло на следующий уровень мышления?
Re[4]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 01:07
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Вот есть, допустим, автоматический генератор SQL запросов по некоторой модели.


S>И вот оказывается, допустим, что в одном из запросов тебе вынь да полож потребовалось, допустим, обратиться не к таблице, а к параметризованному view. Обучать генерилку поддерживать параметризованные view — дорого; это окупится только если таких view у тебя применяется много. В исключительном случае тебе проще будет руками поправить сгенерированный запрос.


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

Для твоего примера в той же compile или run-time генерации можно для параметризации view задействовать, например, атрибут и добавить небольшую ветку в генератор, анализирующий этот атрибут в подходящем месте. Пользователь сам указывает, что он хочет, проблема решена, затрат минимум и главное никаких эвристик по вторичным половым признакам, что и делает эти генераторы сложными.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 01:13
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Откровенно говоря — это все не конкретные какие-то рассуждения. Слишком много нюансов. Правильно спроектированный генератор не должен приодить к проблемам при изменении модели или свойств генерируемого кода. Тем более, что конечная модель у такого генератора — это скорее всего текст (или на худой конец какое-то АСТ вроде System.Linq.Expressions.Expression).


VD>В любом случае менять сгенерированный текст — это самое хреновое решение.


Ну, на самом деле есть два способа работы с precompile генераторами:

1. Сгенерировал и забыл про генератор.
2. Сгенерировал и забыл про изменение кода.

Первый вариант тоже имеет право на жизнь и часто используется. У меня в конторе народ генерирует генератором Linq2SQL набор классов по БД, зачем вычищает оттуда весь мусор и уже далее поддерживает этот код вручную. В принципе, ничего плохого в этом нет. Небольшая автоматизации на начальном этапе.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Что меня не устраивает в МП в Nemerle
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.12.08 01:58
Оценка:
Здравствуйте, alvas, Вы писали:

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


I>>Откуда взялись твои оценки сложности ? Здесь то и зарыта собака.


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


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


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


Я не понял что ты хотел сказать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.