Hacker News new | ask | show | jobs
by Arzh 3264 days ago
Generating the code leads to a lot easier debugging for me. In C++ debugging generics are annoying to put breakpoints in, since it is harder to hit the exact implementation I want (VS has a way to do this but it is a little annoying to get right). I don't mind doing that because all too often I've seen a 'generic' implementation gain more and more flags to make it less and less generic. I've only ever needed to do that a few times, the built in containers cover 95% of what I need. I came to go because I was formulating an opinion of c++, java, javascript etc and they aligned very closely to what the main team of three guys were talking about when they were first releasing it. Most of the time I never scale the application but I still love the way to solve problems in go, especially when I'm doing something in a concurrent manner.

I've also had a large (5M+ lines) C++ project that would need to be complied 3-4 times to do things like CI and automated testing. So each build taking 1-1.5 hours, which is not crazy, because of rebuilding code that is static 99% of the time mean that it is worth it to me.

3 comments

C++ templates are a very idiosyncratic way of doing parametric polymorphism, and the C/C++ compilation model is even more idiosyncratic. You cannot make general statements about parametric polymorphism based on that.
Everything I said was based on my experience with C++, I was making pointed statements not general ones.
It's 2017. C++ was invented in 1984.

Just because a 33-year old language has problems doesn't mean Go is the best solution.

I find that go is the best solution for my problems
Can you please comment on this code base ? Which tools / build chain r u using ? Did the actual compile take 1hr or the full CI/test ?

Did u try use any parallelization ? I am curious because i am working on a "smart" parallelizer builder

Yeah each build would take about an hour, 4-5 hours for the whole CI/test to get finished. It was crossed complied so there was an MSBuild and a gcc build. It was sone in serial since we didn't want to waste time building the release if the testing or QA builds failed.