издање програмског језика , који развија Гоогле уз учешће заједнице као хибридно решење које комбинује високе перформансе компајлираних језика са предностима скриптних језика као што су једноставност писања кода, брзина развоја и заштита од грешака. Шифра пројекта под БСД лиценцом.
Го-ова синтакса је заснована на познатим елементима језика Ц са неким позајмицама из језика Питхон. Језик је прилично концизан, али је код лак за читање и разумевање. Го код се компајлира у самосталне бинарне извршне датотеке које се покрећу изворно без коришћења виртуелне машине (профилисање, отклањање грешака и други подсистеми за откривање проблема током извршавања су интегрисани као ), што вам омогућава да постигнете перформансе упоредиве са Ц програмима.
Пројекат је иницијално развијен са циљем вишенитног програмирања и ефикасног рада на системима са више језгара, укључујући обезбеђивање средстава на нивоу оператера за организовање паралелног рачунарства и интеракцију између паралелно извршаваних метода. Језик такође обезбеђује уграђену заштиту од претерано додељених меморијских блокова и пружа могућност коришћења сакупљача смећа.
Главни представљено у издању Го 1.15:
- Линкер је значајно побољшан, како у погледу брзине и потрошње меморије, тако и у погледу поједностављења одржавања кода. Приликом тестирања на оперативним системима који користе ELF формат извршне датотеке (Linux(FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), повезивање типичног скупа великих Go апликација постало је 20% брже, док је потрошња меморије смањена за 30% у просеку. Ово побољшање перформанси омогућено је преласком на нови формат објектних датотека и прерадом интерних фаза ради повећања паралелизма. Изворни линкер се сада користи подразумевано на Linux/amd64 и Linux/arm64 системима у режиму „-buildmode=pie“, који више не захтева употребу C линкера.
- Током времена рада, дистрибуција малих објеката на системима са великим бројем ЦПУ језгара је значајно побољшана, а кашњење је смањено. У случају кварова, вредности са нумеричким и стринг типовима се приказују уместо адресе. Када шаљете СИГСЕГВ, СИГБУС и СИГФПЕ сигнале Го апликацији, у одсуству руковаоца ос/сигнала.Нотифи, апликација ће изаћи са излазом праћења стека (раније је понашање било непредвидиво).
- Компајлер је оптимизован да смањи величину генерисаних извршних датотека у просеку за 5% заустављањем укључивања неких метаподатака за сакупљач смећа и агресивнијим чишћењем неискоришћених метаподатака.
- Ознака “-спецтре” је додата компајлеру и асемблеру да би се омогућила заштита од напада класе Спецтре (за већину програма то није потребно; омогућавање опције може бити оправдано само за ).
- У сертификатима Кс.509, поље ЦоммонНаме је застарело, које се више не третира као име хоста ако недостаје поље Субјецт Алтернативе Намес.
- Команда "го" у променљивој окружења ГОПРОКСИ сада може да наведе више проксија, одвојених зарезом или "|". Ако први прокси на листи врати грешку (404 или 410), тада ће се покушати контактирати преко другог проксија итд.
- Услужни програм вет је додао упозорење о покушају конверзије из стринга(к) ако је „к“ целобројни тип који није руна или бајт.
- Ознака "-гну" је додата услужном програму објдумп да подржи растављање синтаксе ГНУ асемблера.
- Додат је нови пакет , што вам омогућава да интегришете базу података са подацима о временској зони у програм.
- Из изворних текстова и документације фразе бела листа/црна листа и мастер/славе, које су сада замењене са "листом дозвољених", "блоцклист", "процесс", "пти", "проц" и "цонтрол".
- Велики део мањих побољшања је направљен у стандардној библиотеци.
- Додата подршка за ОпенБСД 6.7 у режимима ГОАРЦХ=арм и ГОАРЦХ=арм64 (раније су били подржани само ГОАРЦХ=386 и ГОАРЦХ=амд64).
- Настављен је развој 64-битне РИСЦ-В платформе (ГООС=линук, ГОАРЦХ=рисцв64).
- За 32-битне к86 системе, следеће издање ће подићи минималне системске захтеве - само процесори са ССЕ2 ће и даље бити подржани. Да бисте направили ГОАРЦХ=386 режим, биће вам потребан најмање Интел Пентиум 4 (издан 2000.) или АМД Оптерон/Атхлон 64 (издан 2003.).
Извор: опеннет.ру
