Если у меня вдруг окажется баг в корной либе, которая отправляет сетевые запросы, я скажу: «ну тут ничего не поделаешь, в либе баг, мы не сможем суппортить такие сценарии». Я нихрена не понимаю, как всё это работает.
Вот с этого следовало начать, а не гнать о невхерственности и крутизне.
Вам не нужны также хорошие программисты. Они слишком дорогие для вас. Они знают страшные слова map-reduce, которые так пугают менеджмент. Вы не гугл и, самое главное, вы никогда не станете гуглом. Ваш удел — маленький кусочек локального рынка и постоянно меняющие студенты-программисты.
Мне кажется, оптимумом было бы отказаться от синтаксической соли в виде final и добавить синтаксическую соль в виду mutable (как это сделано в Rust, например). Но на это никто не пойдет из-за соображений обратной совместимости. Я думаю, что язык Java так и продолжит свое существование со всеми своими "родовыми травмами" как null'ы, синтаксическая соль для всего immutable, декларацией исключений и т. д. И, в общем и целом, в итоге так или иначе станет маргинальной (не очень скоро, но в обозримом будущем). При этом платформа Java, вероятнее всего, переживет сам язык за счет Скалы, Котлина, Кложура и того, что еще появится.
На всякий случай — я программист на Java. И, на мой взгляд, в сравнении с прочими jvm-языками она проигрывает. Жалею, что интересоваться этими прочими языками я начал недавно.
> Mysql все знают, postgresql никто не знает.
«никто не знает» — слишком категоричная оценка. Уверяю Вас, на крупных проектах о существовании Pg осведомлены и частенько даже используют оный.
> Есть целый класс php-программистов, для которых слово “база данных” и mysql — это одно и то же, слова-синонимы.
Такие «программисты» нам не нужны. :)
> Особо бесит то, что для highload-проектов практически всегда нужен еще и pgbouncer (это сторонняя разработка), который копит коннекты в очереди и следит, чтобы к самому посгресу было ограниченное число коннектов.
Если в языке реализованы пулы соединений, зачем нужен pgbouncer? От него одна головная боль, особенно, в том, что касается подготовленных запросов.
А Вы не думаете, что «закрытие» Интернета повредит большому количеству разнообразного бизнеса, и на улице окажется много разнообразных людей, которые внезапно захотят есть. Желательно «как раньше».
Во-вторых, самое близкое к джойнам (в случае внутренних — так вообще точное определение) теоретико-множественное понятие — это отношения: ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_(%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2)
Вот с этого следовало начать, а не гнать о невхерственности и крутизне.
Тут дело даже не в мутабельности. :)
На всякий случай — я программист на Java. И, на мой взгляд, в сравнении с прочими jvm-языками она проигрывает. Жалею, что интересоваться этими прочими языками я начал недавно.
«никто не знает» — слишком категоричная оценка. Уверяю Вас, на крупных проектах о существовании Pg осведомлены и частенько даже используют оный.
> Есть целый класс php-программистов, для которых слово “база данных” и mysql — это одно и то же, слова-синонимы.
Такие «программисты» нам не нужны. :)
> Особо бесит то, что для highload-проектов практически всегда нужен еще и pgbouncer (это сторонняя разработка), который копит коннекты в очереди и следит, чтобы к самому посгресу было ограниченное число коннектов.
Если в языке реализованы пулы соединений, зачем нужен pgbouncer? От него одна головная боль, особенно, в том, что касается подготовленных запросов.
Но вообще, привыкнув к командной строке, я так и не смог перейти на GUI — всегда недостаточно функционала.
>>> matrix = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
>>> matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
>>> trans = list(zip(*matrix))
>>> trans
[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
Создайте свой хабр с духовностью и монашками, и свобода слова будет восстановлена.