Re: Lua versus any other programming language
On Tue, Dec 22, 2015 at 04:49:42PM +0100, Julien Danjou wrote: > On Fri, Jul 31 2015, Alexis BRENON wrote: > > > Why Lua has been chosen to be the language for AwesomeWM configuration ? > > It's a long story, that I will talk about during a talk at the next > FOSDEM in 2016, in the Lua and Guile devroom, for those of you who are > interested. > > To summarize, the easiest way to have a higher-level-than-C programming > language embedded in 2008 (for a newbie like me) was Lua. Plenty of > documentation, really easy syntax and integration system (stack based). > Compared to the the state of Python back then for example, which looked > way more… obscure. > > I had no idea that the awesome system and API would grow that far, and > while being neat for little programs and algorithms, writing large > framework and more advanced stuff _can_ be a pain in Lua. > > It now seems obvious it should have been Lisp (probably Guile), but > well, history is history, and Lua is probably good enough! :) Is there any chance of fixing this situation and reopt for another language for configuring AwesomeWM? Romildo -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.
Re: Lua versus any other programming language
On 12/22/2015 07:49 AM, Julien Danjou wrote: ... It now seems obvious it should have been Lisp (probably Guile), but well, history is history, and Lua is probably good enough! :) Cheers, How refreshingly honest. -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.
Re: Lua versus any other programming language
On Fri, Jul 31 2015, Alexis BRENON wrote: > Why Lua has been chosen to be the language for AwesomeWM configuration ? It's a long story, that I will talk about during a talk at the next FOSDEM in 2016, in the Lua and Guile devroom, for those of you who are interested. To summarize, the easiest way to have a higher-level-than-C programming language embedded in 2008 (for a newbie like me) was Lua. Plenty of documentation, really easy syntax and integration system (stack based). Compared to the the state of Python back then for example, which looked way more… obscure. I had no idea that the awesome system and API would grow that far, and while being neat for little programs and algorithms, writing large framework and more advanced stuff _can_ be a pain in Lua. It now seems obvious it should have been Lisp (probably Guile), but well, history is history, and Lua is probably good enough! :) Cheers, -- Julien Danjou // Free Software hacker // https://julien.danjou.info signature.asc Description: PGP signature
Re: Lua versus any other programming language
Hi, Others have answered enough things, I guess, and this is all a bike-shedding exercise anyway. I just have one question: Am 31.07.2015 um 22:56 schrieb Alexis BRENON: [...] - No multithreading/multi-CPU support (only coroutines) [...] Which language really has this? Even C officially supports this since C11. I guess go has something good for this with their goroutines, but I don't know the details. For example, Python has its global interpreter lock and I guess most other languages (including Lua!) have something like this, too. Cheers, Uli -- alanc I think someone had a Xprint version of glxgears at one point, but benchmarking how many GL pages you can print per second was deemed too silly to merge -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.
Re: Lua versus any other programming language
@Sam : Personnaly, I never tried to embed Python, but I know some projects who do it : XBMC, Blender I don't know a lot different programming language, but as far as I know Lua is easy but not widely known. Nevertheless, I agree, it's syntax is pretty nice (even if it could be improved). I don't know Guile or Lisp (I only tried Scheme and OCaml), but I'm not sure that they would allow the same things as easily as in Lua. @Oon-Ee : I don't think that mixing two DE/WM is a good idea. I give a look to i3 doc, the main config file doesn't seems to be written in Python, it should be a quite 'expert' functionnality. Nevertheless, I LOVE AwesomeWM, I don't want to change (for the moment). @cedlemo : I know that you can implement a kind of OO programming in Lua ( http://www.lua.org/pil/16.html), but it's not straight-forward. Why does a 'class' keyword not exist ? I'm quite new to Ruby, and I don't know it well. If you say that it's not very lightweight, it's probably not the best choice for Awesome. @everyone: Thanks, for your first answers. Hope we will have more opinions ! Alexis Le sam. 1 août 2015 à 10:47, cedlemo cedl...@gmx.com a écrit : Not designed for OO programming Yes it is ! I thought that too at first when I didn't really know lua. The OO in Lua is not based on Class but on Prototype with the table. You should get a copy of Programming in Lua from Roberto Ierusalimschy it is really worth it. Does anyone would be interested in using Python (or another one : Ruby, ???) instead ? For Ruby that I really like (I contribute to ruby-gnome and ruby-opengl bindings) I think that lua is by far a best choice if you want to embed an interpreter in your application and want it to be ligthweigth. Some of the ruby dev work on mruby a lightweight alternative to ruby http://www.mruby.org/ Regards https://github.com/cedlemo On 31/07/2015 22:56, Alexis BRENON wrote: Hi everyone, Perhaps the question was already asked million times, and probably it's a very good subject for trolls, but I'm asking myself a question. Why Lua has been chosen to be the language for AwesomeWM configuration ? I'm currently building a kind of framework for Awesome confg ( https://github.com/AlexisBRENON/awesome-configuration) and to do so, I learned many aspects of Lua. I even use it for Hackaton, to see if I know it well. But the more I learn, the more I see it's defaults... Just to cite a few that piss me off : - No distinction between list/table and hash/dict - Too few standard functions for table manipulation (the length operator on a table used as a dictionnary, always returns 0... No table concatenation) - No multithreading/multi-CPU support (only coroutines) - Not designed for OO programming As far as I know, Python could have been a good choice. TL;DR : Why AwesomeWM uses Lua as configuration language ? Does anyone would be interested in using Python (or another one : Ruby, ???) instead ? Does an attempt to build an Awesome API in another language has been already started ? I would be happy to hear/read the position of the first creator of Awesome. Kind regards, Alexis
Re: Lua versus any other programming language
On Sun, Aug 2, 2015 at 8:37 PM, Alexis BRENON brenon.ale...@gmail.com wrote: @Oon-Ee : I don't think that mixing two DE/WM is a good idea. I give a look to i3 doc, the main config file doesn't seems to be written in Python, it should be a quite 'expert' functionnality. Nevertheless, I LOVE AwesomeWM, I don't want to change (for the moment). No, mixing is not a good idea. And why would you expect configuration to be in python? What I said was that python bindings for i3 are available and easy to use. Pretty off-topic by now, but if you consider it 'expert functionality' then I think that sort of sums up where this thread came from and is going. -- To unsubscribe, send mail to awesome-unsubscr...@naquadah.org.
Lua versus any other programming language
Hi everyone, Perhaps the question was already asked million times, and probably it's a very good subject for trolls, but I'm asking myself a question. Why Lua has been chosen to be the language for AwesomeWM configuration ? I'm currently building a kind of framework for Awesome confg ( https://github.com/AlexisBRENON/awesome-configuration) and to do so, I learned many aspects of Lua. I even use it for Hackaton, to see if I know it well. But the more I learn, the more I see it's defaults... Just to cite a few that piss me off : - No distinction between list/table and hash/dict - Too few standard functions for table manipulation (the length operator on a table used as a dictionnary, always returns 0... No table concatenation) - No multithreading/multi-CPU support (only coroutines) - Not designed for OO programming As far as I know, Python could have been a good choice. TL;DR : Why AwesomeWM uses Lua as configuration language ? Does anyone would be interested in using Python (or another one : Ruby, ???) instead ? Does an attempt to build an Awesome API in another language has been already started ? I would be happy to hear/read the position of the first creator of Awesome. Kind regards, Alexis