Live data from Hacker News

Sir, Please Step Away from the ASR-33 (2010)

queue.acm.org

51–60 of 291 posts

Re: Sir, Please Step Away from the ASR-33 (2010)

#51
People should listen to this guy. He's got some perspective. The main reason we keep things the way they are is something like tradition, or some kind of psychological effects where we want to fit in. Whatever it is, it's not reason. All the rationalizations come after.

Definitely should be able to put functions in the horizontal space, use colors as part of the syntax, use Unicode symbols where it is warranted.

I would go farther and say that we should have at least some ability to edit things in a non-serialized way, like a WYSIWYG math formula for example.

I hope people will also explore structural program editing. https://en.m.wikipedia.org/wiki/Structure_editor

Almost forgot, one more crazy idea: switch to larger instantly reconfigurable touchscreen keyboards to allow more symbols to be entered easily.

Re: Sir, Please Step Away from the ASR-33 (2010)

#52

The best thing about using only ASCII for the main syntax is that everyone can type it with their keyboard. I think the recent fad of supporting Unicode identifiers is misguided. Of course, Unicode should be permitted in string literals, but not in the code itself. *Also I don't think Go is better than modern C++, though it might be better than C++99 which was the main standard when the article was written.

> The best thing about using only ASCII for the main syntax is that everyone can type it with their keyboard. My keyboard doesn't have a key for NUL, BEL, VT, EOT. What kind of keyboard do you have which has buttons for these?

Let's not be so pedantic. I meant visible ASCII symbols, character codes 32-126 plus newline.

Re: Sir, Please Step Away from the ASR-33 (2010)

#53

The best thing about using only ASCII for the main syntax is that everyone can type it with their keyboard. I think the recent fad of supporting Unicode identifiers is misguided. Of course, Unicode should be permitted in string literals, but not in the code itself. *Also I don't think Go is better than modern C++, though it might be better than C++99 which was the main standard when the article was written.

But "everyone" doesn't have the same keyboard nor does everyone speak the same language. ASCII is not a universal character set and treating it as such is nothing short of cultural imperialism: "If it's good enough for us, it's good enough for everyone". Artificial limits on language and characters sets might sound simple to you but it introduces a lot of complexity for others. Unicode code solves that problem with n…

Diversity? Like what, you want source code to be written in Cyrillic or Chinese? Please elaborate.

ASCII is the standard, and programmers already learned to deal with it. What's the problem?

Re: Sir, Please Step Away from the ASR-33 (2010)

#54
post #9

Go hardly looks different than BCPL from 1967.

This is pretty much an intentional design choice. Fun fact: the first commit in the Go repository is from 1972. In B. https://github.com/golang/go/commit/7d7c6a97f8 Followed by a commit from 1974 to convert it to C, and 1988 to convert it to ANSI C: https://github.com/golang/go/commit/0bb0b61d6a https://github.com/golang/go/commit/0744ac9691 https://github.com/golang/go/commit/d82b11e4a4

Seems like this was done to pay homage to the roots of Golang. :)

Re: Sir, Please Step Away from the ASR-33 (2010)

#55
post #4

If I wanna use something like a ™ I have to google how to enter it, or just google and copy the character. I don't want any extra glyphs in my code until it's just as easy to enter (at close to full speed) as the glyphs I already have access to.

In emacs counsel-unicode-char brings up a menu where you type to narrow for example entering trademark gives you both the ® and ™ On my phone's keyboard typing the words registered or trademark bring up those options as completions. Word and libre office have the menu under insert I actually like the emacs version the best. One could even rig up a deal with emacs client to effectively use it outside of emacs by poppi…

Ah, cool function that I did not know about before, thank you! Any idea, why it does not list all unicode characters? For example, if I search for what charmap shows me as description of "你", "you, second person pronoun", then the results in Emacs are empty.

Re: Sir, Please Step Away from the ASR-33 (2010)

#56
post #30

> Why keep trying to cram an expressive syntax into the straitjacket of the 95 glyphs of ASCII when Unicode has been the new black for most of the past decade?? Because it must be possible to actually type syntax. The problem is a physical one: keyboards are limited in space, we need alphabets, punctuation, a bunch of control keys, and finally we have a very small amount of space left to fit some arbitrary symbols -…

Vim supports entering quite a lot of symbols that don't exist on most keyboards (like the integral symbol.) I always have to look up how and that forces people to use editors which support that.

>And, yes, me too: I wrote this in vi(1), which is why the article does not have all the fancy Unicode glyphs in the first place.

Maybe vi doesn't but as I said, I've used them in vim. Also, the title calls out terminals but I don't have any VTE software installed that doesn't have Unicode support.

Re: Sir, Please Step Away from the ASR-33 (2010)

#57

A programming language designed by a Mac user might make use of the symbols §, ±, ≤ and ≥, among others. I think the tyranny of ASCII is really the tyranny of the tragically poor support for entering characters beyond a small national-language set on the commonly-used OSes, especially Windows. (macOS is significantly better here but no utopia.) Windows-1252, MacRoman and so on may not be the standard character sets a…

I don't think there is any tyranny in any of the modern OSes. They all let you type in many languages. Maybe the feature is not enabled in some UIs, so newbies don't learn it. Linux users can use IBus or fcitx5. I often type in ಕನ್ನಡ and हिंदी when chatting with people. Typing emoticons and obscure math symbols is just as easy.

Re: Sir, Please Step Away from the ASR-33 (2010)

#58

Earlier quoted context omitted.

Having to do math and physics heavy work, I very much support the "fad" of having Unicode literals. "omega_0" is much worse than "ω_0" especially if you have tons of these variables. If you don't do math it's difficult to understand, but try writing without the alphabet and expressing the same concepts. Possible but clunky

I disagree. Instead of writing one letter variable names, one could do the hard work of naming things properly, which software developers often do. Instead of going with one letter or the name of that letter as variable name, which tells your fellow non-mathematicians exactly nothing about what it contains, one could put in the effort and make the code readable. Using these one letter variables forces the reader of t…

Well yes, clarity and good practices can definitely help but to be fair, software developers might often do this:

(_ Instead of this:

(e: Int) => (e It’s just a trivial example so I understand if someone wants to have the same comfort. I am not a mathematician so I am not sure what is best here so I’d cut them some slack.

Re: Sir, Please Step Away from the ASR-33 (2010)

#59
post #53

Earlier quoted context omitted.

But "everyone" doesn't have the same keyboard nor does everyone speak the same language. ASCII is not a universal character set and treating it as such is nothing short of cultural imperialism: "If it's good enough for us, it's good enough for everyone". Artificial limits on language and characters sets might sound simple to you but it introduces a lot of complexity for others. Unicode code solves that problem with n…

Diversity? Like what, you want source code to be written in Cyrillic or Chinese? Please elaborate. ASCII is the standard, and programmers already learned to deal with it. What's the problem?

Why not? English is a convention only, not a law of computing.

Re: Sir, Please Step Away from the ASR-33 (2010)

#60

Earlier quoted context omitted.

Having to do math and physics heavy work, I very much support the "fad" of having Unicode literals. "omega_0" is much worse than "ω_0" especially if you have tons of these variables. If you don't do math it's difficult to understand, but try writing without the alphabet and expressing the same concepts. Possible but clunky

A variable named ω is no better than a list named l. Both are bad. Be explicit. Terse, but explicit.

Part of the problem here is that a variable in mathematics is a different concept from a variable in programming.

Mathematicians are used to using one letter variables. Using a set of unwritten naming rules, mathematicians almost always know what concepts the variables are referring to (in a mathematical context).

So, I'd say if the code is only to be maintained by mathematicians, one letter variables for mathematical concepts only, would be an advantage.

The danger comes when you start using them for everything.

Post reply on HN