3 ms·
It's kind of a bummer to me that the one of the top comments here is about the syntax. I get that people have syntax preferences and that there's a certain lev
by johnbender 9y ago
It's kind of a bummer to me that the one of the top comments here is about the syntax.
I get that people have syntax preferences and that there's a certain level of "sniff" test that goes along with these things, but as a fan of programming languages I am always interested in the semantics. That is, I'm interested in what's different about this language and its combination of features and goals:
http://clean.cs.ru.nl/Language_features http://clean.cs.ru.nl/Language_features
> The uniqueness typing system of Clean makes it possible to develop efficient applications. In particular, it allows a refined control over the single-threaded use of objects which can influence the time and space behavior of programs. Uniqueness typing can also be used to incorporate destructive updates of objects within a pure functional framework. It allows destructive transformation of state information and enables efficient interfacing to the nonfunctional world (to C but also to I/O systems like X-Windows) offering direct access to file systems and operating systems.
When I read that I think, "Wow! That seems really neat and reminds me of linear types, and I should check this out". Maybe that's just me though.
It's also worth noting that the features page does not mention the word syntax. That's not a deep insight or strong evidence for anything really but it suggests that the designer was interested in the semantics too and that the syntax was a secondary concern.
- joe_the_user 9y ago"It's kind of a bummer to me that the one of the top comments here is about the syntax. "I get that people have syntax preferences and that there's a certain level of "sniff" test that goes along with these things, but as a fan of programming languages I am always interested in the semantics." Well, as the syntax commenter, perhaps I'm a bit defensive but I feel like syntax is inherently an important part of what makes a language appealing - features aren't enough. To take it further, I'm pretty sure if you only absolutely only wanted features for manipulating things, you could find those features in some C++ or Java library. Just the Boost library is vast beyond my ability to encompass it but I'd prefer not to be manipulating hundred-line spews of angle-brackets and stuff. And I, too, like programming language and I feel what makes a language as such cool/useful/etc is that you express a computer's action in a compact, elegant and clear fashion for one's fellow human beings. I remember Steve McConnell said something like "the compiler only has to read source code once but your fellow programmers will need to read it thousands of times". ...it suggests that the designer was interested in the semantics too and that the syntax was a secondary concern Well, the problem is semantics is part of the user experience regardless of the developers intent. If anything, whenever X is important but X is not a concern of the developers, the chances of X biting you go up, not down.
- johnbender 9y agoI agree with most of what you say, and I'm sorry I should have been clear that I don't think your comment is without merit. In truth, I am reacting more to the general direction I see in PL discussion on HN (which is what I should have said but was too lazy to find other examples). > To take it further, I'm pretty sure if you only absolutely only wanted features for manipulating things I feel like lisp fits this bill to some degree. Being the AST itself it is "without syntax" to some degree. I wonder if you dislike Lisps? I can't really tell you what this means with regards to our discussion I'm just curious. > And I, too, like programming language and I feel what makes a language as such cool/useful/etc is that you express a computer's action in a compact, elegant and clear fashion for one's fellow human beings. Definitely! I would never suggest that we should entirely ignore how the syntax affects our ability to read the code but, to borrow the lisp example again, I don't care about typing lots of parenthesis if I'm otherwise effective. Again, your earlier comment is not unfounded and I appreciate where you are coming from.
- joe_the_user 9y agoThanks for the generous reply, I'll admit my professional work has been limited to C++, python, Ruby, PL/SQL, Matlab and small DSLs. I've played lisp and the-fp-languages in college. Lisp and the-fp-language both seemed to at least have clean, simple syntax rules. I started using Ruby both it was hip and because it's free form syntax was really fun. If there were languages I definitely to learn, I would be less critical about syntax and style. My original comment on Clean's syntax wasn't intended as a full judgment on the language but simply a reaction, a reaction I shared because it seems like subjective impressions of syntax matter for the reasons I mention above.