Здравствуйте, VladD2, Вы писали:
N>>Интеловские IPP ещё используем. С ними из под "родного" С++ работать также удобней. N>>Плюс всё это кроссплатформенно. VD>Это несомненно плюс. Жаль только с немалым трахом.
Я его, видимо, не заметил.
N>>P.S. Все продукты видеоанализа, которые я видел, написаны на С/С++. Многие из них также используют IPP и OpenCV. Это почти отраслевой стандарт. Тут задача — придумать нормальный алгоритм. Кодирование — ерунда. VD>Тут вопрос в том, что С/С++ на сегодня позволяет выжать максимум скорости. Но платой за то является весьма посредственная функциональность. Точнее сложность реализации на С++ сложного анализа. В задачах анализа очень удобно применять паттарн-матчинг и ДСЛ-и. И тут С++ не силен.
Мой субъективный опыт подсказывает, что мощные языки наиболее полезны на задачах автоматизации рутины. Для действительно сложных задач важнее именно библиотеки:
1. На примитивном языке Матлаба можно реализовывать несколькими строками достаточно сложные математические алгоритмы.
2. На С++ с помощью грамотного дизайна и перегрузки операторов можно реализовать удобные библиотеки и описывать решение математических задач практически нативным языком.
А вот даже простая задача парсинга xml на С++ в приглядном виде реализуется на зубодробительных шаблонах. Это для меня пример автоматизации рутинной задачи.
Re[3]: [Голосование] Почему я не использую Nemerle
V>>>Языкам с легкой организацией REP-loop вроде как IDE не особо нужна, в отличие от статически типизируемых с выводом типов.
FR>>Языки OCaml и Haskell очень жестко статически типизированы и с выводом типов, при этом у обоих вполне нормальный REPL.
V>Не знаю насчет OCaml, но у т.н. "интерпретатора" Haskell никакой он не нормальный. В окне непосредственного исполнения ты можешь использовать ограниченное подмножество языка. Все остальное надо оформлять в файл и вскармливать среде.
Аналогично с Эрлангом. Иногда раздражает, но не так критично
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, kochetkov.vladimir, Вы писали: KV>>Это исключительно функционал шелла, причем не особо стандартизованный. MC>Зато удобная. И тот же питон тильды умеет разворачивать. MC>В общем объяснять отсутствие фичи тем, что это типа чужой и нестандартный функционал — несерьезно. Лучше уж честно признаться что лень/нет денег/...
Дело не в отсутствии денег (если бы все участники проекта занимались им за деньги, то не было бы даже того, что есть сейчас) и отнюдь не в лени. Это удобная фишка, согласен. Особенно если не ограничиваться разворачиванием тильды, а реализовать вообще весь zsh-like expansion в операциях с System.IO. И, кстати, в nemerle это можно реализовать максимально прозрачно для разработчика с минимальными изменениями исходного кода его проекта. Но тут проблема в другом: в расстановке приоритетов на фоне нехватки времени, которое получается выделять под работу над проектом. Поверь, лично мне, было бы гораздо интереснее засесть за реализацию разворачивания путей (особенно, на фоне того, что я сейчас активно осваиваю этот язык), чем закрывать воркарраундами глюки в медиавики, разворачивать платформу под новую версию сайта, переносить багтрекер, налаживать автосборку инсталлятора и т.п. Но добавить фишку, которой порадуются сейчас от силы 2-3 человека на мой взгляд не так важно, как довести до ума внешнее "облико морале" проекта и облегчить процесс интеграции изменений проекта, тестирования его новых версий и т.п. И я не думаю, что мой взгляд на это дело сильно отличается от взгляда остальных участников.
Если кому-либо действительно нужна эта фишка прямо сейчас, почему бы ему самому не заняться ее реализацией?
KV>>Если строчка могла прийти от юзера, то наличие там тильды — это малейшее из зол, которые необходимо ожидать и соответствующим образом обрабатывать. MC>Соответствующим — это каким? У нас же, блин, дотнет. Кроссплатформенная технология. Под линуксом мож я хочу тильду разворачивать, а под виндой — нет.
Ага, а вот ситуации, что юзер передаст путь содержащий всякие "../../../../", спец.имена в винде и т.п. почему-то разработчиков всегда волнуют меньше, чем вопросы по разворачиванию тильд
Здравствуйте, VladD2, Вы писали:
VD>Дык я сам бы не стал переписывать что-то уже работающее на другом языке. Другое дело новый проект (особенно если он небольшой) или какую-то более менее обособленную часть проекта (подпроект). Ведь длл созданная на Немерле может быть соврешенно не отличима от сишарпной или вбшной. Ну, а если это отдельное приложение, то вообще проблем нет. Опять же все наработки можно будет использовать через подключение библиотек.
Так вот тут и вся проблема, студенты его еще не знают, да и не скоро узнают, я что-то сделал, отдал, получил деньги, мне теперь всю жизнь это тащить? Поэтому заказчик (я в основном с японцами работаю) и требуют читабельный код на плюсах, но и соответсвенно платят "мне" что это уже весь код "их".
ЗЫ Еще почитал, ну некоторые решения очень красивые, мне они несколько недель работы стоили.
Самая большая в мире ложь — "Я прочел и согласен с условиями пользовательского соглашения".
Re[2]: [Голосование] Почему я не использую Nemerle
Здравствуйте, Ларик, Вы писали:
Л>Почитал, на досуге, главный вопрос сколько человеко-часов мне потребуется на переход и что я получу в замен обычных плюсов? В своем опыте имею бэйсик, турбо си, паскаль, с++ сейчас. Я не хочу никого обидеть, просто вот не понял необходимости ЕЩЕ.
На Немерле очень удобно решать задачи со сложной логикой; при этом, код можно показывать людям знакомым с Шарпом после минимального введения.
Ce n'est que pour vous dire ce que je vous dis.
Re[8]: [Голосование] Почему я не использую Nemerle
Здравствуйте, VladD2, Вы писали:
VD>Что? Не понял...
Полез по примерам. Если реально(!) интересно могу потратить некоторое время чтобы дать реальные плюсы применения, проблема в том что я свой старый код не могу выкладывать, нужно будет порубать его.
Основная идея что заказчик принципиально не принимал шарп и многое я делал руками в плюсах. А здесь я увидел свежую волну, жалко что не видел этого 2-3 года назад. Кстати, а почему не сделаете что-то вроде сайта в формате codeproject, готовые решения без флуда, ну максимум обсуждение. Или я еще не нашел?
Самая большая в мире ложь — "Я прочел и согласен с условиями пользовательского соглашения".
Re[9]: [Голосование] Почему я не использую Nemerle
Здравствуйте, VladD2, Вы писали:
VD> AB>Так при выполнении make он и должен был собрать им или нет? VD> Дано, но немного более новой версии. Это так называемый бутстрапинг, когда компилятор собирается сам собой.
Отлично, но не собирается. Мня это огорчает не особо, т.к. я практически при любом раскладе не целевая аудитория, но если бы это был какой-нибудь GCC, то количество матов бы зашкалило — дьявол он в деталях всегда, а не в общей концепции.
Почитал доки (наконец-то вдумчиво), пощупал примеры... Да, возможно это клево, но у меня просто нет таких задач, где он бы был мне полезен. На моих рабочих "дробилках" он сольет по скорости, для каких-то мелких одноразовых вещей у меня в распоряжении bash/perl/ruby/python как данность, область GUI-ни целиком и полностью покрывается Qt/GTK. Впихивать же куда-то его насильно "for fun" не вижу смысла.
Здравствуйте, Ларик, Вы писали:
Л>Кстати, а почему не сделаете что-то вроде сайта в формате codeproject, готовые решения без флуда, ну максимум обсуждение. Или я еще не нашел?
А разделы "статьи" и "библоитеки" на рсдн.ру о чем?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: [Голосование] Почему я не использую Nemerle
Здравствуйте, Anton Batenev, Вы писали:
AB>Отлично, но не собирается.
Что и где не собирается?
AB>Почитал доки (наконец-то вдумчиво), пощупал примеры... Да, возможно это клево, но у меня просто нет таких задач, где он бы был мне полезен.
Это только так кажется по первой. Когда по пишешь на этом языке и потом приходится возвращаться к старым, то начинается конкретная ломка. Создается впечатление, что постоянно не хватает каких-то возможностей.
AB> На моих рабочих "дробилках" он сольет по скорости,
Ну, дотенет конечно не Интел Ц++, но тоже весьма производительная штука. А макры позволяют генерировать максимально эффективный для данной платформы код. Это конечно не просто, но возможно, в отличии от ручной реализации.
AB>для каких-то мелких одноразовых вещей у меня в распоряжении bash/perl/ruby/python как данность, область GUI-ни целиком и полностью покрывается Qt/GTK. Впихивать же куда-то его насильно "for fun" не вижу смысла.
Ну, никто не навязывается. Хотя тот же GTK впихивается не хуже. Да и при некотором опыте код по краткости не особо уступает скриптам.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: [Голосование] Почему я не использую Nemerle
Здравствуйте, VladD2, Вы писали:
VD> AB>Отлично, но не собирается. VD> Что и где не собирается?
Так я же выше писал про ошибку — выяснили, что баг моно и надо собирать под виндой и брать ее сборку. Т.е. make при сборке компилятора из транка завершается с ошибкой из за моно(?).
Здравствуйте, Anton Batenev, Вы писали:
AB>Так я же выше писал про ошибку — выяснили, что баг моно и надо собирать под виндой и брать ее сборку. Т.е. make при сборке компилятора из транка завершается с ошибкой из за моно(?).
Да. Под виндой собирать лучше через MSBuild. Для этого один из батников лежащих в корне нужно запустить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: [Голосование] Почему я не использую Nemerle
Здравствуйте, VladD2, Вы писали:
VD>А разделы "статьи" и "библоитеки" на рсдн.ру о чем?
Ну немного не поняли моей мысли, мне интересно не вопросы "как сделать это?", а примеры "как я сделал это". Живые, компилируемые, чтобы можно было реально посмотреть.
P.S. Мне реально интересно развитие, благо время сейчас куча, вот и мучаю Вас
Самая большая в мире ложь — "Я прочел и согласен с условиями пользовательского соглашения".
Re[12]: [Голосование] Почему я не использую Nemerle
Здравствуйте, Ларик, Вы писали:
Л>Ну немного не поняли моей мысли, мне интересно не вопросы "как сделать это?", а примеры "как я сделал это". Живые, компилируемые, чтобы можно было реально посмотреть.
Дык в половине случаев так оно и есть.
Л>P.S. Мне реально интересно развитие, благо время сейчас куча, вот и мучаю Вас
Развитие чего? Себя? Ну, тогда попробуй освоить язык и написать какой-нить макрос. Время точно не пройдет даром. Гарантирую!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Голосование] Почему я не использую Nemerle
ANS>>Кстати, рефлексия хоть какая-то по макросам возможна? Или потребности и в такой колбасе нет?
S>Тут все в руках автора макроса: макрос может наследить в коде и понаставить меток для рантайм анализа.
найн. меня интересует этап выполнения макросов. то что в run-time можно использовать механизмы нижележащей платформы плюс рукописные "метки" и так понятно.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>найн. меня интересует этап выполнения макросов. то что в run-time можно использовать механизмы нижележащей платформы плюс рукописные "метки" и так понятно.
К сожалению, в рантайме область использования макросов сильно ограничена возможностями платформы. Тут ни тип расширить, ни метод переписать.
Если принять эти ограничения, то можно написать макроатрибут, превращающий такие ограниченные макросы из компайлтайм макросов в рантайм макросы. Будет проблема с доступностью апи компилятора, но для райнтайма можно сэмулировать его ограниченное подмножество.