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

Gustavo J. A. M. Carneiro 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
         >>  >>  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
         >  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
         >  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
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.

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.

I dont think the point is that moot. Being one of the "beginner developers" you refer to, I can say that autotools are really daunting.
As is that most of Gnome Modules are written in C.

Up to now I tried write some patches, but always capitulated because of some autotools and/ or C weirdness.

And honestly I dont see why I have to learn that freaking tools, when there is Scons/ Python which are beginner friendly and which I personally use for my own projects.

So my contributions this far were limited to the parts of gnome written in python.

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