Timeline for Why do build tools use a scripting language different than underlying programming language?
Current License: CC BY-SA 3.0
31 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jun 2, 2017 at 12:56 | vote | accept | joshin4colours | ||
| Jun 1, 2017 at 6:06 | comment | added | Ville Oikarinen | @JIXiang Sometimes it's very handy to reuse code being built already at build-time. See for example iwant-demo, a demonstration of my build tool iwant that lets you define builds in fluent java. | |
| Oct 1, 2015 at 8:07 | comment | added | xji | Those two things are not necessarily related. Is there a good reason that they must be in the same language? It's the same logic as compilers are not necessarily written in the same language as the language being compiled | |
| Sep 25, 2015 at 18:39 | history | tweeted | twitter.com/#!/StackProgrammer/status/647480660668628992 | ||
| Sep 25, 2015 at 13:30 | history | reopened | svick Bart van Ingen Schenau joshin4colours yannis | ||
| Sep 22, 2015 at 20:45 | review | Reopen votes | |||
| Sep 25, 2015 at 13:35 | |||||
| Sep 22, 2015 at 13:20 | history | closed | gnat CommunityBot durron597 Matthieu M. | Opinion-based | |
| Sep 22, 2015 at 11:39 | answer | added | Tibos | timeline score: 2 | |
| Sep 22, 2015 at 10:11 | answer | added | Haddon CD. | timeline score: 3 | |
| Sep 22, 2015 at 8:06 | comment | added | Alexander Shishenko | Because if you write your build system in C, then you would want to write a build system, that builds your build system and then you would want to write... | |
| Sep 22, 2015 at 0:39 | comment | added | Eris | What happens when the project has multiple Things? C library AND java? | |
| Sep 21, 2015 at 21:08 | answer | added | Ian | timeline score: 12 | |
| Sep 21, 2015 at 20:15 | comment | added | null | There's this old saying that a lathe is the only tool in a workshop that can build itself, nowadays it's the 3D printer that can print itself (to some degree). Not many tools have that ability, but even if they don't, they are still great tools nonetheless. The question is what's the advantage if a language is not well suited to build itself? Does that compromise its other purposes? | |
| Sep 21, 2015 at 19:47 | history | edited | joshin4colours | CC BY-SA 3.0 | Question title was slightly unclear |
| Sep 21, 2015 at 19:38 | comment | added | user40980 | @joshin4colours make is written in C. The language that make uses, however, is a declarative language that invokes the shell as needed. | |
| Sep 21, 2015 at 19:31 | history | edited | joshin4colours | CC BY-SA 3.0 | added 14 characters in body |
| Sep 21, 2015 at 19:27 | comment | added | joshin4colours | @Brandin exactly, but that's my question: why wasn't make written in C in the first place? (for example) | |
| Sep 21, 2015 at 19:01 | comment | added | user40980 | @MasonWheeler Or you use make (don't need to use ant for builds) - though modern Java without maven-esque dependency downloads is Not Fun (tm). Could always use Gradle (and Groovy) if you want a scripting language based build script. | |
| Sep 21, 2015 at 18:59 | comment | added | Brandin | If you wanted to write a program in C that automates building C programs, wouldn't you just end up writing make again (which is implemented in C anyway)? | |
| Sep 21, 2015 at 18:52 | comment | added | Mason Wheeler | @MichaelT: Have you considered the joy of trying to writing a build tool/script in C? or Java? Have you considered the horrendous mess that you have to twist XML into when a non-trivial build contains requirements best expressed with imperative logic constructs? | |
| Sep 21, 2015 at 18:34 | comment | added | 8bittree | This article is primarily about what the author believes makes Lisp great, but has some relevant information on why Ant uses XML instead of Java. | |
| Sep 21, 2015 at 18:31 | comment | added | whatsisname | Look at it from another angle: Why not use make to write application software? | |
| Sep 21, 2015 at 18:29 | review | Close votes | |||
| Sep 22, 2015 at 13:21 | |||||
| Sep 21, 2015 at 18:29 | comment | added | user40980 | @joshin4colours Consider writing a program that finds and uses the correct ${CC} for the environment. Do you have vendor cc? or gcc? or clang? or clang pretending to be gcc? Make sure that you don't recompile that .o file if the dependencies are older than it. Invoke lex (flex or bison) with a specified file, get the lex.yy.c file and compile it... Sure, if you're just doing system("cc foo.c"); that's one thing. If you are doing a complex build with system level dependencies and different dependencies based on the libraries available on the system that's quite another. | |
| Sep 21, 2015 at 18:28 | history | edited | Robert Harvey | CC BY-SA 3.0 | edited title |
| Sep 21, 2015 at 18:23 | answer | added | Andres F. | timeline score: 18 | |
| Sep 21, 2015 at 18:22 | answer | added | Nicolás | timeline score: 36 | |
| Sep 21, 2015 at 18:21 | comment | added | joshin4colours | @AndresF. good point. On the other hand, if I know C well, but want to use a build tool, now I have to learn a second language. Why not just use one? | |
| Sep 21, 2015 at 18:17 | comment | added | user40980 | Have you considered the joy of trying to writing a build tool/script in C? or Java? | |
| Sep 21, 2015 at 18:16 | comment | added | Andres F. | Maybe the general-purpose language isn't a good enough fit for the specialist usage of the tool? For example, I wouldn't want to write make files in C! Sometimes a DSL is better. | |
| Sep 21, 2015 at 18:10 | history | asked | joshin4colours | CC BY-SA 3.0 |