← Back to team overview

elementary-dev-community team mailing list archive

Re: Go-like build tools for Vala

 

If by "Elementary", you mean elementary OS, I'd like to say that I've been
doing desktop development there for almost a year now and only rarely did I
have to use CMake to its full extent. All I have to do is fetch a project,
"mkdir build; cd build; cmake ..;make;", and after I've fetched a project,
I really only have to write some code "cd build;make;". I really hope CMake
isn't the reason you aren't helping us, because right now we could really
use some help!

However, I did learn how to write CMakeLists.txt files on side projects,
which came in handy later on for elementary OS development, but to help us,
there's no need to struggle with CMak. If you need to write anything, I
encourage you to learn because it's really easy -
https://github.com/davidgomes/2dplatformer/blob/master/CMakeLists.txt, that
is the CMakeLists.txt I had to write for a side project, and it was quite
simple (also, I do realize it's pretty badly-written, from what I've been
told on #cmake).

Those Go build tools you're talking about look cool and easy to use, but
they are go-only. I think you should learn CMake or Autotools because you
can use them with every language/library/framework that needs building
(even Go!). Anyways, "go build" is probably not too hard to write for Vala
projects that don't use any external libraries.

Oh, and I just remembered, autotools, CMake and the likes help you A LOT
with packaging your applications. They handle lots of stuff that would be a
PITA to do yourself.

David "Munchor" Gomes


On Tue, Feb 5, 2013 at 9:05 PM, Craig <weberc2@xxxxxxxxx> wrote:

> Firstly, let me just say that CMake and Make are a pain to learn. I'm a
> professional software developer and I still can't figure them out. In my
> job, we use tools that automate the nightmare that is project management
> (usually IDEs) and it's usually still unpleasant. The tedium of these
> "tools" is the one thing keeping me from using Vala as a primary
> programming language and otherwise contributing to Elementary.
>
> That said, lately I've been getting into Go (golang), and I'm finding it
> to be an AMAZING language; however, it's only 3 years old, thus it doesn't
> have an extensive collection of libraries. The only prominent GTK library
> is very immature and (I believe) it only supports some features from
> GTK+2.0 (none from 3.0). Among the more amazing features of Go are its
> build environment tools.
>
> `go build [app-name]` is all that is needed to build an entire
> application--no messing with CMakeLists or makefiles (no project metadata
> of any kind, in fact). Furthermore, `go install [app-name]` will build and
> install the application to a location in your PATH, making it instantly
> executable. Go also comes with an awesome test suite out of the box, and
> `go get [http://path.to.online/repository]`<http://path.to.online/repository%5D>will automatically fetch a package from a public code repository (it works
> with git and several other repo types) and store the files alongside your
> own source code.
>
> I think it would be a huge help to elementary developers if we at least
> created a Vala version of (at least) the `go build` tools to facilitate
> project management. This would dramatically lower the entry barrier to
> Elementary development, and it would encourage an organized structure for
> application source code across applications.
>
> At this point, I'm not proposing spending time and resources working on
> this, but I'd like to get some discussion going about the merits of this
> idea, particularly from people with Go and Vala experience.
>
> Sound off!
>
> -Craig Weber
>
>
> --
> Mailing list: https://launchpad.net/~elementary-dev-community
> Post to     : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~elementary-dev-community
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References