TGViewer
defer panic defer panic @deferpanic · 3.02K subscribers
Post #65 461
defer panic 🎃 Конфеты или жизнь? IDE или Vim? 📹 https://youtu.be/a_r4pxBuK_4 Решил записать на Хэллоуин экспериментальный видос, где я импровизирую на камеру, рассуждая о том, зачем нужно хотя бы попробовать Vim, а также о том, как изучать инструменты с меньшей болью.…
Продолжение размышлений про инструменты и их сложность

Сегодня дебажили сервис с коллегой. В процессе с нас семь потов сошло, и тут я вспомнил кое-что: можно часто услышать, что Go называют простым языком. Это правда и неправда одновременно. К сожалению, в русском языке нет отдельных слов, которые обозначают easy и simple. Т.е. простой с точки зрения понимания/использования/взаимодействия и простой с точки зрения дизайна.

Чтобы лучше понять разницу, подумайте: машинный код — простой? Ну вроде бы да. А писать на нём просто? Кажется, нет.

Да, у Go одна из самых лаконичных грамматик среди языков. Да, у нас тут минимум фич (макросы, вас очень не хватает), зато очень явный (хоть и не всегда ясный) код. Но будет ошибкой сказать, что писать на Go однозначно просто. Разрабатывать типовые веб-приложения, которые делают только CRUD будет просто на любом языке. При этом делать это на Python или NodeJS будет проще и быстрее, чем на Go, потому что для этих языков уже есть все необходимые кирпичики для большинства типовых задач. А вот написать приложение, в котором происходит асинхронный ад, но при этом ад можно контролировать — это задачка для Go. Но! Код такого приложения не перестаёт быть сложным только потому что асинхронные кишки вытащили наружу и сделали явными.

Для языков в частности и для инструментов в общем можно определить две характеристики: порог F и потолок C. Из них можно построить составную характеристику — высоту H = C - F. У C++ очень высокий порог, но и потолок тоже очень высокий. Т.е. у него H будет большим, но начать писать что-то осмысленное довольно тяжело. Если мы возьмём Java, то, наверное, её H будет примерно таким же, но с меньшим F, ну и как следствие меньшим C (т.е. легче вкатиться, но возможностей чуть поменьше). У скриптовых языков F ещё меньше, как и H, т.к. меньше окно возможностей.

А вот у Go H по моему опыту один из самых высоких. Потому что на нём очень легко начать писать, и на простых задачах не будет никаких проблем. Но если появляется необходимость написать что-то большое и сложное, Go не вставляет палки в колёса. Вы будете всё ещё писать на простом и понятном языке, но из-за сложности алгоритма и/или предметной области, легко всё равно не будет.

Так что когда вам кто-то скажет, что писать на Go просто, рассмейтесь ему в лицо и скиньте ссылку на мой канал.
  • ❤ 6
  • 👌 3
  • 🔥 2
  • 😁 1
More from @deferpanic
  1. Aug 21, 2026Post #310
  2. Jul 25, 2026🦄 Опубликовал платформу для гайдов и первую статью https://golang.guide/ Надеюсь, вам пон…
  3. Jul 7, 2026Новость из немного другого мира: Эрин Катто, автор легендарного* физического движка Box2D,…
  4. Jun 24, 2026Я решил провести эксперимент и написать что-то на абсолютно незнакомом языке для абсолютно…
  5. Jun 11, 2026🥂Большой выпуск про PaaS — как Avito и Plata строят платформу для разработки / GoGetPodca…
  6. May 29, 2026⚙️ Лучшие практики в Go: разбираем на Podlodka Go Crew Пишете на Go и хотите узнать, как з…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →