Hacker News new | ask | show | jobs
by duckmysick 8 days ago
No doubt that computers enabled a lot of automation. We can both agree with that.

The context was that technology should evolve to fit the humans [not the other way around]. And if contemporary technology didn't have limitations, it would be correct.

But it did and humans had to adapt to the computers. Humans had to develop and learn special languages so they could communicate with computers to do all those useful things you mentioned. Why? They were limited in understanding (or parsing) human languages. It took us decades before we could talk to computers in human languages. We're getting pretty close - especially in the past few years - but there's still some friction.

1 comments

> Humans had to develop and learn special languages so they could communicate with computers to do all those useful things you mentioned. Why? They were limited in understanding (or parsing) human languages

You may need to revisit your computation theory courses. Computers are the embodiment of a mathematical model and thus the inputs and outputs are formalized.

Do you just hold a pen and words are written automatically? Do you just hover your hands over a piano and have the moonlight sonata played? No, you have to do precise mechanical movements because that’s how the output is realized.

There’s no such things as words, sentences, keywords, statements at the computer level. What it does is symbol manipulation. You provide it a string of symbols, the rules for the manipulation, and it will provide a string of symbols as the output.

What symbols, what rules, are completely arbitrary . We just found that {1,0} are all that we needed as the set of symbols and that Context-Free Grammar is perfect for specifying the rules.

We still need to encode everything down to binary (ascii, unicode, bcd, floating points, pixel formats, PCM,…) and use a programming language (as defined by a grammar) to get the computer to do anything. Inference is made possible by those two mechanisms. It’s not a new computation model.

I don't think the "languages" they said meant specifically "programming languages". In HCI, computer interfaces can be referred as languages as they come with their own affordances and symbolism that is not directly associated with real life: case in point, nowadays, basically no one saves data in diskettes, but we still use them as the "save icon".

Also, I find it funny you mentioned "there's no such thing as words [...] at the computer level". It seems you are the one in the need of a computational theory refresh. Grammars are composed of words, which in turn, are composed of elements of the alphabet set. So, in fact, not only there are words, computers are, above all else, word-processing machines. There are more innacuracies (physical computers being stricly deterministic, needing binary to accomplish inference, etc.), but let's leave it at that, unless you wish to press.

> In HCI, computer interfaces can be referred as languages as they come with their own affordances and symbolism that is not directly associated with real life:

There's always jargon and other token words that holds no meaning in other realm of life. Even the alphabet today is mostly arbitrary gliphs.

> Grammars are composed of words, which in turn, are composed of elements of the alphabet set.

Please refer to the formal definition found in wikipedia

https://en.wikipedia.org/wiki/Context-free_grammar#Formal_de...

> There are more innacuracies (physical computers being stricly deterministic, needing binary to accomplish inference, etc.),

I've not said anything about computers being strictly deterministic. And everything is binary at the CPU/GPU level. Even with specialized instructions, you still need to organize them into a proper algorithm and encode it and its data to binary.

> There's always jargon and other token words that holds no meaning in other realm of life. Even the alphabet today is mostly arbitrary gliphs.

Sure, but this is a discussion focused on how humans interact with computers, ergo Human-Computer Interactions, so I'm not sure what's your point. In the end, you don't interact with your computer (in the physical sense) through a 2-key keyboard.

> Please refer to the formal definition found in wikipedia <link to CFG article>

When I mentioned grammars, I was talking about formal grammars in general. Still, I made a bit of confusion, since formal grammars only define the rules, whereas formal languages are, in one of its definitions, sets over strings/words.

Not that this means much, since the point of grammars is to define languages. As such, grammars (RG/CFG/NG/UG) stipulate the words that a language accepts. Words are important to computers (both in mathematical theory and in material reality).

> I've not said anything about computers being strictly deterministic.

My bad, that was my misreading of "formalized".

> And everything is binary at the CPU/GPU level. Even with specialized instructions, you still need to organize them into a proper algorithm and encode it and its data to binary.

Poor phrasinf on my part, but the "needing binary to accomplish inference" was supposed to be read in isolation. Still, computers do not require binary to operate. There are non-digital computers, both in history and being explored today. There are experiments on using trinary for optimizing LLM inference, for instance.