Revision history and IPFS entry, back to latest
Hera Sanju
IPFS What is this

Content Hash

A language that predicts the ultimate in programming from a philosophical perspective

Hera Sanju


Socrates: the hard-core assembly programmer

Socrates was one of the founders of philosophy, but that's not the only thing in common (assembly is the granddaddy of all programming languages). Socrates created his own sensible methodology that could win every debate. He relied on asking questions until (the respondent) contradicted himself. For example, when someone claims that "morality is important," Socrates asks, "How, then, do you define morality?"

Similarly, anything (symbol) in an assembly program implies a problem. Nothing is predetermined (at least for pure assembly, not assembly with libraries and other things mixed in), and everything must have a very clear meaning. If you were working with a programmer, Socrates, and showed him a line of code like this "var x = ;", your partner would start asking "what is var"!


Aristotle: the great C programmer

Aristotle had a huge impact on Western philosophy and created many fields of science, from physics to biology. He was the first to scrutinize the proposition that entities are the essence of all things; in contrast to Plato's abstraction. His philosophy took a middle-of-the-road approach to gaining morality or understanding life (matter and form)

The C language has had an important influence on other programming languages on an equal scale, especially at the syntactic level. Moreover, in the early 1970s, C was seen as the so-called middle ground between high-level languages and assembly languages: both for writing machine-independent programs and for having the ability to access the underlying


Plato: the ideal C++ evangelist

Plato was a big name in philosophy, a student of Socrates and a teacher of Aristotle. So, I'm going to explain to you the obvious query: how did C++ (Plato) come after C (Aristotle)? Let me explain. Plato is known for his forms or ideas that invoke the world of ideas in which everything around us exists. Therefore, the teacup on your table is just a shadow of an object with an oval shape in the world of ideas. In programming parlance, it is an instance of the teacup class.

Similarly, C++, as an extension to C, was the first language to attempt to provide programmers with the ability to abstract problems before any implementation. This in itself was a huge step forward, and even though the problem-solving code was not written in a single line, the classification and modeling of the problem seemed understandable and useful. You may wonder why Plato didn't use Java, but of course he could have, but there is more to the story: Plato was not so confident in using symbols to express his formal ideas, and he favored dialogues (see the Phaedo article). Likewise, C++ is not so confident in its direction that it retains C as a subset and is fully backward compatible with the less desirable C syntax.


The Stoics: The Happy Perl School

The Stoics and their philosophy (the Stoics) have had a subtle and profound influence on Western philosophy, and indeed on world philosophy and culture. Interestingly, they were not one person, but a collaborative group. The Stoics rejected anything immaterial and tried to explain the world using propositional logic. Thus, the Stoics rejected any idea and focused on morality: they turned us away from anything beyond our control, rather than gaining true wisdom through self-examination. The Stoics rejected political institutions and formalism and promoted the Socratic civil society. People are to be brothers, to eliminate differences, and to contribute themselves to a fraternal society (the common law of the nations of the world). You should note their influence on the great religions, such as Christianity and Buddhism.

Most interestingly, Perl was invented in the 80s, an era in which logic/functional programming finally found their place in the programming language world. However, the Perl community (and language) bears a striking resemblance to the Stoic school, and Perl as a language is easily extensible and flexible. In fact the most popular phrase in the Perl world is "more than one way", short for TIMTOADY (there is more than on way to do it). The strength of Perl comes from the existence of the CPAN community, where modules and software are happily shared by Perl programmers around the world. The language has been quietly influencing the programming world in ways that are not immediately apparent. The strong influence of Perl on scripting, dynamically typed programming and functional programming can be mentioned, but all in all it can be simply boiled down to a joke that is widely spread among Perl fans: the next market crash will be triggered by a bug in some Perl script.


René Descartes: the real Java guru

Descartes was the first Western philosopher to oppose classical ancient Greek philosophy. His core ideas are mentioned in the famous chapter 7 of his Principles of Philosophy, which is based on the concept of I-thought (rational self). Descartes believed that doubt is the proof of existence and that I-thought is the cause of doubt, hence the famous "I think, therefore I am". I-thinking is not an activity that we perform, but all of our activities. Therefore, what we want, what we think and what we feel is directly available to us through our thinking, and Descartes almost "proved" the existence of God on the grounds that one can think about the necessity of God's existence. In fact, any idea or form can be obtained by thinking. Another important contribution of Descartes to philosophy is that, from the beginning, philosophy tried to avoid vague abstractions in favor of a concise and almost geometric form. Descartes formulated his ideas in an almost theorem-like form.

Descartes was definitely the perfect Java guru; Java was the first strongly typed language, and everything in it must have a type before it can be used (or, philosophically speaking, they share a form), which is very much in line with Descartes' efforts to be precise in his discourse. Descartes' I-thought is a reproduction of Plato's form, the difference being that Descartes believed that ideas exist because we think and that they do not exist in another universe. His philosophy can be said to be purely object-oriented, the solution we get, and the direct product of our intelligence.


Immanuel Kant: the first Python programmer

Kant found the "easy" way to the pantheon of philosophy: abandoning either of the two opposing, opposing doctrines of Cartesian egoism and empiricism, and instead shouting "both. Kant examined human reason and claimed that experience, filtered by a priori reason, leads to truth. As his philosophy matured, he began to study aesthetics, trying to theorize about the human aesthetic. Kant's extreme precision, his obsession with neatness and accuracy, and doing a fixed number of things at a fixed time each day, led his acquaintances to "use" him as a timekeeper.

Similarly, Python is a new programming language that attempts to combine various solutions together. It is a multi-paradigm programming language, ranging from object-oriented programming to contract-based programming, and Python programmers reject the free-form expression of Perl while borrowing many features from it. Python is so "obsessed" with this that it uses whitespace indentation as a block separator. The first of the 19 teachings of the "Zen of Python" is that "beauty is better than ugliness". Kant's pursuit of beauty and art made him truly the first Python programmer.


Ludwig Wittgenstein: the genius Haskell programmer

Wittgenstein, like Socrates' Apologetics, profoundly revolutionized Western philosophy. His journal-like philosophical work, A Treatise on the Philosophy of Logic, is comparable to the difficult graduate mathematical readings in logic. Wittgenstein pointed out that semantics and symbolic forms were the root of all these problems, and that the rest could be clearly classified as science. Relying on pure logic, he deduces that the inherent ambiguity of language dictates that philosophy is nothing but a repetition of itself, and ends the book with the famous phrase, "Whatever cannot be said, must be kept silent," while claiming to have solved all philosophical problems.

Wittgenstein was a born Haskell programmer; Haskell was not the first functional programming language, but emerged in the late 80's and is considered the most important functional language; Haskell is not for everyone, as is The Philosophy of Logic. Haskell is a purely functional programming language that has redefined the way programmers use abstract data types, just as Wittgenstein revolutionized modern Western philosophy with his Socratic method of debate.

All rights reserved