Мне кажется, что все программисты делятся на 2 типа: хакеры и архитекторы. Архитекторы хотят чтобы их код был прежде всего хорошо читаем, то есть легок в понимании, легко расширяем и т.д. и т.п. , хакеры же хотят чтобы их код был быстрым. В первую очередь. Быстрым. И практически любой ценой, то есть главным, конечно, остается функционал - код должен делать то, для чего он был написан. Но вот второе по значимости - его скорость.
Надо сказать, что архитекторов сейчас большинство, т.к. ООП с его полиморфизмом в моде. Код бесконечно и бессмысленно расширяется, становится всё медленнее и медленнее, как свинья. Такие тенденции.
Ну короче, я решил переписать сайт в четвертый раз, на этот раз - на Go, с использованием фреймворка Gin (изначально сайт был просто на сокетах, с самописанным подобием шаблонизатора, далее на Python Flask, потом на Python Aiohttp). Решил я так потому что мне не нравится то, как работает питон и потому что понял что веб в данный период моей жизни меня привлекает, а значит - надо изучать что то более специализированное.
Ну и вот за одно я поменял дизайн. Свистоперделками наигрался, хочется чего то простенького, что не приедается.
Go, как язык программирования, мне нравится. Я конечно почти ничего не знаю, но он всё равно нравится. Компилируемый, при этом присутствует приятный синтаксис, а-ля чето между Си и Питоном. Гарбейдж коллектор жизнь упрощает, есть понимание того как что работает, в отличии от питона, где всё - объект, за слоями абстракций уже непонятно вообще нихуя. А тут вроде как известно.
Теперь касаемо именно написания этого сайта. Go+Gin дают хороший инструментарий. Например, в Go есть встроенный шаблонизатор и Function Map - то есть набор функций, который вы можете передать в рендер шаблонов. Это просто замечательно, потому что на Aiohttp мне приходилось плодить контексты для рендера разных страничек, а тут контекст один, а всё необходимое вычисляется непосредственно при собирании странички. Конечно есть некоторые подводные камни такого подхода, но о них сейчас не буду.
Gin предоставляет быстрый роутинг и удобные библиотечки типо: https://github.com/gin-contrib/sessions и https://github.com/gin-contrib/cache . Причем они удобные и простые.
В общем, мне всё нравится и теперь писать что-либо я планирую преимущественно на Go, чтобы углубляться в понимание языка. Уже руки чешутся кстати применить где нибудь знаменитые горутины.
Надо сказать, что архитекторов сейчас большинство, т.к. ООП с его полиморфизмом в моде. Код бесконечно и бессмысленно расширяется, становится всё медленнее и медленнее, как свинья. Такие тенденции.
Ну короче, я решил переписать сайт в четвертый раз, на этот раз - на Go, с использованием фреймворка Gin (изначально сайт был просто на сокетах, с самописанным подобием шаблонизатора, далее на Python Flask, потом на Python Aiohttp). Решил я так потому что мне не нравится то, как работает питон и потому что понял что веб в данный период моей жизни меня привлекает, а значит - надо изучать что то более специализированное.
Ну и вот за одно я поменял дизайн. Свистоперделками наигрался, хочется чего то простенького, что не приедается.
Go, как язык программирования, мне нравится. Я конечно почти ничего не знаю, но он всё равно нравится. Компилируемый, при этом присутствует приятный синтаксис, а-ля чето между Си и Питоном. Гарбейдж коллектор жизнь упрощает, есть понимание того как что работает, в отличии от питона, где всё - объект, за слоями абстракций уже непонятно вообще нихуя. А тут вроде как известно.
Теперь касаемо именно написания этого сайта. Go+Gin дают хороший инструментарий. Например, в Go есть встроенный шаблонизатор и Function Map - то есть набор функций, который вы можете передать в рендер шаблонов. Это просто замечательно, потому что на Aiohttp мне приходилось плодить контексты для рендера разных страничек, а тут контекст один, а всё необходимое вычисляется непосредственно при собирании странички. Конечно есть некоторые подводные камни такого подхода, но о них сейчас не буду.
Gin предоставляет быстрый роутинг и удобные библиотечки типо: https://github.com/gin-contrib/sessions и https://github.com/gin-contrib/cache . Причем они удобные и простые.
В общем, мне всё нравится и теперь писать что-либо я планирую преимущественно на Go, чтобы углубляться в понимание языка. Уже руки чешутся кстати применить где нибудь знаменитые горутины.
READ OTHER POSTS