On 20/05/2017 17:49, Chris Angelico wrote:
On Sat, May 20, 2017 at 8:46 AM, Viktor Hagström
<viktor.hagst...@outlook.com> wrote:
I have followed this discussion since the beginning, and I have been intrigued. 
I recently read a relevant blog post that I'd like to share. It has arguments 
for both sides: http://nullprogram.com/blog/2017/03/30/.

Truly portable code either targets the lowest common denominator,
which means avoiding any sort of file system processing or any
features not in C89, or has multiple branches. That's the only two
ways to do it.

Why avoid file processing? Standard C has long had fopen and fclose, and a handful of other functions (basically to read files and to write them). You don't need much else.

That blog link also had a reader comment that included these remarks:

"CMake and other tools that build build-configuration projects are overly complex and are an impediment to the software development cycle. They hide details like compile and link options, or make you use their language/syntax to express those options, and don't help you avoid os-dependent configuration issues."

It goes on [after Cmake was replaced]:

"A fresh build would run in a couple of minutes instead of 17 minutes. If no changes are made, it would take Visual Studio and Cmake 20-30 seconds to determine there was nothing to build. Now it takes a split second.

...Keep the build as simple as possible."

(Which is exactly what I strive to do. Although my projects are small, they could still involve dozens of source and support files, and require running non-standard tools to build, which would then require other sets of sources to built those.

It still doesn't work though because you can get down to just a single file, and people will still moan that it's too complex. You've reduced the job of building a set of kitchen units to hammering in just one nail, but then find that someone has never hammered a nail in before.

I'm now investigating how to reduce a project to no files at all!)

--
bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to