I personally do not like the idea of syntax "skins" at all. It is actually one 
of the biggest issues I have with Javascript. When I'm looking at a project 
written with es2015 vs TypeScript vs CoffeeScript I have to try and imagine how 
it would look in regular old es5 just to get an understanding of what the code 
is actually doing. The alternative, of course, is to just learn the syntax of 
what I consider to be different Javscript implementations. Now, I don't have 
the time or the passion to do that. I know ES5 and es2015. Why should I need to 
learn typescript/coffeescript/whatever just to understand what a library or 
piece of software is doing when it's all just Javascript anyways?

_Aside: I know the advantages of Typescript and Coffeescript. But what the 
"skins" idea is proposing is the possibility of a single project to contain 
multiple language "implementations"._

I realize that what is being proposed isn't exactly equivalent to my Javascript 
complaints. However, I believe the "skins" idea is as unnecessary as it is 
useless. If Nim aims to be a toy language with no serious adoption, "skins" 
make sense. If Nim wants to actually be usable in real world production code, 
the community needs to enforce a syntactical standard. Consistency is key in 
large projects. I would personally be very miffed if I was working on someone's 
Nim code and it all looked like C++.

Then we have the question of how the parser wants to enforce the various 
different "skins". If a user chooses to use braces in some places and no braces 
in another, will the parser catch this and warn at compile time? Will the 
parser not care? If the parser doesn't care, we then end up with a single 
project consisting of multiple different coding styles, and what may seem to 
some people, different languages entirely.

I think Nim as a community would be better served promoting a strict reference 
syntax across the board. That way, we as a community, can work on Nim's 
stability and libraries. I believe this is the way to drive Nim adoption.

I think that we as developers sometimes forget that code is read far more often 
than it is written. I think optimizing for others to be able to understand our 
code is more important than writing the code in the exact syntax that we prefer.

Reply via email to