Здравствуйте, WolfHound, Вы писали:
WH>Так скрипт заполняет определённые структуры данных. WH>Дёргает определённое API.
или нет
F>>это задача читалки конфига привести конфиг к какой-то структуре, если надо WH>Ты ничего из конфига прочитать не сможешь, если там уже нет структуры, которую понимает твоя читалка.
да, и читалка может понимать несколько структур
WH>>>Данных без схемы в принципе не бывает. F>>я понимаю, что это КСВ, но совсем в глупый фанатизм сваливаться не надо. WH>Так не сваливайся.
нет ты!
данные без схемы бывают. иначе бы никто не анализировал шумы.
WH>Когда есть типы, то по ним можно просто сгенерировать читалку/писалку. Ну, или через рефлексию работать, если язык не имеет мета программирования. WH>А после того как всё прочитано то места динамической типизации уже не будет.
это кто-то должен выучить генератор. или не иметь ограничений по использованию мета-программирования.
но ан-масс это не самый распространённый паттерн.
F>>к сожалению, скалка не относится к таким языкам. F>>там много разных фич по статической типизации, но это лишь для самоудовлетворения адептов данного подхода. прикладные задачи оно не решает. WH>А какие тебе нужны фичи? WH>Попробуй привести пример того что не решается через алгебраические типы данных.
мне фичи не нужны, мне бы задачу быстро решить
и в этом плане местами даже жява лучше скалки
WH>>>С чего это? И там и там будет одна и та же гора условий. F>>в динамике не будет специфичной сериализации, и не надо будет описывать структуры данных. WH>А работать ты как будешь с тем, о чём твой код не знает?
никак не буду. код первичен, данные его не портят.
WH>Твой код ждёт поля foo и bar, а получил baz и biz. WH>Что дальше?
скипаем.
WH>Вот это ожидание foo и bar и есть неявно заданная схема данных. WH>И если в случае со статически типизированным языком ты при чтении конфига получишь сообщение об ошибке с указанием строки и позиции. То в случае с динамикой у тебя через полчаса свалится программа с сообщением: у объекта нет нужного поля.
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, neFormal, Вы писали:
F>>никак не буду. код первичен, данные его не портят.
P>Эээ... Я думал, любая программа пишелся для обработки каких-либо данных. Сдается мне, отсюда следует, что данные первичны.
Вообще Алгоритмы и структуры данных, как говорил Вирт. Их этих 2х сущностей нет первичной и вторичной, они живут вместе. От данных зависят алгоритмы и обратно.
Здравствуйте, Cyberax, Вы писали:
F>>в некоторых статических языках это можно ещё быстро описать, но мейнстримовые требуют довольно много действий, и большинство программистов этого старательно избегают C>List<Object> — Java, []interface{} — Go, std::list<void*> — C++, ...
В C# есть фишка даже круче — dynamic! И ваши брюки превращаются в ....
Здравствуйте, Calc, Вы писали:
C>Да, именно так. С точки зрения цена/качество и доступность разработчиков PHP конкурентноспособный язык. C>Техническое качество тут не участвует.
Это если решает бизнес. в данном случае ТС — сам девелопер, и с точки зрения девелопера выбирать ПХП ну както не камильфо
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, Calc, Вы писали:
C>>Да, именно так. С точки зрения цена/качество и доступность разработчиков PHP конкурентноспособный язык. C>>Техническое качество тут не участвует.
M>Это если решает бизнес. в данном случае ТС — сам девелопер, и с точки зрения девелопера выбирать ПХП ну както не камильфо
ну если так рассуждать, то я бы начал трясть Akka, не так много фреймворков на акторах
В>>Какие-то чудеса рассказываешь. Пять самых крупных в мире банков с огромным удовольствием уходят из Явы (почти ушли, на самом деле) в питон. Я про 80% их кода.
S>Можно полюбопытствовать, откуда вы знаете про 80% кода в пяти самых крупных в мире банков? Даже не одного, а сразу пяти.
Из опыта работы в них.
Здравствуйте, Privalov, Вы писали:
F>>никак не буду. код первичен, данные его не портят. P>Эээ... Я думал, любая программа пишелся для обработки каких-либо данных. Сдается мне, отсюда следует, что данные первичны.
это очень старое видение.
а когда у тебя код является чем-то вроде игрушки для пользователя, и он туда будет пихать свои кривые конфиги, картинки, носки, личный фото-архив обнажённой Лени Рифеншталь...
то в этом случае лучше, чтобы код был первичен. иначе очень много времени уходит на согласования или обучение.
В>>Какие-то чудеса рассказываешь. Пять самых крупных в мире банков с огромным удовольствием уходят из Явы (почти ушли, на самом деле) в питон. Я про 80% их кода.
S>Ссылку на енту инф-ию можно?
Типа ссылку на baml'кий интранет?
Я тебе ключевые слова смогу подсказать: Quartz, Athena, (отчасти) SecDB, etc...
Здравствуйте, Calc, Вы писали:
M>>Это если решает бизнес. в данном случае ТС — сам девелопер, и с точки зрения девелопера выбирать ПХП ну както не камильфо C>ну если так рассуждать, то я бы начал трясть Akka, не так много фреймворков на акторах
Здравствуйте, neFormal, Вы писали:
WH>>Так скрипт заполняет определённые структуры данных. WH>>Дёргает определённое API. F>или нет
Что за детский сад. Если нет аргументов так и скажи что был не прав.
F>>>это задача читалки конфига привести конфиг к какой-то структуре, если надо WH>>Ты ничего из конфига прочитать не сможешь, если там уже нет структуры, которую понимает твоя читалка. F>да, и читалка может понимать несколько структур
Я не понял. Ты споришь или соглашаешься?
F>нет ты! F>данные без схемы бывают. иначе бы никто не анализировал шумы.
Ну, вот теперь ещё и шумы полезли. Что не можешь отстоять свою позицию на конфигах? Так ты их сам предложил.
WH>>Когда есть типы, то по ним можно просто сгенерировать читалку/писалку. Ну, или через рефлексию работать, если язык не имеет мета программирования. WH>>А после того как всё прочитано то места динамической типизации уже не будет. F>это кто-то должен выучить генератор. или не иметь ограничений по использованию мета-программирования. F>но ан-масс это не самый распространённый паттерн.
За то через рефлексию очень распространённый. Почему ты это проигнорировал?
Не лезет в твою теорию?
F>мне фичи не нужны, мне бы задачу быстро решить F>и в этом плане местами даже жява лучше скалки
АлгТД очень даже решают.
Вот, например, очень хорошая лекция. Там всё очень подробно разжёвано. https://www.youtube.com/watch?v=6TDKHGtAxeg
Это относится ко всем языкам с АлгТД, а не только к elm.
WH>>>>С чего это? И там и там будет одна и та же гора условий. F>>>в динамике не будет специфичной сериализации, и не надо будет описывать структуры данных. WH>>А работать ты как будешь с тем, о чём твой код не знает? F>никак не буду. код первичен, данные его не портят.
Так и где тогда обещанные преимущества перед статической типизацией?
WH>>Твой код ждёт поля foo и bar, а получил baz и biz. WH>>Что дальше? F>скипаем.
А если там важные данные?
WH>>Вот это ожидание foo и bar и есть неявно заданная схема данных. WH>>И если в случае со статически типизированным языком ты при чтении конфига получишь сообщение об ошибке с указанием строки и позиции. То в случае с динамикой у тебя через полчаса свалится программа с сообщением: у объекта нет нужного поля. F>в этом и цель.
То есть твоя цель это написать падучий багодром? Я тебя правильно понял?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Ватакуси, Вы писали:
В>>>Пять самых крупных в мире банков с огромным удовольствием уходят из Явы (почти ушли, на самом деле) в питон. Я про 80% их кода.
S>>Можно полюбопытствовать, откуда вы знаете про 80% кода в пяти самых крупных в мире банков? Даже не одного, а сразу пяти. В>Из опыта работы в них.
В качестве кого?
Даже в средней руки банках люди, имеющие представление об ИТ-шном хозяйстве всего банка (а не отдельной подсистемы в нем), настолько загружены, что вряд ли найдут время и желание флудить на каком-нибудь программерском форуме. А вы так сразу о крупнейщих...
Здравствуйте, Cyberax, Вы писали:
F>>вообще у пхп есть своя хорошая ниша: контентные наработки F>>например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле C>Самый популярный сейчас форум (Discourse) написан на Ruby.
Здравствуйте, neFormal, Вы писали:
F>например, если в качестве конфига выступает скрипт(а такое тоже бывает)
Если такое бывает, то там количество и стоимость вменяемого покрытия тестами будет совершенно заоблачной. Естественно, что никто этого не будет. В итоге получаем нестабильное поделие, лююое движение в котором чуть от накатанной колеи приводит к печальным поледствиям
Здравствуйте, so5team, Вы писали:
S>Можно полюбопытствовать, откуда вы знаете про 80% кода в пяти самых крупных в мире банков? Даже не одного, а сразу пяти.
Да он тут как то прибегал уже. Оказалось что банк один, далеко не самый крупный (самый крупный в каком то регионе, Индонезии вроде), и переписали не 80% кода, а какую то датамайнинговую фиговину. Опердени никто в здравом уме на питон не переписывает.
Здравствуйте, Ватакуси, Вы писали:
В>Я тебе ключевые слова смогу подсказать: Quartz, Athena, (отчасти) SecDB, etc...
То есть 2(secdb не питон нифига), а не 5, и делали обе одна команда.
Про 80% тоже преувеличил, даже в этих безусловно самых важных для ИБ системах, плюсов чуть более чем дофига.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Да он тут как то прибегал уже. Оказалось что банк один, далеко не самый крупный (самый крупный в каком то регионе, Индонезии вроде), и переписали не 80% кода, а какую то датамайнинговую фиговину. Опердени никто в здравом уме на питон не переписывает.
Ватакуси говорит о системах занимающиеся подсчетом рисков в JPM and BAML. Это безусловно самые дорогие и важные проекты в ИТ инвестбанка. Все это растет корнями из SecDB GSachs, которая считается их главных коньком, но вместо специального языка написаны на сильно модифицированном питоне. Похожие системы строят и в других банках, например в MStanley было решено делать на скале. Я работал(ю) и с тем и с другим. Чисто-технически на скале все очень круто, практически на питоне все быстрее и удобней.