F*!@#$% Mozilla

i just checked...i haven’t updated firefox in a while...fireftp is still working...
...and i will not update it either.
...because...i updated my mid 2010 macbook pro 17 to high sierra and it bricked the machine.
...had to take it to a mac shop today to get the os installed
...so tell me, why do i update my computer when everything is running perfectly?
 
More likely a shell difference than Linux vs Unix... The OS itself doesn't generate syntax errors. ;)
Legend has it that Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the numerous idiot lights which plague the modern driver. Rather, if the driver makes any mistake, a giant "?" lights up in the center of the dashboard. "The experienced driver," he says, "will usually know what's wrong."
 
Many of those pre-2016 complaints have been addressed.

That being said I have two major gripes with golang, having spent the last 3.5 years with here at work:
  • It really is "un-google-able" -- trying find help for things related to go is a PIA because the names overlap with some many other common things. It's gotten a bit better as go has moved beyond the garden walls at Google, but it's still nowhere near as easy as searching for similar, Java-related help.
  • It takes an army to build a good development ecosystem. There's just so very little out there for advanced libraries that help you do common things, quickly. So you end up building a lot of stuff from first principles. We maintain our own golang service container here and that takes time and effort from people. In Java land there's a handful of really excellent, community-maintained service containers you can pull and use. There are only rudimentary test libraries and test coverage tools so you end up building on top of those to get good, usable CI output. The language itself doesn't lend itself well to extensibility so that also cobbles the third party library ecosystem.
It certainly hasn't taken off at work the way a bunch of the xooglers here thought it would. Java still dominates for the stuff that needs to be highly performant. And than Ruby for the stuff that just needs to work. What the xooglers often overlook when they leave Google and go elsewhere is that, internally, there are literally hundreds of engineers dedicated to just making the language, common libraries, development environments work well for them. When you can't have that kind of massive investment in infrastructure staff, Go starts to be a stark wasteland that's not so fun to write code in.

It's fine if you've got the work force of Google behind it. Otherwise I think it's got no advantages over Java for any other company.

My $0.02....
 
but it's still nowhere near as easy as searching for similar, Java-related help.
On the other hand, also you will get a lot of very crappy help

  • It takes an army to build a good development ecosystem. There's just so very little out there for advanced libraries that help you do common things, quickly. So you end up building a lot of stuff from first principles. We maintain our own golang service container here and that takes time and effort from people. In Java land there's a handful of really excellent, community-maintained service containers you can pull and use. There are only rudimentary test libraries and test coverage tools so you end up building on top of those to get good, usable CI output. The language itself doesn't lend itself well to extensibility so that also cobbles the third party library ecosystem.
I agree on the rudimentary testing, the broken "default" dep handling... but I still think, at least in my line of work, that the STL of Go is pretty impressive compared to Java...(also: https://micro.mu/ ?)

Also, AFAIK, Java does not come with anything on that topic out of the box...so I usually see people using load and load of third party libs (hi Spring boot monsters !) just to create very simple services.... with huge memory requirement, interesting definition of stability and stupidly big images...

For Go, with docker multi-stage and "out of the box build compiler", it feels somehow easier/better to create/release containers...

But okay, I am mostly working with Java systems, and I am the guy that get to explain to people why k8s decided to kill their java process coz their container image is crap and does not account for cgroups limits...(aka use https://github.com/fabric8io-images/java based images plz....and make sure it works under load as it may still need additional love as I have doubts with NIO native limits and possible OOM kill due to classload leaks...
or tell people they can't do CI faster since Maven does not support incremental compile or automated dep building...
 
@muaddib I'm a firm believer that any tool or language you have to use to do your job will eventually piss you off and you'll hate it! :D


or tell people they can't do CI faster since Maven does not support incremental compile or automated dep building...
FWIW my devenv team spent 6 months about 3 years ago migrating us from Maven to Pants and it's been pretty successful. Incremental compilation. Incremental test execution. Reasonable syntax for the build files. Maven still has a better understood dependency engine, but I'm happy to be rid of all that XML.
 
Last edited:
@muaddib I'm a firm believer that any tool or language you have to use to do your job will eventually piss you off and you'll hate it! :D
So true... but I still love C with passion after more than 20 years... even when I got called at 3am and all I got from a crash was a bogus corefile :smilecat:

FWIW my devenv team spent 6 months about 3 years ago migrating us from Maven to Pants and it's been pretty successful. Incremental compilation. Incremental test execution. Reasonable syntax for the build files. Maven still has a better understood dependency engine, but I'm happy to be rid of all that XML.

Sadly, working with loads of different (micro/macro) services and heterogeneous systems....
So we use a lot of WSDL, XSD, WADL or OpenAPI stuffs... so big part of our builds depends heavily on loads of maven plugins to autogen code and models....(and AFAIK, Pants isn't so rich on that topic...sadly)
But thanks for the info none the less for the pointer !
 

Ahhhh, just minor nitpicks :eek: lol!! Doing some further reading on it and it would seem that it's drawbacks outweigh it's usefulness for a lot of programmers.

I'm pretty comfortable with C/C++ and Python for my moderate coding needs/projects; either I need speed/to-the-metal (audio analyzers, OpenGL stuff) or the quick, simplicity of Python.

So true... but I still love C with passion after more than 20 years..

To this day I'm still most comfortable with C and use only some basic functionality of C++.

I'm using this framework:

https://www.libcinder.org/

...for a lot of 'creative coding' projects I'm fiddling with; I love Cinder since my same source files (which consists of audio, I/O, and OpenGL/graphics functions) will compile on both Apple and Windows devices and run without issue (and Linux, IOS, Android, etc. but I've not tried those platforms yet; I'm going to try it with Linux very soon), and it's BSD license is very attractive since you can use it for commercial projects.

Cinder is very fast, and there are some amazing projects done with it:
https://www.libcinder.org/gallery

It does a lot of the heavy lifting for you, particularly for OpenGL, and you can get projects up and running pretty quickly while retaining fast performance. Cinder is a lot of fun to play with...some highlights here:

https://www.libcinder.org/about

For audio, I'm mainly using the FMOD library with Cinder which is fantastic, as well as Cinder's native sound support; they are doing some work on improving the audio in Windows (WASAPI support, etc.).
 
Last edited:
Back
Top Bottom