• (disco) in reply to dkf
    dkf:
    It seems to be based on the principle that you tell it what needs to be built, not how to build it.

    Gradle's C++ Plugin is even better at that. Too Bad it's not exactly feature-complete (dependency management is completely missing ATM).

  • (disco) in reply to asdf
    asdf:
    Gradle's C++ Plugin is even better at that.

    It writes the source code for you? :smiley:

    I'm used to using Maven for Java, another member of this school of build system (unlike its predecessor, ant). In simple cases, all you really need to say is what your dependencies are and everything else is deduced. There's no real way to avoid having to state your dependencies without going to a closed world model (and those suck for other reasons) so you're going to have to say that somewhere anyway.

    (In complicated cases you still have to say more, but that's hardly surprising.)

  • (disco) in reply to isthisunique
    isthisunique:
    There tends to be a focus on new solutions purely because they are "trending".

    There's a new trending JavaScript library/toolkit/framework/whatever every month that people tend to forget in six months but insist on using when they are popular.

  • (disco) in reply to asdf
    asdf:
    It's amazing how much better CMake is than other C/C++ build tools, considering it's just a collection of weird macros and hacks that kinda-but-not-really provide a very leaky OS/toolchain abstraction.

    I got annoyed with cmake because CFLAGS in the toolchain file didn't work the way I expected it too. I got to add CACHE STRING "" FORCE or it would ignore them.

    I am having second thoughts if I should push my coworkers to adopt cmake or not. The normal make is so simple, people won't like more complexity.

  • (disco) in reply to dkf
    dkf:
    I'm used to using Maven for Java, another member of this school of build system (unlike its predecessor, ant).

    That remark is a bit weird, since Gradle is very different from Maven IMO. The whole point of Gradle is combining a declarative model with Groovy scripts, so it's not like Maven at all, which ignores the need for customization and scripting altogether.

    dkf:
    It writes the source code for you?

    Nah, but its internal model is a bit cleaner and it doesn't use that weird macro/scripting language.

  • (disco) in reply to asdf
    asdf:
    That remark is a bit weird, since Gradle is very different from Maven IMO.

    They're both different and similar. Different in that they've got quite different customisation models (except that Gradle uses the same module coordinate system as Maven) and yet similar in that they both strongly encourage a declarative approach where you don't so much describe recipes as just lists of ingredients which the build software then assembles for you in the conventional way.

    Which was my point. :smile:

  • (disco) in reply to dkf
    dkf:
    strongly encourage a declarative approach

    Ok, yeah, that's true. It's still way easier to specify "recipes" in Gradle than in Maven, though. It supports both styles pretty well.

    To define a build process all by yourself in Gradle, you just need to write the different tasks in Groovy, and disable/not enable the automagic declarative stuff: Just apply the java-base plugin instead of java and it won't try to do anything "smart" at all. ;)

  • (disco) in reply to dkf

    Ha. Real programmers use Butterflies

  • (disco) in reply to fbmac
    fbmac:
    I am having second thoughts if I should push my coworkers to adopt cmake or not. The normal make is so simple, people won't like more complexity.

    Compiling software is often not a simple thing to do. It's a bad idea to try and shove the complexity under the carpet - sometimes a complex task needs a complex tool (e.g. 3D modeling).

  • (disco)

    emponymous

    obfusgation

    Can we please get some spellcheck on these articles?

  • (disco) in reply to fbmac
    fbmac:
    I am having second thoughts if I should push my coworkers to adopt cmake or not. The normal make is so simple, people won't like more complexity.

    CMake isn't a replacement for make, so you don't need to worry about that. That you posed this argument makes me think that you maintain a codebase that uses only Makesfiles and no configuration at all. And that is WTF worthy.

  • (disco) in reply to LB_
    LB_:
    sometimes a complex task needs a complex tool (e.g. 3D modeling).

    QFT

  • (disco) in reply to communist_goatboy

    configuration you mean like that autoconf stuff? no, we use a different makefile for each platform, and a different build system for some

  • (disco) in reply to communist_goatboy
    communist_goatboy:
    That you posed this argument makes me think that you maintain a codebase that uses only Makesfiles and no configuration at all.

    It depends on how many platforms you're targeting. If you only ever need to build for one, any configuration is minimal.

  • (disco)

    Should have used Plan9 Awk. That is UTF-8 all the way.

    I used to use Gawk as our SMTP server. Arnold [@] skeeve.com [gawk maintainer] was/is a Plan9 user too which is how we met.

    http://www.proweb.co.uk/~matt/awk/smtpd.awk

    It sat behind tcpserver that did the socket 25 listening

  • (disco) in reply to LB_
    LB_:
    Compiling software is often not a simple thing to do.

    go build

    Done.

  • (disco) in reply to ben_lubar

    I don't see an icon named "go build".

  • (disco) in reply to ben_lubar

    What do you think 'often' means? Compare the amount of code written in other languages to the amount of code written in Go. Yes, sometimes compiling software is simple, but often times it is not.

  • (disco) in reply to blakeyrat
    blakeyrat:
    I don't see an icon named "go build".

    It was cleverly designed to be not visible to you; the icon is the letters "go build".

  • (disco) in reply to ben_lubar
    ben_lubar:
    go build
    `>go build` `You can't see any such thing.`
  • (disco) in reply to blakeyrat
    blakeyrat:
    I don't see an icon named "go build".

    Get a keyboard you stupid click-monkey.

  • (disco) in reply to another_sam

    Like this? [image]

  • (disco) in reply to LB_

    Obviously not, that one doesn't have a "go build" button on it. Unless that's what the smiley-face button is for, I guess.

  • (disco) in reply to Scarlet_Manuka
    Scarlet_Manuka:
    Unless that's what the smiley-face button is for, I guess.

    Surely the "go build" button would have this label: :doing_it_wrong:

Leave a comment on “Awk-ward Error Checking”

Log In or post as a guest

Replying to comment #:

« Return to Article