Hacker News new | ask | show | jobs
by book-sandworm 1992 days ago
Kind of disappointing to read the comments here. The introduction talks about semantics of teaching. How phrasing can demotivate the students.

He goes over some rough edges and explains why they might be rough. He uses the word unfortunately here on purpose, to distinct it from bad, or weird or whatever.

Concluding he writes about how some of the unfortunate parts are needed to make typescript great.

That is confusing to me, he's talking about teaching, and using these examples for future teachers to think about in their field. Reading the comments here, they all seem to discuss the examples. I'm sitting here, thinking did I missing something, should I be discussing the examples? As someone that written many lines of code in different language. I can ignore the idiosyncrasies. But when you are new, it's really hard.

Similar that is why I'm always in awe of clojure/lisps. It's so minimal and predictable. you don't have to learn 100 million different syntaxes or exceptions. S-expressions, maps bools, data and go.

1 comments

Indeed. Lots of "it makes sense in the context of JavaScript" reactions here. If the article had pointed to warts in another language, we would probably have had the same reaction from proponents of that language. I think the point of the article is actually being reinforced here, as it illustrates the mindset of people who know a language so well, that they think it worthless to spend time addressing such warts when teaching it. But a programming language is not in its own universe where it is exempted from data structure theory. A[-1] in the context of a list is a convenient alias for A[len(A)-1]. When you advertise your data structure as a List or Array, but it starts to display Hashmap properties, it is confusing, in any language.