Беседуя с сотрудником клиента случайно упомянул, что для изящности, компактности и простоты будущих изменений надо бы передать функции указатель на функцию.
Ответом был взгляд кролика на которого на полных парах несётся стадо бизонов.
Пришлось добавить, что, впрочем, это не важно, и можно просто скопировать цикл и написать три аналогичных функции с похожими именами, делающих почти то же самое.
В глазах напротив потихоньку засветился разум.
На днях пионеры сообщили, что будут присобачивать к Скале макросы. И ещё радуются: при помощи этих самых совершенно других макросов мы уже упростили компилятор и починили две ранее едва работающие языковые фичи.
Всё. Язык можно списывать. При таких возможностях, да в руках средних по индустрии талантов, бюджеты возьмут низкий старт и рванут в бесконечность, а дидлайны скроются куда-то за горизонт. Что в смысле заработать не так уж и плохо, но в смысле морального удовлетворения не то, чтобы очень привлекает.
Всегда говорил, что студентов, докторов компьютерных наук и фанатиков, видевших типичных программистов только на картинках, до создания языков, тулов, концепций и методик допускать нельзя.
Эрланг или Clojure, кстати, тоже не спасут. Хотя там и не надо стоять на страже с канделябром на изготовку. Давным-давно, делая многопоточные приложения в известной, крутой и увешенной по самые уши сертификатами фирме, окончательно убедился, что в типичную голову типичного среднего по индустрии программиста может в один момент времени поместиться только одна мысль. Да и та исключительно вдоль, но ни в коем случае не поперёк.
Ответом был взгляд кролика на которого на полных парах несётся стадо бизонов.
Пришлось добавить, что, впрочем, это не важно, и можно просто скопировать цикл и написать три аналогичных функции с похожими именами, делающих почти то же самое.
В глазах напротив потихоньку засветился разум.
На днях пионеры сообщили, что будут присобачивать к Скале макросы. И ещё радуются: при помощи этих самых совершенно других макросов мы уже упростили компилятор и починили две ранее едва работающие языковые фичи.
Всё. Язык можно списывать. При таких возможностях, да в руках средних по индустрии талантов, бюджеты возьмут низкий старт и рванут в бесконечность, а дидлайны скроются куда-то за горизонт. Что в смысле заработать не так уж и плохо, но в смысле морального удовлетворения не то, чтобы очень привлекает.
Всегда говорил, что студентов, докторов компьютерных наук и фанатиков, видевших типичных программистов только на картинках, до создания языков, тулов, концепций и методик допускать нельзя.
Эрланг или Clojure, кстати, тоже не спасут. Хотя там и не надо стоять на страже с канделябром на изготовку. Давным-давно, делая многопоточные приложения в известной, крутой и увешенной по самые уши сертификатами фирме, окончательно убедился, что в типичную голову типичного среднего по индустрии программиста может в один момент времени поместиться только одна мысль. Да и та исключительно вдоль, но ни в коем случае не поперёк.
no subject
Date: 2012-11-08 12:30 am (UTC)жаль конечно, но первым звоночком была перегрузка операторов и возможность менять то, к какому операнду применяется перегруженный оператор.
no subject
Date: 2012-11-08 07:36 am (UTC)А я уже видел проекты, где Скала официально используется. Хоть пока что и в загончике под присмотром вменяемых. Но оно же расползётся и постепенно достигнет практикантов и индусов. А те тащат в код всё, что найдут в Гугле.
no subject
Date: 2012-11-08 12:59 am (UTC)no subject
Date: 2012-11-08 07:28 am (UTC)no subject
Date: 2012-11-08 12:02 pm (UTC)no subject
Date: 2012-11-08 03:36 pm (UTC)аспирантовпрактикантов. Другое дело, тестированием почти всю лажу удаётся если не убрать, но как-то оградить.Пардон за исправление. Аспирантов пускают не код набивать, а процессы организовывать.
no subject
Date: 2012-11-09 04:12 am (UTC)no subject
Date: 2012-11-09 07:17 am (UTC)no subject
Date: 2012-11-09 12:35 pm (UTC)макры
Date: 2012-11-08 01:12 am (UTC)no subject
Date: 2012-11-08 04:09 am (UTC)Реально нужны нормальные С-шные макросы, лучше - погибче.
Потому что они реально нужны для тех вещей, которые не выражаются нормально средствами языка. И должны быть юзабельны.
no subject
Date: 2012-11-08 07:27 am (UTC)Всё, что "не выражается нормално" должно или уходить в библиотеки, или делаться на других языках.
no subject
Date: 2012-11-08 12:12 pm (UTC)PS: На данный момент мне неизвестен ни один язык, "не требующий макросов". И думаю и не будет.
Что до того, что потребность в них - это design flaw - бесспорно. Но как-то нет в мире совершенства.
no subject
Date: 2012-11-08 03:34 pm (UTC)Ну да, я не знаю ни одного языка, до которого не дорвались бы шаловливые ручки усовершенствователей.
Кстати, есть ли макросы в Обероне 2?
no subject
Date: 2012-11-09 06:37 am (UTC)Мне это правило неизвестно. Скорее напротив - во всех известных мне сколько-нибудь качественных проектах макросы применяются.
Уверяю вас - это самая безобидная из не вполне тривиальных в использовании фич плюсов: с ней напортачить гораздо труднее, нежели с перегрузкой операций и неявными преобразованиями типов.
no subject
Date: 2012-11-09 07:14 am (UTC)no subject
Date: 2012-11-09 07:26 am (UTC)В чем даже и есть некий смысл - но решение таки радикальное более чем надо.
Лучше уж про С/С++ вообще забыть.
no subject
Date: 2012-11-09 07:46 am (UTC)no subject
Date: 2012-11-09 07:52 am (UTC)no subject
Date: 2012-11-09 08:04 am (UTC)no subject
Date: 2012-11-09 08:15 am (UTC)no subject
Date: 2012-11-09 08:24 am (UTC)no subject
Date: 2012-11-09 08:33 am (UTC)no subject
Date: 2012-11-09 08:45 am (UTC)no subject
Date: 2012-11-08 09:40 am (UTC)Нет, хотя бы потому что наличие экзотических фич может нанести вред только в том случае, если нет возможности уклониться от их использования, как в ситуации, когда уже есть много кода где они используются и который нужно суппортить.
но Скала, кроме области "большого корпоративного кода" - имеет еще другие области применения, в частности, программирование небольших вебпроектов силами нескольких разработчиков и, аналогично, небольших адроид-приложений, опять небольшой группой.
в этой ситуации, разработчики могу легко решить просто не использовать эзкотические фичи и никакой Мартин Одерски не может их заставить это делать.
в современном программировании, небольшая команда, имеющая в своем распоряжении современный язык и много хороших библиотек - можно быть очень продуктивна, и может покрыть существенную часть имеющихся заказов от клиентов. Я не могу оценить в процентах долю рынка таких заказов "на небольшую группу" но она очень велика.
no subject
Date: 2012-11-08 03:40 pm (UTC)Мечтать не вредно. Обычно деятель набивает в строке гугла то, как он может описать задачу, а потом кусок кода вставляет в production. Только зоркий глаз и тяжёлый кандилябр позволяют как-то обезопасить проект от подобных подарков.
в современном программировании, небольшая команда, имеющая в своем распоряжении современный язык и много хороших библиотек - можно быть очень продуктивна,
Как правило, небольшая команда продуктивна в производстве того, что хочет делать сама, а не того, что нужно клиенту. Так что, получи такие деятели в руки макросы, обязательно это впихнут. Просто потому, что использовать их прикольно.
no subject
Date: 2012-11-08 07:53 pm (UTC)Перефразируя - при помощи зоркого глаза и тяжёлого канделябра можно достичь гораздо больше чем при помощи одного зоркого глаза
no subject
Date: 2012-11-08 07:57 pm (UTC)Первые в хозяйстве малопригодны. А вот вторые требуют направляющих и канализирующих усилий. А то за неделю перед релизом может выясниться, что базовый модуль пребывает в состоянии рефакторинга.