“Every language was created for a specific purpose

2019-03-12 22:50发布

I was reading the post Why Language is Important (Why I prefer C#) from 'Dot Net Thoughts' and the first paragraph of the article ends with this statement:

...every language was created for a specific purpose.

This got me thinking about exactly "why" certain languages exist...ie what is their specific reason of their existence.

My goal from this question is to list as many programming languages as possible and their main reason of why they exist...why they are used; and this will help people on deciding on what language to use for specific tasks.

Languages such as C#, VB, Haskell, Eiffel, Perl, Python, Java etc; procedural languages, functional languages, object-oriented languages etc...

16条回答
男人必须洒脱
2楼-- · 2019-03-12 23:12

Well the most obvious one is COBOL: Common Business Oriented Language And you can see it by reading the sourcecode, too. Python had mainly multi Paradigms and clear simplicity in mind (however one can always argue about that I'd agree).

查看更多
ゆ 、 Hurt°
3楼-- · 2019-03-12 23:13

I think JAVA is the only language that was advertised with its purpose:

write once, run anywhere

查看更多
聊天终结者
4楼-- · 2019-03-12 23:14

I don't think that this is a useful statement. There are general purpose languages, and some languages that initially served a specific purpose have since grown to being rather general (e.g. Perl). Some languages are also perceived as being special purpose, even though they were general from the start (Lisp).

That article also shows a really narrow view of the programming language landscape.

查看更多
Deceive 欺骗
5楼-- · 2019-03-12 23:15

Python: A programming language that is easy to read and use.

APL: A language that is extremely good at solving mathematical problems.

J and K: Both are trying to make APL usable to people with qwerty keyboards.

Java: Made as a better C++, with focus on using a single codebase.

C++: Made as a better C with Object-Orientation.

(Qt: Whilst it is not a programming language, it does extend C++ that it's worth mentioning. Qt is a GUI toolkit, a database abstracter and many, many more things. It's also cross-platform.)

C: A better B (Seriously)

Objective-C: Apple trying to make a better C with Object-Orientation.

Perl: A language build to process text, but is now a widely used "scripting" language. It also builds on the idea of "there should be more than one way to do it."

Haskell: Experiment to make a completely pure functional language, with big emphasis on the functionality.

Lisp: Originally named List Processor. Today it's a language that pioneered many of the techniques that modern languages has. Lisp is a standard and not an actual language. Sometimes called "the programmable programming language".

Common Lisp: A common implementation of Lisp. It has many features that modern languages got, but also many features that modern languages haven't got.

Scheme: Designed to be the most pure language in existence. It's mostly used as research.

JavaScript: A scripting language based on some stuff that might be Java. Apart from the name, it has nothing to do with Java. It's used nearly exclusively as the scripting language of the web. JavaScript is based on the standard ECMAScript.

Lua: A scripting language with the goal of being a good scripting language. Useless for virtually everything else.

XML: Designed to be a way to make uniform data formats, primarily for exchange of data between platforms. Highly extendible, for example XHTML (web page) can embed SVG (Vector graphics) and MathML (Guess what) documents, giving XHTML near infinite possibilities.

CSS: Designed to style HTML and XHTML documents.

Esoteric Programming Languages: Languages designed to be confusing and hard to use.

Now, I can't really name any other languages, I hope it was useful :)

查看更多
可以哭但决不认输i
6楼-- · 2019-03-12 23:18

Brainfuck exists to show you can write a compiler for a Turing complete language in under 200 bytes :)

查看更多
看我几分像从前
7楼-- · 2019-03-12 23:18

Ada - Designed by the Department of Defense for safety-critical embedded/real-time systems.

查看更多
登录 后发表回答