WoTUG - The place for concurrent processes

Paper Details


%T An Introduction to Go
%A Rick D. Beton
%E Peter H. Welch, Frederick R. M. Barnes, Jan F. Broenink, Kevin Chalmers, Jan Bækgaard Pedersen, Adam T. Sampson
%B Communicating Process Architectures 2013
%X Go is a new open\-source programming language from a team of
   Google\[rs]s developers. It provides a modern
   garbage\-collected runtime that has particular support for
   concurrency. The pattern for this is based on Hoare\[rs]s
   CSP, using channels for synchronization and communication,
   and discouraging the direct sharing of variables. Processes
   are light\-weight co\-operative threads that the runtime
   time\-slices onto underlying operating system threads; this
   allows an application\[rs]s natural concurrency to be
   expressed as fully as needed by the natural concurrency of
   the application domain. The presentation provides
   an overview of Go\[rs]s main features, covering in
   particular the unusual interfaces and duck\-typing, the
   reflection and the concurrency. Focussing on concurrency in
   detail, as an example, a simple web\-crawler application is
   converted step by step to operate concurrently, and at each
   stage this allows a particular feature of Go\[rs]s
   concurrency to be demonstrated.


If you have any comments on this database, including inaccuracies, requests to remove or add information, or suggestions for improvement, the WoTUG web team are happy to hear of them. We will do our best to resolve problems to everyone's satisfaction.

Copyright for the papers presented in this database normally resides with the authors; please contact them directly for more information. Addresses are normally presented in the full paper.

Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to: www at wotug.org

Valid HTML 4.01!