Tamachi
Что по твоему библиотека ос?)
Неприлично отвечать аопросом на вопрос. К меня есть кастомная библиотека. Я хочу к ней обратиться из Go. Если это невозможно, то go идет лесом
Tamachi
Из го можно ядро системы вызвать) Он не ограничен)
Жду описания КАК связать go с кастомной библиотекой
🔥
Жду описания КАК связать go с кастомной библиотекой
А что за Библа статика или динамика?)
Tamachi
А что за Библа статика или динамика?)
Статика, динамика -- не важно. Важен принцип.
Tamachi
Вот, у нас проект писался уже 5 лет на c++ . Уже написана туева хуча кода. Потом вдруг приходит go-программист со своим проектом и мы хотим эти два проекта объединить в один. Но тут вот сталкиваемся с тем, что нет информации о том, как из go внешние либы обмлуживать
🔥
Ну если по динамику то можно так kernel32, _ = syscall.LoadLibrary("kernel32.dll") getModuleHandle, _ = syscall.GetProcAddress(kernel32, "GetModuleHandleW") И потом вызвать как то так) func GetModuleHandle() (handle uintptr) { var nargs uintptr = 0 if ret, _, callErr := syscall.Syscall(uintptr(getModuleHandle), nargs, 0, 0, 0); callErr != 0 { abort("Call GetModuleHandle", callErr) } else { handle = ret } return }
🔥
Можно юзать СГО
Tamachi
Или прям с++ файл?
Если есть c++ файл, то библиотеку из него можно сделать за несколько минут
🔥
Ща гист сделаю посмотришь
Tamachi
Какими-нибудь учебники по go в pdf можете поделиться? Пробовал гуглить, но там либо детский сад какой-то либо демо-версия с одной-единственной главой
Vitaliy
Во вконтакте proglib сообщество
Vitaliy
Там книжки найдешь.
Tamachi
Предпочтительнее pdf. Ho не догма. Главное -- не HTML
Vitaliy
Но интереснее самому ковырять сорцы кокрочдб или кубера, или изучить сайтец с примерами go. Сам по себе язык прост
Vitaliy
Сложны концепции. Не erlang OTP, но все же сложно.
🔥
но cgo медленный)
Tamachi
Но интереснее самому ковырять сорцы кокрочдб или кубера, или изучить сайтец с примерами go. Сам по себе язык прост
Язык прост. Но интересуют его низкоуровневые возможности. Разбираться в коде не хочу. Я сторонник работы по документации. Важна преемственность версий.
Suleiman
Сложны концепции. Не erlang OTP, но все же сложно.
Поэтому я выбираю crystal 😳😁😁😁
Vitaliy
Поэтому я выбираю crystal 😳😁😁😁
Ну... Одобрям в целом. Руби синтаксис расстраивает. С этим же минусом elixir/phoenix аппетитнее.
🔥
Но я так и не понял что ты имел ввиду под "библиотека ос"?)
Tamachi
https://gist.github.com/goriyasno/4adc3800e926550f9f0f78194f4a39a0
Очень интересно. Но в моем случае вряд ли применимо. Но я попробую. Кстати, где-нибудь есть _официальная_ инструкция по написанию собственных go-модулей в аспекте связей с внешними библиотеками? Интересует только официально-заявленное, ибо то, что официально не заявлено, вполне возможно в будущем не будет поддерживаться
Tamachi
Нашептали мне что еще вот такая штука есть, сам не пробывал http://www.swig.org/Doc3.0/Go.html
Ой, боязно связываться. Куча времени уйдет на разбирательства. Но это не так страшно. Страшно то, что этот код является внешним, живет себе своей, отдельной жизнью, независимо от официальной версии. И если там что-то нехорошее произойдет, то инвестиции в разработку, которые я планирую сделать (немаленькие!!!) пойдут прахом. Если бы был какой-нибудь официал ный документ с инструкциями, то я бы просто выдал бы его go-программисту и попросил бы его сделать доработки в соответствии с этим документом. А поскольку документа нет, то я даже не знаю как с ним разговаривать. О давать внешнему go-программисту исходники c++ проекта не хочется
Rare
А что может быть не понятно в таком простом языке?)
Может потому что я тупой ) Или может потому что я впервые учу язык программирования ) тяжело даеться эта книга , думаю надо закончить ее , попрактиковаться на stepik'e и вернуться снова к ней чтобы прям уверенно понимать )
Rare
И стоит ли одновременно учить go, html и css + figma ? Или лучше учить по одному языку , я так понял что go можно учить очень долго...
Tamachi
Может потому что я тупой ) Или может потому что я впервые учу язык программирования ) тяжело даеться эта книга , думаю надо закончить ее , попрактиковаться на stepik'e и вернуться снова к ней чтобы прям уверенно понимать )
Может быть попрактиковаться на c++, а то сейчас какая-то нездоровая ситуация наклёвывается: программистов много, но все они пишут на всяких питонах, ерлангах, голангах, которые к серьёзному проекту трудно пристегнуть😔
Tamachi
Ну я на си для бэйр метал пишу. А в псюсы даже не хочу соваться) все эти темплейты выражения ООП
А Вы не зацикливайтесь на темплейтах. Берите из языка только то, что Вам надо. С++ необъятен. И вовсе не обязательно наизусть знать ВСЕ. Существуют справочники. И это нормально пользоваться справочниками
Tamachi
Ну я на си для бэйр метал пишу. А в псюсы даже не хочу соваться) все эти темплейты выражения ООП
Я когда-то писал на си прошивку для трекера. На си. То есть без классов. Прошивка подразумевала, что в системе присутствует только ОДНА симка. А потом вышел приказ Мин.Транса о том, чтт для сертификации нужны ДВЕ симки, а не одна! И вот тогда я пожалел, что писал на си, а не на си++! Ой как пожалел!
Rare
Уважаемые, что за ошибка ?
Vyacheslav
Может потому что я тупой ) Или может потому что я впервые учу язык программирования ) тяжело даеться эта книга , думаю надо закончить ее , попрактиковаться на stepik'e и вернуться снова к ней чтобы прям уверенно понимать )
На stepik по go я бы не советовал.Мне кажется курс "сыроват",вопросы к заданиям не очень корректны,компилятор другой раз надо заводить с помощью тех.поддержки после 2-3 часов решений элементарных задач с переменными.Читаешь комментарии и думаешь,какой я тупой))))Это моё мнение,если ты уже работал над проэктами,то 3 часа на деление по модулю на первых уроках-это чересчур))))
Suleiman
а что ребят сложнеее node.js или go ?
🔥
а что ребят сложнеее node.js или go ?
Это две разные "вещи"
Suleiman
Это две разные "вещи"
знаю) я в контексте бэка имел ввиду
🔥
знаю) я в контексте бэка имел ввиду
По скорости разработки думаю одинаково
🔥
По сложности для меня интерпретируемые языки всегда сложней
🔥
а что ребят сложнеее node.js или go ?
Если хочешь сделать попроще юзай нождак и не парься
Suleiman
По скорости разработки думаю одинаково
вот именно, почему попроще именно на ноде?
Belka
А может кто знает хорошие книги или какие другие ресурсы, где можно в целом про backend разработку узнать(сети, базы данных и т.д.) как все это связано и взаимодействует друг с другом?
Belka
Спасибо)
Tamachi
Я так понял, go имеет смысл выбирать только для серверных решений.
Kaban4ik
а gui ?
Yuriy
а gui ?
Не сложнее чем на си... Но конек, конечно, сетевые сервисы
Suleiman
Всего??
🔥
Всего??
Есть возражения?)
Вадим
Есть возражения?)
Подходит мб для всего, но очень надеюсь, что язык не скатится до написания гуи, игр и всего что не связано с сетью для прода, а то будет как с .net
Tamachi
Я не вижу ниши, где было бы оправдано использование go. Вижу, что на нем удобно писать серверную часть. Но невозможность написания линукс-демона сводит это достоинство к нулю.
Tamachi
Что касается клиентской части, то я не нашел описания приличного gui для go. Существует ли связка с Qt?
Tamachi
Ну и сложность go по сравнению с c++ , порог вхождения...
Tamachi
Тогда зачем ты его изучаешь, и вообще находишься в этой группе?
Пока мне это просто интересно. Думаю, как бы это пристегнуть к моему рабочему проекту. Но пока упираюсь в стенку
Dmitry
Что касается клиентской части, то я не нашел описания приличного gui для go. Существует ли связка с Qt?
Что же вас так тянет на этот Gui? К каждой задаче есть свой инструмент. Почитайте историю создания Go, кто и какие цели перед ним ставил. Со своими задачами Go справляется на 100%.
Tamachi
Я смотрю на язык как на одну из составных частей процесса разработки и внедрения. Пока вижу, что процесс разработки может с применением go ускориться, но процесс поддержки и внедрения -- вот думаю, не будет ли тут гемора
Tamachi
Что же вас так тянет на этот Gui? К каждой задаче есть свой инструмент. Почитайте историю создания Go, кто и какие цели перед ним ставил. Со своими задачами Go справляется на 100%.
Клиентская и серверная части должны говорить на одном языке, одними терминами. Поэтому если серверную часть буду писать на go, то и клиентскую -- тоже на go. Но для клиентской части нужен gui
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Такое ощущение что ты специально придумываешь проблему
Tamachi
Ээээ... это какие то религиозные взгляды😏
Это просто опыт. Написать, конечно, можно, но потом придется еще и поддерживать и внедрять... Вечное согласование типов и протоколов (после каждого обновления) меня не впечатляет
Anonymous
Ты хочешь компилировать Go в JS?
Tamachi
Такое ощущение что ты специально придумываешь проблему
Я более чем полвека в теме ПО. Когда мне было 25 я тоже думал, так же: дескать писать можно на любом языке... Но это до тех пор пока ты САМ пишешь. А вот когда будешь управлять проектом, в котором задействовано более 50 программистов и дизайнеров и для каждого из них надо написать ТЗ, правила согласования, описания протоколов.... Вот, где тормоза будут! Я хочу избежать этих неприятеостей.
Tamachi
Пока что для меня главным препятствием для перехода на go является отсутствие механизма создания линукс-демона и ограниченная связь с сущеостями оси.
Tamachi
Посоветуйте книгу про связку go и Qt