{"id":52797,"date":"2020-09-15T15:09:53","date_gmt":"2020-09-15T15:09:53","guid":{"rendered":"https:\/\/owncloud.com\/?p=52797"},"modified":"2024-02-16T13:29:47","modified_gmt":"2024-02-16T13:29:47","slug":"ready-steady-go","status":"publish","type":"post","link":"https:\/\/owncloud.com\/de\/blogs\/ready-steady-go\/","title":{"rendered":"Ready, steady, Go"},"content":{"rendered":"<p>Yes, PHP has become increasingly powerful over time thanks to numerous adaptations, such as object orientation, standardized access to databases, an integrated web server and improved memory management. PHP interpreters and compilers have further increased the speed of script execution.<\/p>\n<p>But all these improvements cannot hide the fact that in the years since ownCloud was first developed, the requirements regarding performance and scalability have shifted. Meanwhile, Go emerged as a new language that offers significant advantages for modern application development in general and to suit the new ownCloud vision in particular.<\/p>\n<div style=\"padding:15px 0 30px 0;\">[et_pb_section global_module=&#8220;78602&#8243;][\/et_pb_section]<\/div>\n<p>ownCloud now uses Go for <a href=\"\/news\/owncloud-infinite-scale-owncloud-unveils-new-architecture-for-unlimited-scalability\/\">rewriting its eponymous file platform<\/a>. Based on our experience with Go in developing ownCloud Infinite Scale, we can confidently share a list of its most important advantages:<\/p>\n<p><strong>Cross-platform<br \/>\n<\/strong>Go runs on all operating systems natively. Go\u2019s tool set provides excellent utilities for cross-compiling, enabling the fast and immediate deployment of the application for many different platforms.<\/p>\n<p><strong>Speed<br \/>\n<\/strong>Go does not require a script interpreter or a virtual runtime environment. This makes Go as fast as the programming language C, which is normally used for particularly high-performance requirements.<\/p>\n<p><strong>Concurrency<br \/>\n<\/strong>Go offers the possibility to perform several computations in parallel. \u201cThis makes it easier for developers to parallelize resource-intensive operations and thus develop a high-performance application,\u201d adds Felix B\u00f6hm, CTO at ownCloud.<\/p>\n<p><strong>Syntax<br \/>\n<\/strong>Go is very easy to learn and has many parallels with the widely used programming language C. Developers can easily get up to speed with Go or switch from their previous tool stack. \u201cIt is a lot of fun to program in Go,\u201d emphasizes Alex Unger, Senior Software Developer at ownCloud.<\/p>\n<p><strong>Ecosystem<br \/>\n<\/strong>The language was developed by Google teams and first presented in 2009. It is an open-source project and benefits from community involvement. Many tools for cloud-native projects are written in Go, such as the container solutions Docker and Kubernetes. \u201cGo makes ownCloud appealing to a worldwide developer community,\u201d Felix B\u00f6hm concludes.<\/p>\n<div id=\"attachment_52802\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-52802\" class=\"wp-image-52802 size-large\" src=\"https:\/\/owncloud.com\/wp-content\/uploads\/2020\/09\/Go_gopher_app_engine_color-1024x645.jpg\" alt=\"Go Gopher mascot\" width=\"1024\" height=\"645\" srcset=\"https:\/\/owncloud.com\/wp-content\/uploads\/2020\/09\/Go_gopher_app_engine_color-980x617.jpg 980w, https:\/\/owncloud.com\/wp-content\/uploads\/2020\/09\/Go_gopher_app_engine_color-480x302.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><p id=\"caption-attachment-52802\" class=\"wp-caption-text\">The Go Gopher is the official Go mascot designed by Renee French<\/p><\/div>\n<p>Go has many other benefits, such as automatic memory management and a direct and flexible implementation of object orientation. Go applications are more performant and use significantly less server resources, thus reducing both hardware costs and energy consumption.<\/p>\n<p>The new ownCloud generation, ownCloud Infinite Scale, will go one step further and stores the metadata of the files directly with the data on the storage and therefore no longer requires a database. Thus, ownCloud Infinite Scale is optimized for scale \u2013 as in the number of files, users and instances, but also as in file size.<\/p>\n<blockquote><p>\u201cThe developers at ownCloud are enthusiastic about the switch and are thrilled about the ongoing collaboration with the very professional Go community,\u201d summarizes Felix B\u00f6hm.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>PHP has long been the tool of choice for ownCloud. But the scripting language no longer meets ownCloud\u2019s requirements for developing a modern content collaboration application. Time for a change and a switch to the programming language Go.<\/p>\n","protected":false},"author":7,"featured_media":52798,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[50,509,604],"tags":[],"class_list":["post-52797","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-press-release","category-infinite-scale","category-infinite-scale-press-release"],"acf":[],"_links":{"self":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/52797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/comments?post=52797"}],"version-history":[{"count":2,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/52797\/revisions"}],"predecessor-version":[{"id":78609,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/posts\/52797\/revisions\/78609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media\/52798"}],"wp:attachment":[{"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/media?parent=52797"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/categories?post=52797"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/owncloud.com\/de\/wp-json\/wp\/v2\/tags?post=52797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}