История изменений
Исправление lbvf50txt, (текущая версия) :
Много, много лет назад, я постоянно читал документацию к PHP5. Она еще была в форме справки Windows. И вот там была разделе «Как писать музыку на PHP» - и объяснялось, что PHP для написания музыки не подходит.
Точно также Go - никогда не был языком «общего назначения». Что бы там, кто бы там не говорил. Это язык созданный под абсолютно конкретную задачу, в абсолютно конкретном месте.
И задача у Go одна - эффективно обрабатывать вал HTTP и иже с ними запросов. Весь язык заточен по эту задачу, как корабль заточен для хождения по волнам, а самолёт для полетов по воздуху.
Каждое архитектурное решение, вся структура стандартной библиотеки - говорит об одном - упакуй все сервера (TCP/HTTP/Multiplexer) в один OS Process, пусть многозадачность будет через Goroutines. Экономь на всем, делай так чтоб было быстро.
Это смысл инструмента. Понятно, что на тракторе можно ездить в магазин, но дизайн трактора - он для того, чтоб пахать землю. Также дизайн Go - для обработки вала L5 запросов к серверу.
Исходная версия lbvf50txt, :
Много, много лет назад, я постоянно читал документацию к PHP5. Она еще была в форме справки Windows. И вот там была разделе «Как писать музыку на PHP» - и объяснялось, что PHP для написания музыки не подходит.
Точно также Go - никогда не был языком «общего назначения». Что бы там, кто бы там не говорил. Это язык созданный под абсолютно конкретную задачу, в абсолютно конкретном месте.
И задача у Go одна - эффективно обрабатывать вал HTTP и иже с ними запросы. Весь язык заточен по эту задачу, как корабль заточен для хождения по волнам, а самолёт для полетов по воздуху.
Каждое архитектурное решение, вся структура стандартной библиотеки - говорит об одном - упакуй все сервера (TCP/HTTP/Multiplexer) в один OS Process, пусть многозадачность будет через Goroutines. Экономь на всем, делай так чтоб было быстро.
Это смысл инструмента. Понятно, что на тракторе можно ездить в магазин, но дизайн трактора - он для того, чтоб пахать землю. Также дизайн Go - для обработки вала L5 запросов к серверу.