So be it. It's fine. It will be fine. At some point I knew assembly well enough; I read hex fluently and confidently changed things directly in some random-looking files. This skill sometimes comes in handy (even today) when reading network packets. How many people today need to really understand offsets, field sizes and padding, so shit like: "bytes 12-13 are the EtherType" feels natural? What percentage of programmers actively creating software need to know how to read, say, exploit and malware traffic?
Some may say: "well, this is enormously important", but the reality is, "no, it's fucking not". For like 95% of programmers, it isn't.
And the number of programming languages I had to learn and then forget later... The point is - you don't need to be "thinking in a programming language". You just need to be thinking, period. Whatever language it will be tomorrow, it really doesn't matter. Cuneiform tablets with math still hold the math even though nobody in the world does any math in cuneiform anymore.
Technology has always been moving from lower abstractions to higher ones, and that's a normal cycle. Why is it so inconceivable to think that most of the software developers of tomorrow would have no idea how to "think" in Python, C++, Java, or Clojure? Does every car mechanic need to be able to explain the principles of a combustion engine?
Probably. I’d certainly not want to use a mechanic who doesn’t understand the combustion engine, or who is incapable of giving at least a high-level overview of it.
For software, we've gone from machine code to high level languages, but were still writing algorithms, which is the important thing as you still use your brain for that. Until vibe coding came along.
https://files.catbox.moe/nbcyg7.png
It's a program that draws the Claude logo.
If I'm reading it correctly, polar is a function which is supposed to convert from polar to Cartesian coordinates, and rayPolygon seems to convert a list of polars to a list of Cartesians. But it's unclear exactly what it's doing. Also, there is no fillPolygon or fillEllipse.
> prompt: /tmp/iterReverse.png what could this image be?
Thinking:
> Identifying the visual dataflow language from the node layout and iterReverse label, likely Prograph.
> Confirming Prograph identification and mapping node roles to list deconstruction and reconstruction.
Answer:
> This is a Prograph method window, for a method called iterReverse.
> Prograph is a visual dataflow programming language - you program by wiring boxes together instead of writing text. What you're looking at is the implementation of iterative list-reverse:
- big box = method editor, top pins = inputs, bottom pins = outputs
- black circle top-left = method icon
- yellow boxes = controls: start*+, when*+, unless*+, repeat*+
- blue boxes = list primitives: null test, decons split list into head/tail, cons prepend
- red lines = data links, green = the small control / boolean wiring
> In other words: if input is null, when succeeds, else unless loops with decons / cons + repeat to build the reversed list.> The window chrome with Save / Close and that style of drawing is the Marten clone of Prograph running on Linux.