Programming language go: The Go Programming Language

Содержание

С чего начать новичку в Go / Хабр

Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.

Прежде всего, нужно ознакомиться с основами:
Дальше можно выбирать из списка ниже и смотреть/читать в процессе.

Скринкасты:

Хакатоны и челенджи:

  • Go Challenge. Learn Go by solving problems and getting feedback from Go experts! — Обязательно поучаствуйте в одном из челенджей, даже если вы уже и не новичок. Это позволит вам познакомиться с чем-то новым и получить отзывы от профессионалов. Например, в последнем нужно было написать мобильное приложение для андроида. (EN)

Видео:

Статьи на русском

Про go написано достаточно много статей, ко многим есть переводы на русский

Книжки:

Ресурсы:

  • Slack чат русскоязычного gopher сообщества — в чате сидит уже больше 500 человек, часто обсуждаются интересные темы.
    В канале #school можно задавать абсолютно любые вопросы. В канале #job куча вакансий;
  • Русскоязычная google группа — можно задать любой вопрос и получить ответ;
  • Международный Slack чат — много людей, общайтесь, если достаточно свободного времени;
  • Англоязычная google группа — огромное количество вопросов на английском;
  • Русскоязычный подкаст о Go — в подкасте часто бывают гости из таких компаний, как docker, dropbox, cloudflare, coreos, google. Так же был знаменитый Дмитрий Вьюков и рассказывал все секреты про рантайм Go.
  • Игра, где надо писать на go и проходить миссии — Описание на русском
  • Библиотеки на go на любой вкус — Если и тут не нашли, то идём на гитхаб. Почти всё, что надо, уже написано.
  • Огромное количество ссылок про всё! — осторожнее с этим ресурсом, можно потратить много времени, увлёкшись ненароком. (EN)

Редакторы:

  • Плагин для IntelijIdea — по моему мнению, самый удобный инструмент, если вы конечно не адепт других редакторов;
  • Плагин для Vim — достаточно удобный, многие используют именно его. Если конечно vim вам мил;
  • Плагин для Emacs — для тех у кого пальцы гнутся;
  • Плагин для Sublime — заброшен, но пользоваться можно. Я не советую;
  • Плагин для Atom — для тех кто понимает, зачем это нужно.

Митапы

Без живого общения никак. Встречи проводятся регулярно и несколько раз в год.


Так же проводились встречи и в других городах. Например в Новосибирске.

Сообщество разработчиков Go очень большое. Добро пожаловать.

Go — простой язык для серьезных задач | GeekBrains

Ответ на вопрос, какой язык выучить в новом году и полное руководство к действию.

https://d2xzmw6cctk25h.cloudfront.net/post/301/og_cover_image/1f01d4b1f761a4281484586e1b2193f9

Если вы не знаете, какой язык программирования выучить в 2016 году — попробуйте освоить Go. Основное преимущество языка в эффективности разработки, так что его можно применять в серьезных проектах. При этом он прост в изучении: если вы уже программируете на Python или C++, то научитесь писать годный код на нем буквально за несколько дней.

«Ровно год назад в пятницу я получил offer от Lazada (без знания Go), и в понедельник, после собеседования, HR’ы подписали мне его на должность Senior’a» — Иван Кищенко, Lazada Tech Hub.

Для человека, знающего ООП и С++, изучение языка Go не проблема.

Начать

Пройдите тур по Go — удобный и понятный экскурс в язык для новичков. Тур интерактивный: на сайте можно написать, скомпилировать и запустить код на удаленном сервере. Много информации о Go можно узнать из подкаста GolangShow.

Читать

Официальная документация

Статьи

Для новичков:

Массу ценной информации вы найдете в официальном блоге языка и FAQ. Особое внимание уделите статьям:

Прочтение «Go Concurrency Patterns: Pipelines and cancellation» полезно всем для понимания механики работы каналов.

Тем, кто переходит с языков типа PHP пригодится «Go Data Structures» и «Package sync». «An example of how Golang makes concurrent programming easy and awesome» полезна и для «сишников».  

Книги

«Введение в программирование на Go» для начала. 

«The Way To Go: A Thorough Introduction To The Go Programming Language» — детальное введение в язык.

«Network programming with Go» — о сети и том, как с ней работают в Go. 

«The Ultimate Guide to Building Database-Driven Apps with Go» поможет разобраться с базой данных и кастомными типами. В книге всего 44 страницы, после ее прочтения вы будете знать, как правильно использовать базы данных SQL в Go.

Примеры кода

Помогут ресурсы Go by Example и Golang Examples. Вообще с читабельностью кода все просто замечательно, много интересных идей есть на github.com.

Разработка

Eclipse (plugin в вялотекущей поддержке), Sublime — просто редактор, Intelij Idea имеет отличный плагин с поддержкой delve (один из наиболее интересных debuger’ов на сегодняшний день).

Подборки библиотек

Сообщества программистов на G+ — российское и официальное.

Что думаете о Go? Используете в проектах? Пишите в комментариях.

А тем, кто только встал на путь разработки, мы рекомендуем профессию «Веб-разработчик».

Rust Programming Language

Rust Programming Language

Language English (en-US)Español (es)Français (fr)Italiano (it)日本語 (ja)Português (pt-BR)Русский (ru)Türkçe (tr)简体中文 (zh-CN)正體中文 (zh-TW)

A language empowering everyone
to build reliable and efficient software.

Why Rust?

Performance

Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages.

Reliability

Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time.

Productivity

Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more.

Build it in Rust

In 2018, the Rust community decided to improve programming experience for a few distinct domains (see the 2018 roadmap). For these, you can find many high-quality crates and some awesome guides on how to get started.

Command Line

Whip up a CLI tool quickly with Rust’s robust ecosystem. Rust helps you maintain your app with confidence and distribute it with ease.

Building Tools

WebAssembly

Use Rust to supercharge your JavaScript, one module at a time. Publish to npm, bundle with webpack, and you’re off to the races.

Writing Web Apps

Networking

Predictable performance. Tiny resource footprint. Rock-solid reliability. Rust is great for network services.

Working On Servers

Embedded

Targeting low-resource devices? Need low-level control without giving up high-level conveniences? Rust has you covered.

Starting With Embedded

Rust in production

Hundreds of companies around the world are using Rust in production today for fast, low-resource, cross-platform solutions. Software you know and love, like Firefox, Dropbox, and Cloudflare, uses Rust. From startups to large corporations, from embedded devices to scalable web services, Rust is a great fit.

My biggest compliment to Rust is that it’s boring, and this is an amazing compliment.

– Chris Dickinson, Engineer at npm, Inc


All the documentation, the tooling, the community is great — you have all the tools to succeed in writing Rust code.

– Antonio Verardi, Infrastructure Engineer

Learn More

Get involved

Read Rust

We love documentation! Take a look at the books available online, as well as key blog posts and user guides.

Read the book

Watch Rust

The Rust community has a dedicated YouTube channel collecting a huge range of presentations and tutorials.

Watch the Videos

Contribute code

Rust is truly a community effort, and we welcome contribution from hobbyists and production users, from newcomers and seasoned professionals. Come help us make the Rust experience even better!

Read Contribution Guide

Thanks

Rust would not exist without the generous contributions of time, work, and resources from individuals and companies. We are very grateful for the support!

Individuals

Rust is a community project and is very thankful for the many community contributions it receives.

See individual contributors

Golang Tutorial — Изучите язык программирования Go

Golang или Go Programming Language — это статически типизированный и процедурный язык программирования, имеющий синтаксис, аналогичный языку C . Он был разработан в 2007 году Робертом Гриземером, Робом Пайком и Кеном Томпсоном из Google. Но они запустили его в 2009 году как язык программирования с открытым исходным кодом. Он предоставляет богатую стандартную библиотеку, сборку мусора и возможность динамической типизации, а также обеспечивает поддержку среды, адаптирующей шаблоны, аналогичные динамическим языкам.Последней версией Golang является 1.13.1 , выпущенная 3 rd сентября 2019 года. Здесь мы предоставляем полное руководство по Golang с соответствующими примерами.


Охватываемых тем:

Почему Голанг?

Основной целью разработки Golang было устранение проблем существующих языков. Итак, давайте посмотрим на проблемы, с которыми мы сталкиваемся при использовании языков программирования Python, Java, C / C ++:

  • Python: Он прост в использовании, но медленнее по сравнению с Golang.
  • Java: Имеет очень сложную систему типов.
  • C / C ++: У него медленное время компиляции, а также сложная система типов.
  • Кроме того, все эти языки были разработаны, когда многопоточные приложения были редкостью, поэтому они не очень эффективны для высокомасштабируемых, параллельных и параллельных приложений.
  • Threading занимает 1 МБ, тогда как Goroutine потребляет 2 КБ памяти, следовательно, в то же время мы можем запускать миллионы goroutine.

Основные характеристики



Загрузка и установка Golang

Прежде чем мы начнем установку Go, хорошо бы проверить, не установлен ли он в вашей системе.Чтобы проверить, предустановлено ли на вашем устройстве Golang или нет, просто перейдите в командную строку (для Windows найдите cmd в диалоговом окне «Выполнить» (