[CMake-Promote] simplified vs. fullblown languages

Brandon Van Every bvanevery at gmail.com
Sun Feb 3 02:10:24 EST 2008


On Feb 2, 2008 9:26 PM, Brandon Van Every <bvanevery at gmail.com> wrote:
>
> I have filed text bug http://www.cmake.org/Bug/view.php?id=6295 ,
> "Document core syntax in a chapter format."  I believe that separating
> the concern of core syntax, from that of build capabilities, is
> crucial for positioning CMake against popular fullblown scripting
> languages.  Please refer comments there.

I think also, we should emphasize the following talking point about
CMake.  "CMake script is easier to learn than any scripting language
out there."  Really, it's trivial.  People make a big deal out of it;
they shouldn't.  Granted, we need a chapter of syntax documentation to
make that point honest.  Without some explanation of semicolons,
quotes, and escapes, learning CMake script is indeed a PITA.  But with
docs, it becomes pretty easy to deal with.

Wise guys will probably object that they see no value in learning Yet
Another Scripting Language if it is CMake, but they do see value in
learning Python, Ruby, Lua, Perl, etc. because they believe they'll
probably use them for other projects.  This should be refocused.
"Learning the syntax of CMake script takes 1 week.  That's nothing; so
what?  When people talk about learning Python or Java or Ruby or
whatever, they're not usually talking so much about learning core
syntax.  They're talking about learning the pile of libraries
associated with those languages.  For CMake, that "pile" is the build
system, not the script.  Do you want to build large software projects
or not?  If you want to build large projects, you're going to have to
learn a large build system, no matter what scripting language is used.
 Python doesn't give you a build system, Lua doesn't, Ruby doesn't."

A super duper smartass will start talking about Rake.  It's probably
worth studying up Rake to have snappy answers about that.


Cheers,
Brandon Van Every



More information about the CMake-Promote mailing list