Hacker News new | ask | show | jobs
by _andrei_ 1092 days ago
For me, the pythonic syntax was what made me not want to try it. Of course it's personal preference, but I can't stand anything that uses the indentation level to structure code. I love my curly braces and formatting tools. I imagine I'm not alone in this, so there goes a chunk of people.
6 comments

This was a point about 10 years ago, then history settled the matter and people are using Python or not using it mostly because of what they have to do than because of syntax.

I do have a customer using Python. We had our share of bugs introduced by wrong cut and paste or manual git conflict resolutions after merges for code like

  for x in a_list:
    if cond():
      do()
    else:
      other()
    something()
That latter something() was actually outside the loop but got inside and tests didn't caught the error. There is the variant where something() should be inside the loop but got moved outside.
Have to agree with that point. Significant numbers of people would not give it chance, based on that reason alone.

There is possibly another argument to be made, that Nim is not close enough to Python. Look at how people have gravitated towards Mojo and it being a superset. Therefore, Nim could be argued as kind of trapped in a no man's land, where not of the C family and not close enough to Python to be an easy enough switch over nor strong enough to gain mass appeal with its own identity.

Same here. Similarly, I stay away from macros. I think they have a detrimental effect on Rust’s development as well, where sometimes proposals of semantic features are rejected, because something can be done with macros on the syntax level. Maybe it can, but each time it’s inferior. So not only does a user need to deal with macros written by others, but some things aren’t going to get macro-less solutions and the user is forced to write macros from time to time as well (if there isn’t a crate with them ready). And don’t even get me started on the effect of proc macros on compilation times.
For me it's the exact opposite. Rust's use of unnecessary punctuation and less-than/greater-than signs as brackets is one of the things that makes me not like it.
I use Nim rarely exactly for this reason. I dream of a transpiler. I would totally be the clown who would transpile to Nim which may be transpiled to C.
That’s a very good observation.