Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
cmccabe
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
55 ms
·
511.
▲
by
cmccabe
14y ago
Yes, truly the only thing holding C++ back has been lack of features. Have a link: http://yosefk.com/c++fqa/
512.
▲
by
cmccabe
14y ago
from http://dl.rust-lang.org/doc/tutorial.html "7.3 What to be aware of Rust has three "realms" in which objects can be allocated: the stack, the local heap, and the exchange heap. These realms have corresponding pointer types: the borrow
513.
▲
by
cmccabe
14y ago
Go is not a conservative language. A conservative language would be something like D, which is mostly a clone of C++ with a few extra features tossed in. Go is a highly opinionated language with at least three big new ideas: * goroutines
514.
▲
by
cmccabe
14y ago
Rust has three different ways of allocating memory. And you can't pass things allocated one way to functions that expect something allocated the other way. A Python replacement, this ain't. More like C++ on quaaludes.
515.
▲
by
cmccabe
14y ago
Needing lots of expensive invariants is almost "invariably" (see what I did there?) a code smell. You often see big, complex classes with 10 different booleans and a ton of assertion crap, when what is really needed is to refactor the clas
516.
▲
by
cmccabe
14y ago
Let's say that I fire someone, and I absolutely can't afford a severance package, leaving him out in the cold. Let's also say that the following are the options: Um, you think that people are forced to "butcher [their] entire family in a
517.
▲
by
cmccabe
14y ago
So far we've established that: 1. you run with assertions always on in production, 2. you have encountered errors caught by the always-on assertions in production (it may be "seldom," but then all errors are seldom, hopefully.) How does thi
518.
▲
by
cmccabe
14y ago
I think you are confusing together a few different things. A sanity check that is always on is not an assertion (at least by the usual sense of the word). Nobody is against sanity checks, just like nobody is against motherhood and apple p
519.
▲
by
cmccabe
14y ago
Thanks for the correction. Back when I first used go, they did different things. The change makes sense, I think-- we already have select for nonblocking I/O.
520.
▲
by
cmccabe
14y ago
Annoyance at the lack of assertions In 10 years in the industry, building distributed systems and server-side software, I've never seen assertions work out well. In two of the jobs I was at, we ended up making the assertions always-on, e
521.
▲
by
cmccabe
14y ago
By the way, it's not true that Golang strings are always UTF-8. Golang source code is always UTF-8, but strings can contain arbitrary bytes. Trying to force all strings to be UTF-8 can lead to fiascos in the real world, where legacy enc
522.
▲
by
cmccabe
14y ago
Yeah, the use requirement is annoying. It would really be nice if there were a way to make that check optional. As far as closures capturing references-- if closures captured by value rather than by reference, how would maps and slices be
523.
▲
by
cmccabe
14y ago
Yeah, it's arbitrary that val, ok := <- ch does something different than val := <- ch, but any other convention for differentiating blocking from nonblocking would be just as arbitrary. I think it's something I would get used to af
524.
▲
by
cmccabe
14y ago
> > lack of real GC for data structures with cycles > This has not been true since (AFAIK) Python 2.0, > which was released 12 years ago. Sorta. It seems that CPython still can't garbage collect objects in cycles if those ob
525.
▲
by
cmccabe
14y ago
Sorry in advance that this is so negative, but it reflects my honest feelings, as well as some experience. The big problem with Python was always predicting what any given piece of code would actually do. Considering the lack of static typ
526.
▲
by
cmccabe
14y ago
Um, UTF-8, a valid unicode encoding, handles strings with a null terminator just fine. Those who throw stones, should not live in glass houses. Proper unicode support would include things like normalizing strings (Unicode has 4 different n
527.
▲
by
cmccabe
14y ago
Web.go is sort of the Golang equivalent of Sinatra or Camping, not really of Ruby on Rails. What you're looking for is Revel. http://robfig.github.com/revel/
528.
▲
by
cmccabe
14y ago
If GPS is unavailable, it reverts to using atomic clocks. As those gradually drift out of sync, the system slows down until the problem is fixed. NTP is not used, at least in Spanner.
529.
▲
by
cmccabe
14y ago
Really interesting stuff!
530.
▲
by
cmccabe
14y ago
What a disgusting response. "Someone else may or may not have done something worse at some point, so anything I do is ok." By the way, you may want to Google for Scott Thompson. He was a CEO of Yahoo, until they found out that he had lied
531.
▲
by
cmccabe
14y ago
Um, not using a virtual machine doesn't mean using unmanaged code. Even Java can be compiled to native x86 machine code using GCJ. Golang, for example, does not use a VM, but it is a managed language.