Hacker News new | past | comments | ask | show | jobs | submit login

Certain subsets of the statically typed functional programming research crowd (i.e., Haskell/OCaml/ML aficionados) do like to refer to dynamically typed languages as "untyped". For them it is a common term of derision. Unfortunately they do not know or care that the rest of the world uses the term differently.



Well I would consider this a bit of a harsh take on Haskell programmers and not really a true statement, either.

I don't think it's particularly offensive that some communities have developed alternative terminology for the same concepts. For example, whether you call something a "hash", a "map", or a "dictionary" is not especially consistent. Haskell programmers spend a large amount of time talking about type systems, mostly because Haskell has a large and complicated type system which is constantly evolving, so I would expect people who use Haskell to have some differences in the way they talk about type systems.

The whole typed programming research crowd is basically doing research into how you can prove at compile time that certain properties of a program will hold at runtime. To them, that's what a "type system" is. I wouldn't say that Haskell programmers or programming research people are unaware of the terminology differences... I personally know some people who are programming language / type theory PhDs or professors, and they're usually more excited to tell you about something they added to GHC or something they did with Agda or Coq, and less excited about dissing JavaScript.


> Well I would consider this a bit of a harsh take on Haskell programmers and not really a true statement, either.

I did write "subsets", not "all Haskell programmers".

> I personally know some people who are programming language / type theory PhDs or professors

Me too, hence my statement above.


Derision is generally worryingly common among these people.

This is of course anecdotal on my part but as someone working with JS on a daily basis I've received more than my share of insults based on my choice of career.


The derision towards JS programmers is very real, but I don't think it's fair to turn it into a generalization about "these people" (being PL researchers and Haskell/ML/etc aficionados).

I've encountered enough JavaScript programmers telling me how important Node.js is, and how crazy I am for not using asynchronous programming, or for using a different language in the browser and the server, or how static typing is a waste of time and you should really be using tests.

I'm not going to say that's worryingly common among JavaScript programmers, though. It's just very natural that people who work with a certain set of tools are acutely aware of those tools' advantages.

And I've also encountered plenty of C++ programmers explaining to me how crazy it is that I'm using a garbage collector, or that I'm not compiling something down to native machine code ahead of time.

And the people in industry will make fun of the people in academia, and the academics will make fun of people in industry.


I've seen the same.

Yet good user interfaces are typically warty behind the scenes and full of exceptions, exactly the kind of thing where spending a lot of time on specifications/typing offers little reward. Au contraire, it can put you into a mindset where you'd rather fight the users than put in another difficult-to-handle-typewise exception.

Some time ago I had a look at old Visual Basic which I've never personally used, and lo and behold, if you squint it's not actually that far from Javascript.


Ha! I remember when VBScript was still a thing. What a different world we would be living in had Microsoft had its way.


OK I didn't know that. The article makes more sense in that context.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: