Здравствуйте, Rival, Вы писали:
R>Хорошо, тебе не нравится то, что глаза мозолит Nemerle и они его рекламируют влезая в любую тему. Нормально, это можно понять. Но ты же тоже можешь понять, что здесь ничего такого нет. Форум чей? Почему не могут рекламировать? Если связано с темой, то нормально.
Если связанно с темой то нормально, но раньше как раз было очень много несвязанного. Форум чей точно не знаю, но правила
для всех должны быть одинаковы. Но сейчас мне в общем фиолетово.
R>Ну вот и получается, что слишком много личного. И это личное исходит из того, что они рекламируют то, с чем ты не сильно пересекаешься. Тебе бы хотелось, чтобы всё было чистенько.
Дело не во мне, таких людей очень много, эта и множество подобных веток доказательство.
Я в общем мало обидчивый человек, но вот жаль что уже немало интересных и полезных для форума личностей покинули
rsdn из-за такого проведения местных немерлистов.
R>Можно писать в стиле шарпа или даже на шарпе.
Этот плюс может сыграть только тогда когда Немерле станет достаточно популярным чтобы на него началась какая-никакая
миграция с Шарпа, пока этого нет еще один "Шарп" никому не нужен.
FR>>Неважно, важно что уже сложился стереотип. R>Стереотипизация, она ограничивает сознание. Вот ты уже на них крест и поставил, "немерлисты — ругательство", "загадили", "достали". R>Вообщем, в стиле "Ходють тут всякие".
Я на них крест не поставил, даже болею за них когда не ругаюсь с Владом.
Но повторю отрицательное мнение о них уже сформировалось как факт и не только на rsdn.
R>Но критики то языка нет, кроме "он не нужен ибо сложный". Может, без такого пиара проект бы вообще умер.
Критика языка была, вполне конструктивная от тех же лисперов например про ограниченность макросов Немерле.
Была и не раз вполне адекватная хоть и принимая в штыки Немерлистами критика про недостатки языка для мейнстрим разработки.
Но в целом критиковать пока нечего, язык в теории очень неплох. Критика может появится после хоть какой-то обкатки
языка на практике, которой пока исчезающе мало.
Но вот общую стратегию развития Немерле покритиковать можно. Они повторяют ошибку разработчиков D
еще не выпустив даже релиз первой версии начинают делать вторую, существенно улучшенную, а это как показала уже практика
вечный долгострой. А им же следовало выпустив первую, подтянуть инфраструкутру, написать нативные для Немерле библиотеки,
и попытаться сделать хоть маленький но киллерапп.
Здравствуйте, FR, Вы писали:
FR>Но вот общую стратегию развития Немерле покритиковать можно. Они повторяют ошибку разработчиков D FR>еще не выпустив даже релиз первой версии начинают делать вторую, существенно улучшенную, а это как показала уже практика FR>вечный долгострой. А им же следовало выпустив первую, подтянуть инфраструкутру, написать нативные для Немерле библиотеки, FR>и попытаться сделать хоть маленький но киллерапп.
Ну на одном примере, не стоит делать вывод, что это вечный долгострой, вот посмотри на C++0X.Насчёт D точно не знаю, но вроде у них даже среды нормальной нет, во всяком случае когда последний раз смотрел, давно правда уже, всё было сильно сыровато. Слишком заметное упрощение ситуации говорить, что разработка второй версии автоматически означает долгострой, особенно если есть существенные аргументы в пользу её разработки.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
R>Ну на одном примере, не стоит делать вывод, что это вечный долгострой, вот посмотри на C++0X.Насчёт D точно не знаю, но вроде у них даже среды нормальной нет, во всяком случае когда последний раз смотрел, давно правда уже, всё было сильно сыровато.
C++0X поддерживают корпорации и огромное коммунити, это совсем другая весовая категория.
D же также разрабатывают всего несколько людей.
Среда есть http://www.dsource.org/projects/visuald вполне работоспособная.
R>Слишком заметное упрощение ситуации говорить, что разработка второй версии автоматически означает долгострой, особенно если есть существенные аргументы в пользу её разработки.
Разработка второй версии автоматически забирает ресурсы от самого важного популяризации.
А популяризация сейчас возможна только написанием killerapp.
Здравствуйте, FR, Вы писали:
FR>C++0X поддерживают корпорации и огромное коммунити, это совсем другая весовая категория.
Вот-вот, другая, но история долгая. Полная нюансов.
FR>Разработка второй версии автоматически забирает ресурсы от самого важного популяризации. FR>А популяризация сейчас возможна только написанием killerapp.
Ну так смотри, можно повременить с популяризацией и набрать для начала команду, которая продумает архитектуру и сделает первые альфы. Что и случилось в случае Nemerle. Тем кто более плотно занимается языком думаю виднее, что более приоритетно.
FR>D же также разрабатывают всего несколько людей.
D — хороший. И опять же не надо раньше времени хоронить проекты.
Жажда быстрого успеха это родом из телевизора или молодого интернета. Дюжина толковых заборят легион, но не сразу, а мелкими порциями. Мир меняется, язык — не стартап. Надо уметь ждать.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Здравствуйте, FR, Вы писали:
FR>D же также разрабатывают всего несколько людей. FR>Среда есть http://www.dsource.org/projects/visuald вполне работоспособная.
Решил глянуть. Начал устанавливать... Одним из шагов спрашивает DMD Installation folder где его лучше брать? И какую версию?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
FR>>Среда есть http://www.dsource.org/projects/visuald вполне работоспособная.
VD>Решил глянуть. Начал устанавливать... Одним из шагов спрашивает DMD Installation folder где его лучше брать? И какую версию?
Здравствуйте, VladD2, Вы писали:
I>>По факту уже мобайл/геймдев _очень_ сильно отличается от веба. Общих знаний-умений крайне мало, вопрос времени, когда появится это разделение в вузах.
VD>У нас и так за последние 5 лет с образованием стало плохо. А если еще будут на таком уровне в вузах деление делать, то это полный приплызд.
Стало плохо, потому и не надо впихивать в студентов все подряд. Уровень можно дать высокий, но за счет сужения специализации.
Здравствуйте, Rival, Вы писали:
I>>В эти черные ящики надо постоянно заглядывать R>Ну не постоянно, но желательно. В чёрные ящики макросов ты как раз можешь заглянуть.
А где преимущество макросов, если и с ними и без них желательно заглядывать в эти ящики ?
I>>До Гапертона ему не хватает чувства юмора, а для Синклера слишком много высокомерия.
R>Ай-ай, обязательно надо вставить свои пять копеек и уколоть оппонента раз он доставил столько неприятностей. R>Одни у тебя зашоренные несемейные гики, у других нет чувства юмора и слишком много высокомерия. Какое это отношение имеет к КСВ? Это уже Компьюетрные Персональные Войны.
I>Я всего то хочу, что бы Немерлисты ответили на вопрос — где брать девелоперов, которые смогут пользоваться немерле и дсл на нем.
Ну конечно если в какую газету "ищу работу" вакансию вида "требуется программист немерлом" запостить, то не получишь никого. А если запостишь в целевое издание или сайт вакансию в которой указать "ФП, метапрограммирование, понимание что такое AST обязательно, знание LISP это плюс" — то даже без упоминания Nemerle, получишь человека квалификацией сильно выше среднего, которому пофиг на чём писать. У функциональщиков рынок небольшой, они все там по 10 нишевых языков перепробовали, и изучение нового языка под новый проект для них норма.
Конкретно мне, после первого отзыва о использовании Nemerle в продакшене, в асю сходу стукнулись те кто реально хотели писать на чём-нить новом и забористом. Это для Минска-то, где программистов также мало как и контор, и каждый толковый уже в базе каждого эйчара. Для Москвы вообще походу актуальнее не то на каком языке в конторе пишут, а то насколько удобно до неё добираться
P.S. Кроме того никто не заставляет превращать Nemerle в DSL и пугать им людей. Наш первый макрос вообще был аттрибутом, который делал простецкую вещь:
[WebServiceCall] //<- вот этот аттрибутикpublic RemoteCall(s : string) : string
{
webService.Call(s);
}
//превращал минмализм который выше во что-то с логгированием и таймингом вида:public RemoteCall(s : string) : string
{
def ms = SharedTimer.Milliseconds;
try
{
def result = webService.Call(s);
def elapsed = SharedTimer.Milliseconds - ms;
when(elapsed > 5)
Log("RemoteCall($s) тупил $elapsed мс.");
result;
}
catch
{
ex is Exception => { Log("RemoteCall($s) обломался с ошибкой $ex за $(SharedTimer.Milliseconds - ms) мс."); throw; }
}
}
И получалось что людям надо писать только вызов вебсервиса, а этот вызов уже сам в try/catch обернётся и залоггируется если надо. Причём параметры вызова подставит без ошибок. Ну и что сложнее использовать, и где можно больше ошибок нахреначить? А главное — потом макрос можно допилить один раз и все методы по-новому работать будут, а рукопашный код в 30 местах заколдобишься что допиливать, что потом проверять.
I>>>По факту уже мобайл/геймдев _очень_ сильно отличается от веба. Общих знаний-умений крайне мало, вопрос времени, когда появится это разделение в вузах.
VD>>У нас и так за последние 5 лет с образованием стало плохо. А если еще будут на таком уровне в вузах деление делать, то это полный приплызд.
I>Стало плохо, потому и не надо впихивать в студентов все подряд.
Нет, не из-за этого.
I>Уровень можно дать высокий, но за счет сужения специализации.
Здравствуйте, Ikemefula, Вы писали:
I>А где преимущество макросов, если и с ними и без них желательно заглядывать в эти ящики ?
Давай так. Выделим тезис и приведём аргументы, а то неохота время терять, я не понимаю, что ты хочешь доказать.
Тебе объяснить выгоды метапрограммирования? Как я понял ты утверждаешь что оно не нужно, в частности потому, что тебе не найти людей и вообще это очень сложно. Думаю тебя услышали, но не все ставят такие как у тебя критерии оценки.
Ты вряд ли докажешь мне свою точку зрения, а я не способен донести до тебя свою. Честно говоря я думаю происходит что-то похожее, что случилось на этой картинке.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Здравствуйте, hi_octane, Вы писали:
_>Конкретно мне, после первого отзыва о использовании Nemerle в продакшене, в асю сходу стукнулись те кто реально хотели писать на чём-нить новом и забористом. Это для Минска-то, где программистов также мало как и контор, и каждый толковый уже в базе каждого эйчара. Для Москвы вообще походу актуальнее не то на каком языке в конторе пишут, а то насколько удобно до неё добираться
Вот например контора набирает 50 человек под конкретное направление. Где взять 50 хотя бы сеньоров — не совсем ясно, не говоря уже про функционалистов.
_>И получалось что людям надо писать только вызов вебсервиса, а этот вызов уже сам в try/catch обернётся и залоггируется если надо. Причём параметры вызова подставит без ошибок. Ну и что сложнее использовать, и где можно больше ошибок нахреначить? А главное — потом макрос можно допилить один раз и все методы по-новому работать будут, а рукопашный код в 30 местах заколдобишься что допиливать, что потом проверять.
не совсем ясно, как твой макрос отлаживать
У тебя в макрос зашита целая пачка логики, констант и прочей дряни. Т.е. у твое макроса целый вагон депенденсов. Следовательно можно просто заменить на мега-метод.
Здравствуйте, Ikemefula, Вы писали:
I>Стало плохо, потому и не надо впихивать в студентов все подряд. Уровень можно дать высокий, но за счет сужения специализации.
Специализацию он должен в конце учебы получать. Желательно на практике. А в универе его надо учить учиться (получать и систематизировать знания, уметь применять их на практике).
По уму нужно брать пример с других примеров. Например с медиков. У них тоже очень разные задачи. Скажем зубной врач и ортопед. Так что у них учатся 6 лет и последние годы посвящаются ординатуре. А это и опыт, и специализация.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Специализацию он должен в конце учебы получать. Желательно на практике. А в универе его надо учить учиться (получать и систематизировать знания, уметь применять их на практике).
VD>По уму нужно брать пример с других примеров. Например с медиков. У них тоже очень разные задачи. Скажем зубной врач и ортопед. Так что у них учатся 6 лет и последние годы посвящаются ординатуре. А это и опыт, и специализация.
Расскажи как ты видишь реализацию этого ?
Студенты идет работать местами с первого курса, а очень часто в ИТ идут в т.ч. логопеды, геологи и даже учителя, не говоря об инженерах всех сортов. Это не сказки, это реальное состояние дел.
Ну введешь ты эту "ординатуру", что с того ? Это как то повлияет на поток заявок на проекты ? Или логопеды каким то магическим образом спарятся ?
Здравствуйте, Rival, Вы писали:
I>>А где преимущество макросов, если и с ними и без них желательно заглядывать в эти ящики ?
R>Давай так. Выделим тезис и приведём аргументы, а то неохота время терять, я не понимаю, что ты хочешь доказать. R>Тебе объяснить выгоды метапрограммирования? Как я понял ты утверждаешь что оно не нужно, в частности потому, что тебе не найти людей и вообще это очень сложно.
Нет, ты не правильно понял. Я знаю преимущества метапрограммирования Я хочу выяснить, на какой круг задач ориентируеются немерлисты.
Если на мейнстрим — то это к доктору. Если на копилятор Немерле — то это снова к доктору. Если чтото по середине, то хочу услышать где эе эта середина, какого уровня должны быть эти люди и где брать этих людей .
Здравствуйте, Ikemefula, Вы писали:
I>Если на мейнстрим — то это к доктору. Если на копилятор Немерле — то это снова к доктору. Если чтото по середине, то хочу услышать где эе эта середина, какого уровня должны быть эти люди и где брать этих людей .
У меня есть такое подозрение, что бы я не сказал, ты мне скажешь "к доктору". Вообще, если перечитать твоё последнее предложение, то я бы и тебе советовал его посетить, уж извини.
Как ты в одном абзаце умудряешься назвать людей сумашедшими, найти середину, а потом "найти людей". Я логический наци, знаешь ли, поэтому прости, ну не могу так. Я уж как старался тебе отвечал.
«История жизни – это, по существу, развитие сознания, которое завуалировано морфологией.» Пьер Тейяр де Шарден
Здравствуйте, Rival, Вы писали:
R>Как ты в одном абзаце умудряешься назвать людей сумашедшими, найти середину, а потом "найти людей". Я логический наци, знаешь ли, поэтому прости, ну не могу так. Я уж как старался тебе отвечал.
I>не совсем ясно, как твой макрос отлаживать
Отлаживали как-то. Мы макросы вообще итеративно писали — сначала доводили до ума прототип в виде ручной реализации всего что макрос должен был делать. Тестировали, потом переносили всё в макрос, опять тестировали.
I>У тебя в макрос зашита целая пачка логики, констант и прочей дряни. Т.е. у твое макроса целый вагон депенденсов. Следовательно можно просто заменить на мега-метод.
Константы вынесены, логгер на самом деле был через service provider, я для примера всё предельно упростил чтоб простоту применения можно было передать. Думаешь в мега-методе будет меньше логики, депенденсов и прочей дряни?
I>
I>Просто и очевидно + нет никаких вопросов с отладкой
Ага и компилируется до первого ref или out
И как в лог созданный этим супер-методом попадут имя и входные параметры метода? Да хоть бы имя файла и номер строки в сорце? Через жутко тормозные стэк-фреймы? Или ручками вбивать будем, без единой ошибки до первого неудачного копипаста или рефакторинга? Классически предлагают ещё пару вариантов, где последним идёт передача в супер-метод анонимного типа, с вытягиванием значений рефлексией. И все приседания ради того чтобы ограничения C# обойти, для одного лишь логгирования. И это для простецкой задачи которую на пальцах объяснить можно самому последнему джуниору, а сколько ещё задач посложнее...
Самое главное что я хотел этим примером донести — что страхи перед DSL, это ерунда. Макросы изобретали как развитие библиотечного когда, и цель у них — сделать их пользователям жизнь проще и понятнее. И не надо всем учить как делать макросы, пусть их делают один-два лида, а остальные используют.