News for hackers. Stuff that matters.
Re:Edward C++Hands by wheaties on Thursday September 19, 2013 @05:54PM (#6414559)
I went C++ -> Python -> Scala. Still do Python. Don't do C++ anymore for the same exact reasons he mentions. The guy is a C++ hero and to hear him say those things means a lot. I encourage you to keep playing around with Scala. Have fund with the Actor model. Enjoy GC.
Re:Edward C++Hands by chetanahuja on Thursday September 19, 2013 @06:06PM (#6414609)
"Enjoy GC."

Can't tell whether joking or serious. I guess my bitter laugh covers both cases.

Re:Edward C++Hands by jerf on Thursday September 19, 2013 @07:20PM (#6414927)
It's easier to start from a GC'ed language, and use escape hatches when you need them, then to start without GC and then realize that your program has become a mess because you don't have it.

Many GC'ed languages have such escape hatches. Those that don't, well, don't start writing performance-critical code in them would be my recommendation.

And also, do not miss his point about reference counting just being a form of GC. "Manual memory management" isn't really a thing that exists, there's a whole suite of memory management techniques and alternatives, and it's easy with something like "C++ with ref counting" to actually be experiencing the worst of all worlds (all the work of "manual" memory management with all the disadvantages of GC) if you don't deeply understand what's really going on with your memory.

Re:Edward C++Hands by chetanahuja on Thursday September 19, 2013 @08:24PM (#6415225)
Funny you mention the "worst of all worlds scenario" because that's exactly what I was thinking about your advice to start with a GC'd language and then escape for performance critical (which usually means huge heaps btw) parts. This plan combines you all the flexibility, predictability and reliable latency of managed VM systems combined with all the safety guarantees of a manual memory managed system.
Re:Edward C++Hands by jerf on Thursday September 19, 2013 @08:39PM (#6415288)
Read my whole first sentence again. Carefully. I think it does not say what you think it says.

Furthermore, I still don't think you got the point that there is no royal road to perfect memory management. You can't just say the words "manual memory management" and pretend you've solved the problem, or indeed, that you've said anything at all. Many of the same "manual memory management" techniques that you might use are still readily available in "garbage collected" languages. It's not a boolean, it's a rich space. And thus, I stand by my first sentence.

Re:Edward C++Hands by AsymetricCom on Thursday September 19, 2013 @07:18PM (#6414922)
"Enjoy GC" "Enjoy living on a boat" "Enjoy waking up at 2AM"

and other ways being not free is freeing.

Re:Edward C++Hands by CCs on Thursday September 19, 2013 @07:28PM (#6414979)
We're in production with Scala since 2010 and for that use case it worked out pretty good. Not enjoying the GC at all, it is by far the biggest issue.

Also keeping an eye on Go and D, but not yet committed.

Re:Edward C++Hands by lttlrck on Saturday September 21, 2013 @01:00PM (#6423561)
Learning how to manage memory is a tiny fraction of the work involved in writing complex applications, and it's done upfront. Not having to worry about it would only give a proportionally tiny increase in 'enjoyment'.