@terdon I've never understood the argument against having whitespace be syntactically significant. People certainly find whitespace necessary to make the code readable; and there is a whole category of bugs prevented by having the way the code looks tied directly to what the code means. Care to try to make the case, just for my own understanding?
@FaheemMitha or perhaps you might answer the above message?
@FaheemMitha out of curiosity, what question was this? (I don't see it by looking in the obvious places.)
@jesse_b short naps can be surprisingly refreshing, if you can actually manage to "shut down" that quickly. (I can once in a blue moon, but not ordinarily.)
@Wildcard One issue is that formatting can easily get screwed up, for example when pasting. Or just by moving the cursor around. It's an intrinsically fragile thing.
If one makes systematic use of version control, it's not a huge issue. But still not ideal.
When nesting (like in loops), whitespace is obviously critical. And if it gets messed up, it can be non-trivial to fix. You have to go through the whole logic again. Of course, this is less of an issue if you break stuff up into small functions, but one may not chose to do so. For readability reasons, or for performance reasons.
Also, unlike languages where whitespace isn't significant, you can't get the editor to format your code for you. You have to do it yourself. Compare Emacs support for C/C++ vs Python. The former does virtually flawless code indentation. The latter cannot do code indentation at all. I'm currently using Elpy, which is a big improvement over the Python mode I was previously using. (Though I'm told it is the same functionality, it's just that it needs to be configured.)
But of course even Elpy cannot magically format Python code.
It's also worth noting that syntactically significant whitespace is an outlier. I'm not aware of any others besides Python.
@Wildcard Personally, it bothers me first in principle, I like having braces for self contained bits of code. I find whitespace harder to follow.
Then, it makes it very hard to copy/paste and reuse bits of code. Either copying it from one source file to another where it has to be at a different level of indentation, making it easy to get it wrong, or into a terminal running a python shell for testing. If you have code that's part of a class, for example, and you want to test that in a shell, you need to remove one level of indentation.
Finally, it makes it easy to make a mistake if your editor doesn't indent properly (granted, not a big issue these days) or if you move something by mistake and then need to remember and figure out where it was nested. That can get tricky for complex code.
And yes, I know the python mantra that if it's a problem I am not coding well and should write better code, and it is indeed mostly true, but it doesn't change the fact that sometimes I might want to write something simple and ugly dammit, or that someone might not know any better.
@FaheemMitha What do you mean it can't do indentation for python? Of course it can! And quite well!
For that matter, C: i + + + j is syntactically-significant whitespace away from two significantly different programs, though I guess you mean the off-side rule specifically
@AndrasDeak I do. I use the world's best, prettiest, kindest and most beautiful editor. Emacs.
And it handles indentation just fine.
And yes, as my python skills have improved, the whitespace issue becomes less and less of a problem because I'm writing more "pythonic" code, and so smaller nested loops. I very rarely have indentation blocks that don't fit in a single page so I am far less often confused by it.
Nevertheless, I would still prefer to have braces. I guess old habits die hard.
nvi (new vi) is a re-implementation of the classic Berkeley text editor, ex/vi, traditionally distributed with BSD and, later, Unix systems. It was originally distributed as part of the Fourth Berkeley Software Distribution (4BSD).
Due to licensing disputes between AT&T and the Computer Systems Research Group (CSRG) at the University of California, Berkeley, the CSRG was required to replace all Unix-derived portions of BSD source with new and unencumbered code. nvi was one of many components rewritten, despite the fact that the original vi was from UC Berkeley. AT&T had a legal claim over the license...
> It was originally derived from the first incarnation of elvis
I'd gotten my ex to switch to Linux using Mint and she as quite pleased with it. But only as long as we were together so she had ready tec support. She went back to Windows when we broke up :/ And my current partner is a mac person who won't be moved away from macs with a crowbar.
I've been a full-time Linux user for only two and a half years, but when I made the switch, it was so easy I regretted not having done it earlier. There were a few things that made it easier, such as not being dependent on MS Office and Outlook, having installed Fedora for user testing purposes and having done some light Debian admin work.
My mother hated "this debian" I installed on her ancient netbook and wanted "her ubuntu back". I did replace the OS but her problem was replacing gnome with xfce. She wanted something faster...
I really need to find a windows-looking linux for her...
Xfce can be customised quite a lot; it should be possible to get close to a Windows look, although I can't find a YouTube tutorial for the moment. (It's easier to find that sort of tutorial for Cinnamon.)
@terdon It can't indent deterministically. Or by itself, if you prefer. Obviously, since the indentation level isn't completely determined by the code. Since whitespace is syntactically meaningful.
To be even more specific, if I keep hitting tab, elpy will cycle through all the possible different levels of indentation. It even show them visibly, as gray bars (my background is currently black). But it doesn't know which one is correct, of course. How could it?
I got my parents to use a Linux-based system for a bit. Probably a mistake.
This was a while back, of course. They're both dead now.
I think there's some kind of a lesson in there, somewhere.
@FaheemMitha What new stuff did I miss that you learned?
@all I was thinking about whether to look again at using Emacs like an IDE general-purposed for programming languages
I thought it would be tremendously helpful a few years ago, till I was criticized for that thought
Emacs with different plugins for different languages would still provide more coherence user interfaces than different IDEs for different languages, I guessed.
we leave part of the garden fairly wild, and we have lavender and thyme, so we end up with quite a lot of wildlife — solitary bees, lots of spiders, a hedgehog, ladybirds, lizards, birds...
yeah you have to get the trap set up before you start nudging the spider
we have a lot of small jumping spiders in the garden, I can’t catch those
I can catch wolf spiders. Largely because they tend to stay somewhere and lurk for their prey. So I can put a glass over them easily enough. Much harder if you tip them off and they start moving though!
@StephenKitt Yeah, I caught a snake that way once. And then paraded through the village with it (small village in an island in Greece) which resulted in my catching a mate of my own species too! :)
@FaheemMitha I'm sure there are some exceptions but yes for the most part they all use venom to kill their pray, most of it poses no threat to humans and/or many species of spiders are incapable of penetrating human skin deep enough to deliver it
The main reasons spiders are almost instinctively feared by humans is because virtually all of their bites will give you an infection and without being able to keep yourself clean an infection has a very high chance of killing you
for most of human history any infection was a good chance of death, but with access to alcohol, soap and water, and band aids they aren't as severe anymore
@jesse_b Are you saying it's necessary to wash a bite? Because I don't usually. I get bitten by insects all the time. I think my blood must be cordon bleu.
@FaheemMitha well I'm sure you shower fairly regularly and don't sleep in dirt so the wound stays relatively clean, but yes you should wash all wounds
except for snake bites as they may be able to identify the snake by venom left outside the wound, but once the snake is identified they will wash the wound
@FaheemMitha well most bug bites differ from spider bites too, a spider bite will typically leave an open wound which is very easy to get contaminated so it should be washed regularly and covered with something sterile.
I think mosquitoes are still like the number 1 killer in the world though
"‘You’re dead,’ he said. Keli waited. She couldn’t think of any suitable reply. ‘I’m not’ lacked a certain style, while ‘Is it serious?’ seemed somehow too frivolous." [Mort by Terry Pratchett](http://www.chrisjoneswriting.com/mort.html)
Had issues with the 10.15.6 macOS update. My iMac kept crashing after about 26h uptime, consistently. Turns out there was a kernel memory leak triggered by running Virtualbox. New macOS supplementary update today fixes it.
... but it got me to avoid the computer for most of the summer. Which was good.