All streams
Search
Write a publication
Pull to refresh
191
0
divan0 @divan0

Пользователь

Send message
Судя по результату, ваш basicBullshitFilter() работает по принципу «не пробовал, но осуждаю» :)
«Python передо мной предстает как каша… а С++ легко читается».

Окей )

Все эти рассуждения про читаемость абстрактны и бессмысленны.

Жаль, если для вас это так. Читабельность кода — это общепризнанно важнейшая характеристика хорошего кода, и Go создавался людьми, которые считают это очень важным аспектом программирования — даже слишком важным, чтобы заложить это в дизайн языка.
Он читает не лучше и не хуже, чем любой другой язык программирования,

Так не бывает. Безотносительно вопроса о Go, у разных языков разные свойства и с этим незачем спорить.

Читаемость она приходит с навыком и опытом на этом языке, а так же, когда сам код простой.

Ну вот вы и сами ответили на свое удивление. Go объективно меньше (меньше абстракций и конструкций, проще грамматика, меньше вещей запоминать, переиспользование знакомых концепций из С-подобных языков и тп) — отсюда вывод, что навыка для достижения «читабельности» нужно меньше, чем с более «большими» языками. А потуги авторов создать программистам стимул писать более простой и читабельный код приводят к тому, что код на Go как правило такой и есть.

Стоит отметить, что это достаточно вольный перевод, с некоторыми добавлениями и стилистикой, которых нет в оригинальном посте.
«Нормальный программист» = «который знает наизусть все виды GC».
Ок )
Как говориться, «если я просыпаюсь и понимаю, что меня никто не обманывает, я очень сильно напрягаюсь»

Ужас какой )

Вы же понимаете, что дизайн языка влияет на почти любой аспект — от скорости парсера кода до выбора алгоритмов GC. Я не настолько глубоко разбираюсь во внутренностях, но более чем уверен, что простота дизайна Go, отсутствие очень многих сложных концепций, привела ко многим решениями, которые в Java просто не возможны. Это разные языки, у них разная система типов, разные подходы, они по разному решают многие компромиссы — отсюда и разница.
Вы так пишете, будто вам и прямо кто-то «должен» писать посты специально под ваш интерес. Я понимаю ваш поинт, но он называется не «пустой пост» и не «разрабочик GC не должен», а «я интересуюсь подробно внутренностями и хочу найти подробные бенчмарки и научные работы по теме».
то есть 10мс это не STW, а просто постоим покурим?

10ms это верхняя граница STW при критических нагрузках. На самом деле, при совсем пиковых нагрузках пауза таки может быть больше, но в 99.9% она будет ниже 10ms. Обычно это микросекунды, конечно.

если пихать везде write barrier, то и производительность можно просадить.

Уверен, Хадсону об этом не нужно рассказывать. scholar.google.com/citations?user=FejSLgQAAAAJ&hl=en

поэтому резюмируя: ничего не понял как же они собираются достичь pauseless сборщика используя классический CMS

Не видел в статье утверждений, что они пытаются достичь pauseless сборщика.
Ничего себе пустой пост. Создатель GC доступными словами рассказывает, как GC работает, его алгоритм, что стоит за принятыми решениями, сравнивая его с реализациями других языков, и какие приоритеты и планы на будущее.
Ну я и так, и так встречал. Хотя окей, поправлю.
Спасибо, это верно. Но звучит слишком «научно» — поправил на «стандартное отклонение», что тоже, вроде как, корректно.
Посмотрите на Revel или Beego.
Здорово, спасибо за наводку.
Нет, «share implementation» это не «делить часть кода». Скорее, «разделять реализацию», хотя тоже смысл не передает.
Ну, если подскажете удачный перевод, буду благодарен.
Именно. Но причины её появления больше вынужденные — для упаковки отдельных пакетов в linux-дистрибутивы (в deb/rpm/etc) и для Go mobile нужно было.
Go задумывался как низкоуровневый язык — последователь C/C++, но фактически получилась где-то менее удобная, где-то более удобная альтернатива Ruby и Python'у.

Ну нет же :) Go задумывался, как решение проблем С++ для того класса софта, который был необходим Google в больших количествах (клауд, сеть, etc), и он свою цель выполнил. Но это не тождественно утверждению «Go задумывался как низкоуровневый язык». А программисты С++ неактивно переходят на Go, потому что им сложно отказаться от всей той сложности, которую они учили годами, чтобы дойти до уровня «могу написать сетевой сервис, который не будет падать». Многие (по моему опыту) до сих пор считают, что важнее сэкономить 3 такта процессора, чем месяц рабочего времени. Слишком долго это вбивалось в голову, чтобы принять новые реалии. У Python-разработчиков такого нет, они гибче в общем случае и более открыты к новым технологиям.
А кто вам сказал, что я поднимаю low-level в приоритет?

Вы, когда написали, что изучать программирование нужно с игрушек для понимания ассемблера. Хотя перечитал ваше сообщение, и вы там Delphi называете низкоуровневым языком, видимо мы о разных low-level.

Проблема с фундаметальными, низкоуровневыми, знаниями в том, что их нельзя выучить когда «будет надобность»

И что же мешает человеку, умеющему писать алгоритм поиска в ширину на Паскале, взять книжку по ассемблеру или курс на курсере по устройству процессоров, и углубиться как угодно подробно в любую тему? Мне кажется, вы сейчас какой-то свой опыт экстраполируете на всех.

Go как раз хорош, как первый язык, по вашим же аргументам, по двум причинам — с одной стороны, он достаточно легкий для освоения, с другой — он достаточно низкоуровневый, чтобы уметь работать с битами, с поинтерами и давать хороший инсайд в то, что происходит под капотом (escape-анализ, ассемблерный вывод и тп).

Information

Rating
Does not participate
Location
Barcelona, Barcelona, Испания
Date of birth
Registered
Activity