Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ootachi
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
61.
▲
by
ootachi
15y ago
"There are few real world programs that are improved by code generation micro-optimizations" I don't know how to convince you of the fact that this statement just isn't true. Consider the rasterization software you're using right now in you
62.
▲
by
ootachi
15y ago
Discriminated (type-safe) unions like ML and Haskell have are no problem for garbage collectors: you simply assign one ID to each variant of the union, and prefix the data with the ID corresponding to the variant in use. You can simulate
63.
▲
by
ootachi
15y ago
"By comparison, JavaScript lets you structure your code in however you like, and there is a very tiny standard library and no real uniformity across implementations, frameworks, and so on. This can be a strength, but I think on balance it i
64.
▲
by
ootachi
15y ago
Why is it so different? I'd be curious to know. In my experience, a stop-the-world collector that must be threadsafe ends up being a disaster. You hit a brick wall in terms of real-time performance quickly (look at iOS versus Android for an
65.
▲
by
ootachi
15y ago
I'm referring to the Plan 9-based compilers, which do not perform the optimizations necessary to make it competitive with modern C and C++ compilers. Here I'm referring to stuff like SSA-based global value numbering, scalar replacement of a
66.
▲
by
ootachi
15y ago
You don't say exactly what you're referring to, but I assume it's the GIL. The GIL exists because Python threads share a single global namespace, and synchronizing atomically on hash tables for module lookup would be way too slow. If you cr
67.
▲
by
ootachi
15y ago
"Undefined behavior" is the problem here. In Java, you can create data races, but you can't cause memory errors.
68.
▲
by
ootachi
15y ago
Java is type safe, because the language defines clear semantics for what happens when you mutate two memory locations simultaneously (you get one result or the other). Under no circumstances does the program have truly undefined behavior.
69.
▲
by
ootachi
15y ago
There's no one definition of type safety. It ultimately depends on what your type system is trying to enforce. I strongly suspect, however, that most programmers expect "type-safe" languages to enforce memory safety, and that Go's lack of m
70.
▲
by
ootachi
15y ago
PyPy is an optimizing JIT compiler; 6g/8g is not an optimizing compiler. I'm pretty sure one could construct examples in which PyPy beats Go for this reason (try something that relies on loop-invariant code motion, for example). Additionall
71.
▲
by
ootachi
15y ago
The concurrent stop-the-world garbage collector is a performance issue. Additionally, the Plan 9-based compiler is not an optimizing compiler.
72.
▲
by
ootachi
15y ago
Depends what you mean by type safety. If by type safety you mean free from segfaults, Go is very much type-unsafe (send a map over a channel, access it concurrently, and it will segfault).
73.
▲
by
ootachi
15y ago
Many statically typed languages have excellent library support. At this point Java, for example, has all of the libraries that Python has, and more.
74.
▲
by
ootachi
15y ago
Er, JavaScript is a structured language (meaning it doesn't mandate labels and goto for control flow).
75.
▲
by
ootachi
15y ago
This is one of John Gruber's better insights as of late. Samsung is making the right move here: sometimes, UI consistency trumps more "daring" moves. Apple's UI consistency is quite good, especially for iOS (albeit somewhat less so for Mac
76.
▲
by
ootachi
15y ago
I like the Lenovo U300s a lot. You need a tweak to make suspend work (search for "suspend ubuntu lenovo u300s" and look at the bug report). Also, the amount of totally-off-topic non-Apple-product bashing in this thread is making me incredib
77.
▲
by
ootachi
15y ago
Twitter went down all the time and yet stomped all over its competitors, all of whom had far better uptime. Digg was outsourced for rock bottom prices. Facebook and WordPress are mountains of PHP code. The reason those educational software
78.
▲
by
ootachi
15y ago
Learn to hustle.
79.
▲
by
ootachi
15y ago
More like "it's hard to get a job as a developer because companies' perceptions of 'good candidates' exclude everybody".
80.
▲
by
ootachi
15y ago
In the Bay Area. Everyone claims to be crying out for developers, but they reject all the candidates they're presented with, so in practice it's hard to get a job as a developer.
81.
▲
by
ootachi
15y ago
I don't think Java's generics have a "horrific" effect on readability and comprehensibility, except for the fact that they have use-site variance instead of definition-site variance. (The ? existential type is kind of screwy too.) But neith
82.
▲
by
ootachi
15y ago
Developers are unimportant. I'd rather hire bad developers than good ones as long as they're cheap; product quality rarely matters if you have the right market fit.
83.
▲
by
ootachi
15y ago
In fact, I'd say you should do more. Stop being a programmer. It's hard to get a job as a developer these days, and it'll all be outsourced to India and China soon anyway. Instead, you should go into sales and marketing.
84.
▲
by
ootachi
15y ago
The semantics are the hard part. Just making a bytecode for some language isn't hard. The problem is coming up with some semantics that allow all languages to be implemented efficiently on top of it. Turns out that's extremely difficult. Th
85.
▲
by
ootachi
15y ago
I actually did do research before posting. He was excited about the possibilities of Ping: http://daringfireball.net/2010/09/how_ping_might_grow That's close enough to "liked Ping" in my book. Obviously, Gruber doesn't like every little t
86.
▲
by
ootachi
15y ago
Gruber likes every Apple product, even the ones that aren't doing well (such as Ping and Safari for Windows), and, moreover, liked every Apple product even when Apple as a whole wasn't doing well. Gruber's opinions of Apple products (always
87.
▲
by
ootachi
15y ago
Or Rust.
88.
▲
by
ootachi
15y ago
The simplest way that they would help your example is by ensuring that you can't add a mix of ints and strings to the same splay tree. Presumably this would cause a runtime failure. Generics add type safety.
89.
▲
by
ootachi
15y ago
As I stated below, Go's lack of generics isn't buying the language anything from an implementation standpoint. What Russ Cox is missing is that, absent some way to write generic code, programmers will end up paying the exact same taxes via
90.
▲
by
ootachi
15y ago
From an implementation perspective, generics aren't that bad. For an ahead-of-time-compiled language, you either need a uniform value representation (like ML/Java) or a monomorphization pass (like C++). The former corresponds to what Go has
More ›