Social Icons

Tuesday, August 8, 2017

How Google’s Go language could be improved

To improve development tools for Google’s open source Go language, Go might be getting its own language server, akin to Microsoft and Red Hat’s Language Server Protocol.

The notion came up in a Go language contributors’ discussion group, so it’s not a done deal.

The group’s consensus recommendations are:

  • Adopt a language server IDEs and other tools. It would index and display information about code and packages. “Microsoft’s Language Server Protocol was suggested as a good starting point because of its wide support in editors and IDEs,” said one participant. That protocol was designed to integrate multiple language across code editors and IDEs.

  • Establish a standard “counter” API that would report statistics.

  • Rewrite some of Go’s assembly code.

  • To bridge the gap between assembly and Go, consider rewriting the crypto code in Go. For performance purposes, crypto code in the language was mostly written in assembly. But the code is hard to debug, maintain, and read. “A rewrite in Go would make maintenance easier. Adding processor intrinsics and better support for 128-bit math would improve Go’s crypto performance,” one participant said.

  • Expand the math/bits package planned for the upcoming Go 1.9 release to accommodate the rewrite. The math/bits package offers optimized bit manipulation. (Go 1.9 is due this month.)

  • Refactor garbage collection and related tools in the compiler and runtime, to reduce overhead in core tools and IDEs.

  • Perhaps embed the compiler into the IDEs for quick syntax-checking.

  • Compile code in memory, benefiting environments that lack a filesystem. Developers also could run tests continually.

Other issues raised in the discussion group included dependency management and interface issues. Contributors noted that making critical fixes to packages in the standard library requires waiting six months for a new version of Go to ship, or for a point release for security issues. “Better dependency management may facilitate the migration of some packages out of the standard library and into their own projects with their own release schedules,” wrote one participant.

No comments:

Post a Comment

Category Of Mobile Courses

Actualités (644) Adsense (1) Affiliation (1) Algebraic Topology (2) Algorithmic (1) all-news (30) Android (5) Android App (8) Android app without code (4) Android Apps (256) Android Development (4) Android download (2) Android OS (3) AngularJS (1) Automata theory and formal language (5) C programming (5) Category and Functor (8) CMS (3) Computer Glossary (18) Create Mobile App With Ionic Framework (2) CSS (2) CSS-Cascading-Style-Sheets (4) Developpement Java (13) Differential Geometry (1) Django-Python-Framework (9) dropshiping (26) Earn Money by Internet (4) Emplois (23) Framework php (2) Fraud (2) HTML (7) Java For Beginners (10) Javascript (12) Kotlin Programming Language (8) Kotlin For Mobile Android (1) Linux Download (2) Marketing (5) Mobile (3) Mobile Courses (4) Mobile Marketing (4) MoneyGram (1) News (721) Node.js (5) Open Source (1) Photoshop (1) Protect Computer (1) Python (35) Python BeautifulSoup (1) Python For Data Science (2) Python PyQt (4) Python Reference (1) Python-Books (6) Python-DVD-Training (1) Python-Exercises (260) Python-Framework (1) Python-IDE (1) Python-Kivy-Framework (2) Python-Modules (1) Python-pdf (2) Python-pyQt (1) Référencement (2) Script PHP (2) Security (6) SEO (1) Snipping Tool: Faq (1) Social Networks (1) Source Code (1) Statistics With SPSS (2) Surveillance Software (1) Travail à domicile (6) Tutoriels php en vidéos (2) Tutoriels-MySql (6) tutoriels-php (19) Utilitaires (1) VPS (1) Web Hosting (1) Webcam (1) Webmarketing (11) Western Union (1) Windows 10 (1) Windows 7 (4) Windows 7 Faq (2) Windows 8 (1) Windows Accessories (1) Windows Download (8) Windows Drivers (1) Windows Fonts (1) Windows Power Shell (2) Windows Registry (2) Windows Security (18) Windows Software (2) Windows Spyware (2) Windows utilities (3) Windows Virus (2) Windows Vista (3) Windows Wireless (1) Windows xp (1) Wordpress (1)

Sample text

Sample Text

Blogger Templates