Re: build system alternatives (Was: Using vala in GNOME)





On Tue, Jul 1, 2008 at 2:32 AM, Gustavo J. A. M. Carneiro <gjc inescporto pt> wrote:
On Mon, 2008-06-30 at 23:45 +0300, natan yellin wrote:
>
>
> On Mon, Jun 30, 2008 at 9:59 PM, Mikkel Kamstrup Erlandsen
> <mikkel kamstrup gmail com> wrote:
>         2008/6/30 Gustavo J. A. M. Carneiro <gjc inescporto pt>:
>
>         > On Mon, 2008-06-30 at 12:01 -0300, Johan Dahlin wrote:
>         >> Gustavo J. A. M. Carneiro wrote:
>         >> > On Mon, 2008-06-30 at 15:07 +0100, Alberto Ruiz wrote:
>         >> [..]
>         >>
>         >> >> Plus, CMake is getting more mature and stable and it
>         already supports
>         >> >> VisualStudio and XCode project files conversion, lack of
>         proper
>         >> >> extensibility being its only downside at the moment.
>         >> >
>         >> > Lack of extensibility, and use of another arcane custom
>         made programming
>         >> > language (if we can call it that) for everything.
>         >> >
>         >> > No, CMake is not an answer.  It is not significantly
>         better than
>         >> > autotools to justify a switch to it IMHO.
>         >>
>         >> CMake *is* considerably better. Xcode/VisualStudio are
>         killer features which
>         >> alone would make a switch worth it.
>         >
>         > I disagree that Xcode/VisualStudio are killer features.  A
>         powerful
>         > programming language and extensibility are way better
>         features IMHO.
>         > Does a significant percentage of GNOME developers use any of
>         these IDEs?
>         > Without such data you can't assert that those are killer
>         features.
>         >
>         > For the case of Vala, I don't see how CMake handles it any
>         better than
>         > autotools.
>         >
>         >>
>         >> Can we please start to organize ourselves and try to move
>         forward with
>         >> switching to another build system?
>         >
>         > We can't switch to any single build system any more than we
>         can switch
>         > to a single DVCS.  Or to a single programming language, for
>         that matter!
>         > Different developers value different features.  Modern
>         developers have
>         > to adapt to different environments.  I, for example,
>         regularly program
>         > in C, C++, and Python.  I know how to use cvs, subversion,
>         bazaar, git
>         > (poorly), and mercurial.  In particular I use subversion,
>         bazaar, and
>         > mercurial very regularly, all at the same time, git not so
>         much only
>         > because I didn't need to.  I can hack plain makefiles,
>         > autoconf/automake, waf, and scons.
>
>
>         And is this an acceptable barrier of entry to Gnome
>         development?
> Agreed. While the skills that you mentioned do come with time no
> matter what, you want to avoid forcing beginner developers to chew
> more than they can swallow.

That is a moot point.  A beginner chooses *one* project to hack on,
that's all.  All he has to know is the programming language and tools of
that single project. 

That is an issue when a developer wants to transition to another module,
at which point he is probably no longer a beginner.
One key point here is the fact that autotools is totally _not_ beginner friendly. I've been involved in several projects where I had to deal with autotools, and I _still_ can't do a single thing without copying and pasting from another projects' auto* files. If the build system is autotools, your assumption about the beginner mastering the system is wrong.

Athe same time, I'd rather use autotools consistently than a mix of different build systems. As difficult as autotools is to deal with, at least it's the official build system, and there are plenty of people you can ask for help.

In summary: What we really need to do is pick one system that's beginner friendly and stick with that choice wherever possible. Picking and choosing does not work, and there's no point in switching to an equally confusing system.
This is basically the same thing as with programming languages.  Do you
think everything should be coded in C in order to lower the required
skill set of beginner hackers?  What about Python, C++, Vala, C#, Perl?
We ban modules written in those other languages because they force
developers to learn a new programming language?

Besides, making life easier beginner contributors, fine, I'm all for it.
But that has to be balanced with keeping the mental sanity of the
contributors we already have.

--
Gustavo J. A. M. Carneiro
<gjc inescporto pt> <gustavo users sourceforge net>
"The universe is always one step beyond logic" -- Frank Herbert




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]