News for hackers. Stuff that matters.
Re:Your users will do what you make easy by shagie on Monday November 08, 2021 @12:03AM (#29146249)
How do we tell truths that might hurt? - Edsger W.Dijkstra, 18 June 1975

https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.htm...

> It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

> The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.

---

Long ago, I learned C in college. My AI class was taught in LISP and I had one of the emacs hackers in the lab look over my assignment before I handed it in - "You've written some beautiful C in LISP."

It took me many years to get back to a LISP (Clojure in this case) before I wrapped my head around functional programming and the idea of passing functions around to operate on data rather than data around that has been operated on (I recently blew the mind of one of my coworkers who's only written Java when I had a Map<String, Function>).

It takes a bit to go from "how do I do X in {language}?" and think of that as a series of steps in Java or Python or whatever to thinking "how do I solve the problem of Y in {language}?" without being constrained by the language.

I've personally found that writing the same program in multiple languages is the best way to learn how to move out of "how do I do X in {language}?"

Write the Leibniz formula for π or e in Java, in Python, in Clojure (or Lisp), and in Forth. Don't try to write it the same way - use the expressiveness (or lack of) of the language to solve the problem. Does it have rational numbers? How are sequences defined and built? How does it handle recursion if you use that?

---

Epigrams on Programming - Alan Perlis, September 1982

http://pu.inf.uni-tuebingen.de/users/klaeren/epigrams.html

> #19 A language that doesn't affect the way you think about programming, is not worth knowing.

There are no comments on this comment yet.