Programmers and philosophers

Source: Internet
Author: User
Tags perl script

English Original: If philosophers were programmers

Although not so obvious, but at least for me, philosophy and programming have a very deep relationship. As you can see, software code is nothing more than a reflection of the developer's perspective and solution to the problem. Before coding is started, developers take the time to think over the issues that are to be solved, to identify the main points of the problem and the relationship between them, and this process reflects the philosophy they see in the world. Similarly, philosophers are constantly pondering the important features of their concerns, such as life, consciousness, or God.

In this way, we can relate the thinking behind the programming language well to the philosophy's many years of thought. We have every reason to see the language of programming as a philosophy of different genres in a virtual world in which there are interacting entities. Even the most basic philosophical propositions have interesting transformations: for example, " what is self-awareness?" "Convert to" what is reflection? (reflection)"

And then there's the more interesting question: " What if philosophers are programmers?" So what kind of programming language would they use? "Well, here's my answer!"

Socrates: The hard -to-assemble programmer

Socrates is one of the founders of philosophy, but this is not the only thing (the assembly is the ancestor of all programming languages ). Socrates has created a sensible methodology that can win every debate. He relied on constant questioning until (the respondents) contradicted himself. For example, when someone claims that "morality is important," Socrates asks, "So how do you define morality?" ”

In the same way, any ( symbol ) in the assembler means a problem. Nothing is predetermined (at least for a pure assembly, not a compilation of libraries and other things), and everything must have a very clear meaning. If you work with the programmer Socrates and show him a code like this "var x = null;", your partner will start asking "What is Var"?

Aristotle: Daniel C programmer

Aristotle has a great influence on Western philosophy and has created many scientific fields, from physics to biology. His first careful study of the entity was the essence of all things, contrasted with Plato's abstraction. His philosophy uses the mean way to gain morals or to understand life (matter and form).

The C language has an equally large impact on other programming languages, especially at the grammatical level. Moreover, in the early 70, C was seen as the middle of the so-called high-level language and assembly language: the ability to write machine-independent programs and access to the underlying.

Plato: the ideal C + + missionary

Plato was a great man in philosophy, a student of Socrates and a teacher of Aristotle. So, I want to explain to you a clear question: how did C + + (Plato) come after C (Aristotle)? Let me explain. Plato is known for his form or idea , and leads to the world of ideas that exists around us. Therefore, the teacup on your desk is just a shadow of an oval-shaped object in the conceptual world. In the jargon of programming, it is an example of a teacup class.

Similarly, C + +, as an extension of C., is the first language to attempt to provide the programmer with the ability to abstract problems before any implementation. This is a huge improvement in itself, and even if the problem-solving code is not written on one line, the classification and modeling of the problem is understandable and useful. You may wonder why Plato does not use Java, of course, but the story has something else: Plato is not so confident in expressing his formal ideas with symbols, and he prefers dialogue (see Fibonacci). Similarly, C + + is not very confident about its direction, so it still retains C as its subset, and is completely backwards compatible with less desirable C syntax.

The School of the Happy Perl School

and their philosophy (the Stoic school) has a subtle and far-reaching influence on Western philosophy and even world philosophy and culture. Interestingly, they are not one person, but a collaborative group. Glenn rejects anything immaterial and tries to explain the world using propositional logic. Therefore, the Stoic school rejects any idea and focuses on morality: they keep us away from anything beyond our control, not through self-examination to gain true wisdom. The school rejects the political system and formalism and advocates the civil society of Socrates. People want to be brothers, to eliminate differences, to contribute to a loving society (the Common Law of the world). You should be aware of their influence on major religions, such as Christianity and Buddhism.

Most interestingly, Perl was invented in the 80, in which logical/functional programming eventually found their place in the world of programming languages. However, the Perl community (and language) is strikingly similar to the Stoic school. Perl as a language, easy to expand and flexible. In fact, the most popular words in the Perl world are "more than one way", referred to as timtoady (there is much than on ways to do it). The philosophy behind Perl rejects grammatical constraints, giving programmers the freedom to encode when they are free, but at the same time encouraging them to share and participate in the community. The power of Perl stems from the existence of the CPAN community, where modules and software are happily shared by Perl programmers around the world. This language has been quietly affecting the programming world, its far-reaching non-stand. It can be mentioned that Perl has a strong influence on scripting, dynamic type programming, and functional programming, but it can simply be summed up in a joke that is widely circulated in Perl: The next market crash will be caused by a bug in a Perl script.

René · Descartes: The real Java Master

Descartes was the first Western philosopher to oppose classical ancient Greek philosophy. His core ideas are mentioned in the famous seventh chapter of his philosophical principles, which is based on the concept of my thinking (rational ego). Descartes believed that suspicion was the proof of existence, and I thought it was the cause of suspicion, and therefore came to the famous "I think so I am". I think it's not an activity we do, it's all our activities. So what we want, what we think and feel, can be obtained directly through my thoughts, Descartes almost "proves" the existence of God, on the grounds that people can think about the need for God's existence. In fact, any idea or form can be obtained through my thinking. Another important contribution of Descartes in philosophy is: From his beginning, philosophy tries to avoid vague abstract theory, to pursue concise and approximate form of geometrical theory. Descartes expounded his thoughts in the form of near-theorem.

Descartes is definitely the perfect Java master. Java is the first strongly typed language, and each of its objects must have a type before it is used (or philosophically speaking, they share a form), which is very much in line with Descartes ' efforts to speak accurately. Descartes ' I think is the reappearance of Plato's form, the difference is that Descartes believes that the idea exists because we think, and it does not exist in another universe. His philosophy can be said to be purely object-oriented, is the solution we get, but also the direct result of our wisdom.

Immanuel · Kant: the first Python Programmer

Kant found the "simple" way to the Hall of Philosophy: to give up any of the two opposing, opposing doctrines of Descartes ' thinking and empiricism, and shouting "all". Kant examines human rationality and claims that experience filtered by transcendental rationality leads to truth. When his philosophy matured, he began to study aesthetics, and tried to explain the aesthetics of human being theoretically. Kant's extremely precise character, obsessed with cleanliness and precision, fixed things at a fixed time every day, so that his acquaintances could "use" them for timekeeping.

In the same vein, Python is a new programming language that tries to combine various solutions. It is a multi-paradigm program language, from object-oriented programming to contract-based programming. Python programmers reject the form of free expression like Perl, while drawing on many features from it. Python emphasizes the simplicity and clarity of the code. Python is so "obsessed" with this that it indents whitespace as a delimiter for code blocks. The first of the 19 teachings of "The Zen of Python" is "beauty is better than ugliness". Kant's pursuit of beauty and art made him a veritable first Python programmer.

Ludwig · Wittgenstein: Genius Haskell Programmer

Wittgenstein, like Socrates ' argument, profoundly revolutionized Western philosophy. His book of Philosophical Writings, "Philosophical Theory of Logic", is comparable to that of a master's mathematics textbook of Logic. Wittgenstein points out that the semantic and symbolic forms are the root of all these problems, and that the rest can be clearly classified as a scientific category. Relying on pure logic, he deduced that the inherent ambiguity of language determined that philosophy was merely repeating itself, and that the word " no matter what, must remain silent " ended the book and claimed to have solved all philosophical problems.

Wittgenstein is a natural Haskell programmer. Haskell was not the first functional programming language, but appeared in the late 80 and was considered the most important functional language. Haskell is not for everyone, just like the philosophy of logic. As written in Wikipedia, it has strict mathematical and logical forms. Haskell is a purely functional programming language that redefined the way programmers use abstract data types, just as Wittgenstein has revolutionized modern Western philosophy like Socrates ' debating law.

These may sound a bit odd, but it's easy for programmers to be aware of their deep connections, but I'm not sure whether philosophers hold the same view. In any case, it is understandable at least now that there is a special section of " Philosophy of Language " in every article in Wikipedia on programming languages.

From: translation of words

Programmers and philosophers

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.