@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