When I look at code I see structure. Before I even see individual squiggles, brackets, semicolons, I see structures and blocks of code. One code-block indented in another, "oh look this is a huge block here", "these are 3 nested ones" and so on. Brackets don't help me there but indentation does.
Let me ask you this, do you already indent your code? If not it is probably a tangled mess and I wouldn't want to continue the conversion with you. But, if you already indent your code, then why do you need brackets? You are wasting space and you are repeating yourself. It is like enforcing that every declaration of "int counter" to be followed by a comment saying "// declaration of counter as an int".
The only reason to use brackets is to minify a piece of code or to appeal to C++ or C programmers. So Javascript benefits from having brackets. I guess Rust does too because it is trying to appeal to C++ programmers.
Brackets and parenthesis help me understand the structure and flow of code at a glance. Indentation helps too, but it doesn't completely subsume structural syntax. It's like commas, semicolons, periods, paragraphs, etc in writing. They're tools to help you convey meaning that isn't apparent from the words themselves.
Minimalism for its own sake is an anti-pattern in language design. I will be very happy once this meme dies.
There is no less structural information in, say, a Python code block than in a C code block. Once you get used to the syntax and language semantics, you will just as easily be able to understand the structure and flow at a glance.
Brackets give your editor the information it needs to automatically infer scoping and to do smart reformatting. Without it you're entirely on your own.
What counts as "good"? By your definition it's one that can provide helps with indentation-based blocks. :-)
I can't depend on having a "good" editor. I have 2 work machines, 2 home machines, ssh to a VPS, ssh to a bunch of machines at work, etc. So as often as not I have to use vim to do quick edits of code. I also am generally forced to use Apple's Xcode for Obj-C applications, but use other editors for anything else. Working on my own toys vs. working at work, vs. being in school instead of a commercial entity with nice software licenses also means I can't depend on having the same text editor available, other than free ones.
I'd prefer to use a programming language that was easy to read and write in just about any text editor. The only requirement I can't easily escape is that the editor must support auto-indent. (So MS Notepad is out.)
> I'd prefer to use a programming language that was easy to read and write in just about any text editor.
Actually you can apply that argument for whitespace only languages, because they produce code that is more consistent. So because the code is more consistent it is also easier to read and write (as opposed to say, dealing with someone's eccentric formatting).
Vim or emacs (the one I use) is available for any modern OS out there. It is free and has outstanding syntax highlighting and works through a terminal as far as I know.
In general it seems like this is a tail wagging the dog problem -- picking a language to work with (what seems to be a broken) editor.
It can't because the indentation is part of the code. If I run a Java source file through a script that removes all whitespace I can get a beautifully formatted file back with a single keypress. This is literally impossible for whitespace languages like Python and Haskell.
My editor (emacs) does a great job at formatting Python code. If your compiler and your eyes get enough information about how code is structures from indentation so should your editor.
Let me ask you this, do you already indent your code? If not it is probably a tangled mess and I wouldn't want to continue the conversion with you. But, if you already indent your code, then why do you need brackets? You are wasting space and you are repeating yourself. It is like enforcing that every declaration of "int counter" to be followed by a comment saying "// declaration of counter as an int".
The only reason to use brackets is to minify a piece of code or to appeal to C++ or C programmers. So Javascript benefits from having brackets. I guess Rust does too because it is trying to appeal to C++ programmers.