Content deleted Content added
→2020s and Current trends: Rename section - Follow the article style. |
Towards separate sections for 2000s and 2010s |
||
Line 222:
{{div col end}}
== 2000s:
{{Multiple image
| align = right
Line 234 ⟶ 235:
| image3 = PowerShell Core 6.0 icon.png
| caption3 = PowerShell
| image4 = Rust programming language black logo.svg▼
| caption4 = Rust▼
| image5 = Scratchlogo.svg
| caption5 = Scratch
| image6 = Go Logo Blue.svg
| caption6 = Go
}}
Programming language evolution continues, and more programming paradigm are used in production.
Some of the trends have included:
* Increasing support for [[functional programming]] in mainstream languages used commercially, including [[purely functional programming]] for making code easier to reason about and to parallelize (at both micro- and macro- levels)▼
* Constructs to support [[Concurrent computing|concurrent]] and [[Distributed computing|distributed]] programming.▼
* Mechanisms for adding security and [[reliability verification]] to the language: extended static checking, [[dependent typing]], information flow control, static [[thread safety]].▼
* Alternative mechanisms for composability and modularity: [[mixin]]s, [[Trait (computer programming)|traits]], [[typeclass]]es, [[Delegation (programming)|delegates]], [[Aspect-oriented programming|aspects]].▼
* Component-oriented software development.▼
* More interest in [[visual programming language]]s like [[Scratch (programming language)|Scratch]], [[LabVIEW]], and [[PWCT]] ▼
* [[Metaprogramming]], [[reflective programming]] (reflection), or access to the [[abstract syntax tree]]▼
** [[Aspect-oriented programming]] (AOP) allowing developers to insert code in another module or class at "join points"▼
** [[Domain-specific language]]s and [[Automatic programming|code generation]]▼
*** XML for graphical interface ([[XUL]], [[Extensible Application Markup Language]] (XAML))▼
Some notable languages developed during this period include:
{{div col}}
* 2000 – [[ActionScript]]▼
* 2001 – [[C Sharp (programming language)|C#]]▼
* 2001 – [[D (programming language)|D]]▼
* 2002 – [[Scratch (programming language)|Scratch]]▼
* 2003 – [[Groovy (programming language)|Groovy]]▼
* 2003 – [[Scala (programming language)|Scala]]▼
* 2005 – [[F Sharp (programming language)|F#]]▼
* 2006 – [[Windows PowerShell|PowerShell]]▼
* 2007 – [[Clojure]]▼
* 2008 – [[Nim (programming language)|Nim]]▼
* 2009 – [[Go (programming language)|Go]]▼
{{div col end}}
== 2010s: the Mobile age ==
{{Multiple image
| align = right
| direction = vertical
| width = 100
| header = Logos
▲| image4 = Rust programming language black logo.svg
▲| caption4 = Rust
| image7 = Dart programming language logo.svg
| caption7 = Dart
Line 257 ⟶ 296:
| caption14 = Zig
}}
Programming language evolution continues with the rise of new programming domains.
▲* Increasing support for [[functional programming]] in mainstream languages used commercially, including [[purely functional programming]] for making code easier to reason about and to parallelize (at both micro- and macro- levels)
▲* Constructs to support [[Concurrent computing|concurrent]] and [[Distributed computing|distributed]] programming.
▲* Mechanisms for adding security and [[reliability verification]] to the language: extended static checking, [[dependent typing]], information flow control, static [[thread safety]].
▲* Alternative mechanisms for composability and modularity: [[mixin]]s, [[Trait (computer programming)|traits]], [[typeclass]]es, [[Delegation (programming)|delegates]], [[Aspect-oriented programming|aspects]].
▲* Component-oriented software development.
▲* [[Metaprogramming]], [[reflective programming]] (reflection), or access to the [[abstract syntax tree]]
▲** [[Aspect-oriented programming]] (AOP) allowing developers to insert code in another module or class at "join points"
▲** [[Domain-specific language]]s and [[Automatic programming|code generation]]
▲*** XML for graphical interface ([[XUL]], [[Extensible Application Markup Language]] (XAML))
* Increased interest in distribution and mobility.
* Integration with databases, including [[XML]] and [[relational database]]s.
* [[Open-source software|Open source]] as a developmental philosophy for languages, including the GNU Compiler Collection and languages such as [[PHP]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], and [[Scala (programming language)|Scala]].
▲* More interest in [[visual programming language]]s like [[Scratch (programming language)|Scratch]], [[LabVIEW]], and [[PWCT]]
* Massively parallel languages for GPU graphics processing units and supercomputer arrays, including [[OpenCL]]
* Early research into [[quantum computing]] programming languages (see [[quantum programming|list]])
Line 284 ⟶ 315:
{{div col}}
▲* 2000 – [[ActionScript]]
▲* 2001 – [[C Sharp (programming language)|C#]]
▲* 2001 – [[D (programming language)|D]]
▲* 2002 – [[Scratch (programming language)|Scratch]]
▲* 2003 – [[Groovy (programming language)|Groovy]]
▲* 2003 – [[Scala (programming language)|Scala]]
▲* 2005 – [[F Sharp (programming language)|F#]]
▲* 2006 – [[Windows PowerShell|PowerShell]]
▲* 2007 – [[Clojure]]
▲* 2008 – [[Nim (programming language)|Nim]]
▲* 2009 – [[Go (programming language)|Go]]
* 2011 – [[Dart (programming language)|Dart]]
* 2011 – [[Kotlin (programming language)|Kotlin]]
|