Почему Go?

Эта статья содержит три основные причины, делающие Go сильным языком программирования.

Безопасность

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

Несмотря на то, что статические анализаторы кода доступны в течение десятилетий, но эти инструменты не получили широкое признание, не говоря уже о широком распространении. В целом, программисты показали, что просто не могут безопасно управлять своей собственной памятью. Пришло время уйти от C.

Go не полагается на программиста для непосредственного управления памятью, а все распределение памяти управляется средой выполнения языка, инициализируется перед использованием, а границы проверяются при необходимости. Это, конечно, не первый мейнстрим-язык, который предлагает такие гарантии безопасности, например, Java (1995), вероятно, является претендентом на эту корону. Миру давно требуются безопасные языки программирования, поэтому Go является безопасным по умолчанию.

Производительность разработчика

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

Есть такая шутка, что Go был разработан во время ожидания компиляции программы на C ++ . Быстрая компиляция - это ключевая особенность Go. Хотя скорость компиляции остается постоянным полем битвы, но можно сказать, что компиляция, которая занимают минуты на других языках, занимает секунды в Go.

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

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

Параллельность

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

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

Заключение

Это были три весомые причины, которые позволяют рекомендовать Go для всех: безопасность, производительность и параллелизм. По отдельности существуют языки, которые охватывают одну, возможно, две из этих причин, но именно сочетание всех трех делает Go отличным выбором для мейнстримовых программистов сегодня.
Ничего не найдено.