Too many features

When I read crystal source, I find many unfaimilar features.

then we create another C++


1 Like

You may be right on the stdlib scope, there is a RFC about shrinking it.
Surprising features, yes it might, but unfamiliar depends if you are new to the language. This would be quite normal.

forall T?

It’s just another syntax for specifying generic parameters. Other languages use void Foo<T>

I would disagree with this, I feel a lot of other languages have way to much bloat, vestiges of the past that were great in the beginning but became a less expressive way to write code over time. Things like for, foreach, etc. Ruby/Crystal removed a lot of that kind of bloat for things that are much more expressive, like #times, #upto, #downto, #each. IMO opinion, the basic syntax of Crystal/Ruby is smaller in it’s scope, but much more powerful and expressive than other popular languages. The reason that I use Crystal is because I know it won’t become a language like Java or C#, syntactically bloated (look at C#'s dynamic and tell me that was a good idea), with features that are niche, not commonly used, and probably done in a better and saner way.