Earlier quoted context omitted.
C/C++ library dependencies are a thing, and there's no universal solution to acquiring and installing them.
The most universal thing in C/C++ is vendoring, IMHO. If you are distributing source, you distribute everything. Then, it only needs a compiler and libc. That vendored package is tested, and it works on your platform, so there's no guesswork.
Go's Sweet 16
261–270 of 280 posts
Re: Go's Sweet 16
#262Oh wow, so it's already been 16 years since Google steamrolled the Go! language, which had existed a decade before Go and had every right to the name. This was when they were still pretending "do no evil" was their brand. There may be no honor amongst thieves but there is honor amongst langdevs, and when they did Go! dirty, Google made clear which one they are. Status changed to Unfortunate https://github.com/golang/…
Go! was clearly a toy language created only for the purpose of writing papers. It has no applications outside academia. Meanwhile Google's golang exists mostly in the sphere of practical use.
Re: Go's Sweet 16
#263Earlier quoted context omitted.
Go and Go! are pronounced the same way, so yes, they're the same. Moreover the author of Go! personally requested that Google not step on his life's work. The man had dedicated a decade and authored a book and several papers on the topic, so it wasn't a close call. Additionally C# built on C++ which built on C. Go had no relationship to Go! at all. Homage and extension are one thing, but Go was not that. A policy of…
They are not pronounced the same, otherwise we wouldn't have the ! in the language.
Re: Go's Sweet 16
#264Earlier quoted context omitted.
Does anyone use that other language? No!
Go! wasn't even published as its own project [1] until 2015, well after Go(lang) was available. It previously existed as an unpublished CVS repository in an obscure Sourceforge project [2]; I can't fault the Go developers for ignoring or overlooking it. You can find a circa-2002 version of Go! in the archived CVS repository of the Sourceforge project, but none of the project's release files appear to contain it. (Ign…
Due diligence would have revealed the Go! project in a standard literature review.
I can and will fault the developers because even if they had overlooked it, they were explicitly asked, and declined to do so because they determined (themselves) there would be no confusion. So it wasn't that they overlooked it, or ignored it, they decided they were asked directly and responded "we don't care".
If the reasoning boils down to "We can do this because you are small and we are big" I cannot support that.
Re: Go's Sweet 16
#265Earlier quoted context omitted.
Go! was clearly a toy language created only for the purpose of writing papers. It has no applications outside academia. Meanwhile Google's golang exists mostly in the sphere of practical use.
Programming languages don't have to be for the purpose of industrial software construction to be considered useful. In fact, many ideas that industrial languages use come from academia. If we want new ideas and new languages to flourish, it cannot be the case that large corporations get a free pass to just smash researchers' academic efforts when they feel like it, especially when their motto at the time was "Do no e…
Re: Go's Sweet 16
#266Earlier quoted context omitted.
Kotlin's important feature is the cooperative multitasking. Java code has been mangled all these years to work around not having that. I don't think many would justify the switch to Kotlin otherwise.
It's probably an important feature now, but it's a recent one in this context.
Re: Go's Sweet 16
#267Earlier quoted context omitted.
But it also has a advantages that you can literally read a lot of code from other devs without twisting your eyes sideways because everybody has their own style.
Exactly. "This is Go. You write it this way. Not that way. Write it this way and everyone can understand it." I wish I was better at writing Go, because I'm in the middle of writing a massive and complex project in Go with a lot of difficult network stuff. But you know what they say, if you want to eat a whole cow, you just have to pick and end and start eating.
I don't know but for me a lot of attacks on Go, often come from non-go developers, VERY often Rust devs. When i started Go, it was always Rust devs in /r/programming pushing their agenda as Rust being the next best thing, the whole "rewrite everything in Rust"...
About 10 years ago, learned Rust and these days, i can barely read the code anymore with the tons of new syntax that got added. Its like they forgot the lessons from C++...
Re: Go's Sweet 16
#268Earlier quoted context omitted.
With bazel/buck/pants/etc won't be problem for other major languages.
Have you worked with those before? "Quickly and easily" are not exactly what comes to mind.
But yes, I worked - mainly Java (back then) with GWT, some Python, Sawzall, R, some other internal langs.
Re: Go's Sweet 16
#269Earlier quoted context omitted.
1) for one-off scripts and 2) If you ignore memory. You can make about anything faster if you provide more memory to store data in more optimized formats. That doesn't make them faster. Part of the problem is that Java in the real world requires an unreasonable number of classes and 3rd party libraries. Even for basic stuff like JSON marshaling. The Java stdlib is just not very useful. Between these two points, all m…
ZGC? It should be on par or better than Go.
[0] https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
Re: Go's Sweet 16
#270Earlier quoted context omitted.
I personally like Go and appreciate its simplicity and tooling and everything but the example given is "making a folder" and "putting a ... main() func" in it. But, like, this is exactly as easy with every single other language that I can think of. The second part "Running go install at the root ./.." is actually terrible and risky but, still, trivial with make (a - literally - 50 year old program) or shell or just w…
> "making a folder" and "putting a ... main() func" in it You can't do that with python for instance. First, you need a python interpreter on the target machine, and on top of that you need the correct version of the interpreter. If yours is too old or not old enough, things might break. And then, you need to install all the dependencies. The correct version of each, as well. And they might not exist on your system,…
I agree that static linking is great and that python sucks but I was trying to say I can, very easily, mkdir new-py-program/app.py and stick __main__ in it or mkdir new-perl-program/app.pl or mkdir my-new-c-file/main.c etc.
For 2/3 of the above I can even make easy/single executable files go-style.