LINUX.ORG.RU

Objective-C для программистов C++

 ,


0

0

Опубликован перевод цикла из трех статей, посвященных языку Objective-C. В цикле рассматриваются множество возможностей этого языка, в том числе и «продвинутые». Приводятся соответствующие аналогии (в случае наличия таковых) из языка C++.

>>> Перевод цикла

Re: Objective-C для программистов C++

Ткнул в ссылку -- бац, баннер с надписью "пора худеть!". Намекает, зараза, чтоб я лучше молчал насчёт C++.

Demon37 ★★★★ ()

Re: Objective-C для программистов C++

> Приводятся соответствующие аналогии (в случае наличия таковых) из языка C++.

Хотя мне самому не нравятся эти метафоры. Но.

Тонко.

PolarFox ★★★★★ ()

Re: Objective-C для программистов C++

Качество перевода таково, что читать английский текст значительно приятнее. Русского осилил несколько абзацев, вот что бросилось в глаза:

> Objective-C является расширенным набором расширений над чистым C

Бгг.

> тулкит

инструментарий

> У неё также был хороший сторонний эффект, заключавшийся в том, что построитель интерфейса не хранил одно только описание интерфейса — он хранил последовательные объекты.

Не "сторонний", а "побочный". Не "последовательные", а "сериализованные". Следующее предложение про модель-представление-контроллер переводчики тупо не осилили.

> Этот трюк не сработал, и, в конечном счете, NeXT пришлось открыть код. Как бы то ни было, открытый код рантайм библиотеки не требовался, поэтому компилятор не работал на любой другой платформе.

Этот трюк не сработал, и, в конечном счете, обязали NeXT открыть код компилятора. Однако, не обязали открыть код рантайм библиотеки, что означало бесполезность компилятора на любых других платформах.

Manhunt ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от Demon37

Re: Objective-C для программистов C++

> Намекает, зараза, чтоб я лучше молчал насчёт C++.

Уж не знаю что у вас там насчет C++, но следующий абзац как бы намекает о качестве Objective-C компиляторов.

> The current code for Objective-C in GCC depends on the branch you use. NeXT kept its own version, which has a barely-maintainable mess with no layering and everything in a single source file, and only supports the NeXT runtime. Mainline GCC includes a completely unmaintainable mess, based on the NeXT code but littered with #ifdefs for the GNU runtime.

Собственно, этим абзацем можно и заканчивать. Писать на _таком_ будет только полный псих^W^W альтернативно одаренный.

Manhunt ★★★★★ ()

Re: Objective-C для программистов C++

> Objective-C был спроектирован как минимальный набор расширений для C

> Objective-C является расширенным набором расширений над чистым C

Парни, вы определитесь все-таки, минимальный, или раширенный, или что у вас там... :D

Manhunt ★★★★★ ()

Re: Objective-C для программистов C++

Спасибо за все замечания. Буду работать и рад услышать ещё критику/пожелания.

Demon37, это AdSense такое генерирует, вроде как «контекстная реклама». Где он там такой контекст увидел — ума не приложу, сам в шоке был, когда увидел, что 7 из 10 объявлений на странице со статьей про Objective-C — про похудание.

n0xi0uzz ()

Re: Objective-C для программистов C++

Очень интересно -- спасибо.

srgaz ()
Ответ на: Re: Objective-C для программистов C++ от Manhunt

Re: Objective-C для программистов C++

Тут дело в разнице между «был спроектирован как» и «является». Времена-то разные. Поэтому и был сначала минимальным, а потом стал — расширенным.

n0xi0uzz ()

Re: Objective-C для программистов C++

Судя по комментам, переводили "Промтом" и редактировали Вордовым спелчекером. гыг :) Это не перевод, господа, это ТУПАЯ ТРАНСЛЯЦИЯ.
Перевод, любой, пишут РУКАМИ. Предварительно имея квалификацию в рассматриваемой области, чтобы избегать ахинестичной терминологии и корректировать "очевидные" для автора недоговорки.

Брался как-то переводить хелп к языку Ди. Воистину, писали Жучка, Внучка и Бабка - каждый по абзацу, а в целом - инфаркт Достоевского. :) Приходилось пояснять и даже вводить новые термины, иначе засрут окончательно мозги новичкам. До сих пор передёргивает от опупительно умного слова static, коее применяют атбалды.

matumba ★★★★★ ()

Re: Objective-C для программистов C++

"валидный"... млять, "ХиФи, Клюева, последняя модель!". :)))))
Не "валидный", а "корректный"!

matumba ★★★★★ ()

Re: Objective-C для программистов C++

перевод - незачёт
Objective-C не впечатляет особо, те же грабли, только в профиль, вот D куда интереснее

PayableOnDeath ()

Re: Objective-C для программистов C++

Недо-полу C# какой-то...

d9d9 ★★★ ()

Re: Objective-C для программистов C++

Добавил в букмарки неглядя

yoghurt ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от matumba

Re: Objective-C для программистов C++

matumba, поверьте, переводили руками, а не «Промтом». Странно, что вы не можете отличить. Причем переводили несколько дней, просто для того, чтобы в рунете появилось больше и причем уникальной документации.

Что касается слова «валидный» — поверьте, оно давно уже в русском языке широко используется. Тем не менее, оно было заменено для соблюдения целостности на предложенный вариант. Спасибо за замечание.

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

n0xi0uzz ()
Ответ на: Re: Objective-C для программистов C++ от n0xi0uzz

Re: Objective-C для программистов C++

>matumba, поверьте, переводили руками, а не «Промтом».

за "времена запуска" однозначный зачёт. Вы переплюнули Промпт :)

geek ★★★ ()
Ответ на: Re: Objective-C для программистов C++ от mamay_cozak

Re: Objective-C для программистов C++

> Если бы ты видел, какие для него ябл наделал фреймворки, ты бы плевался от одного упоминания C#

C# мой хлеб. Хлебом не плюются :-P
И если честно, я слабо представляю что там за фантастические фреймворки без которых прекрасно работается :)

d9d9 ★★★ ()

Re: Objective-C для программистов C++

Очень интересно, с удовольствием прочел.

А про @defs я даже и не знал. Но на практике пользы от него и не очень много.

Farcaller ★★ ()
Ответ на: Re: Objective-C для программистов C++ от Manhunt

Re: Objective-C для программистов C++

> The current code for Objective-C in GCC depends on the branch you use. NeXT kept its own version, which has a barely-maintainable mess with no layering and everything in a single source file, and only supports the NeXT runtime. Mainline GCC includes a completely unmaintainable mess, based on the NeXT code but littered with #ifdefs for the GNU runtime.

> Собственно, этим абзацем можно и заканчивать. Писать на _таком_ будет только полный псих^W^W альтернативно одаренный.

Хм. Однако GNUstep, похоже, неплохо себя чувствует на этом Mainline GCC, который includes a completely unmaintainable mess :)

fiowro ★★ ()
Ответ на: Re: Objective-C для программистов C++ от Manhunt

Переводчики, блин, самодеятельность... :(

>>> This trick didn't work, and NeXT was eventually required to release the code. However, releasing the source code for the runtime library wasn't required, which meant that the compiler wasn't useful on any other platforms.

>> Этот трюк не сработал, и, в конечном счете, NeXT пришлось открыть код. Как бы то ни было, открытый код рантайм библиотеки не требовался, поэтому компилятор не работал на любой другой платформе.

> Этот трюк не сработал, и, в конечном счете, обязали NeXT открыть код компилятора. Однако, не обязали открыть код рантайм библиотеки, что означало бесполезность компилятора на любых других платформах.

Всё бы ладно, да только слово runtime оказалось сложноватым для перевода. Если это слово в английском не является определением, оно переводится как "среда выполнения", если является определением -- переводится сложным дополнением "времени выполнения" (именно так должно быть в приведённм выше фрагменте).

Сложность в том, сто на самом деле ни о какой среде выполнения (как в яве) здесь речь не идёт, а автор употребляет слово runtime корайне неаккуратно. Именно это обстоятельство я и хотел бы добавить к посту г-на Manhunt, с которым полностью согласен, даже более того, сказал бы, что он несколько приукрасил ситуацию, -- она ещё хуже...

Orlusha ★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от geek

Re: Objective-C для программистов C++

>> matumba, поверьте, переводили руками, а не «Промтом».

> за "времена запуска" однозначный зачёт. Вы переплюнули Промпт :)

Ничего они не переплюнул. Трактовка слова run как "запуск" взята... у микрософта из интерфейса всех версий венды, начиная с 95 (!!!). Так что не очень компетентный в разработке переводчик с урезанным TLIS под боком именно такое и мог выдать.

Orlusha ★★★★ ()
Ответ на: Переводчики, блин, самодеятельность... :( от Orlusha

Re: Переводчики, блин, самодеятельность... :(

> Сложность в том, сто на самом деле ни о какой среде выполнения (как в яве) здесь речь не идёт, а автор употребляет слово runtime корайне неаккуратно.

Применительно к C и C++ слово runtime используется довольно часто. Его можно встретить в стандарте c++ (iso/iec 14882). Его можно встретить в msdn. Или вот еще пример:

> The term C run-time library is used on some platforms to refer to a set of base libraries, which may be distributed in dynamically linkable form with an operating system (with or without header files), or distributed with a C compiler.

В книжке Страуструпа говорится об "runtime type information", что переводят как "информация о типе на этапе выполнения".

Ну а "рантайм" я написал потому, что именно это слово используется повсеместно в сабжевом переводе. И мне лично глаз не режет.

Manhunt ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от Orlusha

Re: Objective-C для программистов C++

> Так что не очень компетентный в разработке переводчик с урезанным TLIS под боком именно такое и мог выдать.

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

Manhunt ★★★★★ ()
Ответ на: Переводчики, блин, самодеятельность... :( от Orlusha

Re: Переводчики, блин, самодеятельность... :(

> Всё бы ладно, да только слово runtime оказалось сложноватым для перевода. Если это слово в английском не является определением, оно переводится как "среда выполнения", если является определением -- переводится сложным дополнением "времени выполнения" (именно так должно быть в приведённм выше фрагменте).

> Сложность в том, сто на самом деле ни о какой среде выполнения (как в яве) здесь речь не идёт, а автор употребляет слово runtime корайне неаккуратно. Именно это обстоятельство я и хотел бы добавить к посту г-на Manhunt, с которым полностью согласен, даже более того, сказал бы, что он несколько приукрасил ситуацию, -- она ещё хуже...

Интересно, эту ерунду вы сами выдумали, или у кого подсмотрели?

http://en.wikipedia.org/wiki/Runtime

- занимайтесь ликбезом. Автор статьи использовал термин "runtime library" совершенно верно.

Spectr ★★★ ()

Re: Objective-C для программистов C++

+1 Да, перевод не без шероховатостей. Но, спсибо за труд. Жаль, что в Linux хреново исполбзуется Obj-C, ну хм-хм посмотрим что та с Etoile.

Остальное либо не Linux, либо зря.

Автору поста спасибо :)

sleepflint ★★★ ()

Re: Objective-C для программистов C++

Спасибо

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

А вот статей про это на грани гениальности расширение С/С++ на русском не хватала

Меня последнее время интересует obj-c++, по идее это должно дать очень МОЩНЫЕ возможности разработки

namezys ★★★★ ()

Re: Objective-C для программистов C++

>В ранних 1990-х

боже мой, кто это переводил?!

fizteh ()

Re: Objective-C для программистов C++

>// C++

>Object->function();

>// C

>function(Object);

>Версия на C++ длиннее, но не дает каких-либо семантических отличий.

Ничего, что в разных классах могу быть одноименные методы? Или отдельное пространство имен за разницу не считается?

AVL2 ★★★★★ ()

Re: Objective-C для программистов C++

с++ - ассемблер с классами

objective-c - питон с указателями.

AVL2 ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от n0xi0uzz

Re: Objective-C для программистов C++

>...появилось больше и причем уникальной документации...

и

>...как следствие и во-вторых...

мне кажется, вы даже шамана способны переплюнуть, не то что промт

очень большие проблемы с согласованием всего со всем.

в статье:

>... набор минимальных расширений к C для просто поддержки объектов ...

«просто для»

райнтайм-библиотека пишется через дефис

>Это может выглядеть странным для тех, кто более близок к синтаксису C

я не близок к синтаксису Си, но мне близок синтаксис Си.

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

Это вообще не по-русски. Предложение с семантической точки зрения лишено смысла. Дело опять таки в согласовании: «Это работает немного быстрее, но усложняет последующую оптимизацию или добавление нового кода». Так ведь немно лучше?

«приведение» — оно а не он! :)

множественное наследования -> ние

И т.д. Огромное количество спорных мест, за которые любой ответсек или литредактор откусил бы голову. Очень много калькированных с английского оборотов, много шероховатостей, таких оборотов, какие носитель русского языка не применил бы ни в устной, ни в письменной речи.

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

И еще, жалко что сайт не на wiki.

Ingwar ★★★★★ ()

Re: Objective-C для программистов C++

>objective-c - питон с указателями.
Дикий ублюдок Smalltalk'а и C.

WatchCat ★★★★★ ()

Re: Objective-C для программистов C++

>Метод -map, примененный к массиву, возвращает объект прокси с помощью метода forwardInvocation:, реализованного подобным образом

Вот тут, скорее всего, баг. map должен определять метод forwardInvocation:, а не вызываться с помощью этого метода.

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

adarovsky ★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от adarovsky

Re: Objective-C для программистов C++

блин, у самого с русским нелады. Объект-прокси, который возвращается сообщением map, должен определять метод forwardInvocation:. А по тексту получается так, что если массиву послать сообщение map, то оно с помощью forwardInvocation: вернёт прокси.

adarovsky ★★★★ ()

Re: Objective-C для программистов C++

Вот это обрадовало:

> Вы можете указать, что указатель должен указывать

kost-bebix ★★ ()

Re: Objective-C для программистов C++

насколько я понял, в сабжевом языке есть рудимен^W минимальная поддержка синхронизации в многопоточной среде из коробки (@synchronized); и не надо на каждый чих взывать к средствам операционной системы и/или сторонним библиотекам.

Непонятно только, есть ли у него какие нибудь стандарты, или каждый гнет в свою сторону?

d_a ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от shutty

Re: Objective-C для программистов C++

: > с++ - ассемблер с классами

: > objective-c - питон с указателями.

: С# - попа с ручкой


гаааааа :) Ну вы жгуны, братва! :)))))))

Java - кофе, пропущенное через sun.

matumba ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от d_a

Re: Objective-C для программистов C++

> Непонятно только, есть ли у него какие нибудь стандарты, или каждый гнет в свою сторону?

В общем то языковой стандарт один

А вот реализации могут быть какие угодно

namezys ★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от namezys

Re: Objective-C для программистов C++

> А вот реализации могут быть какие угодно

ну, правильно, - т.е. не соответствующие стандарту. Это я к тому, что код с ГНУстеп на яббловскую платформу не перенести без утомительной процедуры пилинга. Как и обратно.

d_a ★★★★★ ()

Re: Objective-C для программистов C++

синтаксис objective-с как бы намекает на денатурат, который пили его (obj-c) создатели

frame ★★★ ()

Re: Objective-C для программистов C++

безграмотная статья

yeolahim ()

Re: Objective-C для программистов C++

Хорошая статья! Реклама мегарулезной макоси.

Bioreactor ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от frame

Re: Objective-C для программистов C++

> синтаксис objective-с как бы намекает на денатурат, который пили его (obj-c) создатели

Если фрейм-кун в молодости программировал на Смолтоке, то такую глупость бы не напейсал. В книжке Mac OS X Leopard: Beyond the Manual обосновывается, чем смолтокоподобный синтаксис лучше С-приплюснотого.

Впрочем, кульхакеры-студиоузы (типа "крутые линуксоиды"), еле осилившие на 1-ом курсе АЯП Цэ++, автору которого "место в дурке или на погосте" (с), как говаривал Профессор Лугоффский, даже троллить грамотно (т.е. доставляюще) не умеют.

Bioreactor ★★★★★ ()
Ответ на: Re: Objective-C для программистов C++ от Bioreactor

Re: Objective-C для программистов C++

>Если фрейм-кун в молодости программировал на Смолтоке, то такую глупость бы не напейсал.

Да, фрейм-кун в молодости не программировал на Смолтолке и не смотрел онемэ, что вообще-то его не сильно огорчает (скорее наоборот)

>Впрочем, кульхакеры-студиоузы (типа "крутые линуксоиды"), еле осилившие на 1-ом курсе АЯП Цэ++, автору которого "место в дурке или на погосте" (с), как говаривал Профессор Лугоффский, даже троллить грамотно (т.е. доставляюще) не умеют.

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

frame ★★★ ()
Ответ на: Re: Objective-C для программистов C++ от Bioreactor

Re: Objective-C для программистов C++

>Если фрейм-кун в молодости программировал на Смолтоке, то такую глупость бы не напейсал. В книжке Mac OS X Leopard: Beyond the Manual обосновывается, чем смолтокоподобный синтаксис лучше С-приплюснотого

Выбрось исключение на Obj-C, не перехватывай его и посмотри на стек. Узри, что всё завёрнуто в исключения C++, и сделай вдоль, пожалуйста, нелюбитель праативных сиплюсов.

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