Liste des Groupes | Revenir à cl misc |
On 28/08/2024 21:27, Bart wrote:Let's assume you know this ends here (as there is no concrete bit of syntax that will confirm it).On 28/08/2024 19:48, David Brown wrote:If I am adding or removing blocks (such as surrounding existing code in a new conditional), then I /have/ to change the indentation - in /any/ language. (I use indents in my assembly programming too.) Call it OCD or compulsive behaviour if you like, but I cannot consider code to be finished - even to the level of a quick compile or test - if the indentation is not correct.On 28/08/2024 19:43, Muttley@dastardlyhq.com wrote:>On Tue, 27 Aug 2024 21:34:54 -0000 (UTC)>
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:On Tue, 27 Aug 2024 11:26:18 +0100, Bart wrote:>
>(2) You want to temporarily comment out an 'if' line so that the>
following block is unconditional. You can't do that with also
unindenting the block.
In Emacs, I have commands defined to adjust the indentation of the
selected region. Surely any other decent editor would offer the same.
Writing editor editor macros in order to work around fundamentally bad
language design is not something a programmer should have to waste time on.
>
>
I don't know about Emacs, but in most editors the way you indent a block of code is to select the lines, then press "Tab". Unindenting is "shift-Tab". Changing tabs to spaces or spaces to tabs is done by selecting "Tabs to spaces" from the Edit menu, or something equally simple and obvious. Many editor can be set to convert tabs to spaces (or vice versa) when saving files, perhaps specific to the file type (so you don't muck up your makefiles).
>
It takes a special kind of genius to be able to program, and yet still have trouble with this kind of thing.
The main problem isn't in changing the indentation of a block of code; it is in HAVING to do so because of poor language design.
I simply cannot see the problem with Python here, because I would not indent things in any other way in any language.
The only thing I see as annoying in Python is when you have two or three indentations left hanging :
def foo(a, b, c) :
if a :
if b :
if c :
doThis()
That looks unfinished to me.It's just too 'open'. The contents of foo look like they're leaking into the rest of the program. As it is, someone looking at this in the future wanting to a a new statement to 'if a:' might think it ends before the comments since that 'anewstmt' is too far from the main body.
So I will add a "return" at the end (with a single tab indent, in this case). If it is not the end of the function, I will sometimes use a "pass" to pull back the indent level.So you have problems too. Would you have needed 'return' if 'end's had been used in the original?
Of course, being a sane software developer, I do most of my programming using editors that are suitable for software development. Most professional carpenters use hammers for their nails, rather than bashing them in with stones - it's the same thing, really.How about just fixing the ******* language? That must be better than a million programmers wasting time creating their own fixes.
>So mark the boundary. Add a blank line. Put a comment line describing the steps of the function. You are making up problems for which you already have good solutions that you would be using in any programming language.
And yet another, of more significance, if that after you've indented a block, it may now merge into an adjacent block that was already at that new indent. If you later need to revert that first block back to it's original position, you'd better make sure you mark that boundary.
>
Having made your own language(s) gives you no more and no less right to comment about features of other languages that you like or dislike.I had my opinions even before I used my own stuff.
Your problem here is that you are obsessed with finding things that you want to see as misfeatures, design flaws, or problems in other languagesYes. I'm into language design. But I'm also interested in aspects of it that many disregard, such as microfeatures, or ease of deployment.
- and then obsess about how you can find new ways to make it more difficult to "work around" them.Fortunately I don't need to work with them much. If I did, I would find the means to make them tolerable.
Don't you ever just accept that a language is the way it is, and it is perfectly useable that way?Well, I used Fortran IV for a year. But presumably lots of people weren't that happy with it as we've since had Fortran 77, 90, 95, 2008, 2018 and 2023.
Or think that perhaps other people in the world know better than you do about how they want their language to work? Has it never occurred to you that the people behind a given language - such as Python - considered various alternatives and decided that making it the way they did was the best choice overall for the language they wanted?Python is full of ill-advised choices. And it's become almost as much of a monster as C++, with a million incompatible features bolted on.
As Bjarne Stustroup said, there are two kinds of programming languages - those that people complain about, and those that no one uses.Funny, I can complain about lots of languages that I never use!
Les messages affichés proviennent d'usenet.