Re:Ask HN: What's a starting point for learning how to write...
by da_murvel on Friday September 14, 2018 @03:19AM
(#17985308)
Thanks for your reply! As a musician myself I like your analogy. It was a huge revelation for me when I learned how to write my own music, and I also started to "consume" music in a completely different way. I also sort of hope that the same will happen with my programming, taking it to the next level.
Re:Ask HN: What's a starting point for learning how to write...
by CSEThrowaway on Thursday September 13, 2018 @07:42PM
(#17983676)
I absolutely love your music analogy. That is brilliant and accurate!
That said, everyone who learns to program usually learns more than one language. For me, it was after about the fifth language that the syntax of a particular language fell away and what remained was the algorithm that was being expressed. It was this ability to see the algorithm distinct from the syntactic construction of the language that lets me see where the language is "helping" and where it is "hurting" in expressing the algorithm.
The advice then for starting points for developing new languages would be to take some algorithms you know well and implement it in as many languages as you can find. Ideally you'll have at least one imperative language (BASIC, C, Fortran, COBOL all qualify), one functional language (haskell/APL), one lambda language (lispish), and one semantic language (Ada, Mesa, Modula) Typically sorting, string handling, and asynchronous execution (or schedulers) all make for good algorithms to try. See what is "easy" and what is "hard" to implement based on the features the language brings to the table.
Then optimize for 'easy'.
That will gives you verbs and structure that support your need, once you have those then giving them names and a syntactic structure is fairly straight forward.