• Go: 10 лет и растём дальше
    +1

    Под равносильностью я имел в виду, то что писать заключения вроде «программисты на Rust злоупотребляют unwrap», равносильно тому что «программисты на Go злоупотребляют пропуском обработки ошибок», механизм работы, конечно же, отличается.


    работа программы будет молча продолжена

    Будет молча продолжена до первого обращения к результату и выскочит какой-нибудь NPE. Вряд ли программа написана так, что с результатом никакой последующей работы не ведётся.

  • Go: 10 лет и растём дальше
    +2
    Что тоже не очень комплимент "практическому опыту" авторов — писать сложнейший проект на языке, который ещё несколько лет как не достиг стабильного релиза.

    Языка для такого проекта не было (с проблемами С++ не захотели связываться) и именно с языка и начался проект.

  • Go: 10 лет и растём дальше
    0
    Но за 5 лет

    Справедливости ради стоит упомянуть, что от стабильного релиза языка прошло чуть больше двух лет.


    Слабенько тянет на "практику".

    Складывается ощущение, что вы думаете, что на Rust написан только servo и что пишут на нём только авторы языка.

  • Go: 10 лет и растём дальше
    0
    И да, servo был и есть исследовательским экспериментом, хотя я всеми руками за то, чтобы проект удался.

    Не знаю, насколько проект удался, но Firefox Quantum основанный на servo уже в бете и в ноябре планируется релиз.


    https://blog.mozilla.org/blog/2017/09/26/firefox-quantum-beta-developer-edition/

  • Go: 10 лет и растём дальше
    +2
    Да вы мастер перефразирования.

    Я специально сделал упор что фраза «на порядок лучше» — это моё личное мнение, основанное на опыте.

  • Go: 10 лет и растём дальше
    0

    Нет, ну если хотите, называйте panic-recover-defer исключениями :)


    Но используется этот механизм не так как в других языках.


    Например, в других языках, библиотеки пишут так, что отсутсвие записи в базе выбрасывает исключение.


    Или библиотеки валидации пользовательского ввода выбрасывают исключения на ошибки валидации.


    Или, например, чтобы отдать пользователю по HTTP вместо 200 статуса, какой-нибудь 400-тый выбрасывают исключение.


    И у меня отвращение от такого использования исключений.


    В Go для таких случаев не будут применять panic-recover-defer.

  • Go: 10 лет и растём дальше
    0
    они писали экспериментальный WEB-движок

    Теоретический ;)

  • Go: 10 лет и растём дальше
    +2

    Справедливости ради, хочу добавить, что после Rust на Go программировать приятнее благодаря простоте этого языка и экосистема Go на порядок лучше развита (специально здесь использую данное словосочетание).


    Мне нравится простота и развитость Go и нравится безопасность и функциональные возможность Rust.

  • Go: 10 лет и растём дальше
    +3
    Нет я хочу сказать, что когда в совершенно новый язык добавлятся новая фича и объявляется как "на порядок лучше" — это всегда наивно и преждевременно. Настоящее испытание "фич" происходит годами, по мере того, как программисты массово начинают её использовать и на практике становится понятно, насколько это работает так.

    Вас похоже задело фраза «на порядок лучше».


    Давайте я перефразирую.


    В Rust, так же как и в Go, нет исключений. После написания программ на Go и Rust, я считаю (это ключевой момент, это моё мнение), что обработка ошибок в Rust сделана на порядок лучше.


    Фича обработки ошибок в Rust уже испытана более чем двумя годами прошедшими со дня релиза первой версии и программисты массово её используют, т.к. программа без обработки ошибок не скомпилируется.


    При этом unwrap не рекомендуется для использования в продакшене, т.к. необработанная ошибка упадёт в рантайме с паникой. Использовать unwrap в Rust, равносильно пропуску обработки ошибки в Go.

  • Go: 10 лет и растём дальше
    +6
    Статьи о том, что вся идея обработки ошибок в Rust обламывается на том, что все просто используют unwrap(), как бы на это намекает.

    divan0 дайте, пожалуйста, ссылки на эти статьи, где «все просто используют unwrap». Я бы с удовольствием почитал.

  • Go: 10 лет и растём дальше
    +3
    А как вы замерили "на порядок лучше"

    На личном опыте написания программ на языках Rust и Go.


    Как раз "практичность и эмпиричность" означает проверенность временем и обкатанность реальными программистами на реальных проектах, а не теоретические размышления, что будет лучше.

    Вы хотите сказать, что программы на Rust не обкатаны на реальных проектах?


    Я не сильно слежу за миром Rust, но из нескольких свежих статей сложилось впечатление, что Rust-программисты злоупотребляют .unwrap()

    Если судить по статьям, то Go-программисты злоупотребляют пропуском обработки ошибок. Вы же понимаете, что статьи пишутся не для того, чтобы досконально все ошибки описывать. Лучше судить по коду на гитхабе. И не любительских проектов, а тех что работают на продакшене.

  • Go: 10 лет и растём дальше
    0

    Перед тем как написать комментарий прочитал всю статью и устроенный вами срач :) Просто забавное наблюдение.

  • Go: 10 лет и растём дальше
    +1
    Поэтому лично я рад, что хотя бы в одном языке к вопросу подошли к практической и эмпирической точки зрения, а не с теоретических фантазий.

    Не только в одном. В Rust-е так же нет исключений, но обработка ошибок там на порядок лучше реализованы чем в Go.

  • Go: 10 лет и растём дальше
    +1

    В каждый тред где человек пишет, что перешёл на Go, ему советуют попробовать D. Если человек пишет что перешёл на Rust, то у него спрашивают: «Почему не на D»?


    Похоже у D слишком плохо с PR-ом, раз на него не переходят :)

  • Go: 10 лет и растём дальше
    0

    В 2015 отмечали Шесть лет Go
    В 2017 отмечаем Go: 10 лет и растём дальше


    Быстро, однако, Гофер стареет :)

  • Что я изменил бы в Go
    +1

    У раста ещё есть хороший подход убирать конкретизацию типа под выражение where:


    fn closed<F>(f: &F) where F: Fn(&Rc<RefCell<S2>>) + 'static 

    Тогда само определение функции становится более лаконичным.

  • Бинарные (файловые) хранилища, страшная сказка с мрачным концом
    0
    Берем какую-нибудь кластерную файловую систему. Мы попробовали несколько: CEPH/Lustre/LeoFS.

    Интересно, а GlusterFS не пробовали? Может она бы подошла.
  • Новые игроки на российском рынке онлайн-объявлений пытаются конкурировать с Avito
    +1
    Интересно, зашёл в первую попавшуюся категорию, увидел фильтр по цене и подумал что везде есть.
  • Новые игроки на российском рынке онлайн-объявлений пытаются конкурировать с Avito
    0
    А мужики-то не знают…
  • Создаем приложение на JavaScript с помощью React Native
    0
    Если ещё актуально, то тут есть решение: http://10minbasics.com/react-native-network-request-failed-fix/
  • Я веб-разработчик и уже 10 дней не могу написать простейшее приложение
    +1
    Подолью масла в огонь, посмотрите ещё на riot.js.
  • Медведь, расчленёнка и 14 февраля
    +1
    У Павла Зеленова очень крутой голос. Ему бы пошло озвучивать какие-нибудь познавательные видео.
  • PHP-Дайджест № 76 – итоги 2015 года, подборка интересных ссылок + конкурс от компании JetBrains
    0
    Ваш комментарий напоминает историю с «Нью Васюки» :)
  • Кому и зачем все-таки нужен Go?
    +3
    Вы не в том месте задаёте свой вопрос.
    Для вопросов, подобных вашему, существует отдельный ресурс: toster.ru
  • Кому и зачем все-таки нужен Go?
    +1
    Я её давно прочитал и вот уже потерял надежду что она появится на Хабре. Всё-таки, почти две недели прошло с момента её публикации. Причём, наткнулся на неё случайно и только после прочтения решил посмотреть кто её написал :)
  • Кому и зачем все-таки нужен Go?
    0
    Ок, прячу попкорн до следующего вброса :)
  • Кому и зачем все-таки нужен Go?
    0
    Я как раз в такие истории не верю. Просто интересно наблюдать ваши баталии в комментариях. Прочитав этот пост уже приготовил попкорн, а баталий что-то и нет :) По прошлому опыту решил что вы уже готовите хороший пост, так что попкорн пока далеко не убираю.
  • Кому и зачем все-таки нужен Go?
    +5
    Рискую оказаться непонятым. Возможно, вам подошла бы эта книга, если бы существовала. Просто все остальные советы взорвут вам мозг, сколько всего придётся изучить, если вы говорите, что «Никогда в жизни не прогал под веб».

    Кому-то всё-таки стоит задуматься о выпуске такой книги, вот и аудитория уже подбирается :)
  • Кому и зачем все-таки нужен Go?
    –1
    Возможно для вашей задачи вообще не нужен был бекенд на Go. Посмотрите на связку Nginx + Tarantool.
  • Кому и зачем все-таки нужен Go?
    +19
    А что касается Пайка, то он разводила еще тот. Знакомый из гугла жаловался, что Пайк написал какую-то внутреннюю систему запросов, которая просто лохотрон полный и теперь им это все поддерживать надо и никто от этого не в восторге. Короче говоря, среди гуглеров у Пайка репутация далеко не однозначная.


    Такие набросы на Пайка просто не могут остаться без ответа. Поругана честь предводителя.
  • Кому и зачем все-таки нужен Go?
    +11
    Посудите: можно нанять 100 посредственных программистов, дать им в руки Go и эта армия обезьян будет генерить вам много «неплохого» и очень даже поддерживаемого кода!


    Да забыл сказать, что в этой статье должно быть упоминание о том, что программисты выбирающие Go — это не обезьяны, а высококвалифицированные специалисты мирового уровня, иначе они бы не выбрали Go.
  • Кому и зачем все-таки нужен Go?
    +13
    Прочитав пост, ожидал что в комментариях divan0 будет рассказывать, что эту статью написал школьник и что подобные статьи сообществу только вредят. А так же что Go няша и Роб Пайк тоже няша. И вообще, какое право имеет какой-то там школьник упоминать Пайка в негативном контексте.

    Ожидания не оправдались.

    Поэтому, теперь жду статьи-разоблачения с заголовком «И всё же, кто и зачем использует Go», в которой мы прочитаем красочную историю как всё стало круто в тех компаниях, которые используют Go заменив им язык X (тут можно рандомно подставить любое название языка программирования). А те кто выскажут свои сомнения будут автоматически зачислены в олигофрены, которые не могут разглядеть всю красоту, силу и мощь языка Go.
  • Кому и зачем все-таки нужен Go?
    +5
    потому что это как два пальца обоссать


    Программисты в этом случае используют другую метафору: «как два байта переслать».
  • 6 книг, которые Билл Гейтс прочитал в 2015 году и рекомендует их всем
    +1
    Возможно. Могу сказать только за себя. Если бы мне в детстве подарили такую книгу на английском языке, то я был бы более мотивирован его выучить :)
  • 6 книг, которые Билл Гейтс прочитал в 2015 году и рекомендует их всем
    +2
    Смотря сколько ребёнку лет. Если он уже учит английский, возможно в оригинале эта книга даст ему больше, чем в переводе.
  • 6 книг, которые Билл Гейтс прочитал в 2015 году и рекомендует их всем
    +4
    … ограничиваясь всего 1000 наиболее употребительных английских слов

    Эта книга — хороший повод выучить 1000 наиболее употребительных английских слов ;)
  • Как пасти котов. Наставление для программистов, руководящих другими программистами
    +1
    Извиняюсь, если не в тему, эта книга: www.piter.com/collection/A31172/product/release-it-proektirovanie-i-dizayn-po-dlya-teh-komu-ne-vsyo-ravno планируется в электронном виде?
  • Рейтинг лучших банков для бизнеса
    0
    Ещё есть tochka.com
    Вроде условия хорошие. Кто пользовался, оставьте отзыв пожалуйста.
  • PhpStorm: Tips and tricks. Часть 1
    0
    Так же можно сразу убрать у выделенного текста табуляцию: Shift + Tab.
  • Рейтинг лучших банков для бизнеса
    0
    Благодарю за отзыв!
    В общем-то, я побоялся у них открывать счёт, выбрал Альфа-банк в итоге.