LINUX.ORG.RU
ФорумTalks

[Выбор] C++ vs Objective C

 


0

0

Прошу помощи у аналитиков. Более двух лет я невозбранно быдлокодил на С++. Клепал формочки на QT, строил иерархии классов с утечками памяти, в общем, радовался жизни и множил количество С++ кода в мире. Но вот настал кризис. И ВНЕЗАПНО оказалось, что я и мой быдлокод оказались накуй никому не нужными. Работодатели смекнули и не открывают вакансии для меня. А если и открывают, то денег, чтобы хватало на хлеб с маслом, а не только на хлеб не дают. Я вот ищу работу уже не первый месяц и оказывается, что С++ не нужен.

Вот предложили мне разрабатывать приложения под гламурный iPhone, Из языка знаю только название. Как думаете, соглашаться или искать дальше, так сказать, "по специальности"?

> строил иерархии классов с утечками памяти

Хреновый из тебя программист. Забудь о C++ и даже не думай о ObjC. Ты и там умудришься поналепить таких костылей, если без утечек не умеешь программировать на C++.

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

> Поэтому надо программировать на языках с автоматическими сборщиками мусора.

Ага, звучит примерно так: я очень чистоплотный человек. Просто не меняю нижнее белье месяцами, гажу в постели, никогда не мою тарелок блюю в на клавиатуру. А чо? Ведь уборщица все убирает и меняет.

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

>По ссылке - херня от упоротого школьника без кредитки и с 50 рублями в кармане от мамы на булочку и кока-колу.

Молчи, раб.

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

>если без утечек не умеешь программировать на C++.

Да, вроде оборачивал все что нужно в умные указатели. Но мало ли...

ConnorMcLaud
() автор топика

Однажды вы, "узкоспециализированные" (а на деле - просто не осилившие прочитать за всю свою жизнь более чем одной единственной книжечки по программированию на одном-единственном языке) кодеры, вымрете из-за собственноручно придуманного мифа, что вы работаете "по специальности".
Вот для этой цели и был придуман кризис. Аминь! =)

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

Ага, и без отступов. И чтоб он назывался Java :)) Смешно, чесслово.

Ну напиши быстрое RT-ядро на языке со сборщиком мусора. А мы понаблюдаем.

P.S. Разным задачам разные языке. Говорят, та же ява хороша в ынтырпрайзе. А вот в десктопном секторе сливает, практически, всем, что отлично подтверждается мизерным числом приличных десктоп-софтин в сочетании с преобладанием жавакодеров на рынке труда.

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

> Так работодатель всё оплатит.

Он готов ради 1 приложения выложить в качестве аванса ~4000$ и подождать пару месяцев helloworld?

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

>просто не осилившие прочитать за всю свою жизнь более чем одной единственной книжечки по программированию на одном-единственном языке

Каждые два месяца прочитываю по одной новой книжке. Какие следующими почитать рекомендуешь?

ConnorMcLaud
() автор топика
Ответ на: комментарий от EmStudio

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

Java

ConnorMcLaud
() автор топика
Ответ на: комментарий от EmStudio

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

Ну если ты исключительно про игрушки для телефонов, то да. Хотя это определённо победа маркетинга, а не здравого смысла. Вон тот же гугл сделал свою жаву несовместимой с исходной, дабы уменьшить потребление памяти. В симбиане лучше писать на C (как и в WM/PPC).

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

>Он готов ради 1 приложения выложить в качестве аванса ~4000$ и подождать пару месяцев helloworld?

Уже есть порядка 50-ти заказов. А так ты прав.

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

>> Зарплата устраивает? Если да, то соглашайся.

> А какие перспективы?

А у тебя есть выбор? Считай эту работу временной. Прогер плб должен уметь переучиваться.

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

Про одну-единственную не угадал =(
Может быть, их много, но оформлены брошюрками по 20-50 страниц =)

Нельзя всё время работать только с одним языком. Особенно, если не соблюдаются элементарные нормы сбережения ресурсов и повышения производительности программы.

Это всё равно как если бы какой-нибудь инженер ВНЕЗАПНО решил для себя, что он специализируется только на работе с отвёртками определённой марки.
Умный работодатель сразу скажет, что ему такой инженер не нужен - он наймёт такого, которому идеологически наплевать, каким инструментом пользоваться. А что будет делать "узкоспециализировавшийся", когда отвёртки усовершенствуются, а, может даже, канут в небытие и их заменят более совершенные инструменты?
Правильно - вымрет.

Нельзя программировать себе в удовольствие, не испытывая профессиональной гордости за свой труд, и ожидать при этом его востребованности. Гордость должна быть правильная - не "это я сотворил! смотрите и восхищайтесь!", а побуждающая к тому, чтобы сделать своё детище максимально ресурсосберегающим, удобным, производительным, полезным и не могущим навредить. Это та гордость, которой не хватает очень многим "свободным" разработчикам, от которых мир избавится с превеликим удовольствием, уступив их место тем, кто ответственно относится к своему труду.

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

>> А у тебя есть выбор?

> Выбор есть всегда. Можно искать что получше.

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

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

>Если есть шанс освоить за счет работодателя новую технологию - им надо воспользоваться

Разумно

ConnorMcLaud
() автор топика

>строил иерархии классов с утечками памяти
>Но вот настал кризис. И ВНЕЗАПНО оказалось, что я и мой быдлокод оказались накуй никому не нужными


Слава Кризису!

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

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

С одной стороны халява, которую надо брать, но вот может выйти так, что отсутствие опыта и разных "бест практисес" скажется на результате еще хуже, нежели код с утечками. А когда он их наберется, построит свой велосипедный фреймворк, платформа может несколько раз принципиально обновиться. Я вот оказывается даже HTML ниасилил :(

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

> Регистрация в течении 5 месяцев - это тоже признак яблочного илитизма?

Признак заботы о пользователях.

> Поэтому я решил воспользоваться картой VISAVirtuon«Банка Москвы» моего *друга*.

Ха-ха-ха, товарищ решил что он умный, а все кругом дол..бы. Вдобавок дикая страна. К тому же, столетний баян.

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

> Ха-ха-ха, товарищ решил что он умный, а все кругом дол..бы.

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

> Вдобавок дикая страна.

Именно так.

> К тому же, столетний баян.

Увы, для меня было актуально.

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

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

Чувак из страны третьего мира зарегился под одним именем, оплатил по кредитке совершенно другого человека, как они должны были поступить? Скушать, чтобы завтра толпы долбоящиков начали вопить "Жобс ворует деньги с кредиток!111"? Думаю, для девелопера из штатов эта процедура делается легко и быстро.

a3
()

Если есть опыт работы на смолтоке - переходите на Obj-C смело.

Иначе - С++. Для Symbian.

ЗЫ. Сам я работаю с Obj-C.

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

А ты почитай что по ссылке автор пишет сначала. Если не доходит - визину закапай и снова прочитай. За неделю не дойдет - создавай тему в толксах - я тебе разъясню.

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

Слава, слава. Осталось еще веб-быдлокодеришек разогнать - вообще почти утопия будет.

nikolayd
()

эх, плюсы-плюсы, как много в этом слове...

ностальгия ...

PayableOnDeath
()

сие слова грызущего кактус

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

Если вы когда-либо услышите Маковского программиста, поливающиего C++ грязью и восхваляющим свой любимый Objective C 2.0 и Cocoa touch, спросите его, насколько удобно ObjC код отлаживать, легко ли ловить баги с Memory Management-ом, особенно тогда, когда ошибочная отложенная выгрузка происходит за километр от места ее вызвавшего? Еще лучше - сколько раз в день вылетает XCode и часто ли приходится заново изучать одно и то же из за периодических обновлений системных API?

Инновации Эппла даются программистам несладко. Xcode - самая нестабильная среда разработки из всех, с которым я сталкивался, и с релизом к релизу как исправляются очевидные недоделки, так и вкидываются очередные новые глюки. Системные API часто устроены нелогично, скажем, порядок параметров в одном семействе функций может быть "указатель","длина", а в другом, смежном с ним - "длина","указатель". API устаревают за полгода, а расширяются раз в несколько месяцев плохо оттестированной функциональностью, причем сразу же начинается давление клиентов, требующих эту еще толком не отлаженную функциональность реализовать.

Это все общие претензии, вернемся к частностям. в Objective C 2.0 есть такая штука, как declared properties. Описаны они в официальной документации как метод замены getter-setter методов на автоматически сгенерированные компилятором с доступом через новый удобный синтаксис, т.е. через точку. Если вы программированли хотя бы в дельфи, на .NET итд, то нет смысла рассказывать, о чем идет речь. вызов object.x = 5 превращается в [object setX:5] и так далее. претензии не к этому, в общем-то неплохому способу инкапсуляции данных. А к тому, что у меня в отдельном конкретном проекте состояние вдруг перестало быть видимым под отладчиком, но код почему-то продолжал работать, даже когда я убрал объявления самих данных! Внезапно оказалось, что теперь компилятор предпочитает сам генерировать переменные в рантайме, и я уже не способен посмотреть состояние объекта, так как часть данных помещается в скрытые переменные. Пока этого не понял, в шоке смотрел на то, как по нулевым указателям пишутся и считываются данные. Поведение языка уже не соответствует изученной несколько месяцев назад документации по нему, и, кроме того, порождает неуловимый баг, который пока невозможно отследить. Отладчик стал беспомощен и мне пора идти за шаманским бубном.

Кстати, проектик у меня - солянка из obj-c и C++, и вся его C++ шная часть уже давно работает безупречно, без подвисаний и утечек. http://noop.livejournal.com/58368.html

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

> Чувак из страны третьего мира зарегился

Вот уже только за одно это надо расстрелять весь эппл. И шобы стрелявшие про третий мир приговаривали. Почему разработка ДАЖЕ ДЛЯ ВИНДЫ доступна всем, а тут такой анальный илитизм?

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

А что, тут преступление? Выслать запрос-подтверждение на обоим владельцам, а не динамить это пару месяцев. Или помогать ближнему - это страшное преступление? Конечно преступление, дал mp3 послушать другу - уже вор.

> Думаю, для девелопера из штатов эта процедура делается легко и быстро.

Ага, а завтра будет компания из индии, требующая регистрацию в комплекте с обрядом инициации в местном коровнике. Тоже проглотишь?

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

> Почему разработка ДАЖЕ ДЛЯ ВИНДЫ доступна всем, а тут такой анальный илитизм?

Потому что эпплу не пох на свою репутацию. Хочешь продавать через *их* магазин, будешь делать, как они скажут, нет -- gtfo.

> А что, тут преступление?

Карту могли украсть. Я бы, на их месте, поступил бы точно также.

> Ага, а завтра будет компания из индии, требующая регистрацию в комплекте с обрядом инициации в местном коровнике. Тоже проглотишь?

Пошлю нахрен эту компанию, что тебе и предлагаю сделать с эпплом, коли не нравится.

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

> Хочешь продавать через *их* магазин, будешь делать, как они скажут, нет -- gtfo.

Да нахрен мне ихний магазин сдался! Вот только нету иного способа залития приложений в неломаные девайсы.

> Карту могли украсть.

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

> Я бы, на их месте, поступил бы точно также.

А уведомить обе стороны никак?

> Пошлю нахрен эту компанию, что тебе и предлагаю сделать с эпплом, коли не нравится.

Уже сделано.

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

Да, сразу замечу, что неломанные айфоны, находящиеся у населения, УЖЕ НЕ ПРЕНАДЛЕЖАТ ябблу.

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

Для винды разработка доступна не всем - твой кривой драйвер в ядро без подписи мс никто не даст сунуть. Второй абзац - это опенсорц головного мозга. Во-первых это да, преступление, во-вторых никаких запросов/подтверждений они тебе не должны высылать - ты не на школьном уроке, чтоб тебя переспрашивали. Ну про мп3 вообще промолчу - тут с тобой и так всё ясно. Ну а дальше у тебя сплошные передёргивания.

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

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

> Да нахрен мне ихний магазин сдался!

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

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

Ты никогда не пробовал прийти в банк с паспортом друга и попросить снять со счета тысячи две -- друг одолжил?

> А уведомить обе стороны никак?

Каким образом?

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

> Для винды разработка доступна не всем - твой кривой драйвер в ядро без подписи мс никто не даст сунуть.

ЕМНИП, можно свою копию винды ЛЕГАЛЬНО перевести в режим разработки, после чего никаких подписей уже не надо. А в случае яббла только анальное зон дирование или ломка девайса...

> Второй абзац - это опенсорц головного мозга.

Cлишком толсто.

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

Типичная позиция "всем по***". Как в медицине, как и в сфере обслуживания. Уж лучше на школьном уроке.

> Вобщем, типичное поведение линупсоеда - один дурак пёрнул в бложике, другой радостно вдохнул и побежал по форумам вонять

А Ъ-рабы все на своей попе проверяют?

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

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

Дак не мое это говно, а заказчика (ибо ему надо, причем именно под его говно)

> Ты никогда не пробовал прийти в банк с паспортом друга и попросить снять со счета тысячи две -- друг одолжил?

Пример некорректен

> Каким образом?

Персональная информация есть как у регистрата, так и у владельца карточки. Вот по этим контактным данным и уточнять. Не?

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

> ЕМНИП, можно свою копию винды ЛЕГАЛЬНО перевести в режим разработки, после чего никаких подписей уже не надо.

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

> Типичная позиция "всем по***".


Ты не в теме совсем - на фрод продавцы обычно не отвечают.

> Cлишком толсто.


Слив засчитан.

>А Ъ-рабы все на своей попе проверяют?


Иными словами ты подтвердил, что тупо скопипастил высер какого-то идиота, и выливаешь это говно на ЛОР, даже не удосужившись проверить. ЧТД.


>анальное

>А Ъ-рабы

>попе


Брома у мамы попроси - может отпустит тебя немного.

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