Stackoverflow 2018 survey

classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Stackoverflow 2018 survey

Dibyendu Majumdar
https://insights.stackoverflow.com/survey/2018/


Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Charles Heywood
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator
Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Enrico Colombini
On 14-Mar-18 20:26, Charles Heywood wrote:
> It's interesting to see that Lua reached almost 70% in "dreaded" - that
> many people who used it didn't want to go back to using it? Wonder what
> the cause could be. My guess is probably bad environments that use Lua,
> and the environment's what they didn't like, but Lua takes the blame.

Or it could be that Lua is conceptually deep and most people (especially
game scripters) do not care about depth and power and prefer a much
simpler Scratch-like approach.
Some well know game engines, for example, have truly awful scripting
systems but they seem to quite popular.

(just trying to understand, not to excuse bad design)

--
   Enrico

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Axel Kittenberger
In reply to this post by Charles Heywood
To really the answer the question one would have to put in some qualitative question with the same sample group.

However, my reasoning is as follows: first you have to consider the type of people answering the questionaire and that question. It's not people who have these kind of languages on this question as their major "home" language, but have to go to it, for one or the other small issue.

Here the most determining factor on the first impression is how much it looks like your home language. However, I don't think this is the most important issue, the more important issue is, how much surprise-bites you get when things are suddendly subtly different than your home language.

If you are used to 0-based arrays in your language you use 90% of the time, 1-based arrays drive you crazy for the one job you have to (or better do out of other reasons) in the other language. Heck, many of the top "dreaded" languages in the questionaire are 1 based, or even worse, mixed, VB/A, Cobol, Matlab, Perl scoring worse than Lua.

Similar other things that are surprise bites.

PS: I would take the whole thing more seriously if PHP would lead by a fair margin...
Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Axel Kittenberger
In reply to this post by Enrico Colombini
Or it could be that Lua is conceptually deep and most people (especially game scripters) do not care about depth and power and prefer a much simpler Scratch-like approach.

IMO this is a conceptual problem with the two contradictionary design goals Lua had at the same time: On the one hand to be appealing for the non-programmer and on the other the coneptually depth and DIY-mindset. We don't have a ++ operator because it looks too confusing for non-coders, but underscore-underscore metatables.
Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Russell Haley
In reply to this post by Charles Heywood


On Wed, Mar 14, 2018 at 12:26 PM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

Or read a different way, 68% of developers have been exposed to Lua in some form or another and have never taken (or been given) the time to play with it and realize how simple it is. That's quite an encouraging bit of information if it's true because it shows the diversity of Lua and it's prominence in other softwares.

Either way, infamy is better than obscurity in my opinion (but I'm an bit of a jerk so take that with a grain of salt).

:)
Russ
 
On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Keith Nicholas
In reply to this post by Charles Heywood
While I quite like Lua in small doses, Lua isn't a type safe language, hence many of your problems only turn up at execution.    

On Thu, Mar 15, 2018 at 8:26 AM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Russell Haley


On Wed, Mar 14, 2018 at 2:58 PM, Keith Nicholas <[hidden email]> wrote:
While I quite like Lua in small doses, Lua isn't a type safe language, hence many of your problems only turn up at execution.    

But Javascript and node.js also suffer the same problems, why are they popular? Personally I think people underestimate the power of external influences. All of the top 10 languages are being pushed by the 4 largest, most ubiquitous software companies on the planet: Apple, Google, Microsoft and Mozilla.  I have no doubt that part of Pythons rise in popularity is because Microsoft has been heavily pushing it's use in VSCode and their entire web stack. It's also become a first class citizen in Visual Studio (proper).
 
On Thu, Mar 15, 2018 at 8:26 AM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator


Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Erik Hougaard
In reply to this post by Charles Heywood
On 14-Mar-18 12:26 PM, Charles Heywood wrote:
> It's interesting to see that Lua reached almost 70% in "dreaded" -
> that many people who used it didn't want to go back to using it?
> Wonder what the cause could be. My guess is probably bad environments
> that use Lua, and the environment's what they didn't like, but Lua
> takes the blame.
In 2018 I think the lack of a proper builtin "blessed" packaging system
really hurts Lua. People just want to npm, nuget, pip or gem it. Things
than can be done in 10 seconds in Javascript takes hours with Lua.

I believe that a builtin "blessed" packaging system is the most
important piece to secure Lua's existence and relevance in the future.

/erik

p.s. This is not a rant against LuaRocks, it rocks :)  - But it's not
part of Lua.

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Sean Conner
It was thus said that the Great Erik Hougaard once stated:

> On 14-Mar-18 12:26 PM, Charles Heywood wrote:
> >It's interesting to see that Lua reached almost 70% in "dreaded" -
> >that many people who used it didn't want to go back to using it?
> >Wonder what the cause could be. My guess is probably bad environments
> >that use Lua, and the environment's what they didn't like, but Lua
> >takes the blame.
> In 2018 I think the lack of a proper builtin "blessed" packaging system
> really hurts Lua. People just want to npm, nuget, pip or gem it. Things
> than can be done in 10 seconds in Javascript takes hours with Lua.
>
> I believe that a builtin "blessed" packaging system is the most
> important piece to secure Lua's existence and relevance in the future.


        Oblique Strategy: Revaluation (a warm feeling)

        [spc]lucy:~>npm
        -bash: npm: command not found
        [spc]lucy:~>nuget
        -bash: nuget: command not found
        [spc]lucy:~>pip
        -bash: pip: command not found
        [spc]lucy:~>gem
        -bash: gem: command not found
        [spc]lucy:~>

  Looks like I have my work cut out for me.

  -spc (So much for the 10 seconds to get going ... )


Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Soni "They/Them" L.
In reply to this post by Erik Hougaard


On 2018-03-14 07:18 PM, Erik Hougaard wrote:

> On 14-Mar-18 12:26 PM, Charles Heywood wrote:
>> It's interesting to see that Lua reached almost 70% in "dreaded" -
>> that many people who used it didn't want to go back to using it?
>> Wonder what the cause could be. My guess is probably bad environments
>> that use Lua, and the environment's what they didn't like, but Lua
>> takes the blame.
> In 2018 I think the lack of a proper builtin "blessed" packaging
> system really hurts Lua. People just want to npm, nuget, pip or gem
> it. Things than can be done in 10 seconds in Javascript takes hours
> with Lua.
>
> I believe that a builtin "blessed" packaging system is the most
> important piece to secure Lua's existence and relevance in the future.
>
> /erik
>
> p.s. This is not a rant against LuaRocks, it rocks :)  - But it's not
> part of Lua.
>

get lit and make luv
- (unknown)

--
Disclaimer: these emails may be made public at any given time, with or without reason. If you don't agree with this, DO NOT REPLY.


Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Keith Nicholas
In reply to this post by Russell Haley
you don't realize why javascript is popular? Ok :)   But that's a tangent anyways.

People have forever criticized js for it's lack of type safety and squishy syntax.

The thing that's made js way better to deal with is the tooling.   But even then, there is a large rise in things like typescript and other transpiled languages.  People are super motivated to do js because of  the web and has driven large innovations around frameworks.  

But if you want to look at all these other reasons why people don't like Lua and blame it all on BigTech, go right ahead.    

To me, Lua itself is a PITA when the code is too big.  But is still cool for adding basic scripting to C based projects.



On Thu, Mar 15, 2018 at 11:14 AM, Russell Haley <[hidden email]> wrote:


On Wed, Mar 14, 2018 at 2:58 PM, Keith Nicholas <[hidden email]> wrote:
While I quite like Lua in small doses, Lua isn't a type safe language, hence many of your problems only turn up at execution.    

But Javascript and node.js also suffer the same problems, why are they popular? Personally I think people underestimate the power of external influences. All of the top 10 languages are being pushed by the 4 largest, most ubiquitous software companies on the planet: Apple, Google, Microsoft and Mozilla.  I have no doubt that part of Pythons rise in popularity is because Microsoft has been heavily pushing it's use in VSCode and their entire web stack. It's also become a first class citizen in Visual Studio (proper).
 
On Thu, Mar 15, 2018 at 8:26 AM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator



Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

ThePhD
Here are my entirely non-researched and absolutely experience-based, opinion-based ideas on the subject.

Experience:
- Using Lua for large projects is indeed a pain.
- 1-based array indexing and other things are minor errors that don't bother me much. (I still keep doing from 0 -- I did it yesterday -- but that is just about anyone's burden when they program in 4, 5, 6 languages.)
- Things explode at runtime, which a quick compiler check or linter check could have saved me on. (Not just parsing my code. 'Did you mean to type polx instead of polex?' Would have saved me 2 hours of tired, baggy-eyed print()-ing)
-- Subset of above, many libraries handle `nil` because there's no distinction in the language of `nil` versus `none`, making `nil` parameters from that mistyped global get defaulted to some default value that just manifests itself in specific runtime conditions and I guess it's time to do some more debugging and vigorous checking and aaaaaah.
- Why do I have to hand-modify my code just to run all of these flavors of debugger...? (Tooling leaves a lot to be desired, compared to many other languages. Even my C++ debuggers have less mental effort in several different IDEs.) (At least ZeroBrane can debug stuff decently, but good god is that editor tacky!)
- Why does Lua seem so fragmented? How do I easily get my hand on polyfill libraries? (lua-compat-5.x saved me here, but in other cases it just doesn't work (looking at you and all the bug reports and e-mails I get about you, "pairs(t)")) (Ravi seemed promising, and then also broke compatibility with the bytecode and such... but that might have changed? I have not read the latest announce e-mails for Ravi.)

Theories:
- Asides from a plethora of (sometimes great, sometimes incredibly annoying/frustrating) game engines, operating system components, applications and databases (e.g., Redis Scripting), what compels a large swath of people to learn, use, and pick up Lua? JS is used because it's literally our only cross-platform browser option. What compels me to pick up Lua, other than knowing about it + pitching it to my company or letting Serendipity catch me when I find out it's used as part of Application X or Workflow Y?
- Where, exactly, is the Money for Lua? Typescript took off because there's a business need for it and it saved people hours of debugging and type-mismatching issues. It also compiles down to Javascript, and it also compiles/uses regular Javascript code without exploding violently. It can target multiple different versions of Javascript and polyfill / erase version differences accordingly. Where is that for Lua? Most projects/forks seem to highlight gross incompatibilities rather than try to bridge the gap in any decent way. It gets frustrating, extremely quickly.
-- Subset of Above: I've been thinking about developing a Typescript-alike for Lua that compiles to whatever version of Lua you desire and takes care of polyfills and other such things for you... but how would I fund such a thing? How would I get people to use such a thing? I'd love to make it compile to Lua of any version, and that way people could easily add types and some basic static safety to their code that all just gets stripped away and leaves them with regular functional Lua code at the end of the day... Maybe I can make it an academic research project as a grad student? I don't know.

I wish it was easier. I don't really have answers to a lot of my questions above. I'm still new at using Lua extensively, rather than just as a toy.

Maybe people here know some answers? I'd love to know.


On Wed, Mar 14, 2018 at 9:34 PM, Keith Nicholas <[hidden email]> wrote:
you don't realize why javascript is popular? Ok :)   But that's a tangent anyways.

People have forever criticized js for it's lack of type safety and squishy syntax.

The thing that's made js way better to deal with is the tooling.   But even then, there is a large rise in things like typescript and other transpiled languages.  People are super motivated to do js because of  the web and has driven large innovations around frameworks.  

But if you want to look at all these other reasons why people don't like Lua and blame it all on BigTech, go right ahead.    

To me, Lua itself is a PITA when the code is too big.  But is still cool for adding basic scripting to C based projects.



On Thu, Mar 15, 2018 at 11:14 AM, Russell Haley <[hidden email]> wrote:


On Wed, Mar 14, 2018 at 2:58 PM, Keith Nicholas <[hidden email]> wrote:
While I quite like Lua in small doses, Lua isn't a type safe language, hence many of your problems only turn up at execution.    

But Javascript and node.js also suffer the same problems, why are they popular? Personally I think people underestimate the power of external influences. All of the top 10 languages are being pushed by the 4 largest, most ubiquitous software companies on the planet: Apple, Google, Microsoft and Mozilla.  I have no doubt that part of Pythons rise in popularity is because Microsoft has been heavily pushing it's use in VSCode and their entire web stack. It's also become a first class citizen in Visual Studio (proper).
 
On Thu, Mar 15, 2018 at 8:26 AM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator




Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Daurnimator
On 15 March 2018 at 13:51, ThePhD <[hidden email]> wrote:
> - Things explode at runtime, which a quick compiler check or linter check
> could have saved me on. (Not just parsing my code. 'Did you mean to type
> polx instead of polex?' Would have saved me 2 hours of tired, baggy-eyed
> print()-ing)
> -- Subset of above, many libraries handle `nil` because there's no
> distinction in the language of `nil` versus `none`, making `nil` parameters
> from that mistyped global get defaulted to some default value that just
> manifests itself in specific runtime conditions and I guess it's time to do
> some more debugging and vigorous checking and aaaaaah.

Why don't you use a linter?
luacheck is great at catching the simpler sort of things.
https://github.com/mpeterv/luacheck

> -- Subset of Above: I've been thinking about developing a Typescript-alike for Lua that compiles to whatever version of Lua you desire and takes care of polyfills and other such things for you

See TypedLua and now Titan.

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Paul K-2
On Wed, Mar 14, 2018 at 7:57 PM, Daurnimator <[hidden email]> wrote:

> On 15 March 2018 at 13:51, ThePhD <[hidden email]> wrote:
>> - Things explode at runtime, which a quick compiler check or linter check
>> could have saved me on. (Not just parsing my code. 'Did you mean to type
>> polx instead of polex?' Would have saved me 2 hours of tired, baggy-eyed
>> print()-ing)
>> -- Subset of above, many libraries handle `nil` because there's no
>> distinction in the language of `nil` versus `none`, making `nil` parameters
>> from that mistyped global get defaulted to some default value that just
>> manifests itself in specific runtime conditions and I guess it's time to do
>> some more debugging and vigorous checking and aaaaaah.
>
> Why don't you use a linter?
> luacheck is great at catching the simpler sort of things.
> https://github.com/mpeterv/luacheck

It's also integrated into ZeroBrane Studio, so you just need to
configure it to be used instead of the default linter [1]. You can
also install AnalyzeAll plugin that will check all lua files in your
project [2].

Paul.

[1] https://studio.zerobrane.com/doc-general-preferences#static-analyzer
[2] https://github.com/pkulchenko/ZeroBranePackage/blob/master/analyzeall.lua

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

ThePhD
Titan looks incredibly interesting. Thank you for sharing all of this with me.

On Wed, Mar 14, 2018 at 11:09 PM, Paul K <[hidden email]> wrote:
On Wed, Mar 14, 2018 at 7:57 PM, Daurnimator <[hidden email]> wrote:
> On 15 March 2018 at 13:51, ThePhD <[hidden email]> wrote:
>> - Things explode at runtime, which a quick compiler check or linter check
>> could have saved me on. (Not just parsing my code. 'Did you mean to type
>> polx instead of polex?' Would have saved me 2 hours of tired, baggy-eyed
>> print()-ing)
>> -- Subset of above, many libraries handle `nil` because there's no
>> distinction in the language of `nil` versus `none`, making `nil` parameters
>> from that mistyped global get defaulted to some default value that just
>> manifests itself in specific runtime conditions and I guess it's time to do
>> some more debugging and vigorous checking and aaaaaah.
>
> Why don't you use a linter?
> luacheck is great at catching the simpler sort of things.
> https://github.com/mpeterv/luacheck

It's also integrated into ZeroBrane Studio, so you just need to
configure it to be used instead of the default linter [1]. You can
also install AnalyzeAll plugin that will check all lua files in your
project [2].

Paul.

[1] https://studio.zerobrane.com/doc-general-preferences#static-analyzer
[2] https://github.com/pkulchenko/ZeroBranePackage/blob/master/analyzeall.lua


Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Russell Haley
In reply to this post by Keith Nicholas


On Wed, Mar 14, 2018 at 6:34 PM, Keith Nicholas <[hidden email]> wrote:
you don't realize why javascript is popular? Ok :)   But that's a tangent anyways.

People have forever criticized js for it's lack of type safety and squishy syntax.

The thing that's made js way better to deal with is the tooling.   But even then, there is a large rise in things like typescript and other transpiled languages.  People are super motivated to do js because of  the web and has driven large innovations around frameworks.  

But if you want to look at all these other reasons why people don't like Lua and blame it all on BigTech, go right ahead.    


There is a great deal of money being spent to drive attention to specific technologies.  
  
To me, Lua itself is a PITA when the code is too big.  But is still cool for adding basic scripting to C based projects.



On Thu, Mar 15, 2018 at 11:14 AM, Russell Haley <[hidden email]> wrote:


On Wed, Mar 14, 2018 at 2:58 PM, Keith Nicholas <[hidden email]> wrote:
While I quite like Lua in small doses, Lua isn't a type safe language, hence many of your problems only turn up at execution.    

But Javascript and node.js also suffer the same problems, why are they popular? Personally I think people underestimate the power of external influences. All of the top 10 languages are being pushed by the 4 largest, most ubiquitous software companies on the planet: Apple, Google, Microsoft and Mozilla.  I have no doubt that part of Pythons rise in popularity is because Microsoft has been heavily pushing it's use in VSCode and their entire web stack. It's also become a first class citizen in Visual Studio (proper).
 
On Thu, Mar 15, 2018 at 8:26 AM, Charles Heywood <[hidden email]> wrote:
It's interesting to see that Lua reached almost 70% in "dreaded" - that many people who used it didn't want to go back to using it? Wonder what the cause could be. My guess is probably bad environments that use Lua, and the environment's what they didn't like, but Lua takes the blame.

On Wed, Mar 14, 2018 at 2:04 PM Dibyendu Majumdar <[hidden email]> wrote:
--
--
Ryan | Charles <[hidden email]>
Software Developer / System Administrator




Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Michal Kottman
In reply to this post by Erik Hougaard
On Mar 14, 2018 11:27 PM, "Erik Hougaard" <[hidden email]> wrote:
In 2018 I think the lack of a proper builtin "blessed" packaging system really hurts Lua. People just want to npm, nuget, pip or gem it. Things than can be done in 10 seconds in Javascript takes hours with Lua.

Today I learned that npm is actually being used to host Lua modules, e.g. [1], so module maintainers have this option.

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

steve donovan
In reply to this post by Erik Hougaard
On Thu, Mar 15, 2018 at 12:18 AM, Erik Hougaard <[hidden email]> wrote:
> In 2018 I think the lack of a proper builtin "blessed" packaging system
> really hurts Lua. People just want to npm, nuget, pip or gem it.

Well, if you already have a list like that, why not another package system? :)

(Tho it is a little frustrating that the official Ubuntu/Debian
LuaRocks is a bit old)

> p.s. This is not a rant against LuaRocks, it rocks :)  - But it's not part
> of Lua.

True, but npm is not part of JavaScript either...

My understanding is that PUC Lua team is like Linux kernel team -
building the basis for userland to do the rest. Torvalds certainly has
opinions about userland (e.g. his fights with Gnome) but he is not
part of its decision making.

Reply | Threaded
Open this post in threaded view
|

Re: Stackoverflow 2018 survey

Dirk Laurie-2
2018-03-15 13:43 GMT+02:00 steve donovan <[hidden email]>:
> On Thu, Mar 15, 2018 at 12:18 AM, Erik Hougaard <[hidden email]> wrote:
>> In 2018 I think the lack of a proper builtin "blessed" packaging system
>> really hurts Lua. People just want to npm, nuget, pip or gem it.
>
> Well, if you already have a list like that, why not another package system? :)
>
> (Tho it is a little frustrating that the official Ubuntu/Debian
> LuaRocks is a bit old)

You can use luarocks to update itself.

12