31
Ideas / Re: Built-in recipe handler/make replacement
« on: June 24, 2014, 06:56:42 PM »
Tooling is a big factor in languages. That is something that I think C2 is doing correctly. Modules, in particular, are important for that.
Take, for instance, Typescript. Though I am not a fan of Microsoft (in spite of living within 10km of Microsoft HQ), I think they did a really good job on Typescript. It has just enough information for tooling (IDE, compiler etc.) to give useful feedback to the programmer.
Java tried to do something about this with the .class files containing enough information to find the dependencies at runtime. Unfortunately, their scope was too small and they only included code.
Eclipse handles dependencies in the environment via a blizzard of XML files. Ant and Maven use XML too. I am not a fan of XML. "Human" readable?
I think there is a corollary to Greenspun's Tenth Rule here :-) Any sufficiently complicated compiler system ends up (badly) implementing part of make :-)
One of the use cases that hits me with some regularity is using Make to do builds for multiple platforms. I have code that needs to run on Windows and Linux.
Rather than get bogged down in guessing what a build system needs, how about some larger projects in C2 to find out what would be useful? Maybe a small web server or something?
I have some small macros that I use heavily in C code, but they evolved over a couple years of use to the point they are now. I am still working on my resource alloc/dealloc idea though. If I can get that one, I'll be able to unify a lot of the things I was doing.
Best,
Kyle
Take, for instance, Typescript. Though I am not a fan of Microsoft (in spite of living within 10km of Microsoft HQ), I think they did a really good job on Typescript. It has just enough information for tooling (IDE, compiler etc.) to give useful feedback to the programmer.
Java tried to do something about this with the .class files containing enough information to find the dependencies at runtime. Unfortunately, their scope was too small and they only included code.
Eclipse handles dependencies in the environment via a blizzard of XML files. Ant and Maven use XML too. I am not a fan of XML. "Human" readable?
I think there is a corollary to Greenspun's Tenth Rule here :-) Any sufficiently complicated compiler system ends up (badly) implementing part of make :-)
One of the use cases that hits me with some regularity is using Make to do builds for multiple platforms. I have code that needs to run on Windows and Linux.
Rather than get bogged down in guessing what a build system needs, how about some larger projects in C2 to find out what would be useful? Maybe a small web server or something?
I have some small macros that I use heavily in C code, but they evolved over a couple years of use to the point they are now. I am still working on my resource alloc/dealloc idea though. If I can get that one, I'll be able to unify a lot of the things I was doing.
Best,
Kyle