5 ms·
Honest question: is this useful?
by zengid 9y ago
Honest question: is this useful?
- themodelplumber 9y agoSure: It's designed, like any qualitative model, to yield leverage. Know the laws, understand the principles, and soon you can pull off something amazing. Maybe it guides you into a career path within the broad field of CS, or perhaps you use the principles as metaphor-templates for your personal CS education. "In what way could this Hello World program be described as a mathematical object? Is it an axiomatic theory? What is that?" etc. What I find problematic about the design here, however, is that it is overly referential at the cost of direct information transfer to the reader. Rather than communicate a logical chain of thought regarding a principle, it communicates that such-and-such a thing is thought by so-and-so to be a this-or-that. It seems to have been produced within a system that prioritizes thought-originator-referencing. Which would be fine except I'd imagine that most people who read "The Philosophy of Computer Science" probably aren't expecting what seems a lot like an extended bibliography.
- nikki93 9y agoAren’t names always referential, in the sense of refering to a meaning or in the abstract, some memory or experience, or even future experiences, that an interpreter has/is/will have? So is the issue you point out that the names are heavily loaded and proper nouns? And how is that at the cost of information transfer (one might argue it transfers more information since you are sending “heavy words” which decompress to a lot of content under a “lookup”)?
- themodelplumber 9y ago> direct information transfer
- nikki93 9y agoWell, all information transfer involves indirection by name, so what you’re getting at is that this lies on a spectrum where the words use are “heavy” and involve lookups where the definitions aren’t in the reader’s cache already? I’m pointing to a parallel here for similar “lookups” in the interpretation of a program by computer ... so maybe the issue is the programs analogous to the way this page is written involve like far network fetches.
- elefanten 9y agoThat's the style used throughout the whole Stanford Encyclopedia of Philosophy. My guess is that style is used because it originates from and serves the academic community, where references are the norm. I agree it'd be cool to see the other version of this too.
- pasabagi 9y agoI think the problem with communicating a logical chain of thought is that it presupposes the idea that logic is immutable and continuous throughout the chain. In sciences, logic is usually fairly immutable because it's not the object of study, so you can show the ideas, without context, and they'll make sense because the frame of reference is constant. In philosophy, it's usually the case that if you simply presented the idea, without reference to the thinker, you'd definitely provoke misunderstandings, if not incomprehension. Philosophers don't have a common conceptual vocabulary, so when you think a given thinker is referring to a given idea (say, logic) you can really only say for certain that they're referring to their understanding of the idea. Further, they don't have a common vocabulary for describing ideas - often to the point that you get 'young' and 'old' versions of the same thinker (for instance, Hume) because they use words in different ways within their own corpus. So, if you wanted to present a logical chain of ideas, you'd have to develop first, your own logic that is a superset of all the contained systems of thought. Then, you'd have to develop a vocabulary that unifies disparate concepts without reducing their complexity. Predictably, most philosophers have come to the conclusion it's easier just to organize thought by thinkers rather than ideas. Non-philosophers tend to see this as some kind of veiled appeal to authority - but it isn't really. Philosophers are very happy to pervert, break, or alter the corpus of a given thinker in order to do something new with it. The strength of philosophy depends on rigorous questioning, and rigorous questioning does not tend to lead to monolithic bodies of thought - and that's what you'd need to produce the kind of logical and lexical superset an idea-oriented approach would need to be practical. Without substantial agreement on very many basic questions, such an approach would undoubtedly just do violence to the ideas.
- aje403 9y agoThis has zero practical usage unless you have a personal interest in the subject, in which case, go for it
- nikki93 9y agoThere are interesting things here to think about, and I think in practice a lot of discussions folks have in building software is philosophical. Another approach: What is/are the type(s) of argument that would convince you that something is useful? We could see if there is such an argument.
- sedachv 9y agoAbsolutely, because it keeps you from wasting time. Computer programming is applied analytic philosophy and unfortunately very few people realize this. For example, if more people knew about the shortcomings of Platonism, we wouldn't be wasting time on idiotic fads like OO patterns.
- pasabagi 9y agoCan you expand on this? To me, Plato seems like a fairly good fit for the computer world. I also think that, from the perspective of analytic philosophy, OO patterns make some kind of sense - since they allow us to clarify problems as being subsets of more general ones.
- ptrincr 9y agoI'm sure that most people who have studied OO would find many similarities with Plato's forms. The same could be said of Spinoza's attributes, however the latter is much more abstract (to say the least). Without digressing too much from the topic however, I think OO has it's place. Sometimes it's rather like constructing scaffolding prior to building a small dog house, unnecessarily complex.
- empath75 9y agoI’d think that inheritance makes oo closer to Aristotle’s categories.
- sedachv 9y ago> Can you expand on this? To me, Plato seems like a fairly good fit for the computer world. That is exactly the issue - computing is the closest thing we will ever have to Platonic Idealism. You can create simple, elegant, symmetric worlds. Many people instead assume that whatever poorly designed programming language is around at the moment is the be-all, end-all Platonic world that they must inhabit, and then proceed to come up with all kinds of dumb workarounds because the programming language does not model whatever they are trying to express, all the while patting themselves on the back for being clever and creating "abstractions." OO patterns do not make any kind of sense. There is no "generality" or "abstraction" about Singletons or Factories. They are made-up nonsense terms for ad-hoc techniques people hacked together to work around the problems they had trying to apply certain classes of OO languages to modeling certain kinds of problems in the real world. So the contrast should be between different philosophic schools - if patterns (and OO inheritance) is like Platonism, what would materialism be? I think DSLs and DDD is a kind of materialist view on computer programming. And DDD's emphasis on clear and precise naming and concepts is very much what analytic philosophy is also concerned with.
- igravious 9y agoI don't see why not. It's always a useful exercise to take a step back and see how things from different domains might connect up. It's also useful to understand how a discipline has evolved. Computing and information seem like very fundamental concepts now that we've stumbled upon them so it seems right and proper that we figure out how these things interface with all the other things we know about. Incidentally I've seen Wadler suggest we call the field Informatics. I'd prefer that I think. The word science is doing too much work nowadays and computer science is only a science in the formal science kind of way, if that's even correct. It's definitely not a science in the way biology or chemistry are. By that reasoning I'd prefer the philosophy of informatics. Floridi has suggested the philosophy of computing and information but that's cumbersome. There's also philosophy of the digital which tries to cast its net the widest.