[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Selenophobia
- From: Frank Kastenholz <fkastenholz@...>
- Date: Fri, 24 Mar 2017 16:21:20 -0400
On 3/24/17 3:51 PM, Egor Skriptunoff wrote:
According to Stack Overflow Developer Survey 2017,
Lua is ranked 9-th in "Most dreaded Languages" list:
2/3 of developers who are currently using Lua express no interest in
continuing to use it.
That's quite unexpected.
Probably, most of SO survey respondents are Lua newcomers.
What may be the reasons for their "moon fear"?
Maybe, deceptive simplicity (hidden complexity) of the language?
I faced this exact problem with some team-mates (other companies)
on a large contract I worked on last year. My team developed
an application environment for Lua apps to run in. The folks
developing the first application kicked back and, basically,
said "we don't want to program in Lua".
The basic reasons, as far as I could see, were
- Unfamiliarity with it. this meant that they had to learn another
language, another set of programming idioms, and so on.
- For the app programmers we were working with, Lua does not have wide
applicability beyond our particular project, so there was some degree
of "it's not a useful addition to my resume".
We addressed these two points by saying, basically, "The syntax and
semantics of the language are easy to learn --- the hard part is
things like programming models, libraries, and so on ... which have
nothing to do with Lua, but are functions of the environment we
made". We also pointed out the difference in size between the
O'Reilly Python books and PiL --- as a first approximation of the
complexity of the basic language.
- The application team did not fully grasp the reasons that we chose
Lua for programming (instead of Java, Python, etc).
We dealt with this by carefully explaining why we chose Lua (such as
its size, well thought out Lua/C API, portability, and license) and
contrasting these with other languages.
- Lua didn't "just do things" that other languages might. One that
hit us was performance -- initial tests of the application showed it
taking 50x as much time as the same app coded in C++. A few simple
optimizations got it down to about 5x, which was acceptable. These
were optimizations that any modern C/C++ compiler would do