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



On Tue, 2008-07-01 at 17:51 +0200, Pavel Rojtberg wrote:
> 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
> >>          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.
> >
> > 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.

Rereading, this has turned into a rant, but posting in the hope that it
will be useful:
It often puts me off, as an experienced C developer.  When I first
started looking at GNOME (and indeed Linux) I was an experienced C
developer, having worked on various commercial videogames, finding ways
to save a few hundred bytes here and there to get stuff to fit in RAM on
the target platform... and I still have trouble with the GNU autotools:
I want to spend my brainpower thinking about the problem domain of the
program, my users, and my code, not having to deal with a pile of hacks
upon hacks for trying to workaround obsolete platforms with a broken
linker (or whatever).

The vast majority of the input to this tool is mere configuration data,
but we're stuck with a model where it gets run through scripts on top of
scripts that generate a program that's run as the developer (how many of
you audit the generated scripts for malicious content?)

Also, I feel that a supposed cross-platform compatibility solution that
fails to integrate with Visual Studio on Windows, and with XCode on OS X
is broken by definition (not that I use either of these platforms).

I could go on; hope the above helps
Dave



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