Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What fascinates me most about this story is how it illustrates what a young race we humans are intellectually.

If we ever want to be anything more than warring tribes, we must learn to accumulate knowledge together. Universal symbols for addition and substraction are the first small step on that very long road, yet it's only been a few hundred years since we took that step.

On the scale of the universe, we are like a baby who just minutes ago learned to grab onto objects and already is hell-bent on pouring a hot pot of tea on herself using this new capability.



And we're still using '*' for multiplication in our programming languages instead of '×' because using anything other than ASCII for programming is just too hard, or too weird, or whatever.


To be fair, I prefer dots over crosses for multiplication of scalars in when I write it myself. I tend to assume a cross means cross product instead of scalar multiplication. (But, oddly, I do not assume that a dot means dot product.)


But even in that case, people are using the full-stop '.' rather than the middle dot '·'


They are? I use a middle dot. (I'm talking about when I write on paper or a board.)


More likely, it's because we don't have them on our keyboards. Programming languages are usually about reducing friction for programmers, but using the proper multiplication/division symbols would increase that for most people.


My best guess would be that we use * for multiplication because x being alphanumeric is a valid variable name.

regarding keyboard presence, this is one of the things that irks me about Mac keyboards is the absence of the # character. I write little programs and scripts on my mac infrequently enough that I have to look up how to type it every blasted time. That, and how to take screenshots. The "Print Scrn" key on PCs spoils me.


    X = Y x Z

    B = T ^ F v T

    P = Q n R u S

    C = U cross V

    D = U dot V

    Area = Width by Height

i.e. just capitalising names means that you can define macros that operate as infix operators:

    L . R -> L dot R

    L dot R -> Dot[L, R]


What language are you referring to? I'm not quite sure I understand your examples.

--------

Related:

In Haskell, any 2-argument function can be used (or defined) infix by surrounding it with backticks, eg:

    add 2 3
is equivalent to:

    2 `add` 3
----

And you can use this to cleanly write curried functions (often predicates) with their arguments flipped, eg:

    vowelCount = length . filter (`elem` "aeiou")
----

Note that functions named with punctuation characters are infix by default, and one can be used/defined prefix by surrounding it with brackets, eg:

    (<$>) = fmap
    toUpper <$> "aeiou"    # => "AEIOU"
----

It's also convenient for resolving a subset of one of the harder problems in computer science: naming things. For a 2-argument function, use it infix and read it as a phrase in english. Which is clearer:

    ".jpg" `isSuffix` url
or:

    ".jpg" `isSuffixOf` url
You can also define functions' precedence and associativity (left/right) when used as an infix operator.


> And you can use this to cleanly write curried functions (often predicates) with their arguments flipped

But unicode in code is terser. Instead of `elem`, we could use ∈ [U+2208].

To flip parameters, we could use the bidi-mirrored glyph, i.e. ∋ [U+220B, the bidi-mirror of U+2208]. In fact we could even make it a feature of the language grammar to automatically detect whether a mirrored glyph is being used, and perform the transformation.

We could even automatically detect and transform canonically equivalent graphemes using the non-spacing version of `not`, e.g. ∉ [U+2209, canonically equivalent to U+2208,U+0338], and ∌ [U+220C, mirror of U+2209 and equiv to U+220B,U+0338].


Some apple keyboards have # printed, I'm surprised they don't all have it.


I'm going to assume he has the British keyboard which has a pound symbol rather than the hash (or... pound...) symbol.

http://parkernet.com/applepro/images/wireless-british.jpg


Spot on. It never occurred to me this was essentially a localisation issue. Blasted annoying one though.


Editors should help the user to remap their keyboard keys.. We as users should move the symbols we need so that they are easier to type. For programming I've moved all of \{}[]() to the home row (with alt gr). Just one option of many but it demonstrates the concept..


We already tried going full-APL but it only proved that it wasn't a good idea. I mean this is impressive https://www.youtube.com/watch?v=a9xAKttWgP4 but I still think the notation is too obscure.


As opposed to the many different and less terse idioms you have to do with regular languages? :)

Everything is alien before it becomes familiar, I think a condensed guide to get people up to speed on the symbols is all that's necessary.

APL doesn't feel like a weird throwback, it feels like it is from the future.


Full APL isn't just unicode, though, it's also a total commitment to single-character operators as the primary language construct. Take a look at some Agda or Unicode-enabled Haskell code to see it really improving readability... though hampering type-ability.


Agda's use of Unicode makes it far less readable to me. Readability is a subjective thing, of course.


Fair. It's definitely in the eye of the beholder.


> We already tried going full-APL but it only proved that it wasn't a good idea.

When you say full-APL do you mean in one leap? Then I agree it's not a good idea, but how about going to APL in stages? First introduce just some operators (e.g. × ∧ ∨ ∈ ≥ ≤ ≠ → ⇒ only), then introduce more gradually until all APL operators are in use? Then keep on introducing other symbols from Unicode not in APL.


Well I used "we" continuing ruther's sense of "programmers in general". I didn't really do APL myself. I think it was Alan Kay who said: we needed to make APL to know what going too far looked like, that way we could stop wondering if we could do better by going further.


On the scale of the universe we're virtually non-existent :)


On the temporal / spatial scale of the universe we are virtually non-existent. On a scale that ranks everything in the universe according to physical / informational complexity & organization, we appear so far to be quite significant.


Our yardstick is far too short to make any universe scale ranking on this subject. However, what we lack in knowledge, we thoroughly compensate in sense of ego and self-importance as species :)


Our yardstick is pretty good. We have characterized a vast range of the objects we share out universe with in immense structural detail, from lifeforms here on earth to astronomical objects billions of light years away. The human brain sticks out.

I wrote my comment precisely because it has become a cliché to say what you're saying – how small, ignorant and insignificant we are in relation to the universe, how we compensate by being arrogant. Taking a different view, that human brains are really quite extraordinary compared to everything we can see out there, is not necessarily egotistic. The more I feel a sense of wonder at the preciousness and privilege of human life, the more I want to spend mine being helpful, nurturing, productive.

:)


We know a lot about a tiny area, and a tiny amount about a large area. But, suggesting we know anything about life / AI outside our solar system is pure hubris.


The universe presents overwhelmingly as a vast void. Of the total space in the universe, what fraction at most do you think is occupied by self-aware minds? What is the maximum percentage of all the matter in the universe that is organized into conscious beings? Regardless of whether life is common or rare on other planets, it is certainly vanishingly scarce overall.


Of the total space in the universe, what fraction at most do you think is occupied by self-aware minds?

Somewhere between vary close to 0% and vary close to 100%.

What is the maximum percentage of all the matter in the universe that is organized into conscious beings?

Somewhere between vary close to 0% and vary close to 100%.

Regardless of whether life is common or rare on other planets, it is certainly vanishingly scarce overall.

That makes plenty of rather large assumptions life may or may not only consisting of organic life on planets. For example, as our view of the universe is hobbled by the speed of light most of the planets in existence may have been transformed into Dyson spheres by AI (as one possibility) and we have no way of knowing. Or to bring up a classic idea the observable universe may be an influentially small part of a larger organism.

PS: Now, I suspect your probably more or less correct. However, just because something seems to be the most likely possibility does not make it the only option.


Says the two week old baby with limited vision.


After reading the article, I got fixated on why you were dividing time by space... finishing the sentence, I realized that wasn't what you were trying to say at all. :-)


How exactly are you measuring "complexity" or "organization" such that you reached this conclusion?


yes, totally agree, from my basic knowledge of understanding.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: