2,727 karma · joined August 6, 2008
(#) EDIT: The original title from The Economist has been restored since I posted this.
(FWIW, my advisor in theoretical physics was merely neglectful. Almost all of my friend in an experimental field had advisors who bordered on abusive.)
Your example of the guy who made a mistake is certainly a bummer for him, but presumably he didn't know he was making a mistake when he turned you down. And that's got to be a very small fraction of hiring situations.
No, it's what some computers do. It's almost certainly not what the computer you are using currently does. It's quite possible it's not what any computer you've ever used does.
> So you would rather ...
I'm not expressing a preference. If you think I was, you've misunderstood my comment. I'm making observations, not judgements. I'm not anti-C, it's a fine language for many things; however I do think that the articles author is not being as even-handed as he claims when it comes to some of the short-comings of C.
> Your problem is nomenclature?
Again, I'm not making a judgement. C exists in a paradigm where writing
x = 3
x = 4
makes sense. In other paradigms it would be logically inconsistent.>>there is random access storage of information (with constant time access and update)
>Again, that's just how "the world" works.
That's absolutely not how "the world" works. Again, you've probably never even used a computer where it was true.
> dissing C is just shitting where you eat. The only reasons I can imagine for it are jealousy or ignorance.
I don't think I've made any statement anywhere in this discussion that's "dissing C".
You realize C is not at the bottom of the stack, right?
> Why do you suppose that no serious VMs or language runtimes are written in Haskell (or other functional languages)?
Because Lisp Machines didn't win.
> plenty of systems implemented in C define models in which none of what you mentioned is true
True, but that's the whole point of abstraction. C, in turn, gets rid of some of the "preconceived notions" of the layers under it.
Some preconceived notions forced upon you by C, off the top of my head:
- problems should be solved by describing a linear sequence of steps (as opposed to logic/declarative programming)
- a variable can have different values at different times in the execution of a program (in contrast to standard mathematical conventions)
- a function can return different results when called multiple times with the same arguments (again, in contrast to the standard mathematical meaning of the term)
- there is random access storage of information (with constant time access and update)
Cookbooks: he's recommending specific cookbooks which he thinks will make you a better cook. As he says, lots of them are crap, as are lots of the recipes and tutorials on the internet. You're paying for curation here more than the content itself.
Pots: Keep in mind that a "10 piece" pot set is really one 5 pots or pans, which is not that much. Having the correct size pot or pan for the quantity of food that you're heating makes a big difference in how things turn out. (For example, when sauteing onions & vegetables you really want a fairly full single layer.)
Whisk: I'm sorry, but it really is an essential tool
Ice Cream Maker: I completely agree, and I'd be inclined to ditch the whole "desserts" section.
Note, that I think there's some debate about what "minimum viable" means here. The stand mixer falls in this grey area, I think. You can probably get away with a good hand mixer (as he acknowledges) but the stand mixer is more versatile and time saving.
When you write something to be fast in C, you know why
it's fast, and it doesn't degrade significantly with
different compilers or environments the way different
VMs will, the way GC settings can radically affect
performance and pauses, or the way interaction of one
piece of code in an application will totally change
the garbage collection profile for the rest.
The implementation of malloc & free that your C implementation uses significantly impacts performance (both time and space) just like the choice of GC implementation in other languages. It is not uncommon for memory fragmentation to be a serious problem for large or long-running C programs, and at the point that you have to start worrying about that and working around it, you've broken the abstraction in just the same way that the author complains about for Java, Erlang, Haskell, etc.Also, as others have pointed out, performance can also depend significantly on how well C's machine model maps to the actual machine architecture you're running on.
(Also, watch the TED talk by the referenced professor. He doesn't ignore quality of life.)
Why do I need to know why laughter improves my health?
Because otherwise someone else on HN will say: "citation needed!" It's no longer a case of "keeping up with the Joneses" - you now have to keep
up with everyone you've ever met, no matter what the cost!
I don't understand why so many people don't seem to get that you don't have to be "friends" on Facebook with everyone you've ever met. And you don't have to stay "friends" with them forever.Also, I see lots of stuff on Facebook that isn't upbeat bragging. Prominent examples just from the past week include death of a family member and a friend starting chemo. Possibly this is an age thing, or a consequence of the fact that I prune superficial relationships from my Facebook, but I have a hard time relating to the experience this writer describes. (Also, while I don't want to diagnose over the internet, it's possible that FB makes the author depressed because he's already prone to depression.)
boo :: Map a b -> b -> Set a
I'm not sure how you would conjure up just an 'a' in general.Also, if you can't take pleasure in the happiness of your "friends", then maybe they aren't your friends and, therefore, shouldn't necessarily be your "friends" either. If you get what I'm saying.
Also, FWIW, while having children should, and almost always does, imply more reponsibilities; there's no required connection between the rest of the life events and behaviors you mentioned.