[neomutt-devel] Fwd: Re: which language for object orientation? Was: To fork or not to fork?

guyzmo z+mutt+neomutt at m0g.net
Fri Jan 27 22:01:10 CET 2017

On Fri, Jan 27, 2017 at 09:34:10PM +0100, toogley at mailbox.org wrote:
> > You could make a great MUA in Lua (or in Go, or in Python…), but I doubt
> > you could achieve the same kind of performance you get with Mutt. And
> > that does not really matter, Mutt is in C, and the whole point of
> > Neomutt is to /improve and modernise/ the codebase, not writing an MUA
> > from scratch!
> My suggestions were only meant as a step for modernization. Of course
> i had some thoughts on maybe rewriting specific parts of neomutt to
> improve the design. (just an idea i thought would fit the discussion -
> i have not the experience to contribute big parts to that myself)

it's a giant leap you were suggesting, not a step ☺ Basically, there are
many ways to modernise the codebase while sticking in C ☺

> > An interesting discussion I'd like to see happen, is what API would be
> > useful to be exposed as Lua methods so that we can make useful plugin
> > scripts to extend Mutt and make it better interoperate with other
> > applications.
> Nice idea. :)

> So you think we won't profit much from even replacing small parts of C
> with Rust? And continuously refactor neomutt in that way?

We would certainly benefit, but at the cost of complexifying the code
and making it harder for new contributors to join. Compared to that, the
added value is questionable.

> > And finally, you'll understand that Object Oriented programing and
> > Functional Programing are just ways of coding that will make your code
> > better, but that can be applied with almost any language. Those are
> > paradigms you need to apply to your thought process before writing the
> > lines of code.
> Hm, maybe I will understand that someday if I'm more experienced :D

Yup! I've read it somewhere on the net, and I found this really true: as
a student you discover how to build complex things, as a professional,
you spend the rest of your life discovering how to build simple things.



More information about the neomutt-devel mailing list