> Meet flow
> flow is a simple, functional language in the ML family
Cool!
> C-family syntax
> Designed to look like other languages and be easy to learn
Uh, what? A functional language is going to be easy to learn because it "looks like other languages"? "C-family syntax" is what makes a language easy to learn? Gee, why didn't I think of that...
> A functional language is going to be easy to learn because it "looks like other languages"? "C-family syntax" is what makes a language easy to learn?
Facebook had the same rationale with Reason, so it's not unusual.
>Reason is not a new language; it's a new syntax and toolchain powered by the battle-tested language, OCaml. Reason gives OCaml a familiar syntax geared toward JavaScript programmers, and caters to the existing NPM/Yarn workflow folks already know.
I know it's not "unusual"... I've seen the same wrong-headed reasoning many times before. But syntax is rarely a significant obstacle to learning a language, it's the semantics that bite! And when the semantics are significantly different I think that a familiar syntax might make things harder rather than easier by confusing form and function.
So, I regret posting this... sarcasm isn't even my style, and I don't like to be negative. But I do think the approach is wrong... I just don't believe you can make a language easy to learn by shoe-horning a "familiar" syntax onto strange new semantics. And you're not likely to create an expressive, concise and readable language that way.
The motivations behind this language are interesting to me... a strongly-typed functional language focused on cross-platform GUIs could certainly have its niche. That's why it made me sad to see the approach to syntax they decided to take.
It really works, since we've hired many people, which obviously were not familiar with Flow. I came myself as c-family programmer. It took about 3,5 weeks for me to learn the language itself and be introduced to some inner techs, such as UI and parser(we have a bunch of exercises for these purposes).
Treating familiarity as equivalent to friendliness is a disservice to languages that have other benefits, and to developers who may not have the exposure/experience to recognize the vast power that is outside their horizon.
"Elixir is more friendly than Erlang" is both subjective and misleading. It's more verbose than Erlang, which to me is not friendly. It has more complex syntax, which to me is not friendly. I don't believe that it has a significantly lower learning curve than Erlang despite its familiarity.
Cool!
> C-family syntax > Designed to look like other languages and be easy to learn
Uh, what? A functional language is going to be easy to learn because it "looks like other languages"? "C-family syntax" is what makes a language easy to learn? Gee, why didn't I think of that...