Re[4]: Сколько платить Mac/Unix разработчику?
От: MescalitoPeyot Украина  
Дата: 08.03.12 12:12
Оценка: 1 (1)
Здравствуйте, kaa.python, Вы писали:

KP>По делу. Погляди на вот этот ответ
Автор: MTD
Дата: 06.03.12
, чуть раньше тебя запостили. Этот ответ очень показателен, кстати. Чем брать людей которым все будет не нравится, а на такое уже при переходе Юникс/Виндоуз программистов на Мак было, лучше уж взять готового.


Дык в вакансии и на собеседовании нужно прямым текстом говорить чем прийдется заниматься и не будет недовольных. Типа вот так (для вашего случая):
"Требуется маковый разработчик или разработчик с с юниховым бекграундом для разработки (гуевого приложения? системного сервиса? драйвера? игрушки? нужное подчеркнуть) на Мак. Знакомство с маком на уровне пользователя, с ифоном, обжектив-с на уровне программиста приветствуется".
А не так как у нас народ любит делать: крупный интересный проект, мультимедия, сервер-сайд, хайл-лоад, булшит паттерн; приходишь: вот тут у нас есть легаси овно, в котором надо бы баги в гуях пофиксить.
Re[10]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:18
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Про второе предупреждение компилятора комментарии будут, или ты таким странным способом признаешь то что слил в данном вопросе?


Ох уж эти универсалы Боюсь у нас не получится дискуссии без понимая основ, например статической и динамической типизации. Можешь считать, что я слил, но лучше купи хорошую основательную книгу по Objective C и вдумчиво прочитай.
Re[5]: Сколько платить Mac/Unix разработчику?
От: MescalitoPeyot Украина  
Дата: 08.03.12 12:19
Оценка: +1
Здравствуйте, MTD, Вы писали:

MTD>Например, механизм сообщений позволяет посылать сообщения объекту который их не поддерживает (аналог вызовов методов в С++), что приводит к сущему аду из-за опечаток.


С тем же успехом можно сказать, что C++ — кривое овно, т. к. в нем можно влегкую вызвать непереопределенную чистую виртуальную функцию. На практике же, что там, что там компилятор выдаст предупреждение.
Re[2]: Сколько платить Mac/Unix разработчику?
От: MescalitoPeyot Украина  
Дата: 08.03.12 12:23
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Где искать совершенно не понятно (если узнаешь где искать — ты напиши), т.к. похоже что их просто нет


В Киеве. Там есть целая ферма по их производству http://jobs.dou.ua/companies/cmk-software-mac-kiev/
Re[11]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:23
Оценка:
Чтобы ты не думал, что я зря наезжаю, вот тебе для затравки информация из википедии:

Одной из отличительных черт Objective-C является его динамичность — целый ряд решений, обычно принимаемых на этапе компиляции, здесь откладывается непосредственно до этапа выполнения.

Ещё одной из особенностей языка является то, что он message-oriented в то время как C++ — function-oriented. Это значит, что в нём вызовы метода интерпретируются не как вызов функции (хотя к этому обычно все сводится), а именно как посылка сообщения (с именем и аргументами) объекту, подобно тому, как это происходит в Smalltalk-е.

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

Привязка сообщения к соответствующей функции происходит непосредственно на этапе выполнения.


Мой совет про хорошую книгу остается в силе
Re[11]: Сколько платить Mac/Unix разработчику?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.03.12 12:24
Оценка:
Здравствуйте, MTD, Вы писали:

Я понял, ты не слил, это только кажется. Поэтому ты ничего не можешь сказать про предупреждение компилятора о том, что используемого тобой метода не существует. И по этой же причине ты пытаешься перевезти тему на мое незнание Objective-C, типов типизации и прочее. Кстати, тебя кто-то советовать что мне прочитать просил? Если нет, то лучше не советуй.
Re[6]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:25
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Здравствуйте, MTD, Вы писали:


MTD>>Например, механизм сообщений позволяет посылать сообщения объекту который их не поддерживает (аналог вызовов методов в С++), что приводит к сущему аду из-за опечаток.


MP>С тем же успехом можно сказать, что C++ — кривое овно, т. к. в нем можно влегкую вызвать непереопределенную чистую виртуальную функцию.


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

MP>На практике же, что там, что там компилятор выдаст предупреждение.


Разницу между статической и динамической типизацией понимаешь?
Re[12]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:28
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Я понял, ты не слил, это только кажется. Поэтому ты ничего не можешь сказать про предупреждение компилятора о том, что используемого тобой метода не существует. И по этой же причине ты пытаешься перевезти тему на мое незнание Objective-C, типов типизации и прочее.


Так и есть

KP>Кстати, тебя кто-то советовать что мне прочитать просил? Если нет, то лучше не советуй.


Извини, не буду. Но без определенных знаний дискуссии не получится
Re[12]: Сколько платить Mac/Unix разработчику?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.03.12 12:29
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Чтобы ты не думал, что я зря наезжаю, вот тебе для затравки информация из википедии:


Я отлично знаю что написанно в Википедии по поводу Objective-C, как не крути, изрядный кусок этой статьи мой.
Так же я знаю то, что в случае с Objective-C компилятором от Apple, производится проверка типов на этапе компиляции. Я допускаю что не всегда и не везде, тем не менее, твой "трюк" с приведением к id компилятор отловил. А вот что бы отловил компилятор с приведением к void* в C++? И при этом я не утверждаю что Objective-C это верх совершенства, я просто говорю о том, что наделать в нем ошибок в той части, про которую ты говоришь довольно трудно.
Re[13]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Я отлично знаю что написанно в Википедии по поводу Objective-C, как не крути, изрядный кусок этой статьи мой.


Это хорошо. Тогда не понимаю причин непонимания

KP>Так же я знаю то, что в случае с Objective-C компилятором от Apple, производится проверка типов на этапе компиляции. Я допускаю что не всегда и не везде, тем не менее, твой "трюк" с приведением к id компилятор отловил.


Никакого трюка не было.

KP>А вот что бы отловил компилятор с приведением к void* в C++?


За приведение к void* на С++ отрывают руки.

KP>И при этом я не утверждаю что Objective-C это верх совершенства, я просто говорю о том, что наделать в нем ошибок в той части, про которую ты говоришь довольно трудно.


Наделать очень легко. Мой опыт разработки под Мак позволяет мне уверенно говорить об этом.
Re[7]: Сколько платить Mac/Unix разработчику?
От: MescalitoPeyot Украина  
Дата: 08.03.12 12:47
Оценка: +1
Здравствуйте, MTD, Вы писали:

MTD>Нельзя в легкую вызвать. Для этого надо хачить с приведением типов.


Можно. Притом в разных позах и без приведений http://codepad.org/4CkK5neC

MTD>Разницу между статической и динамической типизацией понимаешь?


Мой телепатический модуль подсказывает мне, что этот вопрос возник из-за непонимания вами механизма сообщений и принятых в Objective-C практик кодирования.
Re[14]: Сколько платить Mac/Unix разработчику?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.03.12 12:49
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

MTD>Никакого трюка не было.


Трюк был. А судя по тому, что ты использовал Object, а не NSObject, можно предположить что ты используешь какой-то нестандартный Objective-C компилятор, например из GCC. И этот компилятор не проводит более-менее вменяемой диагностики ошибок.

MTD>За приведение к void* на С++ отрывают руки.


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

MTD>Наделать очень легко. Мой опыт разработки под Мак позволяет мне уверенно говорить об этом.


Мой опыт разработки под Мак говорит об обратном. Единственное потенциальное хранилище граблей в Objective-C — это управление памятью, все остальное, по количеству граблей на квадратный метр, не хуже чем в случае с C++.
Re[9]: Сколько платить Mac/Unix разработчику?
От: Miroff Россия  
Дата: 08.03.12 12:53
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Я тебе больше скажу — это нигде не работает.


В Scala работает, в Haskel работает, в Ada работает, а ты говоришь нигде.
Re[8]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 12:59
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Можно. Притом в разных позах и без приведений http://codepad.org/4CkK5neC


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

MTD>>Разницу между статической и динамической типизацией понимаешь?


MP>Мой телепатический модуль подсказывает мне, что этот вопрос возник из-за непонимания вами механизма сообщений и принятых в Objective-C практик кодирования.


Не понял ответ. Пояснишь?
Re[10]: Сколько платить Mac/Unix разработчику?
От: _stun_ Россия  
Дата: 08.03.12 13:01
Оценка:
Здравствуйте, kaa.python, Вы писали:

....

KP>Про второе предупреждение компилятора комментарии будут


Добавили категорию, а заголовочный файл воткнуть забыли?
Re[10]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 13:04
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, MTD, Вы писали:


MTD>>Я тебе больше скажу — это нигде не работает.


M>В Scala работает, в Haskel работает, в Ada работает, а ты говоришь нигде.


Это мягко говоря лукавство. На Аде пишут софт для спутников, а они падают, из-за этих самых ошибок
Re[9]: Сколько платить Mac/Unix разработчику?
От: MescalitoPeyot Украина  
Дата: 08.03.12 13:15
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Во-первых, вызывать виртуальные функции в конструкторах/деструкторах нельзя — это азбука.


Ну да, азбука. А в Objective-C другая азбука: нефиг чему попало посылать какие попало сообщения, даже если язык это позволяет.

MTD>Во-вторых, обрати внимание на реакцию компилятора.


Реакция точно такая же как и в Objective-C: предупреждение. К слову, его могло бы и не быть http://codepad.org/MRuqVFOl

MTD>Не понял ответ. Пояснишь?


Несмотря на то что выбор непосредственного метода для обработки сообщения происходит в рантайме (как и выбор виртуального метода в плюсах, замечу), во-первых, компилятор все равно проверяет наличие обработчика в компайл-тайме и в случае чего выдаст предупреждение и, во-вторых, нормальные люди просто так от нефиг не кастят объекты до id с тем чтобы послать им потом сообщения предназначенные наследникам. Если же им все-таки непоходимо докастится до id, то используется id<SomeProtocol> или селекторы.

В общем, все один в один как в плюсах: в ногу выстрелить разрешено, но целиться туда считается плохим тоном и обижает компилятор.
Re[10]: Сколько платить Mac/Unix разработчику?
От: MTD https://github.com/mtrempoltsev
Дата: 08.03.12 13:21
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

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


Соглашусь
Re[12]: Сколько платить Mac/Unix разработчику?
От: Ubivetz Украина  
Дата: 06.04.12 21:18
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, MTD, Вы писали:


KP>Я понял, ты не слил, это только кажется. Поэтому ты ничего не можешь сказать про предупреждение компилятора о том, что используемого тобой метода не существует. И по этой же причине ты пытаешься перевезти тему на мое незнание Objective-C, типов типизации и прочее. Кстати, тебя кто-то советовать что мне прочитать просил? Если нет, то лучше не советуй.


У типа id этих методов нет. Вот и матерится. Но если в рантайме метод будет найден, то всё шоколадно.
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.