Any one consider this style? Minimizing visual interference while preserving parentheses. Even Java program can be written like Python.
[image: main-qimg-8d66f35cd3da4c55a380d0d08c11d930.png] https://www.quora.com/What-is-the-most-frustrating-thing-about-being-a-computer-programmer/answer/Jesse-Jaun Though it's kind of like making fun with different coding style. There might be some inspiration for us. gneuner2於 2020年5月2日星期六 UTC+8上午8時12分53秒寫道: > > > On 5/1/2020 4:35 PM, Dexter Lagan wrote: > > Is there value in Rob Pike’s comment on avoiding significant white space > in the Go language? > > “We have had extensive experience tracking down build and test failures > caused by cross-language builds where a Python snippet embedded in another > language, for instance through a SWIG invocation, is subtly and invisibly > broken by a change in the indentation of the surrounding code.” — Rob > Pike, 2012 <https://talks.golang.org/2012/splash.article> > > > I'm not really sure what Pike is getting at there: I haven't used SWIG > myself, but if I understand it correctly, Python code would have to be in a > module to be called from "other" language code. If so, I don't see how the > indentation of the "other" code could affect the Python. > > That aside: > > Even working only in Python, programmers routinely get tripped up by > copy/paste errors - so it is evident that indentation sensitivity is not > any real solution to scope related logic problems. It might [for some > definition] help newbies identify stupid errors, but I believe that even > moderately experienced programmers are more hindered than helped by it. > > > I personally dislike white space and prefer either mustaches or > parenthesis, just so I know my code will still work if line feeds are > stripped somehow, or that some piece of code is embedded or quoted in > another language, which is what I gather Rob was talking about. However, > Haskell and Python people don’t seem to mind, and if it saves us more > keystrokes while keeping expressiveness, why not? > > > Well, few people use Haskell, so I would discount it as a data point. > Even so, one of the tutorials includes this interesting tidbit: > > With good text editor, programming is fun. Of course, you can get along > with simplistic > editor capable of just cut-n-paste, but good editor is capable of doing > most of the chores > for you, letting you concentrate on what you are writing. With respect to > programming > in Haskell, good text editor should have as much as possible of the > following features: > > • Syntax highlighting for source files > • Indentation of source files > • Interaction with Haskell interpreter (be it Hugs or GHCi) > • Computer-aided code navigation > • Code completion > > > The implication is that Haskell is difficult to write without proper > editor support. So too is Python. Decent syntax and structure aware > editors are not really a problem any more, but they can go only so far: > they can fail spectacularly when code gets complicated and the language > syntax provides no clues to figure out the scoping. > > S-exprs do not suffer from this affliction. > > > Also mentioned previously is my concern that indentation sensitivity may > make implementing macros as we enjoy them in Racket difficult. Or maybe > impossible. Although certainly there are indentation languages which have > macro facilities, I am not aware of any in which the macros can be written > in the same language. All the ones I know of implement a separate DSL > macro language. > > I have designed and implemented a few languages: including a Scheme-ish > mostly functional language [but lacking macros]. I have not thought > through all the nuances of implementing a language that can reflectively > manipulate the structure of a program in the midst of compiling it [or in > the case of Lisp - running it]. However, I have to think there are reasons > for existing indentation languages not having done so. > > YMMV, > George > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/a7b75492-0a76-4d18-b586-2cde1c7acee4%40googlegroups.com.