Го програмски језик издање 1.15

Представио издање програмског језика Иди КСНУМКС, који развија Гоогле уз учешће заједнице као хибридно решење које комбинује високе перформансе компајлираних језика са предностима скриптних језика као што су једноставност писања кода, брзина развоја и заштита од грешака. Шифра пројекта дистрибуира под БСД лиценцом.

Го-ова синтакса је заснована на познатим елементима језика Ц са неким позајмицама из језика Питхон. Језик је прилично концизан, али је код лак за читање и разумевање. Го код се компајлира у самосталне бинарне извршне датотеке које се покрећу изворно без коришћења виртуелне машине (профилисање, отклањање грешака и други подсистеми за откривање проблема током извршавања су интегрисани као компоненте времена извршавања), што вам омогућава да постигнете перформансе упоредиве са Ц програмима.

Пројекат је иницијално развијен са циљем вишенитног програмирања и ефикасног рада на системима са више језгара, укључујући обезбеђивање средстава на нивоу оператера за организовање паралелног рачунарства и интеракцију између паралелно извршаваних метода. Језик такође обезбеђује уграђену заштиту од претерано додељених меморијских блокова и пружа могућност коришћења сакупљача смећа.

Главни иновацијепредстављено у издању Го 1.15:

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

Извор: опеннет.ру

Додај коментар