V
слабая сторона в любом языке - сам программист
Daniel
сильные стороны go - это модель сетевого IO
Cat
дефолтная которая?
Daniel
в каком смысле - переходить? это же не женитьба, когда со всеми остальными пассиями придется расстаться
🐁 Arutrancetro
в каком смысле - переходить? это же не женитьба, когда со всеми остальными пассиями придется расстаться
))) ну просто мне надо понимать для каких целей я могу использовать Гоу вместо шарпа
Daniel
дефолтная которая?
которая горутины -> пул тредов -> event loop
Cat
но это же не сетевое io
Cat
(спойлер 2: все языки можно использовать вместо всех)
Daniel
но это же не сетевое io
с точки зрения языка - это оно, точно говорю
Cat
как скажешь
Cat
окромя brainfuck
он не туринг комплит?
Daniel
(спойлер 2: все языки можно использовать вместо всех)
с того места, коллега, вы можете ничего не писать более
🐁 Arutrancetro
🐁 Arutrancetro
вы уж извините, но я ненавижу PHP
Daniel
никто не любит
Alexander
))) ну просто мне надо понимать для каких целей я могу использовать Гоу вместо шарпа
микросервисы, команд-лайн утилитки, сетевые демоны. гуи и сложную БЛ лучше не писать
Cat
и PHP =)))
почему? ваша ненависть к языку ≠ на нём нельзя написать X
Alexander
а что тогда писать? =)
там точка после сетевых демонов
Daniel
Ага, через рефлексию.
и через рефлексию, и кодогенераией есть.
🐁 Arutrancetro
понял
Антон
он не туринг комплит?
Если лента ограниченная, то да
саша
слабая сторона в любом языке - сам программист
Ну все, убедил, перехожу на brainfuck
Cat
Ага, через рефлексию.
ты сломал всю историю о том, что в го нет сериализации
Cat
Если лента ограниченная, то да
неограниченная конеш
🐁 Arutrancetro
я просто не пойму как я могу проектировать на Go. я привык в контексте классов проектировать
Alexander
пробуй оперировать своими моделями.
🐁 Arutrancetro
Alexander
вместо наследования - композиция
Cat
угу
например, где используешь наследование?
🐁 Arutrancetro
например, где используешь наследование?
ну, недавно пригодилось в Akka
Cat
сам-то пишешь наследование?
🐁 Arutrancetro
а ещё?
ну много где, когда например нужно создать абстрактный класс, а потом от него наследоваться
🐁 Arutrancetro
чтобы всю логику с нуля не писать
🐁 Arutrancetro
чтобы не реализовывать все методы с нуля
Alexander
Зачем создавать абстрактный класс, если есть интерфейсы?
потому что в других н̶о̶р̶м̶а̶л̶ь̶н̶ы̶х̶ языках, в абстрактных классах можно задать поведение
Cat
чтобы не реализовывать все методы с нуля
Реализуешь для одного типа, потом композицией кладёшь его в другой И вуаля, все методы реализованы
Антон
потому что в других н̶о̶р̶м̶а̶л̶ь̶н̶ы̶х̶ языках, в абстрактных классах можно задать поведение
Ну, вообще-то есть языки, где поведение можно и интерфейсам задавать
Alexander
Наследование поведения это один из самых осуждаемых паттернов
да ну, тут про что угодно можно сказать что самый осуждаемый паттерн. кому что не нравится, то и осуждают. кому-то DI не нравится
саша
потому что в других н̶о̶р̶м̶а̶л̶ь̶н̶ы̶х̶ языках, в абстрактных классах можно задать поведение
В нормальных языках в интерфейсах можно задать проведение основное на реализации другого интерфейса/других функций интерфейса.
🐁 Arutrancetro
ну на крайний случай можно экстеншены использовать, как например в котлине или C#
🐁 Arutrancetro
вместо наследования
🐁 Arutrancetro
убирает много головной боли =)
🐁 Arutrancetro
ну, а вообще да, композиция тоже норм )
🐁 Arutrancetro
можно обойтись без наследования
Daniel
потому что в других н̶о̶р̶м̶а̶л̶ь̶н̶ы̶х̶ языках, в абстрактных классах можно задать поведение
и за это мы ненавидим, например, C++. когда пытаешься понять, что же делает программа, которую написал любитель наследования поведения - мозги кипят, и кровь брызжет прямо из глаз
Cat
убирает много головной боли =)
Да ладно? Вы наверное просто не сталкивались с этой самой головной болью
🐁 Arutrancetro
в C++ еще утечки памяти надо мониторить)
🐁 Arutrancetro
всякими средствами)
🐁 Arutrancetro
потому что кто-то в свою либу может зашить утечку памяти и все
Daniel
ну - там тоже есть смартпоинтеры, и с ними какой-никакой gc
🐁 Arutrancetro
ну раньше не было их
heavycharged
в го тоже можно сделать утечку, на слайсах или горутинах.
саша
в го тоже можно сделать утечку, на слайсах или горутинах.
Ага, а ещё рейс кондишены, сказка просто
Daniel
коллеги
Daniel
пожалуйста, давайте ближе к конструктиву :)
heavycharged
Ага, а ещё рейс кондишены, сказка просто
рейс кондишенов нету в php, значит ли это, что php лучше чем го?
heavycharged
юзайте инструменты под задачу, вот и все.
V
не языки надо не любить, а криво написанные проекты
heavycharged
))) надо любить криво написанные проекты?)))
Антон
Daniel
@napsy хочет узнать, что такое он может начать писать на go вместо c#. давайте в рамках этого как-то держать обсуждение