Издање компајлера Д језика 2.100

Програмери програмског језика Д представили су издање главног референтног компајлера ДМД 2.100.0, који подржава ГНУ/Линук, Виндовс, мацОС и ФрееБСД системе. Код компајлера се дистрибуира под бесплатном БСЛ (Боост Софтваре Лиценсе).

Д је статички откуцан, има синтаксу сличну Ц/Ц++ и обезбеђује перформансе компајлираних језика, док позајмљује неке од предности развоја и безбедности динамичких језика. На пример, пружа подршку за асоцијативне низове, закључивање типа, аутоматско управљање меморијом, паралелно програмирање, опциони сакупљач смећа, систем шаблона, компоненте за метапрограмирање, могућност коришћења Ц библиотека и неке Ц++ и Објецтиве-Ц библиотеке.

Међу променама у новом издању:

  • Стари стил преоптерећења оператера који се користио у грани Д1 је укинут. Замењује опНег, опАдд_р, опАддАссигн, итд. дошли су опУнари, опБинари, опБинариРигхт и опОпАссигн. Стари стил преоптерећења оператера је застарео 2019. године и избациће грешку од издања 2.100.
  • Кључна реч делете је застарела од 2018. Уместо брисања, требало би да користите функцију уништавања или цоре.мемори.__делете.
  • Имплементиран је нови атрибут @мустусе који се може применити на типове структуре и уније као алтернативни метод руковања грешкама када код не може да обрађује изузетке (на пример, у блоковима @ногц). Ако се израз означен атрибутом @мустусе не користи у коду, компајлер ће генерисати грешку.
  • За статичке низове, коришћење својства ".туплеоф" је дозвољено за добијање низа вредности (лвалуе) сваког елемента низа. воид фоо(инт, инт, инт) { /* … */ } инт[3] иа = [1, 2, 3]; фоо(иа.туплеоф); // аналогни фоо(1, 2, 3); флоат[3] фа; фа.туплеоф = иа.туплеоф; // једноставно додељивање фа = иа резултира грешком ассерт(фа == [1Ф, 2Ф, 3Ф]);

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

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