Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Philosophies and Programming Languages

samzenpus posted more than 5 years ago | from the what's-it-all-mean dept.

Programming 239

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."

cancel ×

239 comments

Sorry! There are no comments related to the filter you selected.

Codito (4, Funny)

stoolpigeon (454276) | more than 5 years ago | (#27614921)

ergo sum

Re:Codito (5, Funny)

pilgrim23 (716938) | more than 5 years ago | (#27615327)

I always thought it was sum ergo cogito..... but then I always was getting Descartes before de Horse

Re:Codito (4, Funny)

stoolpigeon (454276) | more than 5 years ago | (#27615575)

Once you figure out that you are, then the next question comes up.
 
/(bb|[^b]{2})/

Re:Codito (1)

Potor (658520) | more than 5 years ago | (#27616733)

555

(a Thai joke)

Re:Codito (2, Interesting)

Bob-o-Matic! (620698) | more than 5 years ago | (#27617205)

555

(a Thai joke)

I was a language instructor as a SSgt in the USAF at the defense language institute Korean school in Monterey, CA. One of my students, an Army Special Forces SFC with Thai language experience (I have none), was participating in a creative role play involving numbers and vocabulary commonly used with numbers.

He put on his army trench coat (class b uniform day) stood in front of the class, and proceeded to act like a guy who sells watches on the street. His sales pitch (for a tv commercial, I guess) went fairly well until he started to give his 555-nnnn phone number in Thai rather than Korean.

The other students an I who had been concentrating keenly to figure out just what the hell the student SFC had been saying were totally taken by surprise by what we heard and a good laugh was had by all. The SFC was clearly working hard to communicate his free-form message (compared to many other lessons which concentrate on formatted language transactions such as greetings, weather reports, etc.), and it was quite a scene when he slipped into another language.

Good times.

Re:Codito (1)

Verdatum (1257828) | more than 5 years ago | (#27615615)

BOOOOOOOOOO!!!!!!!!!

Re:Codito (2, Funny)

Requiem18th (742389) | more than 5 years ago | (#27617141)

More like:
si ego.codito:
        ego.sum()

Python (5, Funny)

MyLongNickName (822545) | more than 5 years ago | (#27614923)

No wonder I Kant get anything done in Python!!!

*looks around and sees no one laughing*
*quietly backs off of the stage*

Anonymous spectator (0)

Anonymous Coward | more than 5 years ago | (#27615709)

Realizes the lame pun

*Boooooo!*
*Boooooo!*

Re:Python (2, Funny)

Timosch (1212482) | more than 5 years ago | (#27616587)

You gotta get up at 4.45am. Kant did it, too. That kant be wrong...

List is Wrong (2)

aaaaaaargh! (1150173) | more than 5 years ago | (#27614963)

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?

Re:List is Wrong (4, Interesting)

Reality Master 201 (578873) | more than 5 years ago | (#27615723)

Lisp.

Alternately a convoluted, confusing and maddening knot of junk, and a transcending work of crystalline insight, clarity and genius, and either way, constantly leaving you with the nagging feeling that if you'd just went through it one more time with love and care, you'd finally, truly get what it's all about.

Re:List is Wrong (4, Funny)

gbjbaanb (229885) | more than 5 years ago | (#27616601)

I thought he was a real pissant who was rarely very stable.

Re:List is Wrong (1)

Duhavid (677874) | more than 5 years ago | (#27616681)

Why are you bringing composers into this?

Those who kan't... (5, Funny)

jimbudncl (1263912) | more than 5 years ago | (#27614985)

use Python. </flamebait>

Re:Those who kan't... (1)

Lobster Quadrille (965591) | more than 5 years ago | (#27615991)

perl is for nihlists

Re:Those who kan't... (1)

jimbudncl (1263912) | more than 5 years ago | (#27616311)

Suggested mod and got it... There should be an achievement for this!

What's the Point? (5, Informative)

Sponge Bath (413667) | more than 5 years ago | (#27614991)

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.

Re:What's the Point? (4, Interesting)

Java Pimp (98454) | more than 5 years ago | (#27615565)

Something like: If Programming Languages were <T> [lambda-the-ultimate.org]

Guess we can add this one to the list.

Re:What's the Point? (1)

Brian Gordon (987471) | more than 5 years ago | (#27616817)

Good for a brief facepalm if anything.

Plato is huge figure in philosophy

Yeah, 2300 years ago. Plato is irrelevant.

Wikipedia has a special section called, 'Language Philosophy,' in every article for a programming language.

Is it even possible to make a less significant statement?

Re:What's the Point? (4, Informative)

Toonol (1057698) | more than 5 years ago | (#27617251)

Yeah, 2300 years ago. Plato is irrelevant

In the same sense that Galileo is irrelevant in modern physics. Irrelevant yet fundamentally important in the creation of the modern system of knowledge.

Is it even possible to make a less significant statement?

You just did. Any computer language that wasn't designed randomly has a philosophy behind it; there was some kind of principles behind the design. Flawed or elegant, there were choices about how to arrange abstract concepts.

Re:What's the Point? (1)

Just Some Guy (3352) | more than 5 years ago | (#27617189)

If programming language X was a car then it would be a Y

...where "Y" is "head of a list", according to Wittgenstein.

Irrelevant, does not include business languages (-1, Troll)

Anonymous Coward | more than 5 years ago | (#27614999)

You university-trained programmers, such soft-handed parasites.

Things like Python and Java are pushed by coding 101 babies. They're irrelevant to the real world.

Most of the real work these days is done in PHP and ASP. I pity the company that hires a bunch of Java jerks.

Re:Irrelevant, does not include business languages (1, Informative)

Anonymous Coward | more than 5 years ago | (#27615267)

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 [arstechnica.com]

Re:Irrelevant, does not include business languages (2, Funny)

jason.sweet (1272826) | more than 5 years ago | (#27616183)

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 [arstechnica.com]

Sweet! Now your homework will run really fast.

Re:Irrelevant, does not include business languages (0)

Anonymous Coward | more than 5 years ago | (#27617293)

I like how he calls php more of a business language than Java. That is funny! Yes sir, I'll get right on that Cobol to php transition project!

Isn't that ironic, don't ya think? (1)

0xdeadbeef (28836) | more than 5 years ago | (#27615039)

In a similar manner, everything in Assembly begs for a question.

That's not what that means! In fact, the point being made is antithetical to begging the question!

Re:Isn't that ironic, don't ya think? (1)

adonoman (624929) | more than 5 years ago | (#27615525)

"Beg the question" and "Beg for a question" are two very different things. There's nothing wrong with how the author used the latter.

Re:Isn't that ironic, don't ya think? (3, Insightful)

Brian Gordon (987471) | more than 5 years ago | (#27616867)

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.

Philosophy and language (4, Interesting)

Slur (61510) | more than 5 years ago | (#27615051)

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.

Re:Philosophy and language (2, Interesting)

Samschnooks (1415697) | more than 5 years ago | (#27615207)

All I know is some computer languages have the philosophy of "job security". Examples: Perl and .... um, yeah....

Re:Philosophy and language (0)

Anonymous Coward | more than 5 years ago | (#27615593)

Of course, in his later work, Wittgenstein decided that the view presented in the Tractatus wasn't really best explanation of all language phenomena, and in particular, human languages. In criticizing the philosophy of the Tractatus - specifically view of language as being bounded everywhere by rules - Wittgenstein thinks about languages as games, gains a valuable insight by comparing it to games like tennis. In tennis, there are rules for where you stand when serving, where you can and cannot hit the ball to have it count as a point, etc. But the game isn't bounded everywhere by rules - for example, how high can you hit the ball? So too with human language.

Yes, I know this is specifically a topic about programming languages, something that the Tractatus deals with much better, being primarily about idealized languages for philosophical reasoning, but if you're going to start reading the man's work, you'd do yourself a favor by considering his earlier work in light of the critiques he presents in his later work. For my money, his reconsideration of his earlier writing is some of the best and most honest in western philosophy since Plato.

Re:Philosophy and language (5, Interesting)

Estanislao Martnez (203477) | more than 5 years ago | (#27615775)

There are certainly general principles that apply to all programming languages, such as the trade-off between clarity and concision [...]

I don't think you're really getting at what you mean here. How is the verbose "clear"? I understand you're trying to get at how most programmers find the more concise, expressive code much harder to understand, and seem to only be able to understand code when all of the operations are at very low level. So, for example, they claim that a map function is "unclear," while doing a loop that manually manages an array index counter is "clear." But that's simply not "clearer" in any sense; that's basically missing the forest for the trees.

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?

There are serious, philosophically interesting differences between some software paradigms, but if somebody's looking for them in C++ vs. Objective C, they're more likely trying to pick nits that don't exist. If you want a really big, real-world relevant set of philosophical issues that recurs over and over in software engineering, try the object-relational impedance mismatch [wikipedia.org] . This comes down to two different types of ontology. To sum it up (badly!) in two bullet points:

  • Object-oriented modeling tacitly assumes an ontology where the world is made out of objects. Objects are treated as complexes of properties, divided into essentials and accidents.
  • Relational modeling assumes an ontology where the world is made out of facts (i.e., relations). Relational tables represent sets of facts that are assumed to hold; objects are just the values related by the facts. Taken to its logical conclusion, objects are atomic; all of their structure comes from which facts they occur in.

And since you brought up Wittgenstein, note that the relational ontology is well, the first two sentences of the Tractatus:

1. The world is all that is the case.

1.1 The world is the totality of facts, not of things.

Re:Philosophy and language (2, Interesting)

Eivind (15695) | more than 5 years ago | (#27616327)

The verbose isn't -automatically- clear, and the concise isn't automatically unclear. Indeed, like most things in life, the middle way is often the best one, being horribly verbose makes it a lot of work to even readd what the code says, much less understand it, whereas being -overly- compact has a tendency to make things unreadable.

Re:Philosophy and language (0)

Anonymous Coward | more than 5 years ago | (#27616931)

I don't think the object-relational impedance mismatch is really fitting to expose the philosophical differences between programming languages, since the one describes behaviour and local subspace of the system state space while the other views the system as a consistent whole, being an end-state of the various local processes. Perhaps the examination of philosophical differences between the programming languages should be limited on the ways of representing behaviour and on characterizing the locally relevant subspaces of the state space of the system.

Re:Philosophy and language (2, Interesting)

Estanislao Martnez (203477) | more than 5 years ago | (#27617165)

I don't think the object-relational impedance mismatch is really fitting to expose the philosophical differences between programming languages, since the one describes behaviour and local subspace of the system state space while the other views the system as a consistent whole, being an end-state of the various local processes.

But what I meant to single out is not programming languages, but rather, data modeling; i.e., the use of computer programs to reason about the world.

However, I still think that there's a programming language philosophical difference of the sort you're interested in here, though not between OOP/relational, but rather, between imperative/functional (or more generally, imperative/declarative). Functional in this regard sounds very much like your characterization of the relational model right there--but I'd need to better unpack the very succinct point you're making here before I could comment more intelligently.

Re:Philosophy and language (5, Insightful)

mckinnsb (984522) | more than 5 years ago | (#27617185)

Mod parent up - he makes a few good points, which I would like to respond to here.

I don't think you're really getting at what you mean here. How is the verbose "clear"? I understand you're trying to get at how most programmers find the more concise, expressive code much harder to understand, and seem to only be able to understand code when all of the operations are at very low level. So, for example, they claim that a map function is "unclear," while doing a loop that manually manages an array index counter is "clear." But that's simply not "clearer" in any sense; that's basically missing the forest for the trees.

I feel that the most concise, expressive code is code which is part of rigorously defined, parsimonious model; hence what you mean by "missing the forest for the trees" - one code block/tree does not express succinctly the forest/design or the code block/tree's part in the forest/design. Expressive code does not exist of itself - it exists when it is part of a well designed model and everything around it makes sense. Like last Wednesday's XKCD comic stated in jest (but should be taken quite seriously) , "You will never find a programming language that relieves you of the burden of clarifying your ideas." In corollary, you will never find a way to write one block of code that will ever free you of that burden, either.

There are serious, philosophically interesting differences between some software paradigms, but if somebody's looking for them in C++ vs. Objective C, they're more likely trying to pick nits that don't exist.

Couldn't agree with you more here. Philosophy comes into play more when you start talking about design paradigms, and not the languages themselves. I would agree that certain languages lend themselves more to certain design paradigms, which would then reflect on Philosophy - but I still feel that this article, although lighthearted and undeserving of scrutiny, has got it backwards. You can certainly construct features of one language within another if you really *try*.

As an aside - Socrates as an Assembly programmer? Seriously? That was the one choice I couldn't really let sit. I feel like he was chosen for that because he was the "first" philosopher, and some people view Assembly as the "first" programming language. Personally, I view Assembly more of a Alphabet than a Language (or to be a little more fair, more like Ancient Cuneiform than Latin), and if you were going to pick a philosopher to be a Assembly programmer, you should probably pick a Deconstructionist - Jacques Derrida would have been a good one.

Re:Philosophy and language (1)

ShakaUVM (157947) | more than 5 years ago | (#27616777)

>>Tractatus Logico-philosophicus by Ludwig Wittgenstein

I've read it.

While he considered himself brilliant, if he can't even bother to define or defend his own terms and statements, it has no value.

Re:Philosophy and language (1)

Reality Master 201 (578873) | more than 5 years ago | (#27617031)

While he considered himself brilliant, if he can't even bother to define or defend his own terms and statements, it has no value.

If that's your reaction to the Tractatus, then you clearly didn't read it very carefully or understand it very well.

Re:Philosophy and language (4, Insightful)

DrVomact (726065) | more than 5 years ago | (#27617073)

Let's see...early or late Wittgenstein? The early Wittgenstein—the one who wrote the Tractatus—would have been a pure C programmer. Clarity, brevity, precision. The later Wittgenstein, the one we meet in Philosophical Investigations, programmed in Pascal. You know—the academic language which was completely cool, but never quite finished.

As for Kant, he was definitely a Python guy. Only an obsessive-compulsive German would think that making a language indent-sensitive is a good thing.

Philosophy of computer science (4, Informative)

Anonymous Coward | more than 5 years ago | (#27615069)

The Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/ [stanford.edu] , has an introduction on philosophy of computer science [stanford.edu] which is far more interesting than this worthless drivel.

Soooo...... (0, Offtopic)

spookymonster (238226) | more than 5 years ago | (#27615073)

Slow news day, huh?

Re:Soooo...... (0)

Anonymous Coward | more than 5 years ago | (#27616871)

Slow, yes, like the passing of the ages, yet, with time, building mountains, and nothing must be overlooked, lest ye fall off a cliff or get eaten by a grue.

Nietzsche? (1)

circletimessquare (444983) | more than 5 years ago | (#27615087)

the first virus/ worm/ trojan author?

Re:Nietzsche? (1)

mc1138 (718275) | more than 5 years ago | (#27615215)

Anti-Virus is Dead.

Re:Nietzsche? (4, Funny)

AndrewNeo (979708) | more than 5 years ago | (#27615269)

Schrodinger would like to disagree/agree with you.

Re:Nietzsche? (2, Insightful)

TheCycoONE (913189) | more than 5 years ago | (#27615553)

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.

Re:Nietzsche? (1)

m.ducharme (1082683) | more than 5 years ago | (#27615959)

I'm tempted to say lolcode.

he would have no language at all (1)

circletimessquare (444983) | more than 5 years ago | (#27616273)

nihilism is purposeless and random. coding therefore cannot have anything to do with nietzsche, since it is all structure

Re:he would have no language at all (2, Informative)

johnsonav (1098915) | more than 5 years ago | (#27616727)

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.

Re:he would have no language at all (0)

Anonymous Coward | more than 5 years ago | (#27617181)

Freddy N. was the opposite of a nihilist. He wanted new values, not just to destroy exising ones.

Maybe next time try commenting on something you actually understand.

Re:Nietzsche? (1)

haystor (102186) | more than 5 years ago | (#27616595)

Java. If ever a philosopher was an architecture astronaut...

Philosophy of Perl (4, Funny)

nobodyman (90587) | more than 5 years ago | (#27615181)

Through my (admittedly limited) experience with updating another team's perl scripts, I've discovered the design philosophy of perl:

  • There is a God...
  • ...and he hates us

   

Re:Philosophy of Perl (3, Funny)

D Ninja (825055) | more than 5 years ago | (#27615261)

I always thought Perl's philosophy was to make you think of it's creator (Larry Wall). How so, you ask? Well...developing in Perl is like pounding your head against a wall...

Re:Philosophy of Perl (5, Funny)

Lord Ender (156273) | more than 5 years ago | (#27615497)

Perl is a lot like Christianity, actually. It borrows almost everything from previous languages, and it makes you hate yourself.

Re:Philosophy of Perl (1)

blakelarson (1486631) | more than 5 years ago | (#27615621)

Obligatory... http://xkcd.com/224/ [xkcd.com]

Re:Philosophy of Perl (3, Insightful)

SanityInAnarchy (655584) | more than 5 years ago | (#27616463)

I suspect it depends very much how clean that other team's perl is. Perl is perhaps the language in which it is easiest for sheer laziness to lead to something unreadable.

However, Perl can be readable, and there are other reasons to like it.

Disclaimer: I haven't touched Perl since I became a Ruby/Javascript convert.

To quote a philosopher... (1)

Star Particle (1409451) | more than 5 years ago | (#27615263)

"Plankalkul is dead." - Nietzsche

Nice (1)

Zarf (5735) | more than 5 years ago | (#27615281)

Nice little article I'm really glad this got posted. It really does nice job of tying things together. No, I don't take it seriously... but the author definitely understands the different philosophies that are under each programming language and manages to make a reasonably entertaining connection back to a philosopher.

which philosopher (1)

ionix5891 (1228718) | more than 5 years ago | (#27615287)

would be PHP then?

Re:which philosopher (0)

Anonymous Coward | more than 5 years ago | (#27615381)

Some bloke down the pub

Re:which philosopher (1)

JustOK (667959) | more than 5 years ago | (#27616937)

That frequently hits 120, but, at times, might, also might hit someone two rows behind him.

Re:which philosopher (0)

Anonymous Coward | more than 5 years ago | (#27615407)

Fickle, Easilly hurt, Complex as hell?

Shame I can't think of any female philosophers

Re:which philosopher (2, Funny)

maxume (22995) | more than 5 years ago | (#27615431)

That excessively drunk guy you overheard at the bar last Saturday.

Re:which philosopher (4, Funny)

Lord Ender (156273) | more than 5 years ago | (#27615519)

Jack Handy.

Re:which philosopher (1)

drinkypoo (153816) | more than 5 years ago | (#27616089)

I think it was the little-known Neckreday, who first said, "GIT-R-DONE!"

Re:which philosopher (1)

TheDreadSlashdotterD (966361) | more than 5 years ago | (#27616171)

Crowley.

Re:which philosopher (1)

LevonB (1099459) | more than 5 years ago | (#27616813)

Plato, who stole most of his good ideas from Socrates (Socrates must have used Perl).

Finally! (4, Interesting)

cortesoft (1150075) | more than 5 years ago | (#27615343)

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!

Re:Finally! (1)

mehemiah (971799) | more than 5 years ago | (#27616783)

Indeed. I think that philosophy is like computer science, they invert the processes of law and science. Law starts at a conclusion uses logic to find what data supports the conclusion. Natural Science takes data uses logic to find a conclusion. Computer science is the act of generating logic to find data from given a conclusion or finds a conclusion given data. I may have to work on that thesis a little however

Ada and Karl Marx seem to be a nice fit . . . (1)

PolygamousRanchKid (1290638) | more than 5 years ago | (#27615413)

. . . COBOL, FORTRAN and APL are still up for grabs.

I'm really stumped about who to pick for the Occam programming language.

First Bruce! (1)

PinkyDead (862370) | more than 5 years ago | (#27615471)

Struth!

Wittegenstein was, of course, prolog (1)

goffster (1104287) | more than 5 years ago | (#27615477)

Tractatus

CS and AI are grounded in philosophy (4, Informative)

patlabor (56309) | more than 5 years ago | (#27615481)

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 [wikipedia.org] . For that matter, have a look at the Turing machine http://en.wikipedia.org/wiki/Turing_machine [wikipedia.org] . Bottom line, the field of Computer Science is based on logic.

Original Research (1)

Verdatum (1257828) | more than 5 years ago | (#27615581)

Nope, sorry, we can't do that because of [[WP:OR]]. -~~~~

Re:Original Research (1)

rbrausse (1319883) | more than 5 years ago | (#27617255)

[citation needed] :P

(btw, thanks - your comment made me smile)

educative? (1)

professorguy (1108737) | more than 5 years ago | (#27615639)

I'm not sure educative is a word. Probably looking for pedagogical.

Re:educative? (1)

maxume (22995) | more than 5 years ago | (#27615881)

Educative is apparently a word:

http://www.answers.com/educative [answers.com]
http://www.merriam-webster.com/dictionary/educative [merriam-webster.com]

Personally, I would go with educational (pedagogical would mean related to teaching, rather than learning, so I don't think it works as well here).

Re:educative? (2, Informative)

langelgjm (860756) | more than 5 years ago | (#27615999)

It is a word: educative. [merriam-webster.com]

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.

Re:educative? (1)

JustOK (667959) | more than 5 years ago | (#27616971)

It's a perfectly cromulant [reference.com] word.

Implications... (1)

tool462 (677306) | more than 5 years ago | (#27615665)

Does this mean Nietzsche would have worked for Netcraft?

"This just in--COBOL is dead. Netcraft confirms it."

And in a slightly more serious vein, discussion of philosophy of language design is all well and good. At the very least it's the kind of masturbation one can do with the whole family. Kantian compilers and Platonic preprocessors are certainly titillating. But what I'd be more interested in is if there have been any studies of programming languages in terms of human language. I know you can make some superficial analogues of functions as verbs, variables as nouns, and some languages have syntax flexibility that reflects natural language to an extent (e.g., Perl's indirect object format: $awesome = 1 if $natalie_portman && $hot_grits;) These are intentionally created that way by the language designer, though. I'm wondering if, based on these superficial intentional "boundary conditions", any deeper parallels to natural language emerge. My intuition tells me that Lisp is likely very similar to how language is structured within our brains--a series of nested clauses, each representing its own set of ideas or objects. If you subscribe to any of Chomsky's or Pinker's ideas of how our brains use language, the simple combinatorial system that allows us to create arbitrarily complex sentences seems like it would apply equally well to many programming languages.

Just some of my musings while I avoid work in the morning...

Informational Realism (1)

Baldrson (78598) | more than 5 years ago | (#27615679)

Informational Realism [soulphysics.org] is worth investigating as a basis for programming languages.

This is a lineage that goes back to at least Principia Mathematica's attempt to derive "relation arithmetic" as a way of orienting our descriptions of the world around relations rather than around objects.

Oh! Pascal! (1)

beadfulthings (975812) | more than 5 years ago | (#27615737)

I've saved this classic text for years and years. Not only was it the first serious programming language I ever took up, but the imaginary programmer addressed throughout the text was a female--like me. I loved it. Did that fact have anything to do with the philosophy of the developers of the language? Probably not, but it somehow spoke volumes about the people I knew who coded in it. (Back when the Earth was still cooling...)

Machiavelli (3, Funny)

rssrss (686344) | more than 5 years ago | (#27615749)

Machiavelli must have been the inspiration for Scheme.

Re:Machiavelli (0, Flamebait)

Alzheimers (467217) | more than 5 years ago | (#27616367)

The Marquis De Sade must have been the inspiration for Scheme.

Fix'd

Written by an idiot. Proof: (0)

Anonymous Coward | more than 5 years ago | (#27615761)

Actually the most common phrase in the Perl world is "there is more than one way to do it" or TIMTOADY for short.

Pythagoreans use Mathematica (2, Insightful)

xee (128376) | more than 5 years ago | (#27615899)

The pythagoreans identify nicely with Mathematica.

Ya, but... (1)

fahrbot-bot (874524) | more than 5 years ago | (#27615919)

"There are more things in Heaven and Earth, Horatio, than are dreamt of in your philosophies."
- Shakespeare (Hamlet)

Re:Ya, but... (2, Funny)

JustOK (667959) | more than 5 years ago | (#27617007)

so, buffer overflows?

Drunken Philosphers (0)

Anonymous Coward | more than 5 years ago | (#27615957)

Immanuel Kant was a real pissant
Who was very rarely stable
Heidegger, Heidegger was a boozy beggar
Who could think you under the table
David Hume could out-consume
Wilhelm Friedrich Hegel
And Wittgenstein was a beery swine
Who was just as schloshed as Schlegel

There's nothing Nietzsche couldn't teach ya
'Bout the raising of the wrist
Socrates himself was permanently pissed

John Stuart Mill, of his own free will
With half a pint of shandy got particularly ill
Plato, they say, could stick it away
Half a crate of whiskey every day
Aristotle, Aristotle was a bugger for the bottle
Hobbes was fond of his dram
And Rene Descartes was a drunken fart
"I drink therefore I am"

Yes, Socrates himself is particularly missed
A lovely little thinker but a bugger when he's pissed

Please leave us alone with Wikipedia... (-1, Troll)

Hurricane78 (562437) | more than 5 years ago | (#27615979)

... that site has totally jumped the shark and proven to be an epic failure, at the very moment they had to create protected pages, to protect their precious own world view from the world views of others (additional to the spam), because they did not understand the basic law of relativity of everything.

FRIST\ PSOT (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#27616333)

t)oo much foRmality

Why the droids will win. (5, Insightful)

v(*_*)vvvv (233078) | more than 5 years ago | (#27616381)

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.

Re:Why the droids will win. (0)

Anonymous Coward | more than 5 years ago | (#27616715)

Of course, we know everything about a computer, because we built it.

Very, very, very wrong. It's not because you've built something that you know all its properties. It just makes reasoning easier.

LabVIEW? (1)

silentquasar (1144257) | more than 5 years ago | (#27616669)

How about LabVIEW?

Pascal was strongly typed long before Java (4, Informative)

maxwell demon (590494) | more than 5 years ago | (#27616865)

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).

Funny to who? (0)

Anonymous Coward | more than 5 years ago | (#27616905)

Certainly not most of the world's population. At least they could understand the classic "What if Operating Systems Were Airlines?"

Fu34. (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#27617091)

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>