Philosophies and Programming Languages
evariste.galois writes "Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language. This section looks at the motivation and the basic principles of the language design. What if we investigate further than that? What deeper connections between philosophies and programming languages exist? By considering the most influential thinkers of all time (e.g. Plato, Descartes, Kant) we can figure out which programming language fits best with aspects of their philosophy (Did you know that Kant was the first Python programmer)? The list is not exhaustive, but this is a funny and educative start."
ergo sum
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
No wonder I Kant get anything done in Python!!!
*looks around and sees no one laughing*
*quietly backs off of the stage*
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
Sorry, Kant was never a python programmer. Impossible. My personal guess is that Kant was programming in Modula, but it could also have been Brainf**ck. Any other suggestions by people who have actually read Cunt?
use Python.
This read more like a 'If programming language X was a car then it would be a Y' type lists.
Good for a brief chuckle, but not particularly enlightening.
Before we start this discussion, everyone should read the Tractatus Logico-philosophicus by Ludwig Wittgenstein. Programming languages, like human languages, express rules and patterns, but in philosophy we talk about how and when to employ rules, where to look for patterns. There are certainly general principles that apply to all programming languages, such as the trade-off between clarity and concision, whether it's better to own or reference an object in a given instance, etc. But does C++ really have a different "philosophy" than Objective-C, or are we just talking about the problem-solving intent and domain of the language and its suitability to a given problem? Do those really constitute philosophy, or are they just functional artifacts of the form?
Discuss.
-- thinkyhead software and media
The Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/, has an introduction on philosophy of computer science which is far more interesting than this worthless drivel.
Through my (admittedly limited) experience with updating another team's perl scripts, I've discovered the design philosophy of perl:
Schrodinger would like to disagree/agree with you.
As a programmer who was a philosophy major in college I am so happy to finally see the connection made by others (even if at such a superficial and shallow level).
In all seriousness, however, philosophy and programming are amazingly similar. They each are about breaking down complex thoughts into atomic, logical pieces. The origin of computer theory is in philosophy.
And for all of you philosophy majors who are sick of being asked what you are going to do with a philosophy degree (as I was).... tell them you will be a computer programmer!
That excessively drunk guy you overheard at the bar last Saturday.
Nerd rage is the funniest rage.
Computer Science is already grounded in Philosophy, especially in Artificial Intelligence. Have a look at Defeasible Logic (based on defeasible reasoning) for some recent developments. If you want specific programming languages, have a look at Prolog. Search for theorem solvers online. Or check wikipedia for Logic programming http://en.wikipedia.org/wiki/Logic_programming. For that matter, have a look at the Turing machine http://en.wikipedia.org/wiki/Turing_machine. Bottom line, the field of Computer Science is based on logic.
Jack Handy.
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
I doubt it, Nietzsche rejected artificial morality and the distinction between good and evil. As a language he would be type-less and purposefully unlike conventional languages. I'm thinking LISP, but perhaps someone more familiar with his works can express a better choice.
Machiavelli must have been the inspiration for Scheme.
In the land of the blind, the one-eyed man is king.
The pythagoreans identify nicely with Mathematica.
Oh shit! I forgot to click "Post Anonymously"...
It is a word: educative.
I'd quote the OED as well, but I'm too lazy to start up my VPN and interrupt the torrents.
Besides, pedagogical would have more to do with the method of teaching. "Educational" would probably have been the best choice.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
This is so not funny - its pure flame and its most trollish--- check this out asshammer - http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars
Sweet! Now your homework will run really fast.
Programming languages are layers that abstract away the computer underneath. Philosophy is about pealing the layers that abstract away our being that lies underneath.
Of course, we know everything about a computer, because we built it. Yet we know nothing about our being, even when we're all trapped in one.
That could be our biggest weakness when the droids turn against us. Computers and machines will always know exactly what they are, while humans will forever be confused.
nihilism is purposeless and random. coding therefore cannot have anything to do with nietzsche, since it is all structure
That's all well and good. But, Nietzsche wasn't a nihilist. In fact, he wrote extensively in opposition to it. While both Nietzsche and the nihilists agreed on the illegitimacy of the existing moral order, Nietzsche wanted to replace it with something new, while nihilists insist that no such thing is possible.
... and that's when the C.H.U.D.'s came at me.
From TFA:
"Java was the first strongly-typed language, in which everything must have a type (or share a Form) before it is being used"
The author obviously doesn't know Pascal. Not only does everything in Pascal have a type, and must be declared as such, Pascal doesn't even have the concept of a typecast. And much less implicit conversions than Java (the only way to get from a real to an integer is through a function like round or trunc). In Pascal, an array of 5 integers is a different type than an array of 6 integers (actually, you don't give a number, but a type for indexing, which may be an integer subrange type like 0..4, but might as well be e.g. an enumeration type).
The Tao of math: The numbers you can count are not the real numbers.
Yes there is. The author's saying assembly defines everything explicitly; it's higher level languages that "beg for a question" about where that came from or how that works. Following his logic assembly doesn't "beg for a question" at all, but rather the opposite.
so, buffer overflows?
rewriting history since 2109
All FORTRANs up to and including FORTRAN IV WATFIV were concordant with their best-known programmer, Rousseau - it was, after all, the best of all possible worlds.
Voltaire pointed out the mind-numbing ridiculousness of that idea, salvaged what was the real essence, and formulated a framework of thought that influenced all others. His philosophy was direct, compact and completely elegant. Naturally, Voltaire is best read not in translated English, but in its original FORTRAN 77 form.
Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
Socrates - ADA (he used his logical skills to help the aristocrats gain power, the real reason he was executed.) .NET languages. (Stuff pinched from everywhere and turned into an immense framework)
Plato - Java. (He believed in abstract objects but only had single inheritance)
Aristotle - SQL (he tried to systematise and arrange everything)
Aquinas -
Hegel - C++. (Hegel surely wrote the first write-only philosophical language)
Descartes - Visual Basic (if you can make a picture of it, it must be right)
Pascal - Prolog.
Ada, Lady Lovelace - Lisp.
Bertrand Russell - Erlang or Haskell
Ludwig Wittgenstein - PL/1
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
Voltaire's Professor Pangloss was based on Leibniz, not Rousseau. Leibniz would probably have been a better programmer anyway.
If you're serious about the topic, someone above mentioned Wittgenstein. The Saphir-Worf hypothesis is basic reading for linguistics. Here is a paper called "Notation as a Tool of Thought" written by a guy called Kenneth Iverson that discusses the effect that computer languages have on expression of thought.
Blithering about Kant being the first Python programmer and other such vacant nonsense may be entertaining in a limited way, but there are serious and fascinating issues in the study of linguistics, including those dealing with artificial language.
Oddly enough, what you write has no relationship, linguistic or otherwise, to Lisp where, even if there were bindings of the symbols true and false in some context, they still would not equate to the constants T and NIL, whose values cannot be changed.
Now setting the value of nil in Smalltalk to something else - that's good times.
That is all.
No, that's really just two different versions of "the world is made of facts, not things." Set theory doesn't rely on objects having essential properties; the only thing set theory assumes of the set members is that there is an identity relation on them. (Though of course, as we both know, sets really are graphs!)
Are you adequate?
prattling on about a superman does not count [...]
Why... Because you say so?
it does no good to overthrow an existing order without properly articulating a new one
otherwise, your effect is nihilism, whether actively espouse that philosophy or not
He did articulate a new one. Whether you agree with it or not--or even find it silly--does not change the fact that Nietzsche was offering an alternative; an alternative that a nihilist, by definition, is not.
... and that's when the C.H.U.D.'s came at me.