7 ms·
readability is a function of familiarity EDIT: Sorry, I just don't like when people share shallow and negative thoughts about projects that take away from mea
by mej10 9y ago
readability is a function of familiarity
EDIT:
Sorry, I just don't like when people share shallow and negative thoughts about projects that take away from meaningful discussion.
Why is the OP comment shallow? Because obviously _some_ people find it readable which would suggest that it is familiarity that is the problem -- not some universal quality of the language.
- cgmg 9y agoReadability is determined by more than familiarity.
- mej10 9y agoThat's true, but since there are many people that find Reason (OCaml) readable I am going to say familiarity is the biggest problem here.
- AlexCoventry 9y agoAgreed, but that is quite readable to someone familiar with ML-based languages: Define a function get_internal which takes a map from objects of type 'a to type 'b, and an object of type 'a, and return a wrapper around objects of type 'b or "undefined"s. Action of get_internal is ""get" [@@bs.send]", which I don't recognize. I would guess it's a javascript interop syntax, which returns a function consistent with get_internal's type signature. You're not constrained to use one-letter names for type variables, or to drop names of argument variables, but it turns out to be very handy, and it only takes reading a couple of hundred lines of code to get comfortable with this notation.
- abiox 9y agodo you have examples in mind that are orthogonal to familiarity?
- cgmg 9y agoLanguage design. Even if you're very familiar with Malbolge, other languages are far more readable.
- piinbinary 9y agoAgreed. I'd argue that the classic `for (int i = 0; i < n; i++)` loop isn't very readable unless you have seen for loops several times, in which case it is pretty easy to read.
- nothrabannosir 9y agoI had almost forgotten about this! But, now that you mention it: yes! I remember being completely mystified by that thing when I first saw it. "Which part does what, when now?" Took a long time to read naturally without conscious deconstruction.
- taeric 9y agoAnd, like it or not, familiarity leverages current experience.
- userbinator 9y agoI encourage everyone who thinks that is unreadable to try APL and read https://news.ycombinator.com/item?id=13565743 https://news.ycombinator.com/item?id=13565743 , or even just try learning a completely different human language --- anything east-Asian is probably going to be initially completely unreadable to those familiar with English and other Latin-family languages.
- chenglou 9y agoThanks for the support. It's hard though, isn't it? We get the same arguments on a weekly basis. Folks categorically refuse to check out OCaml because of its syntax. At one point the Reason creator decided to just go and satisfy the familiarity aspect through syntax change (still ongoing; the above snippet will get better too). It scales easier to settle the debate by just fulfilling the demand rather than encountering each such argument and spend literally years debating about them.
- danenania 9y agoI think fulfilling the demand is the right approach. Elixir seems like a good example to follow in that regard. I mean sure, readability is a function of familiarity, but it's also true that some languages have syntax that is more intuitive than others, which means they are easier to become familiar with. If a language can be human-friendly and approachable like ruby or python without compromising on semantics, then why not try to have it both ways?
- k__ 9y agoI had the impression you are the Reason creator, haha. Are you more like a dev-advocat or something?
- chenglou 9y agoNah I'm the Reason janitor. I declined joining the Reason team because I thought joining messenger was a better way to help Reason move in directions products folk understood; it paid off =) Anyways, since I'm basically doing Reason 24/7 I kinda consider myself to be on the team.
- k__ 9y agoNice move!