yaxu
12/03/2019, 10:22 AMKonrad Hinsen
12/03/2019, 12:36 PMyaxu
12/03/2019, 1:42 PMDan Cook
12/03/2019, 8:31 PMyaxu
12/04/2019, 8:03 AMjaukia
12/04/2019, 8:48 AMStefan
12/04/2019, 8:50 AMjaukia
12/04/2019, 9:01 AMyaxu
12/04/2019, 9:05 AMDoug Moen
12/04/2019, 11:11 PMI think the idea that images are a more advanced interface than text is pretty unique to computer user interface designers. text is made out of images.I think this is an unfair caricature of UI designers. Images are more general than text, they include text as a subset. By not restricting yourself to text, you admit more possibilities, which are useful in some domains. Text only photoshop would be pretty hard to use: you need to see what you are working on. Node+wire visual languages like Pure Data (music), or Nuke (graphics) are popular with some artists, because this kind of interface removes the need to parse and generate the syntax for a textual language. It's not an artist vs developer thing, though. It's just that not everybody's brain is wired the same way, and text syntax is not everyone's preferred interface. Some people are primarily visual thinkers, for example.
yaxu
12/05/2019, 9:17 AMStefan
12/05/2019, 3:21 PMAbstraction isn't fundamentally about removing detail.Apparently, we come at this with a different understanding of what abstraction means. As you reject mine, would you mind explaining what abstraction means for you? You listed examples, but I need help to come to a generalization that would differ significantly from mine.
"Our deep understanding of technology enables us to deal with a much higher amount of complexity than people untrained in our field, who might get overwhelmed much easier than we would" that's the sound of my jaw hitting the floorI was contemplating for a moment if "untrained" is enough to make clear that this is not about intellectual capacity but about time spent in a domain. I'm sorry if that came across as derogatory and I should've taken the time to make that clearer. I was thinking of people who are professionals in a different domain than ours yet still proficiently use computers, but without necessarily knowing how they work — not because they're not capable of understanding, but simply because they chose to spend their time differently because they have more important stuff to do. I have lots of those in my circle of friends and often think about how I could create better software for them. Is that what caused you to make the connection to privilege, or am I missing a totally different dimension here?
yaxu
12/05/2019, 4:29 PMDan Cook
12/06/2019, 2:14 AMwtaysom
12/06/2019, 2:27 AMDoug Moen
12/06/2019, 5:41 AM@yaxu It's a strange myth that graph-based languages like pure data aren't text based.
puredata has no visual syntax - visual layout has no syntactical meaning.That absence of visual syntax is a feature, it's the main point. The people who prefer these languages don't want to deal with syntax. Pure Data leans rather heavily on embedding a text based language inside those boxes, so it's not a good example. Less so for some other node based languages. @tbabb is building a node-and-wire language that eliminates text-based syntax altogether, although you can still use text as labels. https://lynxtool.com/What.html
yaxu
12/06/2019, 9:04 AMwtaysom
12/06/2019, 2:10 PM#7521AF
isn't an arbitrary symbol, it's part of a system. The #
at the beginning is about as arbitrary as it gets though.Doug Moen
12/06/2019, 3:28 PMtbabb
12/06/2019, 6:48 PMyaxu
12/06/2019, 6:59 PMtbabb
12/06/2019, 7:07 PMyaxu
12/06/2019, 7:07 PMtbabb
12/06/2019, 7:11 PMyaxu
12/06/2019, 7:12 PMtbabb
12/06/2019, 7:18 PMyaxu
12/06/2019, 7:19 PMtbabb
12/06/2019, 7:19 PMyaxu
12/06/2019, 7:20 PMtbabb
12/06/2019, 7:24 PMyaxu
12/06/2019, 7:27 PMtbabb
12/06/2019, 7:28 PMyaxu
12/06/2019, 7:29 PMtbabb
12/06/2019, 7:30 PMyaxu
12/06/2019, 7:30 PMtbabb
12/06/2019, 7:36 PMyaxu
12/06/2019, 7:38 PMtbabb
12/06/2019, 7:38 PMyaxu
12/06/2019, 7:39 PMStefan
12/07/2019, 10:53 AMyaxu
12/07/2019, 3:39 PMStefan
12/07/2019, 5:10 PMyaxu
12/08/2019, 10:40 AMDoug Moen
12/08/2019, 2:51 PM\x.x+2
is an abstraction: we can give it a name and determine its properties.3.141592653589793
occurs in multiple places throughout your code. You can abstract this duplicated code by binding the constant to the name pi
. The variable pi
is an abstraction. Functions are a more powerful abstraction mechanism, because they have parameters.Stefan
12/09/2019, 10:30 AMapple
and a banana
. In our (hopefully shared) English folk taxonomy, we would classify both as fruit
. We're generalizing, ignoring some of the properties `apple`s and `banana`s have.
Or take green
and yellow
. Both `color`s. Same process. That's what I call abstraction
.
Based on your examples I feel like you come into this claiming "yellow is an abstraction of banana".
You jump between domains. And that's interesting. I don't really understand it. Also, it's not obviously wrong! It's somewhat clever because, yes, bananas are usually yellow, and just looking at the color of bananas feels very similar to the process I described above.
Still I come to the conclusion to reject it as a form of abstraction
and point out the requirement to stay within the same domain.
Here's why:
When we agree that an apple
is a fruit
, we gain a powerful tool as part of our language that allows us to communicate more efficiently. It's not just introducing a new name for something. It's more than that. We can jump between the levels of abstraction as we see fit and say "`fruit`s are healthy" and don't have to list all the individual fruits. At the same time we can walk into a supermarket and say "an apple
, please" and get exactly the fruit we want.
(From my understanding of Lakoff, there are kinesthetic image schemas container and whole-part at play here, and we use metaphorical structure to add additional meaning to the relationship between apple
and fruit
.)
What do we get if we accept the same relation between banana
and yellow
?
I can't see the same benefits there and to me it's mostly confusing, even though I can see why it appears similar.
That's why I'd like to keep abstraction
for the concept with these specific benefits, and leave transformation
or mapping
for the concept without. It feels like we have good words for all these things already, and watering down abstraction
only makes it harder for us to communicate.yaxu
12/09/2019, 10:32 AMDoug Moen
12/09/2019, 12:49 PMBased on your examples I feel like you come into this claiming "yellow is an abstraction of banana"."Yellow" is an abstraction of all yellow things, which would include ripe bananas, just as "fruit" is an abstraction of all fruit things.
jaukia
12/09/2019, 1:58 PMStefan
12/09/2019, 2:42 PM"Yellow" is an abstraction of all yellow things, which would include ripe bananas, just as "fruit" is an abstraction of all fruit things.Is it that simple? I don’t think the category “yellow” is structured the same way the category “fruits” is (Lakoff and other linguists don’t seem to either). There is indeed lots of research about colors as categories in language, and studies in that area are used as empiric evidence that mental categories are not objective, transcendental, and definable without taking into account the perceiving being. See George Lakoff, Women, Fire, and Dangerous Things for reference. Independent from how we structure our mental categories, let me try to address the domain requirement this way: If we want to ensure mutual understanding, it isn’t sufficient to just define a word, but also the domain we’re operating in. I can totally see a category “yellow” that means exactly what @Doug Moen defines it as. It’s just not the same category as “yellow” we more intuitively turn to as part of our folk taxonomy of colors.
yaxu
12/09/2019, 3:40 PMStefan
12/09/2019, 4:42 PMyaxu
12/09/2019, 10:33 PM