LINUX.ORG.RU

GNUstep Objective-C Runtime 1.6

 , ,


0

2

Доступен очередной релиз GNUstep Objective-C Runtime, свободной реализации библиотек Apple Cocoa и связанных с ними компонентов Mac OS X. Предыдущая версия вышла чуть более года назад. Это седьмой официальный релиз GNUstep Objective-C Runtime, на текущий момент поддерживается Objective-C 2.

Основные изменения:

  • совместимость с новым runtime API, введенным в Mac OS X 10.7 / iOS 5;
  • поддержка малых объектов (small object), на 32-разрядных системах разрешен 1 small object, на 64-разрядных - 4;
  • поддержка prototype-stype ООП, вы можете добавлять методы и связанные ссылки к отдельным объектам и клонировать их. Реализована полная поддержка объектной модели JavaScript, включая возможность использования блоков в качестве методов на платформах x86, x86-64 и ARM;
  • поддержка Apple-совместимых ojbc_msgSend() функций для x86, x86-64 и ARM. Использование их наполовину уменьшает стоимость операций отправки сообщений и уменьшает окончательный размер на 10%;
  • реализована полная поддержка POSIX Makefiles, они используются по-умолчанию, если не установлен GNUstep Make;
  • улучшения включают новые оптимизации для LLVM. Цикл на 200,000,000 class messages на Xeon 2.8GHz проходит за 0.8 секунды со всеми оптимизациями (включая speculative inlining). С -Os, тест проходится за 2 секунды. С принудительным IMP caching в исходном коде, тест проходится за 1.2 секунды. Для сравнения: тот же тест на GCC Objective-C runtime проходится за 11 секунд.

SVN-репозиторий: svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.6
Тарболл
Новость на Phoronix

>>> Подробности

★★★★★

Проверено: maxcom ()
Ответ на: таки падает от RoadRunner

ОС висла или тунец? В терминале последнему kill послать невозможно было?

Не могу сказать, что долго на маке просидел, оно тут на халяву досталось, сижу пару месяцев всего, присматриваюсь, но что касается ос - работает и каши не просит. И у прежнего владельца - дочери - года полтора как работало и не валилось.

Reaper ★★
()

сперва подумал, что все комментаторы прочитали из новости только первое слово заголовка

друзья, причем тут Cocoa вообще, Cocoa растет из класса NSObject какового в GNUstep Objective-C Runtime не реализовано, NSObject прорастает в самом GNUStep, так называемой части gnustep-base

$ qlist -L libobjc2
/usr/lib64/libobjc.so.4.6.0
/usr/lib64/libobjc.so.4
/usr/include/objc/encoding.h
/usr/include/objc/Protocol.h
/usr/include/objc/Availability.h
/usr/include/objc/runtime-deprecated.h
/usr/include/objc/objc-auto.h
/usr/include/objc/Object.h
/usr/include/objc/objc-api.h
/usr/include/objc/objc-arc.h
/usr/include/objc/toydispatch.h
/usr/include/objc/capabilities.h
/usr/include/objc/developer.h
/usr/include/objc/blocks_runtime.h
/usr/include/objc/objc.h
/usr/include/objc/slot.h
/usr/include/objc/runtime.h
/usr/include/objc/hooks.h
/usr/lib64/libobjc.so

грубо говоря, компилятор с поддержкой ObjC и libobjc соответствует компилятору с поддержкой C без стандартных библиотеки libc - писать программы на языке можно, но не особенно нужно

hizel ★★★★★
()
Ответ на: комментарий от Reaper

мак действительно работает... но какое же говно его API

это даже не api а структурированный хаос

ckotinko ☆☆☆
()
Ответ на: комментарий от uin

> Как это нет, а Женя Касперский иного мнения.
бизнесменам видней...

Макосники такие макосники.

> Гуй в маке трудноюзабельное говно.
Кнопачки не_там где_надо - угадал?

Нет не угадали. Меняйте вашу угадывалку.

andreyu ★★★★★
()
Ответ на: комментарий от Reaper

> Глючит не хуже винды. Но ярые маководы не видят очевидного.
> Как это нет, а Женя Касперский иного мнения.
> Использую macports, но это говно. Хотя лучше с ним, чем через него.
> Гуй в маке трудноюзабельное говно.
Сплошные лозунги. Похоже на мантры.

Ну так покажите, где я ошибся?

andreyu ★★★★★
()
Ответ на: комментарий от AVL2

порты в маке недоделанные. даже юникода в мс нет. Не все собирается да и вообще имхо глупо на каждом компе сборку устраивать. Нужны репы с рпмками...


Чё это нет юникода, всё есть. Пруф: http://i40.tinypic.com/34zzwcj.png

Ivanz
()
Ответ на: комментарий от andreyu

Ну так покажите, где я ошибся?

Ну, давайте по порядку.

Глючит не хуже винды

За последние десять лет виндовсы стали достаточно стабильными для домашних пользователей. Оно уже живёт не пару месяцев при интенсивных установках / удалениях ПО, а просто очень долго. С включённой автоустановкой апдейтов, не используя интернет эксплорер в качестве браузера, не устанавливая софт непойми откуда, не шарясь по варезникам и порносайтам и не запуская всякие кряки / кейгены, риск подхватить заразу вообще не используя антивирусный софт, минимальный.

Т.е. во-первых, я не согласен с тем, что абстрактно - «виндовс глючит».

Во-вторых, ну, где они глюки? Ядро Darwin глючит, BSD сервисы или гнутые утилиты? У кого-то тунец повисал? И поэтому ОС «глючит»? Тунец это не ОС.

Как это нет, а Женя Касперский иного мнения.

В линуксе есть вирусы. Примерно штук сто. Из них примерно штук десять постаравшись можно собрать. Но вы поищите кого-нибудь, кто подцепил заразу. Я таких не знаю. А про эпидемии вирусов на линуксе вообще никто не знает. Но маразматик Женя в курсе о вирусной угрозе для линукса. А теперь вопрос, вы знаете, что Mac OS X это настоящий сертифицированный UNIX? С жёстким разделением прав доступа и изоляцией пользовательских данных присущие юниксам. Откуда там вирусы? Есть только одни прототипы, работоспособность которых преувеличена только в мозгах антивирусных контор.

Проблемы как и в линуксе нет как класса сейчас.

Использую macports, но это говно. Хотя лучше с ним, чем через него.

Попробуйте Homebrew, если Macports не устраивает.

Гуй в маке трудноюзабельное говно.

Если без экстремизма считая, что только тайловые WM имеют права на существование, чем плох этот гуй?

Reaper ★★
()
Ответ на: комментарий от Reaper

Т.е. во-первых, я не согласен с тем, что абстрактно - «виндовс глючит».

Если вы не видите глюков, то это не значит, что их нет.

Во-вторых, ну, где они глюки? Ядро Darwin глючит, BSD сервисы или гнутые утилиты? У кого-то тунец повисал? И поэтому ОС «глючит»? Тунец это не ОС.

Проблемы с экранной клавиатурой не могут исправить уже много времени. Spaces крив до безобразия - чередование переключений по cmd+tab и cmd+N приводит к глюкам переключения. Вообще о глюках можно много говорить, но ведь яблофанатам говорить о них бесполезно.

Кстати, тунец тоже глючит. А его «удобство» заслуживает отдельной темы разговора.

А теперь вопрос, вы знаете, что Mac OS X это настоящий сертифицированный UNIX?

Я знаю, что яблочная компания получила корочку. И что? В исходном сообщении говорилось, что вирусов для макоси нет. Но это не так. Да, они «работают» так же, как и вирусы для линукса. Но они, млять, есть.

> Использую macports, но это говно. Хотя лучше с ним, чем через него.
Попробуйте Homebrew, если Macports не устраивает.

Так где, млять, противоречие в моих словах? Макпортс говно. Вы с этом согласились, предложив мне Homebrew.

Если без экстремизма считая, что только тайловые WM имеют права на существование, чем плох этот гуй?

Гуй в маке снижает производительность. Все управление окнами сделано через жопу. Ради этого придумана куча костылей.
Элементарное изменение размеров окна делается только за правый нижний уголок - пестец, удобство.
В некоторых приложениях дефольтная кнопка нажимается только мышой. Да, можно свалить проблему на разрабов приложений, но макосный фреймворк этому способствует.

Возможно проблема кроется в том, что я не могу закрывать глаза на очевидную кривизну макоси, т.к. использую ее не так, как предполагал архитектор (или все же дизайнер) яблочной компании.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Элементарное изменение размеров окна делается только за правый нижний уголок - пестец, удобство.

Вообще в 10.7 этот идиотизм наконец-таки поправили. Хотя дебилизма в OS X хватает. Из замеченного лично мною:

1. Проблемы с обновлением курсора мыши. Временами он нихера не реагирует на изменение элемента под ним.

2. Размещаем на одном рабочем столе Chrome, на втором — терминал и QtCreator. Переключаемся между приложениями тыкая мышкой в док. Нарушается Z-порядок при смене рабочих столов.

3. Lion-специфичное. Долбанутый autosave, который теперь перезаписывает исходный документ. Какой сцуко дебил придумал, что это хорошо? Отключить нельзя, все в стиле Apple.

Ну и еще всяких косяков по мелочи наберется вагон и маленькая тележка. Концепция управления окнами прекрасно компенсируется наличием тачпада и жестами, но просто с мышкой это был бы ад.

Да, и оно таки виснет. Мой ноутбук раз в неделю-две просто отказывается просыпаться, радуя черным экраном. Так что нихрена этот OS X не панацея. Просто еще одна OS со своими достоинствами и недостатками.

anonymous
()
Ответ на: комментарий от anonymous

Элементарное изменение размеров окна делается только за правый нижний уголок - пестец, удобство.
Вообще в 10.7 этот идиотизм наконец-таки поправили.

Каюсь, зажал пару баксов и не перешел на 10.7.

Хотя дебилизма в OS X хватает. Из замеченного лично мною:
1. Проблемы с обновлением курсора мыши. Временами он нихера не реагирует на изменение элемента под ним.

Точно, про этот баг я забыл. Вначале он меня сильно раздражал, потом я к нему привык.

2. Размещаем на одном рабочем столе Chrome, на втором — терминал и QtCreator. Переключаемся между приложениями тыкая мышкой в док. Нарушается Z-порядок при смене рабочих столов.

Угу, про это я и говорил.

3. Lion-специфичное. Долбанутый autosave, который теперь перезаписывает исходный документ. Какой сцуко дебил придумал, что это хорошо? Отключить нельзя, все в стиле Apple.

Пестец.

Концепция управления окнами прекрасно компенсируется наличием тачпада и жестами, но просто с мышкой это был бы ад.

Вначале они сделали кривую реализацию, потом для компенсации придумали костыли.

Да, и оно таки виснет. Мой ноутбук раз в неделю-две просто отказывается просыпаться, радуя черным экраном. Так что нихрена этот OS X не панацея. Просто еще одна OS со своими достоинствами и недостатками.

Сразу видно, что вы не фанат. Фанаты проблем не замечают.

andreyu ★★★★★
()
Ответ на: комментарий от anonymous

Началось неконструктивное пережёвывание жвачки. Вы начинаете троллить и фокусировать разговор на незначащих для исходного сообщения, которое вы прокомментировали, деталях.

Понятно же, что когда я написал, что одно из достоинств - это отсутствие вирусов, то речь идёт про то, что пользуешься маком - о вирусах не слышишь, точно так же как и в линуксе. К чему бессмысленное буквоедство?

Второе. За приклеивание оппоненту ярлыков в приличном обществе бьют канделябрами по мордасам.

Третье, заявления про абстрактные глюки в виндовсе делать можно, только обсуждать нечего становится. И вообще. Вы не фанат виндовса случайно? Вижу, прекрасно разбираетесь, знаете о глюках. Вы не с винфака, не? Может, вы того хуже, ЯРЫЙ фанат виндовса? Это не заразно? О_о

Короче, вовсе не обязательно быть фанатом яблок, чтобы проблемы с тунцом (интересно, как их повторить?) совершенно не волновали. Или проблемы со Spaces. Из прошлой версии ОС, которую я и не видел. Или то, что ресайз был за один угол. Или то, что тунец для вас неудобный.

А знаете почему?

Потому, что «гуй в маке снижает производительность» эти просто бессмысленный пизд#жь. Производительность чего? Мышетаскания окошек? А вы их не таскайте, вы работайте. Или не работайте, но тогда и про мифическую производительность не надо.

Вот я запускаю Emacs и работаю. Мне вообще почти безразлична ОС. Были претензии к виндовсу несколько лет назад, когда на голом месте возникал BSOD, остались претензии сейчас, когда окружение для Emacs-а - Cygwin - это чужеродный костыль в ОС, а претензии по «глюкам ОС» уже испарились. В линуксе для работы всё прекрасно и в макос тоже.

В нашем обсуждении я говорю о сути, а вы возражаете обосновывая какой-то непонятный онанизм. Вот, анонимус по делу сказал про проблему с автосохранением в QtCreator и про проблему со сном, а всякие тунцы это совершенно пофиг, не нравится тунец, используйте другой плеер.

Reaper ★★
()
Ответ на: комментарий от AVL2

Не прогибаются маководы под изменчивый мир, поэтому мир прогибается под них...

Толсто. Мак лучше винды, но у линукса он явно отсасывает. Линукс достаточно порой бывает просто выбрать. А мак - он один. Я не знаю сколько часов нужно убить на то, чтобы сделать из него то, что будет оптимально для конкретного человека. Потому что из коробки ни хрена его нельзя настроить. Ну и тормоза, ШГ, проги падают.

А новость хорошая. Можно обжектив си позадрачивать дома без мака.

RR42
()
Ответ на: комментарий от anonymous

Элементарное изменение размеров окна делается только за правый нижний уголок - пестец, удобство.

Вообще в 10.7 этот идиотизм наконец-таки поправили. Хотя дебилизма в OS X хватает.

Наконец-то пофиксили. Хочу другой мак. Это такое УГ.

Ну и еще всяких косяков по мелочи наберется вагон и маленькая тележка. Концепция управления окнами прекрасно компенсируется наличием тачпада и жестами, но просто с мышкой это был бы ад.

Да, это ад. В Xcode 4.2 когда открыто 5 и более проектов (и их нельзя открыть в одном окне, как в Qt Creator, например) - это настоящий пестец. Способ выбрать нужное окно номер 1: разбросать как мусор окошки так, чтобы был видны только края и щелкать рандомно на вылезающие края, пока не найдешь нужное. Способ номер 2: сворачивать окна в док, но это не вариант, потому что иконки в доке одинаковые и безымянные, когда щелкнешь на иконку, окно УБИРАЕТСЯ из дока. Если это не то окно, то тебе нужно его вернуть и запомнить куда оно попало в док, чтобы его нечаянно еще раз не отрыть. Нашел сочетание клавиш «super + `» (или ctrl там еще...) - переключение между окнами одного приложения. Спасает, но это, блин, список, а не доступ по ключу!!

RR42
()
Ответ на: комментарий от Reaper

Вы стандартный терминал запускаете? Попробуйте iTerm2.

Да, его. Спасибо, попробую как только буду снова работать в OS X.

Nanodesu
()
Ответ на: комментарий от Sanitar

«Продолжайте писать, ваше мнение ценно для нас.» (ц)

Киса, ку-ку!

Reaper ★★
()
Ответ на: комментарий от Reaper

тунец. ос не висла, тунца можно было кильнуть и без терминала. хотя могу сильно ошибаться - дневник не веду, а память очень подводит. помню, что осадочек остался (:

RoadRunner
()
Ответ на: комментарий от RR42

В Xcode 4.2 когда открыто 5 и более проектов (и их нельзя открыть в одном окне, как в Qt Creator, например) - это настоящий пестец. Нашел сочетание клавиш «super + `» (или ctrl там еще...) - переключение между окнами одного приложения. Спасает, но это, блин, список, а не доступ по ключу!!


Тоже долго к этому привыкал.. Люто бешено раздражает..
Еще многие программы висят в фоновом режиме (в трее, например) но продолжают сидеть в списке super+tab. Скажем finder всегда там мешается, даже когда окон не открыто.
Кроме того закрытие всех окон не завершает программу. Нужно либо залезать в меню, либо жать super+Q. Вроде мелочь, а достает.
Вообще в маке нет разумного простого и удобного способа переключения между окнами.
Про ресайз окон уже говорили, еще добавлю что окно можно случайно переместить просто промахнувшись между элементами управления в меню. Зачем это и кому нужно не понятно. Для таскания окон есть заголовок..
Наверное, к этому всему можно и привыкнуть, но вот уже год как периодически пишу под мак и иос, и изжить дискомфорт не могу..
Продолжу.
Док крайне туп. Если он болтается на экране приложения разворачиваются до его верхней границы. Но этой самой границы просто не видно. Есть верхний край ряда иконок, которых к тому же скорее всего не хватает, чтобы растянуться на всю ширину экрана. В результате даже работая в полноэкранном режиме просвечивает рабочий стол и все выглядит крайне глупо. К тому же страдает полезное пространство экрана. Если же док свернут, то чтобы им воспользоваться нужно постоянно ждать когда же он вылезет.. Секунда? Ну да, а посчитайте количество обращений!
Вообще все эффекты радуют только по началу. Потом отнимают время..
Строка меню сверху экрана удобна только для полноэкранных приложений. А если окно меньше и не в верхнем левом углу (а положение по умолчанию по центру!), то приходится наматывать лишние пикселы мышкой. Утомляет.
Вирусов в маке я не замечал, а вот со стабильностью не все гладко (и речь не о хакинтошах). Нередко при повисании, скажем, сафари на пару секунд перестает отзываться вся(!) система. И почему док не отзывается пользователю если проблема только у сафари не понятно.
Вообще бывали падения и не только сторонних программ, но и, скажем, xcode. И это все понятно - идиального кода не бывает. Но стабильность мака - миф. Ко всему прочему после недавнего обновления при отладке на ios устройстве в xcode последний иногда начинает немеренно кушать процессор, что, как вы сами понимаете, радости процессу не добавляет.
По теме - obj-c не чета плюсам (не говоря уж об чем-то там другом) толку от проекта - ноль. НЕ НУЖНО.

Fess
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.