Pull to refresh
33
Maksim Kupriianov@Xlab

Senior Blockchain Engineer

44
Subscribers
Send message
Go разрабатывался с целью, чтобы код выглядел максимально и читался легко. Это так и есть, судя по личным ощущениям и отзывам различных компаний, которые не боятся показывать куски кода менеджерам и даже те понимают, что нельзя сказать про Ruby, одно время который пытались преподавать аж детям.
да еще и ни в одном серьезном проекте не засветился.
Facebook, Youtube, сервисы Яндекса для начала. Список можно расширить ещё большим количеством примеров и вообще дополнить китайскими проектами. Т.е. написанное вами неверно вроде той степени, в какой неверно моё утверждение про 4 страницы A4.
Да, что-то не то ляпнул ночью. Но тем не менее.
image
Половина есть в любом современном языке
На то оно и best practices — проверено делом.
Сырой? Да что вы говорите, какой «решено в других языках»?.. Написано за вас — да, сторонних пакетов у того же Ruby может быть больше, но вы же сами отнесли пакеты в категорию «учебного материала для сотрудников», иной раз написать необходимую функциональность будет быстрее, чем прикрутить и настроить (и отладить) сторонний пакет.

Насчёт паттернов, деплоймента и быстродействия — всё расписано в том же Effective Go. Да, звучит чудно, что освоить язык можно по одной страничке и сразу в бой, но это так. В прекрасное время живём.
Обучение сотрудников — громко сказано, Go учится за неделю по докам на их же сайте (Effective Go), его стандарт (sic!) на 4 листах A4 умещается.
Go in a Nutshell:
  • Imperative language
  • Statically typed
  • Syntax similar to Java/C/C++, but less parantheses and no semicolons
  • Compiles to native code (no JVM)
  • No classes, but structs with methods
  • Interfaces
  • No implementation inheritance. There's type embedding, though.
  • Functions are first class citizens
  • Functions can return multiple values
  • Go has closures
  • Pointers, but not pointer arithmetic
  • Built-in concurrency primitives: Goroutines and Channels

+ https://en.wikipedia.org/wiki/Go_(programming_language)#Language_design
А Go 1.5 собирается под iOS таргет уже без травы ;)
Теперь ещё и геймдев возьмёт на вооружение.
Разве что только поиск информации, как сделать ту или иную штуку в расте осложняется тем, что язык быстро меняется. Подчас находишь какие-то ответы, пробуешь их, а они не работают, потому-что оказывается буквально несколько недель назад в 1.1 этот метод переименовали и т. п. Столкнулся с этим на примере метода from_str(), который удалили из Rust 1.1.
Очень мило.
Читал несколько раз, когда изучал язык, собственно про impact on GC там ничего не сказано, это меня и смущало. Только синтаксические особенности, косметические и совсем очевидное про тяжеловесов.
Указатели нужно применять с умом. В документации нет пояснения, когда разумнее использовать именно указатель, поэтому большинство использует их по-умолчанию для консистентности сигнатур методов.

Как только программист натыкается на GC, то начинаются оптимизиации, но это всё в соответствии с задачами, которые решаются.
Это чтобы в одном наушнике был назойливый писк-треск?
Там в Китае с Go такой хайп, вот пост на HN — Why is Golang popular in China?
Более логичным здесь мне кажется time.Sleep.
Поправлю, чтобы не сбивать никого с толку.
В реальном мире паника встречается редко, а обработка ошибок в подавляющем большинстве случаев это log.Println или log.Fatalln, не считая проброса ошибки наверх — return err.
В Go нет исключений, все ошибки обрабатываются в штатном режиме. Паника случается лишь из-за ошибки программиста, например nil разыменован или не проверили границы массива.

Как правило код, отвечающий за чистое завершение прост и не может выкинуть панику. Checked предназначен чтобы накрыть собой всё, так как-где то в глубине, при вызове 3rd party пакета, который вызовет другой 3rd party пакет, может произойти panic из-за чьей-то криворукости.
Из вашего комментария понял, что паскаль это как Go, только без первого, второго… пятого и десятого, зато присваивание := и точка с запятой есть.

А, это как раз тот самый намёк на пересечение интересов.
Хитро, хитро.
image
Do intersect? Или я не понял иронии…

Information

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