Персональные инструменты
Счётчики

Портал:Ниасилили/Golang

Материал из Lurkmore
Перейти к: навигация, поиск
Recycle.pngЭта статья находится на доработке.
Эта статья всё ещё не взлетела и не соответствует нынешним реалиям /lm/. Если 14.05.2021 не наступит решительного улучшения, статья подлежит переносу в личное пространство основного автора или любого желающего (а если в ней нет вообще никакого ценного контента, то и безоговорочному уничтожению).Дата последней правки страницы: 14.11.2020

Go aka Golang —- язык программирования, разработанный Google в очередной попытке создать идеальный™ компилируемый структурно-ориентированный язык программирования с многопоточностью и интерфейсами. Вобрал в себя особенности синтаксиса C, Pascal и немного Python. Доставляет тем, что выглядит и ощущается как интерпретируемый язык, но по факту — компилируемый, да и к тому же имеет строгую статическую типизацию.

[править] История

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

Писать программы под несколько потоков можно было и тогда, например на Java, C/C++, Delphi, но процесс реализации многопоточности требовал таких изъёбств и костылей, что волосы на заднице вставали дыбом даже у самых законченных индусов.

В те бородатые времена ещё сложно было найти программиста в зассаной подворотне и уговорить работать за бургер, пузырь и пачку сигарет, поэтому, решив пожалеть своих так тяжело добытых сотрудников, Google решил начать разработку принципиально нового языка программирования с нескучными обоями.

За разработку взялись местные бездельники, которые очень сильно не любили C++ и хотели составить ему конкуренцию. В ноябре 2009 Go был публично анонсирован, а версия 1.0 вышла марте 2012.

[править] Суть

Несмотря на то, что Go разрабатывался программистами и для программистов, он невозбранно сжимает яйца несчастных кодеров в тиски. Например, конструкция if-else может быть написана только одним, блджад, способом:

if <condition> {
	<code>
} else {
	<code>
}

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

Сразу возникает вопрос: зачем это сделано? Потому что насмотревшись миллиард различных вариантов расстановки скобок, ключевых слов и прочих положений coding convention, разрабы Go психанули и решили сделать написание кода в своём языке однообразным и ортогональным. Хорошее ли это решение? Решать только тебе, дорогой %USERNAME%.