Brandon Hall ✝Φ πŸ’πŸ is a user on mastodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
Brandon Hall ✝Φ πŸ’πŸ @bthall

Yesterday I had my first taste of what it's like to be a programmer, and looking back, I don't care for it much. The way of thinking required felt different than my usual way, and it felt less creative, less smart, less free, and less powerful.

Β· Tusky Β· 1 Β· 2

@kai πŸ˜‚ I can see how domain knowledge acquisition leads to self-confidence, which can lead to .

@bthall I think that really depends on where you are at the learning scale. There comes a point at which programming is freeing, rather than constraining.

@kai πŸ˜‚
And yeah, @arturovm, I was about to mention this: I think a lot of this feeling was because I was working within a high-level language whose system assumptions I don't fully know and agree with, so I end up trying to do my own thing, butting heads with the system's way of doing things, and applying the system's needs to my needs.

If I had enough understanding of programming, I could operate in either a less system-dictated way if I wanted or know/agree with the assumptions.

@arturovm how long until @bthall get obsessed with lisp/scheme/clojure?

@kai @arturovm I was thinking that that sounds a lot like how people talk about ! πŸ˜‚ I still have no idea what it is

@bthall @kai It’s a really elegant language invented in the late 50s, and it’s amazing.

@arturovm @kai πŸ˜— I'm now reading Paul Graham's "The Roots of Lisp" (I had to Google for it in PDF form). It's interesting!

@arturovm @kai is this the case: macros sound like functions, but they work with code itself rather than how that code is evaluated?

@kai @arturovm "how the code is evaluated" meaning what the code returns. If I'm right in understanding it this way, I think I understand that that's a significant difference from other languages but I'm not sure why you'd need that. I'll keep reading. πŸ€“

@bthall oooooh i wish i had time to talk about this, but baby...

@zatnosk @bthall it's cold outside?

oh… OH! Baby! πŸ‘ΆπŸΌ

@arturovm @kai @bthall "Denne video er ikke tilgængelig."

Can you link to a corresponding video on Peertube?

@zatnosk @kai @bthall :( I searched but couldn’t find it. It’s LCD Soundsystem’ β€œoh baby”

@bthall @kai Yes! That’s called metaprogramming. And, without going into too much detail, you’re programming the language itself, meaning you get to change it to create more and more complex abstractions that allow you to do more complex things without the mental power and verbosity needed otherwise.

@zacts Thanks for the suggestion! After you suggested this I looked into comparisons between and , and they're related somehow?

@bthall Racket is most related to scheme, and it's similar to lisp in it's parenthetical (s-exp) syntax.

@bthall But racket lets you implement other languages on-top of it with any syntax you please, including javascript or ruby, or C.

@bthall Programming is strangely not about freedom. If I had to explain it I would compare it to religion. To understand it you must give up your current way of thinking, and just accept it as gospel. Every language and style forces you to go at a problem in a different way. Something that help me kind of learn to accept it is to remember a computer can only do one thing and that is add numbers. Once you realize that then you find out it is you that bends instead of the spoon.