Content deleted Content added
Undid revision 506624233 by 67.174.155.20 (talk) |
ClueBot NG (talk | contribs) m Reverting possible vandalism by 148.87.67.209 to version by 95.142.174.10. False positive? Report it. Thanks, ClueBot NG. (1176962) (Bot) |
||
Line 1:
{{Distinguish2|[[Go (programming language)]], a language released in 2009 by Google}}
{{Infobox programming language
| name = Go
| logo =
| caption =
Line 23:
}}
'''Go
In November 2009, [[Google]] released a similarly named [[Go (programming language)|Go programming language]] (with no [[exclamation point]]). McCabe asked Google to change the name of their language and accused the company of "steam-rolling over us".<ref name="infowk"/><ref>{{cite web|url=http://code.google.com/p/go/issues/detail?id=9 |title=Issue 9 - go - I have already used the name for *MY* programming language |publisher=code.google.com |date=2009-11-10 |accessdate=2009-11-14}}</ref> The issue received attention among technology news websites, with some of them characterizing Go
== Design ==
The authors of Go! describe it as "a [[multi-paradigm programming language]] that is oriented to the needs of programming secure, production quality, agent based applications. It is [[multi-threaded]], strongly typed and [[higher order function|higher order]] (in the functional programming sense). It has relation, function and action procedure definitions. Threads execute action procedures, calling functions and querying relations as need be. Threads in different agents communicate and coordinate using asynchronous messages. Threads within the same agent can also use shared dynamic relations acting as [[Linda (coordination language)|Linda]]-style [[tuple space|tuple stores]]."<ref name="aamas">{{cite journal |last1=Clark |first1=K.L. |last2=McCabe |first2=F.G. |year=2003 |title= Go
The authors also propose that the language is suitable for representing [[Ontology (information science)|ontologies]] due to its integration of [[logic programming|logic]], [[functional programming|functional]] and [[imperative programming|imperative]] styles of programming. <ref name="applied">{{cite journal |last1=Clark |first1=K.L. |last2=McCabe |first2=F.G. |year=2006 |title=Ontology oriented programming in go
As a deliberate design choice to reduce complexity, Go
== Example ==
The following example illustrates the "ontology-oriented" type and declarations style of Go
<div style="text-transform: uppercase;">
Line 79:
==Further reading==
{{Refbegin}}
* {{cite paper |last1=Clark |first1=K.L. |last2=McCabe |first2=F.G. |year=2003 |title=Ontology Oriented Programming in Go
* {{cite journal |last1=Clark |first1=K.L. |last2=McCabe |first2=F.G. |year=2004 |title=
* {{cite journal |author=R. Bordini et al. |year=2006 |title=A Survey of Programming Languages and Platforms for Multi-Agent Systems |journal=Informatica |volume=30 |pages=33–44 |url=http://www.informatica.si/vol30.htm }}
* {{cite journal |author=M. Fisher et al. |year=2007 |title=Computational Logics and Agents - A Roadmap of Current Technologies and Future Trends |journal=Computational Intelligence|volume=23 |issue=1 |pages=61–91 |url=http://www3.interscience.wiley.com/journal/118495224/issue |doi=10.1111/j.1467-8640.2007.00295.x }}
*{{cite book|last=McCabe|first=Francis G.|title=Lets Go
* {{cite conference |author=C. Varela et al.|year=2004 |title=On Modelling Agent Systems with Erlang | conference=ACM SIGPLAN Erlang Workshop '04|conferenceurl=http://ftp.sunet.se/pub/lang/erlang/workshop/2004/ }}
{{Refend}}
Line 89:
== External links ==
* [http://homepage.mac.com/frankmccabe/FileSharing1.html Download page] - An attempt to download files from this page on 2011-10-07 failed with the message "Access denied by access control list."
* [http://99-bottles-of-beer.net/language-go
[[Category:Programming languages created in 2003]]
Line 98:
{{compu-lang-stub}}
[[fr:Go
[[ru:Go
|