-
-
-
-
URL copied!
Продовжуємо ділитись досвідом та розповідати про переваги тих чи інших технологій. Наразі маємо вже цілу низку публікацій та колонок, де експерти GlobalLogic діляться своїм баченням індустрії та порадами, як швидше та ефективніше опанувати ту чи іншу технологію.
Сьогодні ми поговоримо про трендову технологію, а саме - Golang. У 2019 саме Golang очолила рейтинг мов програмування, які найшвидше розвиваються. Сьогодні, за даними StachOverflow, вона на 3 місці, пропустивши вперед JavaScript та Python.
Зараз GlobalLogic активно розвиває цей напрям - відкрита реєстрація на спеціальний Golang GL CrashCourse, де кожен інженер може опанувати цю технологію. Подробиці - за посиланням.
У цій колонці ми розберемо, що таке Go, в чому його феномен зараз та до чого бути готовим при його вивченні. Поїхали!
Що таке Golang сьогодні?
Почнемо з невеличкої історичної довідки. Як підказує нам назва, мова Go була розроблена у Google. Її маскотом став чи то ведмедик, чи то бобер ніжно-блакитного кольору.
Go був розроблений інженерами Google Робертом Гріземером, Робом Пайком та Кеном Томпсоном. Це статично типізована, компільована мова. Перша версія була випущена у відкритому коді в березні 2012 року.
Популярність Go. Як це працює?
Golang має схожість з C. Go була створена для заміни C ++, оскільки процес вивчення C ++ є занадто довгим і складним. Go дозволяє швидко та легко реалізувати проєкт і може використовуватись для написання мікросервісів. Це перевага для розробки спеціалізованих продуктів з дуже вузьким функціоналом.
Програми, написані на Golang, зазвичай працюють швидше, ніж програми, написані іншими мовами програмування.
GlobalLogic та Golang
Зараз GlobalLogic активно збільшує кількість проєктів з Go як основною мовою програмування. Ми також бачимо тенденцію великих компаній "переписувати проєкт з будь-якої іншої мови програмування на Go".
Тенденція полягає в тому, що зараз Go використовується для розробки речей, які зазвичай написані на C ++: таких як продуктивний бекенд, обробка даних та ключова нетривіальна бізнес-логіка. Загалом, те, що раніше використовувалося для розробки на C ++, .Net або Java, зараз розробляється за допомогою Golang.
Згідно з останніми дослідженнями, зараз існує величезна тенденція і ми плануємо цей попит втамувати.
Golang - з чого почати
У цьому розділі ми розпитали інженера, який не так давно перейшов на Golang - Романа Осташа, Lead Software Engineer, Engineering, GlobalLogic. Його досвід та поради - перед вами!
- В який момент ти вирішив перейти на Golang?
Більшу частину своєї кар’єри я розробляв бекенд на Node.js. В певний момент задачі почали нагадувати рутину, тоді й захотів спробувати щось нове при цьому не змінюючи домену бекенд розробника. Так і звернув увагу на Golang
- Чому Golang на сьогодні є актуальною технологією?
Сучасні сервери вирішують різні бізнес потреби від простих які не потребують відносно високої швидкої до тих де обробка запитів повинна залишаться у суворих межах і завершуватися максимально швидко - це якраз те із чим Golang справляється дуже добре, при тому синтаксис Golang є однозначним що дає перевагу у читабельності коду та його підтримці у майбутньому.
- Чому тобі цікавий саме цей напрям? Скільки часу в цілому зайняло опанування технології?
Мова є достатньо перспективною, на мій погляд, адже вона дозволяє розробляти не тільки сервери, а й десктопні застосунки. Вона близька по швидкодії до С/С++ при цьому на порядок простіша у вивченні.
- Які навички будуть корисними для інженера з Golang? З якої технології буде швидше\простіше перейти?
У мене був досвід роботи із статично типізованими мовами програмування С++/Java тому перехід був досить простий. Познайомившись із базовими конструкціями мови вже через кілька днів зміг писати код необхідний для проєкту.
Навички напевно будуть не дуже специфічні для Golang, а для будь-якої мови програмування. Головне - це намагання зрозуміти ідею та принципи, які вкладаються авторами Golang і постійно слідкувати за апдейтами у самій мові.
Найшвидший та найпростіший буде перехід для інженерів, що мають досвід зі статичними мовами програмування C++/Java/C#. Golang має дуже схожий синтаксис із мовами сімейства С/С++.
- Який момент при переході був найскладнішим?
Перший час було трохи незвично перемикнутися із динамічної типізації на статичну, та зрозуміти концепцію goroutines та як ефективно/правильно із ними працювати.
- А яка була найбільш цікава?
Цікаві моменти якраз пов'язані із goroutines та одним із засобів синхронізації каналами (channels). В node.js я не стикався із чимось подібним, тому було цікаво зрозуміти щось нове і випробувати на практиці. Також мені подобається концепція реалізації інтерфейсів (неявна реалізація), яка надає динамічності та гнучкості при тому ти не втрачаєш контроль за типом, бо мова є строго типізованою.
- Твої побажання тим інженерам, які прагнуть опанувати Golang
Бути в курсі розвитку мови та її останніх апдейтів, а вони будуть :)) та звичайно удосконалювати свої скіли на практиці. Початківцям раджу виконувати тестові задачі та читати літературу. Для інженерів які вже володіють будь-якою мовою програмування – спробувати переписати на Go одну із програм яку колись вони вже реалізовували.
Бажаєте опанувати актуальну технологію? Спробувати щось нове? Тоді чекаємо на вас на Golang GL Crash Course!
Top Insights
Python: чому вивчати та з чого почати?
InsightsSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТонкощі CV або Як скласти та куди надіслати,...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyCI/CD для JS розробників. Частина перша – теорія
DevelopmentSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologySoft and Hard Skills: Що важливіше? Розповідь одного...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТОП автори
Категорії блогів
Давайте співпрацювати
Схожі теми
Мережеві основи
Основні поняття мереж Мережі забезпечують зв'язок між комп'ютерами, пристроями та користувачами навіть на великих відстанях. Вони є основою для спільної роботи, комунікації та обміну ресурсами. Мережа — це система, у якій два або більше комп'ютерів та інших пристроїв з'єднані між собою для обміну даними та ресурсами. Вони можуть бути локальними (LAN), розширеними (WAN), бездротовими (Wi-Fi) … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Основи операційних систем
Windows, Linux, macOS: порівняння та особливості У світі комп'ютерів три операційні системи відіграють ключову роль: Windows, Linux та macOS. Кожна з цих систем має свої унікальні особливості та призначення, що робить їх популярними серед різних категорій користувачів. У цій статті ми розглянемо ці три операційні системи, їхні переваги та особливості. Windows Windows — найпопулярніша операційна … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Основи інформатики та програмування
Вступ до інформатики та IT-сфери Інформатика та технології інформаційної обробки є дверима в швидкоплинну та захоплюючу сферу — сферу інформаційних технологій (IT). У світі, де відсутність доступу до інформації може виявитися прогресивною перешкодою, розуміння основ інформатики та IT-сфери стає критичним для кожної людини. Що таке інформатика та IT-сфера? Інформатика — це наука про обробку та … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Як зберігати і підвищувати власну продуктивність в ІТ
Артур Мицко, Lead Software Engineer, GlobalLogic У компанії Globallogic я пройшов шлях від С++ trainee до Lead Software Engineer. Як зазвичай буває, коли людина приходить в ІТ-компанію вперше — все навколо нове та цікаве, ти не помічаєш як летить час. Чесно кажучи, в перші роки я не сильно то і відпочивав, переважно на свята. Це, … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Як покращити ресурсний стан через оточення
Катерина Васильєва, Senior HRBP, GlobalLogic Ресурсний стан як поняття, яке використовується в психології, медицині, спорті та інших галузях, описує психофізіологічний стан людини, який характеризується рівнем її енергії, витривалості, здатності до праці та концентрації уваги. Відповідно, ресурсний стан впливає на різні аспекти життя людини, і визначається різними чинниками, як то рівень фізичного здоров'я, ступінь стресу або … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Як стати .NET розробником. Перші кроки та поради
Олексій Глембицький, Senior Software Engineer, GlobalLogic Мене звати Глембицький Олексій, я .NET розробник в компанії GlobalLogic, а також проводжу вебінари та викладаю курси по мові програмування С#. І в цій статті я би хотів поділитись порадами, які допомагають моїм студентам опанувати мову програмування С# та стати .NET-розробниками. Про мову програмування C# та платформу .NET C# … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Як покращити презентації
Денис Братчук, Engineering Director, GlobalLogic Майже кожен з нас час від часу виступає із презентаціями чи доповідями, використовуючи як ілюстрацію слайди, створені в популярних офісних програмах, на кшталт PowerPoint або Google Slides. Менеджери проєктів створюють звіти про хід виконаних робіт, інженери презентують новітні технологічні рішення, керівництво звітує про досягнення фінансових цілей, а менеджери з продажів … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Від студента до Trainee-спеціаліста: історія випускника С++ GL BaseCamp
Почати шлях в ІТ під час навчання в університеті — ще той виклик, який вимагає наполегливості і постійної практики. Сергій Піскурський, студент та Trainee Specialist GlobalLogic, приєднався до компанії після проходження С++ GL BaseCamp. Хлопець поділився досвідом навчання перед курсом та підготовки до С++ GL BaseCamp. Чому ти вирішив вивчати С? Коли я почав думати … Continue reading Time to GO: розбираємо, що таке Golang та радимо, з чого почати →
Більше
Share this page:
-
-
-
-
URL copied!