https://habrastorage.org/getpro/habr/post_images/0fa/397/0b3/0fa3970b349b958eccb1ba6c546588e9.jpg
Мне вот прям интересно — когда нибудь в офисах научатся электрические разетки ставить не по принципу «давайте напихаем тут», а там, где они нужны?
Поэтому я давно рассматриваю таких поставщиков чего угодно — в самую последнюю очередь. Т.е. если есть продавцы, у которых на сайте написано сколько стоит то или другое, то те у кого не написано — даже не рассматриваются.
«Почему кот лижет яйца? Потому-что может».
Раньше небыло технической возможности строить с такой точностью, или это было запредельно дорого.
Поэтому закладывали бОльшую надёжность, на уровне проекта. «Давайте сдесь сделаем 5-ти кратный запас, а то ведь если криво поставят — ай-ай будет». А поставят обязательно криво — «Рамшаны» они везде во всём мире одинаковые.
Сейчас за счёт повышения точности можно уменьшить этот самый запас надёжности без потери эксплуатационных качеств. При этом существенно съэкономить. Хотя-бы на материалах и времени строительства.
Т.е. когда поставщики компьютеров сговариваются между собой, что-бы поднять цену — это ай-ай-ай. А когда поставщики нефти сговариваются между собой о том-же самом — это нормально.
Чудны дела твои, Господи.
Кстати, о том, что повышать отказоустойчивость можно не только простым дублированием данных на разных OSD, но и организацией из OSD аналогов RAID5/6 — в ceph так и не додумались? Вроде-бы были-же какие-то телодвижения в эту сторону?
Ну, скажем так, некая возможность разделить «ошибка workflow» и «исключительная ситуация» в Go всё таки есть.
Т.е. если это «прописанная бизнес-логика» — надо пользоваться return error.
А если «исключительная ситуация» — надо пользоватсья panic/recover.
Причина писать транспайлер еще может быть в том, что destination language есть подо всё, что шевелится. Как пример, автор NIM совершенно разумно сделал транслятор в C — как следствие он получил возможность компиляции на любую железку, для которой есть C копилятор (т.е. чуть более, чем под любую).
Почему питонистам нельзя есть суп ножкой от стола, если куча других людей едят суп ножкой от табуретки и считают что это правильно?
Пример:
if (a == 1) a++; b++;
Это C, если что. Какое количество ошибок в куче программ повылазило только из-за того, что блок может состоять только из одного оператора…
«Всё это, конечно, очень блаародно»… А вот готовые решения под оптическую коммутационную стойку, когда портов больше 200 (т.е. уже достаточно много, что-бы в стойке образовался маленький паучий домик) но меньше 600 (т.е. покупать оборудование для производства собственных оптических патчкордов смысла нет) можете посоветовать?
Второе — не нативная, так как требует родной библиотеки.
Ситуация «Всё переписано на нативном го» не наступит никогда. Причём причину Вы сами написали.
Или sqlite?
Мне вот прям интересно — когда нибудь в офисах научатся электрические разетки ставить не по принципу «давайте напихаем тут», а там, где они нужны?
Раньше небыло технической возможности строить с такой точностью, или это было запредельно дорого.
Поэтому закладывали бОльшую надёжность, на уровне проекта. «Давайте сдесь сделаем 5-ти кратный запас, а то ведь если криво поставят — ай-ай будет». А поставят обязательно криво — «Рамшаны» они везде во всём мире одинаковые.
Сейчас за счёт повышения точности можно уменьшить этот самый запас надёжности без потери эксплуатационных качеств. При этом существенно съэкономить. Хотя-бы на материалах и времени строительства.
Чудны дела твои, Господи.
Т.е. если это «прописанная бизнес-логика» — надо пользоваться return error.
А если «исключительная ситуация» — надо пользоватсья panic/recover.
2. это если человек осознанно пишет. А в таком случае и скобки написать можно.
Пример:
if (a == 1) a++; b++;
Это C, если что. Какое количество ошибок в куче программ повылазило только из-за того, что блок может состоять только из одного оператора…