Content deleted Content added
m Correct scikit-learn name to be lowercase. |
minor changes |
||
Line 6:
Early programming languages were designed either for scientific computing (numerical calculations) or commercial data processing, as was computer hardware. Scientific languages such as [[Fortran]] and [[ALGOL|Algol]] supported floating-point calculations and multidimensional arrays, while business languages such as [[COBOL]] supported fixed-field file formats and [[record (computer science)|data records]]. Much less widely used were specialized languages such as [[IPL-V]] and [[LISP]] for [[List (abstract data type)|symbolic list processing]]; [[COMIT]] for string manipulation; [[APT (programming language)|APT]] for [[Numerical control|numerically controlled machines]]. [[Systems programming]] requiring [[Pointer (computer programming)|pointer manipulation]] was typically done in [[assembly language]], though [[JOVIAL]] was used for some military applications.<ref name="sammet">Jean E. Sammet, "Programming Languages: History and Future", ''Communications of the ACM'' '''15''':7:601-610 (July 1972) {{doi|10.1145/361454.361485}}</ref>
[[IBM]]'s [[IBM System/360|System/360]], announced in 1964, was designed as a unified hardware architecture supporting both scientific and commercial applications, and IBM developed [[PL/I]] for it as a single, general-purpose language that supported scientific, commercial, and systems programming. Indeed, a subset of PL/I was used as the standard systems programming language for the [[Multics]] operating system.
Since PL/I, the distinction between scientific and commercial programming languages has diminished, with most languages supporting the basic features required by both, and much of the special file format handling delegated to specialized [[Database#Database management system|database management systems]].
Line 12:
Many specialized languages were also developed starting in the 1960s: [[GPSS]] and [[Simula]] for discrete event simulation; [[MAD (programming language)|MAD]], [[BASIC]], [[Logo (programming language)|Logo]], and [[Pascal (programming language)|Pascal]] for teaching programming; [[C (programming language)|C]] for systems programming; [[JOSS]] and [[APL\360]] for interactive programming.<ref name="sammet"/>
== GPL
The distinction between general-purpose programming languages and ___domain-specific programming languages is not always clear.<ref>{{Cite web |title=Domain-Specific Languages: An Annotated Bibliography* |citeseerx=10.1.1.33.8207}}</ref> A programming language may be created for a specific task, but used beyond that original ___domain and thus be considered a general purpose programming language. For example, [[COBOL]], [[Fortran]], and [[Lisp (programming language)|Lisp]] were created as DSLs (
General Purpose programming languages are all [[Turing completeness|Turing complete]], meaning that they can theoretically solve any computational problem. Domain-specific languages are often similarly Turing complete but are not exclusively so.
=== Advantages and Disadvantages ===
General-purpose programming languages are more commonly used by programmers. According to a study, [[C (programming language)|C]], [[Python (programming language)|Python]], and [[Java (programming language)|Java]] were the most commonly used programming languages in 2021
Additionally, for many tasks (
An empirical study in 2010 sought to measure problem-solving and productivity between GPLs and CSLs by giving users problems who were familiar with the GPL ([[C# (programming language)|C#]]) and unfamiliar with the DSL ([[Extensible Application Markup Language|XAML]]). Ultimately, users of this specific ___domain-specific language performed better by a factor of 15%, even though they were more familiar with GPL, warranting further research.<ref name=":0" />
|