Re[11]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 03:35
Оценка:
Здравствуйте, alvas, Вы писали:

A>Так как это полный аналог функции на c++. То в вашем посте можно заменить слово Nemerle на c++.


С какой такой радости?
Re[12]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 28.12.08 03:41
Оценка:
Здравствуйте, VoidEx, Вы писали:

A>>200 строк как это сделать. Как это использовать описано здесь


VE>А у Cayenne что? Тоже как сделать. 14 строк.


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

A>>Так как это полный аналог функции на c++. То в вашем посте можно заменить слово Nemerle на c++.


VE>С какой такой радости?


Потому что "это полный аналог функции на c++"
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[13]: Что меня не устраивает в МП в Nemerle
От: VoidEx  
Дата: 28.12.08 03:42
Оценка:
Здравствуйте, alvas, Вы писали:

VE>>А у Cayenne что? Тоже как сделать. 14 строк.


A>Что есть Cayenne?


Статья же на вики. Функциональный язык программирования с dependent types.
Re[14]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 28.12.08 03:44
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>>>А у Cayenne что? Тоже как сделать. 14 строк.


A>>Что есть Cayenne?


VE>Статья же на вики. Функциональный язык программирования с dependent types.


Если ты заметил я даю прямые ссылки там где нужно разъяснение. Так почему бы и тебе не сделать то же самое?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[14]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 28.12.08 03:45
Оценка:
Здравствуйте, VoidEx, Вы писали:

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


VE>>>А у Cayenne что? Тоже как сделать. 14 строк.


A>>Что есть Cayenne?


VE>Статья же на вики. Функциональный язык программирования с dependent types.

здесь

Cayenne is the capital of French Guiana, an overseas région and département of France located in South America. The city stands on a former island at the mouth of the Cayenne River on the Atlantic coast.

http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[7]: Что меня не устраивает в МП в Nemerle
От: yumi  
Дата: 28.12.08 03:46
Оценка: +3 :))
Здравствуйте, mihailik, Вы писали:

M>1) $

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

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


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


Ну ':' ты зря посчитал, это элемент строки, а не спец. символ. Итого будет 4 спец. символа. Давай по аналогии посчитаем количество спец. символов в шарпе:
1. '.'
2. '('
3. '"'
4. "{"
5. "0"
6. "}"
7. """
8. ","
9. ")"

Итого 9 против 4-х, Шарп то, поклиничнее будет

А если по делу, то там ведь всего один спец. символ '$' и концепция стоящая за ним, проста как две копейки. Человека который не сможет понять такое я ни на одном проекте не встречал, если вам приходится работать с такими людьми, то мне вас искренне жаль.
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[12]: Что меня не устраивает в МП в Nemerle
От: alvas  
Дата: 28.12.08 03:49
Оценка:
Здравствуйте, VoidEx, Вы писали:

A>>200 строк как это сделать. Как это использовать описано здесь


VE>А у Cayenne что? Тоже как сделать. 14 строк.


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

VE>Кстати, парадокс Блаба — сладкая самообманка для "элиты", потому-то её так и любят пользователи крутых (по всем параметрам крутых!), но непризнанных (возможно пока, хотя насчёт ЛИСПа уже почти и сомнений нет, у Немерле ещё всё впереди) языков, автоматически записывая остальных в Блабы, даже если понимают, что это не так.


А это видимо сладкая самообманка для "мейнстримщиков", которые по каким-либо причинам не могут использовать действительно крутые языки
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[3]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 04:14
Оценка: 81 (3) +2
Здравствуйте, Ikemefula, Вы писали:

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


Типа PHP? Ребята, это не серьёзно. Если бизнес модель твоей компании базируется на эксплуатации дешовых кодеров-пэтэушников, которые в состоянии использовать только примитивные технологии, то МП однозначно не для тебя. Не заморачивайся. Купи одну книжку ПХП за три дня на всю контору и этого будет более чем достаточно. Вкладывайте деньги не в обучение, не в качество, а в количество. Возможно такая модель более прибыльна. Хотя, судя по тому как сейчас трещит по швам индусский аутсорсинг, это не совсем так в определённой перспективе.

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


I>Да, это хороший подход. Работает исключительно в коммандах из топ-разработчиков.


Это работает всегда. От проблемных людей надо избавляться. Команда из 5-7 человек с проблемным мембером работает гораздо эффективнее без него. Уж поверь мне на слово, как ведущему сабокоеду, съевшему не одну собаку на корпоративной грызне пока я работал в IBM. Убираешь такого человека из команды и работа начинает в буквальном смысле спориться. Исключений не бывает.

I>С плохими технологиями всегда так — чуть что, виноватые не создатели технологии, а тупые разрабы, потому что видители у топов все отлично.


Так всегда не с плохими технологиями, а с плохими топами. Люди могут ошибаться, в том числе и по объективным причинам. Это нужно понимать и признавать. Более того, нет ничего проще, чем разделить ответственность за свои решения со всей командой. Достаточно просто обсудить эти решения с ней и всё. Никто не виноват

I>Это тебе кажется, что не сложнее. А реально — много сложнее. Примерно на порядок.


Чушь. Из какого пальца "порядок" высасывал?

I>У меня был случай, когда я понаписывал макросов а товарищи по проекту отказались их использовать и долбили копи-пастом.


Давай посмотрим на твой макрос и подумаем, что с ним не так. Думаю, что скорее всего проблема в том, что ты его писал не для того, чтобы решить конкретную проблему, а для того, чтобы его написать. Вообще, это очень правильный вопрос "а какую проблему мы решаем?". Если бы ты задал его себе сам или тебе задали бы твои коллеги, то может правильное решение пришло бы гораздо быстрее.

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


Т.е. геморрой был изначально и скорее всего аккуратно был перенесён в макрос

IT>>Главная проблема при изучении нового не в запоминании названия функций и конструкций языка. Главная проблема в освоении новых концепций. Тот же yield return не сложно запомнить, гораздо сложнее разобраться с ленивостью.


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


А ты пробовал им объяснять как это работает? Я пробовал много раз и ты знаешь, люди начинают понимать. Причём обяснял даже не мелом на доске, а пальцем на окне вагона метро. И итераторы, и всю функциональщину. Люди это понимают, но для этого нужно обязательное выполнение двух условий:

1. Желание объясняющего объяснять.
2. Необходимый базовый уровень знаний обучаемого.

В частности, человеку с C++ бэкграундом, знающему что такое указатель на функцию, вся функциональщина объясняется на раз. Как её применять он уже потом сам научится, но что это такое и как это всё работает объяснить не составляет проблем.

С другой стороны, объяснить, например, двухлетнему ребёнку смысл слова "ответственность" практически не реально. Он ещё не оперирует базовыми понятиями, на которых можно строить объяснение. Поэтому, маленьким детям и юным кодерам говорят, что солнце пошло спать, а уже взрослым, что Земля вращается вокруг своей оси.

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


I>Сложности нет. Сложность в людях.


Сложность в неверии в людей и в костности мышления.

IT>>А про правку сгенерированного кода и железной линейкой по пальцам тут уже сказали. И я с этим полностью согласен, т.к. встречался с таким баранизмом на практике.


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


Сто процентов не тот. Precompile генерация кода — не тот инструмент по определению.

IT>>По первому пункту я уже всё сказал. Это не сложнее, чем использование классов, методов и атрибутов. Сложность не в макросах, сложность в концепциях, которые они реализуют. Но это в равной степени относится и к тем же классам, методам и атрибутам.


I>Это справедливо только для разработчиков топ-уровня.


Это не справедливо только для джуниоров — 0-3 года опыта. И то не для всех.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Что меня не устраивает в МП в Nemerle
От: yumi  
Дата: 28.12.08 04:31
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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

I>Если нечто этим свойством не обладает, то это не технология вовсе.

Мда, офигенный критерий оценки некоторой технологии. Вот пришел ко мне двоечник Вася из ПТУ, типичный такой безграмотный представитель. А я в проекте использую язык Си, а он хоть убейся не может его осилить, значит Си это не язык вовсе? И где тут экономия? Уж лучше найду пару-тройку высококлассных спецов, которые мне напишут в срок то, что никогда не напишут сотни безграмотных Вась из ПТУ. Вот это я называю экономией.

I>У них, безграмотных толп, гарантировано желания нет чего то осваивать и тем не менее это не становится преградой для распространения технологии.

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

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

I>Вот например, у нас на проекте работают


I>1 Тестировщики

I>2 Девелоперы
I>3 Алгоритмисты(это девелоперы но завязаные на очень узкую часть — алгоритмы которые придумывают математики)
I>4 Математики
I>5 специалисты по предметной области

I>интересы девелопера в математике отсутствуют, как и во всех других областях, а вот математики точно так же не имеют интереса кроме как в математике.

I>Ровно так же со всеми остальными.

Странно, девелопер не знающий дискретку, вызывает сомнения.

I>Т.е. здесь имеет место вовлечение безграмотных масс в разработку, ибо должную подготовку по разработке ПО имеет только п.2.


Странно, мне казалось, что если девелопер не может закодировать некоторый алгоритм, то он и не девелопер вовсе. Можно было объединить пункты 2 и 3 и сэкономить на этом.

I>Вобщем то данный топик крутится вокруг одного вопроса — оценка сложности конструкций.


И поэтому я предпочитаю Лисп, а конкретнее Схему, там конструкций и вовсе почти нет
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[5]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 04:36
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

I>А между тем, см. выше, без малого, 100% софта пишут безграмотные специалисты.


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

В моей команде люди ищутся на место месяцами даже на второстепенные позиции. При этом человек может быть взят даже без интервью или с минимально формальным, если его хорошо отрекомендовал один из тимеров. Думаю, по количеству выполняемых проектов в среднем по нашей конторе нас должно было бы быть раз в пять больше. Объём кода, делающего тоже самое думаю тоже возрос бы во столько же, количество багов и сроки выполнения увеличились бы пропорционально. Безграмотных специалистов в нашей команде нет.

Это я к чему. 100% софта безграмотные специалисты пишут там, где это является стратегией компании. Примеров я могу привести мильён как из собственной практики, так и из практики друзей. Всё не так плохо. И не надо изо всех сил убеждать других в обратном.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Что меня не устраивает в МП в Nemerle
От: yumi  
Дата: 28.12.08 04:49
Оценка:
Здравствуйте, IT, Вы писали:

IT>Это я к чему. 100% софта безграмотные специалисты пишут там, где это является стратегией компании. Примеров я могу привести мильён как из собственной практики, так и из практики друзей. Всё не так плохо. И не надо изо всех сил убеждать других в обратном.


Очень спорно, на моем последнем проекте, был один товарищ, вреда от которого было больше, чем пользы.
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[11]: Что меня не устраивает в МП в Nemerle
От: Andrei F.  
Дата: 28.12.08 04:57
Оценка: +1 :)))
Здравствуйте, AndrewVK, Вы писали:

AF>>Резонерством я назвал потому, что это всё практически не имеет отношения к теме в заголовке — "недостатки в МП в Nemerle".


AVK>Перечитай название темы.


И что? Надо перечитывать, пока не перестану там видеть "МП" и "Немерле"?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[5]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 05:27
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

IT>> Использовать просто, но простота использования порождает сложность. Какую сложность?


AVK>Сложность вползания в сильно отличающуюся языковую среду, которая на долго живущем проекте обязательно будет эволюционировать в нечто уникальное. Эта проблема есть и сейчас, безусловно. Но, по крайней мере, сейчас это сдерживается рамками стандарта языка.


Т.е. тебя не устраивает обилие возможностей. Т.е. главный недостаток МП в Немерле именно в его щироких возможностях?

AVK>Если же урезать мощность макров с целью этого избежать, то, мне кажется, можно придумать какие то более простые решения, легче реализуемые, более дружелюбные к рефакторингу и IDE и т.д.


Кастрированные макросы уже были в C, какой смысл повторяться.

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


Ну так ты изъясняйся яснее. Сам знаешь, неясность изложения свидетельствует о путанности в мыслях. Мне действительно трудно уловить твои притензии к МП в Немерле.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 05:41
Оценка: +3
Здравствуйте, mihailik, Вы писали:

M>7 букв 5 спецсимволов -- это клиника. А приведённый код на C# понятен любому вменяемому программисту планеты.


Я тебе открою один маленький секрет, чтобы ты в дальнейшем не нёс подобной пурги. В Немерле практически нет ничего, чего не было бы в других языках. Его уникальность в интеграции всего лучшего в одном месте. В частности, сплайс-строки понятны, например, любому перл- или руби- программисту. И поверь мне, они не разделяют твоего мнения и у меня больше доверия им, как людям, пробовавшим вкус фрукта, о котором идёт речь.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 05:50
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

IT>>$"Output: $a"

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

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


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


Это обманчивое впечатление, которое базируется на знании и привычности второго варианта. Мне, например, в своё время казалось, что круче "Output: %s" вообще ничего быть не может. Оказалось может. А потом оказалось, что может быть даже круче того, что может быть круче первого. В общем, не надо путать свои привычки, предпочтения и желанием поспорить с объективностью. Сплай-строки реально круче, а при соответствующей подстветке в студии ещё и гораздо нагляднее.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 05:56
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


Жаль нет под рукой интеграции. Киньте кто-нибудь ему картинку с подсветкой в сплайс-строках в интеграции. Пусть сам оценит, что проще объяснять студенту.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 06:10
Оценка: :)
Здравствуйте, mihailik, Вы писали:

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


M>1) $

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

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


Считовод, блин. А почему пробел не посчитал?

Конечно же, PleasePrintWordOutputThenPutColonThenSpaceThenLocalVariableNamedAInLowerCaseThanks гораздо понятней. Кто бы сомневался.
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Что меня не устраивает в МП в Nemerle
От: IT Россия linq2db.com
Дата: 28.12.08 06:18
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

R>>Студенту однофигственно придется объяснять что первое что второе. Причем, не факт, что первый вариант сложнее для понимания.


I>Придется объяснять это так. А вот первую строку придется объяснять через вторую, как ни крути.


Первый вариант довольно тупо реализуется в runtime через string.Concat. Алгоритм второго сложен и запутан. Что проще объяснить?
//rsdn.org/forum/images/bis.gif Если нам не помогут, то мы тоже никого не пощадим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.