• s

    srini

    3 years ago
    what I find interesting is how Excel is rarely mentioned in blog posts / articles about visual programming languages. Excel visualizes something interesting (data) but hides the “code”. Most VPL’s do the opposite and suffer I feel
    s
    j
    +4
    10 replies
    Copy to Clipboard
  • curious_reader

    curious_reader

    3 years ago
    curious_reader
    1 replies
    Copy to Clipboard
  • curious_reader

    curious_reader

    3 years ago
    How should GitHub work?
    curious_reader
    i
    2 replies
    Copy to Clipboard
  • Kartik Agaram

    Kartik Agaram

    3 years ago
    Kartik Agaram
    Felix Kohlgrüber
    +5
    22 replies
    Copy to Clipboard
  • g

    Garth Goldwater

    3 years ago
    what do you all use for research tools? I've seen github issues/repos, googling, wikis, bookmarks, etc. I feel like one of the major problems in researching stuff like this is how scattered information and experiments are across papers, the web, this slack (lol) and am trying to work through how to improve the situation. pros and cons? both for discussion and as a kind of collaborative library of sorts (if that makes sense)
    g
    Kartik Agaram
    +6
    20 replies
    Copy to Clipboard
  • Chris Knott

    Chris Knott

    3 years ago
    Why is shared mutable state considered bad? Isn't it an accurate reflection of the universe we live in? The problem with SMS seems to be that it allows for an explosion in possible execution paths that the programmer didn't anticipate. A more natural way to solve this problem might be to make the programmer more aware of what is actually happening, rather than limiting the use of SMS. I think this whole thing is a symptom of programming languages introducing parallelism after the "read-lines-one-by-one-and-track-state-in-your-head" paradigm of coding was already set in. If an IDE showed you a lockless function that mutates state, not as a clean one-by-one list of instructions, but as the bizarre tangle of spaghetti it actually is, people would avoid issues in a more natural way. Another way to think of this is two programmers sitting side by debugging the same function out loud...
    programmer 1: Ok... if x is less than 5, set y to 3
    programmer 2: Ok... set y to -5, then if...
    programmer 1: Hey what are you doing? I want y to be 3
    programmer 2: No I just set it -5
    ...
    Yeah, this is kind of chaotic but it's actually, in a way, very "natural" and "easy to understand". Not easy to solve, but very natural to see that it's difficult to solve. Basically I think that mutating global variables are actually the most natural way for a human to understand procedures, and supposedly "clearer" methods like FP are only popular among people with very strong mathematical ability, who have also already internalized powerful abstraction abilities that they no longer realize are unnatural, and have also already experienced the difficulty of trying to understand parallelism with only their brains. These people welcome the unnatural constraints of FP with open arms. People coming to programming from the real world, do not (in my experience) welcome the constraints of FP at all. It's very interesting to me that Dynamicland appears (from afar, I've never been there), in it's pursuit of a more natural and "humane" programming, to have basically gone completely the opposite direction to FP. As far as I can tell the entire room/operating system operates on a single massive global database.
    Chris Knott
    w
    +2
    11 replies
    Copy to Clipboard
  • d

    Doug Moen

    3 years ago
    Why is shared mutable state considered bad? Isn't it an accurate reflection of the universe we live in?
    No, it is not an accurate reflection. SMS leads to spooky action at a distance. With SMS, I can nail together two pieces of wood in Toronto, and unexpectedly, a house collapses in Los Angeles. SMS enables unpredictable non-local effects. I can't rely on local reasoning to understand what a program is doing.
    d
    Konrad Hinsen
    +14
    61 replies
    Copy to Clipboard
  • d

    Doug Moen

    3 years ago
    Python has shared mutable state. Modifying the contents of one variable can cause another variable to change. For example,
    >>> a=[1,2,3]
    >>> b=a
    >>> a[0]=17
    >>> b
    [17, 2, 3]
    I think it is unnatural for the value of
    b
    to change when I modify
    a
    . I've seen lots of evidence on the internet that this is a source of confusion for novice programmers who are encountering Python for the first time.
    d
    Kartik Agaram
    +2
    5 replies
    Copy to Clipboard
  • Chris Knott

    Chris Knott

    3 years ago
    Found it -

    https://youtu.be/5V1ynVyud4M

    It was this talk from around 5 min
    Chris Knott
    1 replies
    Copy to Clipboard
  • ibdknox

    ibdknox

    3 years ago
    Yeah, lots to learn from game design there 🙂
    ibdknox
    w
    +1
    6 replies
    Copy to Clipboard