Which is the best XMPP library for golang? No abandonware, please. (cross-question with xmpp:golang@conference.samwhited.com?join)
jonas’
I use mellium.im/xmpp
debacle
jonas’ anything good or bad to say about it? :-)
debacle
is it like aioxmpp, but in golang?
debacle
I also found Jackal, the XMPP server written in Go, which does not seem to use an external XMPP library. Interesting.
jonas’
debacle, it was the least bad I could find
jonas’
but they’re all incomplete and rather low-level
Zash
debacle: Got some project or looking for XMPP things to package?
debacle
Zash I start to get interested in golang. It looks like a pretty boring and not so well-designed language, but I need something to kill Python on a low-RAM system. Development must be easy and cheap, like Python, not difficult and expensive like Rust or Erlang. Maybe I should consider Lua :-)
debacle
jonas’ thnx!
jonas’
I don’t think you’ll achieve a low memory footprint with golang
debacle
jonas’ compared to Python?
jonas’
not sure
Zash
Go uses GC right?
jonas’
but depending on what you’re doing you won’t be happy with the golang libraries I’ve found so far because of lack of features
jonas’
it does
jonas’
but also scoping magic to avoid the GC if possible
jonas’
main concern would be static linking here, footprint-wise
Ge0rG
just use node.js instead? :D
debacle
jonas’ we would probably use gccgo with dynamic linking. Anyway, as long as libraries are used only once in the system, it doesn't matter, right?
debacle
static linking is such a bad idea, that's probably the worst aspect of Go
jonas’
debacle, yeah, but remember that vanilla go brings the go equivalent of libc and stuff
jonas’
that’s stuff you’d normally save
Ge0rG
dynamic linking is the benefit of the established frameworks
debacle
jonas’ the Python ecosystem is very advanced and I feel like a spoiled child when I look at other ecosystems
Ge0rG only that node.js is a chemical waste dump, not an ecosystem
Ge0rG
debacle: you'd be surprised about who lives in chemical waste dumps.
debacle
jonas’ sure, the standard libary itself might be huge
jonas’
debacle, I agree
jonas’
(although I do like myself some C++)
debacle
golang has been invented out of hate towards C++ :-)
debacle
Ge0rG JS developers maybe? (jc isn't around, is he?)
jonas’
and I recently ported a golang thing I wrote to C++ out of annoyance with golang, because as you said: "pretty boring and not so well-designed language"
debacle
jonas’ it's an outsider view of course. I did not even compile my helloworld yet :-)
Zash
Go seems like Java levels of Meh to me.
jonas’
debacle, I did write some golang code: https://github.com/horazont/dragonstash-golang https://github.com/horazont/prometheus-xmpp-blackbox-exporter
debacle
ah, yes, prometheus, one of the golang poster children
AlexPhas joined
zinid
> not difficult and expensive like Rust or Erlang
This is called education - you learn new and sometimes difficult things in order to be more productive later
Kev
It's not wrong, though. Both of those are more expensive to learn than most languages.
Kev
(Because they try to do something that most languages don't, of course)
Zash
Java and Go must be the cheapest then?
Kev
Java's probably about the pinacle of cheap to learn, yeah.
zinid
I don't find Java simple at all
zinid
Erlang is much more simpler, back then I tried to learn both and ended up with Erlang, at least for my task
Zash
Who said anything about simple?
zinid
cheap to learn, okay
pep.
What does that mean
lksjdflksjdfhas left
zinid
pep.: less time spent learning?
zinid
at least as I understand it
pep.
Also, that all depends with what you started anyway. I started with OCaml, it took me quite some time to get into python
Zash
Probably something something time from being hired to being productive
Martinhas joined
zinid
pep.: I agree, after 5 years of math in the university functional languages are closer to me
sonnyhas joined
AlexPhas left
Alexhas left
Alexhas joined
debacle
zinid What I meant: I assume, that Erlang and Rust are better™ than Go, but companies care about $/h and time to market. Go has cheaper, faster devs and is still good enough for many projects.
zinid
debacle: I disagree, but whatever
Zash
As in, you can grab kids from school and have them typing Go or Java in no time
pep.
Zash, because they've already gone through the process of learning Java, and that took them all their school years?
samhas joined
samhas left
guus.der.kinderen
Is OOP even the go-to paradigm in schools these days?
guus.der.kinderen
(small pun intended)
Zash
Who knows?
guus.der.kinderen
People that are either still in school or are familiar with courses?
MattJ
Multi-paradigm languages are where it's at
Zash
Lua?!
pep.
OCaml :-° (even though object is meh in it, and even if imperative is possible it's definitely not for that)
jonas’
I got punched in the face with waterfall-model-OOP development as late as 2013 in university, soooo...
guus.der.kinderen
(that's almost 7 years ago)
jonas’
guus.der.kinderen, thanks for reminding me
jonas’
also, I’m pretty sure that they still do the same thing t here
jonas’
they are very resistant to change
jonas’
and allegedly have some ties to the proprietary UML stack we were forced to use for every step of the implementation.
guus.der.kinderen
hah!
guus.der.kinderen
That, I recognize
guus.der.kinderen
we had to follow design paradigm that was developed by one of the professors.
jonas’
... when they wanted our group (there were groups to implement various software projects) to give a presentation about the thing we did the following year, we politely declined via email with a picture of Tux attached.
jonas’
fun times.
moparisthebest
a Norwegian I know that's still in University is learning primarily Java
jonas’
oh, yeah, of course that was all java
jonas’
the language of waterfall-oop
jonas’
the professor was also very proud of being at companies for $reasons aaaaall the time. so good.
Zash
Should I be glad I don't know what waterfall is?
pep.
You probably know what waterfall is
jonas’
what pep. says, and if you don’t, yes
jonas’
waterfall is when you strictly separate phases like "design", "implementation", "testing" in your ... product ... development ... lifecycle.
jonas’
don’t pin me on the terms
jonas’
I tried to flush this out of my brain like a waterfall.
Zash
Opposite of agile? Or scrum? Whatever those are?
jonas’
yeah, pretty much that
pep.
Zash, yeah that
jonas’
I only survived that course with mpv --loop=inf The\ Big\ Lebowski.medium
pep.
Basically something without a feedback loop
pep.
(or too late)
skyfarhas left
larmahas left
larmahas joined
Danielhas left
Danielhas joined
Alexhas left
skyfarhas joined
Alexhas joined
ajhas left
UsLhas joined
debacle
jonas’ you are probably right: golang is not a solution to safe RAM. libgo.so has 37 MiB on our systems. libc.so is 1.3 for comparison. OTOH, a statically linked hello.go executable has "only" 5 MiB. Write in C, write in C, golang's not the answer, write in C.
debaclehas left
rion
C++? =)
moparisthebest
as far as I'm concerned C++ is like Cobol now, only reason to write it is maintenence of ancient bad systems, no reason to prefer it over Rust if there is an option
lovetoxhas joined
jonas’
moparisthebest, library support is a good reason to use C++
moparisthebest
that implies using C++ libraries is good :P
jonas’
if there are no rust implementations, sure
jonas’
there’s still no proper fuse thing for rust for example
jonas’
(and then there’s of course still the extremely toxic rust community.)
alliehas left
zinid
jonas’, why toxic? they are funny, Rust Strike Force
zinid
there is only Rust exists, resistance is futile
moparisthebest
toxic? I had the opposite impression, that they are too hand-holdy
jonas’
moparisthebest, they’re just like the matrix folks, whenever there’s even a slight mention of a non-rust thing you have the rust brigade up and running and yelling "RIIR RIIR!!!"
jonas’
without reason
jonas’
this makes it seem as if the language coudln’t surive without the RIIR brigade...
moparisthebest
ah ok you mean the rust advocates, yea that's fair, I meant more the "mission statement" or whatever https://www.rust-lang.org/ "A language empowering everyone
to build reliable and efficient software." SO EMPOWERING
jonas’
I don’t care about extra fluff or plush
jonas’
seems like they need it.
moparisthebest
I just mean, personally, I've been through my "hope this runs correctly" (python/js) phase, been through the "hope this doesn't segfault" (C++) phase, and Rust is far far better, again personally :)
moparisthebest
I find it actually ends up being faster from "start coding" to "runs and works" than other langs
zinid
what languages did you try?
zinid
you can try any type-safe language with GC, this will be much more productive than fighting with borrowing or weak refs in cyclic structures
moparisthebest
it actually isn't though, my day-job language is Java
zinid
hell, yeah, java is safe as fuck, with NPE 😉
moparisthebest
that's another point for Rust :) all the other mentioned langs also have NPE right?