Go (bahasa pemrograman): Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tag: Pengembalian |
kTidak ada ringkasan suntingan |
||
Baris 14:
"Gc" toolchain telah ''self-hosting'' sejak versi 1.5.<ref>{{Cite web|url=https://golang.org/doc/go1.5#implementation|title=Go 1.5 Release Notes|access-date=28 January 2016|quote=The compiler and runtime are now implemented in Go and assembler, without C.}}</ref>
'''Go''' awalnya sebuah percobaan oleh para insinyur Google Robert Griesemer, Rob Pike, dan [[Ken Thompson]] untuk merancang sebuah bahasa pemrograman baru yang akan menyelesaikan kritik umum dari bahasa lain selama masih mempertahankan karakteristik positif. Pengembang dipertimbangkan bahasa baru seperti:<ref>{{Cite web|url=http://www.stanford.edu/class/ee380/Abstracts/100428.html|title=Another Go at Language Design|last=Pike|first=Rob|date=28 April 2010|website=Stanford EE Computer Systems Colloquium|publisher=[[Stanford University]]}} [https://www.youtube.com/watch?v=7VcArS4Wpqk Video available].</ref>
* diketik statis, ''scalable'' untuk sistem yang besar (seperti [[Java]] dan [[C++]])
* produktif dan dapat dibaca, tanpa terlalu banyak kata kunci wajib dan pengulangan<ref>{{Cite web|url=https://golang.org/doc/faq#different_syntax|title=Frequently Asked Questions (FAQ) - The Go Programming Language|website=golang.org|access-date=2016-02-26}}</ref> ("light on the page" seperti [[Bahasa pemrograman dinamis|bahasa dinamis]])
Baris 93:
Dari alat-alat ini seseorang dapat membangun bersamaan konstruksi seperti pekerja outdoor, pipa (yang, katakanlah, sebuah file yang dikompres dan diurai karena popularitas), latar belakang panggilan dengan batas waktu, "fan-out" panggilan paralel untuk satu set layanan, dan lain-lain.<ref>{{Cite web|url=http://talks.golang.org/2012/concurrency.slide|title=Go Concurrency Patterns|website=golang.org}}</ref> Saluran juga telah ditemukan menggunakan lebih dari biasanya gagasan interprocess communication, seperti melayani sebagai concurrency-daftar aman dari daur ulang buffer,<ref>John Graham-Cumming, [http://blog.cloudflare.com/recycling-memory-buffers-in-go Recycling Memory Buffers in Go]</ref> pelaksana coroutines (yang membantu menginspirasi nama ''goroutine''),<ref>[http://golang.org/doc/play/tree.go tree.go]</ref> dan menerapkan iterator.<ref>Ewen Cheslack-Postava, [http://ewencp.org/blog/golang-iterators/ Iterators in Go]</ref>
''Concurrency-
==== Kesesuaian untuk pemrograman paralel ====
Meskipun ''Go concurrency'' fitur yang tidak ditujukan terutama untuk [[Komputasi paralel|pemrosesan paralel]],{{r|concurrency-is-not}} mereka dapat digunakan untuk program memori bersama [[Multipengolahan|multi-prosesor]] mesin. Berbagai studi telah dilakukan untuk keefektifan pendekatan ini.<ref name="Cite conference">{{Cite conference}}</ref> salah Satu studi membandingkan ukuran (dalam baris kode) dan kecepatan program yang ditulis oleh programmer berpengalaman yang tidak akrab dengan bahasa dan koreksi terhadap program-program tersebut oleh seorang ahli (dari Google pengembangan tim), lakukan hal yang sama untuk Chapel, Cilk dan Intel TBB. Studi ini menemukan bahwa non-ahli cenderung untuk menulis membagi-dan-menaklukkan algoritme dengan satu go pernyataan per rekursi, sementara ahli menulis mendistribusikan-kerja-sinkronisasi program dengan menggunakan salah satu goroutine per prosesor. Ahli program-program yang biasanya lebih cepat, tapi juga lebih lama.<ref name="Cite conference"/>
==== Kurangnya kondisi balapan keselamatan ====
|