Go! (programming language): Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
Rescuing orphaned refs ("informatica-survey" from rev 327200125)
Jonovision (talk | contribs)
rv - I removed both of those sentences for good reason -- please read my edit notes as well as my note on the talk page.
Line 25:
'''Go!''' is an obscure<ref>http://www.geek.com/articles/news/google-didnt-google-go-before-naming-their-programming-language-20091113/</ref> [[Agent-based model|agent-based]] programming language in the tradition of [[Logic programming|logic-based programming]] languages like [[Prolog]].<ref>{{cite web|last=Claburn |first=Thomas |url=http://www.informationweek.com/news/software/web_services/showArticle.jhtml?articleID=221601351 |title=Google 'Go' Name Brings Accusations Of 'Evil' |publisher=InformationWeek |date=2009-11-11 |accessdate=2009-11-14}}</ref> It was introduced in a 2003 paper by Francis McCabe and [[Keith Clark]].<ref>Clark and McCabe, AAMAS'03, 2003</ref>
 
Upon the November 2009 release of Google's [[Go (programming language)|Go]] programming language (sansnote lack of [[exclamation point]]) McCabe asked Google to change the name and accused the company of "steam-rollering over us".<ref>{{cite web|last=Claburn |first=Thomas |url=http://www.informationweek.com/news/software/web_services/showArticle.jhtml?articleID=221601351 |title=Google 'Go' Name Brings Accusations Of 'Evil' |publisher=InformationWeek |date=2009-11-11 |accessdate=2009-11-14}}</ref><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>
 
== Design ==
Line 34:
 
The authors also propose that the language is suitable for representing [[ontology|ontologies]] due to its integration of [[logic programming|logic]], [[functional programming|functional]], [[object-oriented programming|object-oriented]] and [[imperative programming|imperative]] styles of programming.<ref>Clark and McCabe, Applied Intelligence, 2006</ref>
 
== Communication model ==
 
Threads within a single Go! process, hence in the same agent, can also communicate by manipulating dynamic relation objects, comparable with [[Linda_(coordination_language)|Linda]] tuple stores,<ref name=informatica-survey>Bordini et al., Informatica, 2006</ref> used to coordinate their activities. A related combination of tuple-based shared stores and Semantics has been taken up as the communication mechanism in the approaches of the [http://www.tripcom.org/ TripCom.org]<ref>[http://www.tripcom.org/docs/del/D6.5v2.pdf TripCom]</ref> and [[SOA4All]]<ref>[http://www.soa4all.eu/file-upload.html?func=startdown&id=77 Soa4al.eu]</ref> projects.
 
== Example ==