Earlier quoted context omitted.
What about real world is that in real world, it is not context-free. There are real world situations -- such as selling a word processor to general public (especially) including clueless -- you need to deal with files with spaces, period. But there are real world situations -- such as Makefiles -- requires users to learn the tool, to be able to handle certain tricky situations themselves and excludes incompetents. An…
I'm bemused by this repeated insistence that supporting spaces in file names is somehow difficult.
The Makefile I use with JavaScript projects
291–300 of 525 posts
Re: The Makefile I use with JavaScript projects
#292Earlier quoted context omitted.
> Almost every CLI program I've ever used in Windows has no problem with spaces in filenames, so I don't exactly ... Just to clarify on what we think as problem could differ: C:\Users\hzhou>ls *.txt new 2.txt C:\Users\hzhou>ls new 2.txt ls: new: No such file or directory ls: 2.txt: No such file or directory
dir works fine for that. :) I actually didn't know that dir supported multiple globs for filenames! I've never had a need for that. Super cool.
Directory of C:\Users\fred
12/14/2017 04:44 PM 1,556 new 2.txt 1 File(s) 1,556 bytes 0 Dir(s) 75,989,876,736 bytes free
C:\Users\fred>dir new 2.txt Volume in drive C has no label. Volume Serial Number is BA05-C445
Directory of C:\Users\fred
Directory of C:\Users\fred
File Not Found
C:\Users\fred>
Re: The Makefile I use with JavaScript projects
#293Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
> If only whoever authored Make 40 years ago Make was created by Stuart Feldman at Bell Labs in 1976. The fact that it is still in use in any form and still being discussed here is a testament to what an amazingly good job he did at the time. Whether it is the right tool for any given modern use case is up to the people who decide to use it or pass it by. I still work with almost daily, and it's in wide use by backen…
Not necessarily.
> It’s also pretty much guaranteed to already be installed and working on every nix system, and that's not nothing.
First mover advantage.
The fact that no modern language, basically nothing outside of C/C++ uses it, says a lot. And even those are moving away, see Cmake & co.
Re: The Makefile I use with JavaScript projects
#294Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
I'm really glad software development has largely moved away from the terse names and symbols that used to be so common. I mean patsubst? What a terrible function name! At the very least I would have added the 'h' in path.
Re: The Makefile I use with JavaScript projects
#295Earlier quoted context omitted.
"Transcompiler" was the older term for assembly -> assembly. I don't think it's too much of a stretch to shorten that to "transpiler". I think people hate the term because they associate it with JavaScript hipsters who have no sense of CS history and presume they've invented something new. The same as how you cringe when someone refers to the "#" character as "hashtag". But "transpiler" is a useful term. We're in a w…
> there are real workflow differences between working with a compiler that targets a low-level language versus a high-level one. Things like how you debug the output are very different. Like what? When I've had to debug GCC, I just dumped out the GIMPLE et al.; what do you do differently with a 'transpiler'?
With a transpiler, it's fairly common to actually debug using the generated output. That pushes many transpilers to place a premium on readable output that structurally resembles the original source code, sometimes at the expense of performance or code size.
Other times, users will rely on things like source maps in browsers. That gives more flexibility to the transpiler author but can make user's debugging experience weirder because things like single-stepping can get fuzzy when a "step" in their source program may correspond to something very different in the transpiled output.
In compilers to lower-level languages (machine code, bytecode, etc.) there is a strong implication that most users can't debug the output, so the compilation pipeline and tools are obligated to have pretty sophisticated debugging support.
In other words, different tools, priorities, constraints, etc. Having a separate word to help tease these apart seems useful to me.
Re: The Makefile I use with JavaScript projects
#296Earlier quoted context omitted.
Demanding the support of spaces in filenames significantly complicates code as simple space delimination no longer works and other delimination schemes are much more error prone -- forgetting balancing quotes, any one? While you are allowing spaces, you probabaly are allowing all possible code points or maybe even a null byte? Thinking about it gives me headaches. I hate hearing people using 21st century or modern as…
You solution is a “boil the oceans” one typically proposed by engineers. You can re-program computers. You can’t re-program millions of people. Every natural language uses spaces to separate things. You can accept that or you can keep tilting at windmills. In every branch of science, reality wins. If your model can’t accomodate reality it’s either completely wrong or it needs adjustments, at least.
Exactly. To separate things. Which, incidentally, happens to also be precisely what make, and the traditional UNIX shells do :-)
The problem isn't that space in itself is a particularly difficult character. The problem is that its meaning is overloaded and ambiguous. No matter what you do, computers will have difficulty with ambiguity. You'll always have the problem that the separator is special, but hey, I'd be all for using 0x1C instead ;)
Re: The Makefile I use with JavaScript projects
#297Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
.RECIPEPREFIX option has been available for 7 years. Stop whining about non-issues.
Re: The Makefile I use with JavaScript projects
#298Earlier quoted context omitted.
> $(SRC:.c=.o) I use $(patsubst %.c,%.o,$(SRC)) instead, which I find easier to remember.
Isn't that a GNU extension? Here's an other problem right there, figure out which dialect of Make you're using and their various quirks and extensions.
Re: The Makefile I use with JavaScript projects
#299Earlier quoted context omitted.
> There is nothing beneath the Windows UI interface. To clarify, beneath the GUI interface is the actual code that implements that interface. > Something working so well that it becomes an appliance isn't a bad thing. Not at all. I don't attempt to call or think my phone as an computer. Window's users, on the other hand, still call their PC computers. I guess that is ok if computers are appliances. It is just that th…
> Window's users, on the other hand, still call their PC computers. I guess that is ok if computers are appliances. It seems that 90% of computer use has moved into the web browser. Heck outside of writing code, almost everything I do is in a browser, and my code editor of choice happens to be built as fancy skinned web browser... > To clarify, beneath the GUI interface is the actual code that implements that interfa…
This is an extremely (web) developer-centric viewpoint IMHO.
Try telling 3D modellers/sculptors, games programmers, audio engineers that 90% of their computer use has moved into a browser. They will look at you with a blank face since they all require traditional "fat" desktop apps to get their work done at professional level.
And those are just the examples I can find off the top of my head, I'm sure I could think of more.
Re: The Makefile I use with JavaScript projects
#300Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
Make one that's generic and provides significant enough improvements that people care.