12 ms·
It sounds like you're doing web dev and for that I wouldn't use C++. As you pointed out, languages have different advantages and disadvantages. I was just tryin
by lettergram 10y ago
It sounds like you're doing web dev and for that I wouldn't use C++. As you pointed out, languages have different advantages and disadvantages. I was just trying to point out most people don't seem super well versed in modern C++ so it gets undue hate.
I usually build embedded systems, desktop apps, and even some higher end computing applications. I use QT in conjunction when I need most of that stuff you mentioned, as that framework makes it easy. Also,
> there's no standard HTTP library
I mean, there isn't a standard library, but cURL is easy to use.
- flukus 10y ago> I mean, there isn't a standard library, but cURL is easy to use. Unless you want windows compatibility. GP isn't necessarily doing web development from the description though, just something that uses a network.
- OskarS 10y agoWhat are you saying? Both curl and libcurl are available for windows.
- flukus 10y agoWhat percentage of machines would have it? I doubt it's higher than 1% even for programmers. I also didn't mention earlier that curl is probablly not a replacement for an http library. There is some overlap in use cases but neither can replace the other.
- pdpi 10y agoI think you're assuming that "use curl" means "shell out to /usr/bin/curl", which is, of course, a terrible idea. I'm pretty sure the gp was instead suggesting that you should use libcurl, which is the library that powers curl-the-command-line-utility.
- YZF 10y agoI'd classify the systems I work on as "cloud"/systems work. So not exactly what you'd call "Web" but close enough to the kind of use cases Google designed Go for, i.e. their infrastructure. We've managed to make C++ more or less fit better through mountains of in-house libraries and code. I've used C++ with Qt in building embedded applications and my experience was mostly good. Then again Qt had its own types which were incompatible with C++ and a fair bit of work was getting more or less standard C++ mated with Qt. I remember writing a lot of glue code that used Boost.Signals2 ... On one hand it's true that people who still see C++ as C with classes and don't use things like lambdas, algorithms, smart pointers, STL data structures, are contributing to some hate/misunderstanding of C++. On the other hand, C++ developers who do use the modern features get used to all the quirks and don't understand why others don't see what we see ;) So we just maybe std::move, or inherit from enabled_share_from_this without thinking twice and know the difference between && and & and the new lambda syntax but really, as a developer, most of the time, why should I care? To some extent a camel can't see its own hump. What you're saying is basically exactly what I would have said 2 years ago before I started using Go more heavily. Now it's mostly C++ because I have to and Go because I want to... Not that Go is perfect but the stuff that it does well it also does easy.
- unscaled 10y agoI get the problem, but I don't think experienced C++ developers should pamper inexperienced (or unwilling to learn) C++ developers by avoiding features that are considered best-practices. Template programming with Boost.MPL? Sure, I regret every time I used that - I've gained little, and very few developers will be patient enough to learn how to maintain this code. But avoiding std::move() and and R-values just because other developers may get confused? By all means, if your developers are unwilling to learn modern C++, use Go - it's easier to learn. I agree that's it particularly well geared for any network IO-heavy server. C++ can give you better performance, but it probably requires 5 times the effort.
- YZF 10y agoI'm not saying to avoid those in C++. I'm just giving that as evidence that writing C++ is more difficult than Go. Sounds like we're in agreement.