On Tue, 13 Jun 2017 12:46:54 +0300 artiom <artio...@yandex.ru> wrote:
> > портабельно". > Ага, и стандартов C++ должно быть минимум три, параллельно действующих > конечно же (не продолжающих один другой, а именно разных). И SQL, и Так так оно и есть. Вот мы сейчас поддерживаем GCC от 4.3.4 до 6.3.0, clang нескольких версий и MSVC от 2010 onward. Вот тебе и три разных стандарта, и каждый в своем развитии. Это еще у нас достаточно ограниченные аппетиты. А upstream по-моему до сих пор MSVC 2003 поддерживает, плюс еще всякие компиляторы от вендорских юниксов, какие еще живы. > Python, ну и шеллы тоже разные нужно применять для системных скриптов. Python постгресом официально поддерживается от 2.4 до 3.5 последних. И поддержка старых питонов (до 2.7) это еще тот квест. Все современные удобства питона вплоть до ключика -m в командной строке, оказывается, свойства 2.7 версии. Разные SQL это, к счастью, не к нам. У нас он один. Мы его не поддерживаем, мы его реализуем. Но я еще помню, как разрабатывал систему, которая была клиентом, а не сервером SQL. И во что там обходилась одновременная поддержка Oracle и Postgres тоже помню. И как мы отпинывались от MySQL и MS SQL. А несколько позже был случай когда я переносил систему которую сначала написал для sqlite на postgres, потому что выяснилось что массовый параллелизм там нужен. Писалась система две недели, а переносилась целый рабочий день. И вообще, инженеры которые занимаются миграцией клиентских систем с Oracle на Postgres от меня в 10 метрах сидят. Можно как-нибудь их раскрутить на "бойцы вспоминали минувшие дни". А уж грустная история про башизмы в скриптах при переносе на bsd или solaris - это вообще. Еще есть грустные истории про сисадминов, которые прописали в этих системах bash логин-шеллом руту, а потом траблшутили несмонтировававшийся /usr/local > А Posix, так вообще твари, навязывают здесь свою идеологию. Posix - это как раз почти lowest common denominator. Проблема в том, что когда современному разработчику нужна какая-то фича, он не лезет в posix, стандарт C++ или еще какой руководящий документ. Он пробует это на своей машине, где у него стоит довольно свежая версия компилятора или интерпретатора с кучей нестандартных расширений, и считает, что если у него работает, будет работать у всех. В общем. Добро пожаловать в реальный мир. В котором клиентам позарез нужна поддержка Windows Server 2003, HP/UX 10 на Itanium и спасибо что не VMS.