Стандартна бібліотека мови go: gui і бази даних

Стандартна бібліотека мови Go: GUI і бази даних
У стандартній бібліотеці немає пакетів для роботи з GUI і базами даних, але є сторонні обгортки для багатьох бібліотек, написаних на Сі: https://go-lang.cat-v.org/library-bindings. З баз даних доступні цілих чотири обгортки для sqlite3 і три для MySQL. Також є дві обгортки для ODBC і, як не дивно, тільки одна для PostgreSQL.

Таке дублювання сильно ускладнює вибір оптимального пакету, оскільки доводиться спочатку розбиратися у відмінностях між різними обгортками і їх якістю. Оскільки ніяких вбудованих засобів для роботи з базами даних в Go не передбачено, рівень абстракції при їх використанні повністю визначається обраною обгорткою. В цілому цей рівень дуже близький з вихідного API, тобто досить низький. Працювати з базами даних в Go так само нудно, як і в Сі.

Мова Go спочатку не розрахований на десктопні графічні програми і його творці прямо вказують, що кращий спосіб створення призначеного для користувача інтерфейсу на Go - написання веб-додатків. Однак веб-додатки підходять далеко не для всіх задач, а «спагетті» з HTML, javascript, CSS і Go, неминуче виникає при їх написанні, на мій погляд, виглядає далеко не так елегантно, як монолітна програма, повністю написана на одній мові. Природно, що в Go з`явилися прив`язки до різних GUI-тулкіта.




На сьогоднішній день вони існують для GTK +, wxWidgets, FLTK і IUP. Найбільш зрілою і повної є прив`язка go-gtk (https://github.com/mattn/go-gtk). По суті вона не більше, ніж тонкий прошарок, що додає об`єктно-орієнтовану нотацію, але в цілому нічим не відрізняється від моторошного API з GTK +.




висновки

Так чи хороша мова Go, як його рекламує Google? Оцінка мови програмування завжди дуже суб`єктивна і сильно залежить від розв`язуваних завдань, але постараюся все ж її дати. Мова Go не універсальний, не дуже швидкий і, на мій смак, не дуже вродливий синтаксично і ідейно. У ньому бракує багатьох звичних речей, таких як нормальне успадкування та узагальнені класи. Стандартну бібліотеку знаходжу еклектичною і не особливо продуманої - взяти хоча б згадану плутанину в методах контейнерних класів. Створюється враження, що і сама мова, і стандартна бібліотека створювалися дуже швидко, в поспіху. Зате на Go дуже легко працювати з нитками і організовувати їх паралельне взаємодія. Втім, мабуть, це і все, чим він помітно перевершує інші мови нової хвилі (до речі, робота з нитками в D реалізована трохи складніше). Ось у чому Go на голову перевершує конкурентів, так це в якості документації та рекламі.

Стандартна бібліотека мови Go: GUI і бази даних
Емблема Plan 9

Особисто у мене залишилося негативне враження від Go. Склалося враження, що своїм успіхом він зобов`язаний більше того, що за ним стоїть всесильний Google, а не своїми об`єктивними якостями. Будь Go створений малої групою ентузіастів, навряд чи він став би більш відомою свого ідейного попередника Limbo, про який знають лише деякі люди, причетні до «субкультурі» системи Plan 9.

ІНШЕ

Juce: враження і висновки фото

Juce: враження і висновки

Відео: Малайзійка на підлогу шишечки - NASTY Juice! Бібліотека Juce виробляє двояке враження. Багато її можливості…

At & t: мови програмування фото

At & t: мови програмування

Відео: Улюблені мови програмування в Яндексі Дистрибутив Yoix включає в себе Yoix Web Application Instant Template…

» » Стандартна бібліотека мови go: gui і бази даних