Live data from Hacker News

John Carmack on Functional Programming (2013) [video]

youtube.com

81–90 of 90 posts

Re: John Carmack on Functional Programming (2013) [video]

#81
post #69

Earlier quoted context omitted.

Why would unit testing cost extra? It saves money.

Like most technical work, it saves money when done well and costs money when done poorly. Most people find themselves somewhere in the middle most of the time so it turns out the discussion is a little more nuanced than that.

Exactly! But it's so much easier to be an unyielding zealot than to think and understand why and if something is working.

As I said above I'm a big advocate of tdd... Do it all the time. So when I say I wouldn't do it for parts of games maybe I have a reason (to gp not you)

Re: John Carmack on Functional Programming (2013) [video]

#82
post #26

Earlier quoted context omitted.

HN's downvote mechanism is a funny one. As far as I know there's no clear meaning to what a downvote means and it seems like everyone has their own definition. For some, downvoting is a way of "flagging" out of place comments, aggressive ones, etc. However for others it's just a way of disagreeing. The guidelines don't seem to establish any particular definition to it, so it's kind of a community-driven thing. At fir…

imho this isn't specific to HN, Reddit is plagued by "downvote to disagree." Downvoting should be for, as you said, flagging aggressive, off-topic comments. I've really lost interest in commenting on reddit, because if you say anything that disagrees with or goes against a certain sub-reddits current group think on a subject, you're just going to get downvoted into oblivion. It really just intensifies the echo-chambe…

Do you think upvoting something you agree with is a valid action? If yes, does it not follow that downvote to disagree is also valid?

Re: John Carmack on Functional Programming (2013) [video]

#83
post #10

EDIT: Why all those downvotes? Are famous developers not supposed to criticized on HN? While John has a lot of interesting things to say, the presentation is awful, almost an imposition to the audience. There's not a single slide, or any repetition to clarify structure, or any notable gestures to make up for that. A simple overview, just a damn simple list of keywords, would already go a long way. That would add a lo…

Perhaps native speakers enjoy this kind of talk a lot. I can't speak for others but I certainly did. I don't feel that listening attentively for a couple of hours is that much of an imposition.

I am not a native speaker. I watched the linked part while I was having my dinner (or whatever you'd call a couple of McBurgers at 10pm). I think it needs attention, but that is needed for anything that's not fluff.

Re: John Carmack on Functional Programming (2013) [video]

#84
post #79

Earlier quoted context omitted.

I'm not arguing about which paradigm is better. I'm not saying theres no way around it. I'm just describing a single pitfall in the functional paradigm. That's all.

Being able to write asynchronous (multi-threaded or not) code so easily using FP is most definitely not a pitfall. Even in the most simple multi-threaded imperative programs, no compiler or hardware will give you almost any sort ordering guarantees by default. You have to use atomics or volatile or something else to get specific ordering guarantees. It's the same in FP compilers too.

>Being able to write asynchronous (multi-threaded or not) code so easily using FP is most definitely not a pitfall.

Your point? You're saying this as if I disagreed with you. What are you trying to argue here? That FP is the better than imperative? Did I ever dispute that claim? Where are you going with this?

Re: John Carmack on Functional Programming (2013) [video]

#85
post #68

Earlier quoted context omitted.

If two actors moved to one spot at the same time which actor occupies that spot? How can an actor act accordingly if they moved at the same time? In functional programming this can happen... in imperative programming it NEVER happens, because the actors move imperatively, aka step by step or one at a time. This is the problem he is talking about.

It can only never happen if you use a lock correctly. In separate threads, this can absolutely happen in imperative programming. As a reader-writer or dining philosopher problem will show, two actors can try to do the same thing at the same time unless you EXPLICITLY stop them by using locks. In FP, you will have an immutable variable for state instead of a mutable variable wrapped in a lock. You will be passing a wh…

Man. You are arguing with me as if I disagree. When did I bring up threads and locks? I'm just elucidating the problem Carmack brought up. Jesus.

Re: John Carmack on Functional Programming (2013) [video]

#86
post #33

I really like John's perspective on things, he can take a listener or reader from the most abstract concepts to the nitty-gritty without losing focus. He's a tremendous asset to the programming world.

I agree with the second part of your sentence. I have watched every single one of his talks, and while I find them entertaining, I don't think his brain-dump style of communication is appropriate for teaching/instruction (to clarify: I use his talks as a springboard for my own discovery, not as a terminal point to aggregate knowledge).

https://youtu.be/lHLpKzUxjGk

I disagree. See the above link for a lecture where he describes the difficulties in VR in a manner that anybody with minimal programming experience can understand.

Re: John Carmack on Functional Programming (2013) [video]

#87
post #73

Earlier quoted context omitted.

Mhm. I try to. Why? Are you implying I prefer functional programming? I don't. I don't have a horse in this race.

No, I was commenting on statement, "everyone does this". What I was trying to say is that with effort, you can begin to identify times when you are biased toward a certain thing (in this case, different programming styles), and consciously choose to leave your emotions out of the equation.

Okay. Sorry, I'm used to reddit were everything is a veiled accusation.

Yeah, you can train yourself, but everyone does it nonetheless. Everyone does it by default, and I don't think it's reasonable to claim that anyone has completely or effectively rid themselves of motivated reasoning.

I try to do this as much as possible, though. It usually ends up with me just having no opinions, rather than an "unbiased" one.

Though I'm not sure how effective training yourself in this way is. There have been studies that show it's difficult to induce this in people, but that statistical, of course. Some people likely take to it much better than others - some people may even take to it very well. I like to think I've had some success, but, you know, that might be motivated, so I don't really have a strong opinion.

Re: John Carmack on Functional Programming (2013) [video]

#88

I am aware that my presentations aren't optimal for communicating targeted information, and it does weigh on me more and more as the years go by. So far, I haven't been able to justify to myself the time required to do a really professional job, so I just show up and talk for a few hours. I like to think there is some value in the spontaneity and unscripted nature, but I don't kid myself about it being the most effec…

I actually prefer your data dump continuous talking style. I find myself having a hard time paying attention in talks with lots of pauses or segues.

I really appreciate your insights because I'm dabbling in functional programming after 25 years of c/c++/objc

Re: John Carmack on Functional Programming (2013) [video]

#89
post #70

Earlier quoted context omitted.

Why would unit testing cost extra? It saves money.

Only if you intend to change/refactor stuff later. Which in games never happens: engines are mostly thrown out at the end of the game.

Hasn't Gamebryo evolved since the earliest days at Bethesda?

Re: John Carmack on Functional Programming (2013) [video]

#90

Earlier quoted context omitted.

imho this isn't specific to HN, Reddit is plagued by "downvote to disagree." Downvoting should be for, as you said, flagging aggressive, off-topic comments. I've really lost interest in commenting on reddit, because if you say anything that disagrees with or goes against a certain sub-reddits current group think on a subject, you're just going to get downvoted into oblivion. It really just intensifies the echo-chambe…

Do you think upvoting something you agree with is a valid action? If yes, does it not follow that downvote to disagree is also valid?

You need to observe that the asymmetry is built into Hacker News itself, thereby contradicting the hypothesis that these are supposed to be symmetric actions. There is, now, no longer a downvote button against your comment here, for example; there is still an upvote button, though.
Post reply on HN