git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 0/7] Support for Ruby

From
PDPatrick Donnelly <batrick@batbytes.com>
Date
Sep 23, 2013, 18:20 UTC
Message-ID
<CACh33FpP_Afb-9eke8m282saUZEDA_ZVbUQvKc6R3EF3P1ZvTA@mail.gmail.com>
In-Reply-To
<CAMP44s3OYjv2LsU+6FY_qESdCvJcD4zb46aJmKpruof3hYEGzQ@mail.gmail.com>
Hello Felipe,

On Sun, Sep 22, 2013 at 4:29 AM, Felipe Contreras <felipe.contreras@gmail.com> wrote:

Show 13 quoted lines
> On Sun, Sep 22, 2013 at 3:12 AM, Fredrik Gustafsson <iveqy@iveqy.com> wrote:
>> And see my humble test of what the speedup would be for git-submodule
>> even with a faulty lua integration (still forking... but huge
>> performance boost anyway):
>> http://thread.gmane.org/gmane.comp.version-control.git/228031/focus=228051
>
> I don't see how that is relevant, but I'm certain the same can be done
> with Ruby.
>
>> As you can see a lua integration would increase the git binary with
>> 300kb.
>
> And my patch would increase it 49Kb.

Unless you statically compile in Ruby (which is what the above quoted 300kb implied for Lua, in actually it is less than 200kb). [Also good luck statically compiling Python/Ruby into an executable.]

> IMO the problem with lua is that it's too simple, it's syntax doesn't
> resemble c, perl, python, shell, or ruby, it's just weird. Also, it's
> much less popular, it's not as powerful, and there isn't a big
> community involved with Git like with Ruby.

*sigh*. At this point you've really cemented your purpose here as a language evangelist. It's unfortunate I have to reply to dismiss this FUD (which you complained about earlier, ironically) otherwise community accepts it as fact ("oh, I remember some guys saying Lua was a language for idiots...").

Lua is by no means *simple*. Try "small" or "lightweight". Its syntax is engineered to be readable and amateur friendly. You've placed Ruby on a pedestal alongside those other major languages but its syntax doesn't resemble any of those.

>Also, it's much less popular
https://sites.google.com/site/marbux/home/where-lua-is-used

The hallmark of a good embedded language is your users don't even know it is there.

>  it's not as powerful,

This is really funny to me. Despite Lua's small size, it has lead the way for modern dynamic language features, such as coroutines, block level scoping and real closure, incremental GC, a simple and usable C API (*yes* this is a feature), and a register based VM [1]. It is consistently placed as the *fastest* dynamic language in existence [e.g. 2]? The LuaJIT compiler often achieves competitive or better performance than C [3]. What about this isn't powerful?

[1] Ierusalimschy, Roberto, Luiz Henrique De Figueiredo, and Waldemar Celes Filho. "The Implementation of Lua 5.0." J. UCS 11.7 (2005): 1159-1176. [2] http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=lua&lang2=yarv&data=u32 [3] http://luajit.org/performance_x86.html

-- 
Patrick Donnelly
Previous: Felipe ContrerasNext: Felipe Contreras
Message 17 of 26 in “Support for Ruby”
  1. 0/7 Support for RubyFelipe Contreras, Sep 21, 2013
  2. 1/7 Add support for ruby commandsFelipe Contreras, Sep 21, 2013
  3. 2/7 ruby: add setup scriptFelipe Contreras, Sep 21, 2013
  4. 3/7 ruby: add simple wrappersFelipe Contreras, Sep 21, 2013
  5. 4/7 ruby: rewrite 'request-pull'Felipe Contreras, Sep 21, 2013
  6. 5/7 ruby: rewrite perl scriptFelipe Contreras, Sep 21, 2013
  7. 6/7 ruby: remove one forkFelipe Contreras, Sep 21, 2013
  8. 7/7 ruby: rewrite 'reset'Felipe Contreras, Sep 21, 2013
  9. brian m. carlsonSep 21, 2013
  10. Felipe ContrerasSep 21, 2013
  11. brian m. carlsonSep 21, 2013
  12. Felipe ContrerasSep 22, 2013
  13. Fredrik GustafssonSep 22, 2013
  14. Felipe ContrerasSep 22, 2013
  15. Fredrik GustafssonSep 22, 2013
  16. Felipe ContrerasSep 22, 2013
  17. Patrick DonnellySep 23, 2013
  18. Felipe ContrerasSep 23, 2013
  19. Patrick DonnellySep 23, 2013
  20. Felipe ContrerasSep 23, 2013
  21. Junio C HamanoSep 23, 2013
  22. brian m. carlsonSep 23, 2013
  23. Felipe ContrerasSep 28, 2013
  24. Felipe ContrerasSep 23, 2013
  25. Felipe ContrerasSep 28, 2013
  26. Felipe ContrerasSep 28, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.