Переквалификация c#-> ??
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Кстати, в Objective-C одно время garbage collector поддерживался, а сейчас все - deprecated. ARC оказался гораздо лучшим решением.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
В этом плане есть два кейсаИнтеррапт wrote:Бенчмарки сходу не дам. По части predictability - ну ты и сам знаешь, что GC может выстрелить когда не нужно. Особенно это касается клиентских приложений (всяких игр и т.п.). А вот в Objective-C с ARC такого в принципе вообще произойти не может, там на уровне компилятора идет обработка reference counting и autorelease pools, которое великолепно работает. Конечно, нужно чуть больше внимательности работая с Сишным функциями, что в iOS сплошь и рядом (всякие bridge и т.п.), но то, что для мобильных устройств ARC намного более беспроблемная и выигрышная технология - у меня лично вообще сомнений не вызывает.crypto5 wrote:Есть бенчмарки?Интеррапт wrote: А если посмотреть на ARC в Objective-C, то все garbage collectors (по performance и predictability)
- когда код плодит локальные обьекты, в этом случае и джава с escape analysis неплохо справляется размещая их на стеке.
- когда код плодит глобальные обьекты которые в другом месте будут юзаться. Как в таком случае обджектив поступает?
In vino Veritas!
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Переквалификация c#-> ??
старина йоганесс брамс! не признал в гримме!Komissar wrote:а я, помнится, во времена царствия Вижуал Бейсика серьезно увлекся венгерской нотацией.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Если разговор идет насчет клиентского кода, то там как бы глобальных обьектов довольно мало плодится. Хотя давайте определимся, что вы понимаете под глобальными обьектами?crypto5 wrote:- когда код плодит глобальные обьекты которые в другом месте будут юзаться. Как в таком случае обджектив поступает?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
Тот который за пределами метода в трех других методах используется.Интеррапт wrote:Если разговор идет насчет клиентского кода, то там как бы глобальных обьектов довольно мало плодится. Хотя давайте определимся, что вы понимаете под глобальными обьектами?crypto5 wrote:- когда код плодит глобальные обьекты которые в другом месте будут юзаться. Как в таком случае обджектив поступает?
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Ну и чем это глобальная переменная? Это instance variable, никак не пойму, что вы глобальной переменной называете.crypto5 wrote:Тот который за пределами метода в трех других методах используется.Интеррапт wrote:Если разговор идет насчет клиентского кода, то там как бы глобальных обьектов довольно мало плодится. Хотя давайте определимся, что вы понимаете под глобальными обьектами?crypto5 wrote:- когда код плодит глобальные обьекты которые в другом месте будут юзаться. Как в таком случае обджектив поступает?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
Ок, назовем ее instance variable, как вам угодно, мне без разницы, так что там objective с ней делает?Интеррапт wrote:Ну и чем это глобальная переменная? Это instance variable, никак не пойму, что вы глобальной переменной называете.crypto5 wrote:Тот который за пределами метода в трех других методах используется.Интеррапт wrote:Если разговор идет насчет клиентского кода, то там как бы глобальных обьектов довольно мало плодится. Хотя давайте определимся, что вы понимаете под глобальными обьектами?crypto5 wrote:- когда код плодит глобальные обьекты которые в другом месте будут юзаться. Как в таком случае обджектив поступает?
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Хранит в heap memory. Но в зависимости от того, что сочтет оптимизатор компилятора, то весь обьект целиком может оказаться в стеке. А что?crypto5 wrote: Ок, назовем ее instance variable, как вам угодно, мне без разницы, так что там objective с ней делает?
Только я не совсем понимаю, вы отрицаете, что у джавы вызов GC может отнимать значительное время и собственно вообще non-deterministic?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
А как он удалится из Heap?Интеррапт wrote:Хранит в heap memory. Но в зависимости от того, что сочтет оптимизатор компилятора, то весь обьект целиком может оказаться в стеке. А что?crypto5 wrote: Ок, назовем ее instance variable, как вам угодно, мне без разницы, так что там objective с ней делает?
Только я не совсем понимаю, вы отрицаете, что у джавы вызов GC может отнимать значительное время и собственно вообще non-deterministic?
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Компилятор вставляет код, который ведет подсчет ссылок на обьект и удаляет его из heap, когда счетчик == 0.crypto5 wrote:А как он удалится из Heap?Интеррапт wrote:Хранит в heap memory. Но в зависимости от того, что сочтет оптимизатор компилятора, то весь обьект целиком может оказаться в стеке. А что?crypto5 wrote: Ок, назовем ее instance variable, как вам угодно, мне без разницы, так что там objective с ней делает?
Только я не совсем понимаю, вы отрицаете, что у джавы вызов GC может отнимать значительное время и собственно вообще non-deterministic?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
Т.е. в отдельном участке кода вы не сильно знаете удалится обьект после выхода из области видимости или нет? Это к детерменизму.Интеррапт wrote:Компилятор вставляет код, который ведет подсчет ссылок на обьект и удаляет его из heap, когда счетчик == 0.crypto5 wrote:А как он удалится из Heap?Интеррапт wrote:Хранит в heap memory. Но в зависимости от того, что сочтет оптимизатор компилятора, то весь обьект целиком может оказаться в стеке. А что?crypto5 wrote: Ок, назовем ее instance variable, как вам угодно, мне без разницы, так что там objective с ней делает?
Только я не совсем понимаю, вы отрицаете, что у джавы вызов GC может отнимать значительное время и собственно вообще non-deterministic?
А к производительности вроде в интернетах есть сравнения производительности сборщиков мусора и подсчетщиков ссылок, и по ряду причим последние очень сильно проигрывают.
In vino Veritas!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Переквалификация c#-> ??
Программист все знает, на то он и программист.crypto5 wrote: Т.е. в отдельном участке кода вы не сильно знаете удалится обьект после выхода из области видимости или нет? Это к детерменизму.
Oh, brother #2.crypto5 wrote:А к производительности вроде в интернетах есть сравнения производительности сборщиков мусора и подсчетщиков ссылок, и по ряду причим последние очень сильно проигрывают.
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Переквалификация c#-> ??
Ну нам тут много чего тут нравится. Дай волю всем программировать на том, что нравится, все языки уже давно померли, кроме Basic'а.Zhek wrote: Надо собраться с духом и себя пересилить а то очень уж сишарп нравиться...
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Переквалификация c#-> ??
Оно должно быть предсказуемым и контролируемым.crypto5 wrote: Вполне возможно они оседают и не парсятся каждый раз.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Я абсолютно точно знаю, когда и где удалится обьект в Objective-C.crypto5 wrote: Т.е. в отдельном участке кода вы не сильно знаете удалится обьект после выхода из области видимости или нет? Это к детерменизму.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
Откуда?Интеррапт wrote:Я абсолютно точно знаю, когда и где удалится обьект в Objective-C.crypto5 wrote: Т.е. в отдельном участке кода вы не сильно знаете удалится обьект после выхода из области видимости или нет? Это к детерменизму.
In vino Veritas!
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Переквалификация c#-> ??
Я кстати думаю что они вкомпилят дарт вм в хром, перепишут на нем гмыло и какие то другие апы что бы все работало супербыстро, а в других браузерах тормозило, все перелезут на хром как это уже было, и наступит гуглокапец.dotcom wrote:Ну да. Осталось только сделать то же самое для других браузеров. Или хотя бы уговорить тех, кого сами спонсируют (Mozilla). А то ж столько много слов про красоту Dart'а, а что там с поддержкой у других - никто не знает.smikesh1 wrote: Ну как ран тайм есть - хром ))
Кстати реальных конкурентов все меньше и меньше....
In vino Veritas!
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Переквалификация c#-> ??
Мне кажется, они будут больше стремиться к поддержке тех фич, которые сейчас не реализуемы стандартными веб-технологиями. Тормоза вторичныcrypto5 wrote:Я кстати думаю что они вкомпилят дарт вм в хром, перепишут на нем гмыло и какие то другие апы что бы все работало супербыстро, а в других браузерах тормозило, все перелезут на хром как это уже было, и наступит гуглокапец.dotcom wrote:Ну да. Осталось только сделать то же самое для других браузеров. Или хотя бы уговорить тех, кого сами спонсируют (Mozilla). А то ж столько много слов про красоту Dart'а, а что там с поддержкой у других - никто не знает.smikesh1 wrote: Ну как ран тайм есть - хром ))
Кстати реальных конкурентов все меньше и меньше....
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Переквалификация c#-> ??
Я примерно о то же думал. Я бы на месте гугла даже не гмыл переписал сначала, а что-то более интерактивное и красивое, разницу в чем пользователь может сразу понять и оценить. Скажем, google docs. Посмотрим. Я никаких телодвижений от гугла писать серезные проекты на языке, который они рекламируют почти два года, пока не видел.crypto5 wrote: Я кстати думаю что они вкомпилят дарт вм в хром, перепишут на нем гмыло и какие то другие апы что бы все работало супербыстро, а в других браузерах тормозило, все перелезут на хром как это уже было, и наступит гуглокапец.
-
- Уже с Приветом
- Posts: 162
- Joined: 16 Aug 2012 16:35
- Location: Frankfurt am Main
Re: Переквалификация c#-> ??
а что есть в дарте такое, чего нет в яваскрипте?dotcom wrote:Я примерно о то же думал. Я бы на месте гугла даже не гмыл переписал сначала, а что-то более интерактивное и красивое, разницу в чем пользователь может сразу понять и оценить. Скажем, google docs. Посмотрим. Я никаких телодвижений от гугла писать серезные проекты на языке, который они рекламируют почти два года, пока не видел.crypto5 wrote: Я кстати думаю что они вкомпилят дарт вм в хром, перепишут на нем гмыло и какие то другие апы что бы все работало супербыстро, а в других браузерах тормозило, все перелезут на хром как это уже было, и наступит гуглокапец.
тут как бы речь идет об АПИ браузера, то что они толкают в хтмл5, там локал сторедж, файлы, видео и все такое ))
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
Что откуда? Потому что ARC упрощает подсчет ссылок, но это всегда можно сделать вручную. Можно вообще не пользоваться ARC и использовать retain/release для ручного менеджмента памяти. Можно использовать вообще гибридных подход. Но даже с ARC - программист всегда может точно сказать, когда его обьект удалится. Можно даже в любой посмотреть, вызвав метод retainCount, сколько активных references существует для данного обьекта.crypto5 wrote:Откуда?Интеррапт wrote:Я абсолютно точно знаю, когда и где удалится обьект в Objective-C.crypto5 wrote: Т.е. в отдельном участке кода вы не сильно знаете удалится обьект после выхода из области видимости или нет? Это к детерменизму.
Мне верить не обязательно, просто почитайте про memory management для Objective-C.
-
- Уже с Приветом
- Posts: 9258
- Joined: 14 Dec 2001 10:01
- Location: Российская Федерация
Re: Переквалификация c#-> ??
Мягко скажем оверхед на размер счетчика, да на каждый объект...
Миру мир
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Переквалификация c#-> ??
И что?adb wrote:Мягко скажем оверхед на размер счетчика, да на каждый объект...
Если "оверхед" не устраивает, то никто никто не отменял обычные malloc/free и new/delete в Objective-C (или Objective-C++). Сам себе выбираешь, что подходит лучше для той или иной ситуации.
Да и обьекты можно создавать не наследуя от NSObject, если нужно иметь доступ к классам, но без reference counting.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Переквалификация c#-> ??
да, я тоже нервно отношусь к любому даже самому крошечному оверхеду, когда он навязан. но если есть выбор - это прекрасно
а подход objective c выглядит даже разумнее, чем С++11. а яблофаната во мне заподозрить трудно
а подход objective c выглядит даже разумнее, чем С++11. а яблофаната во мне заподозрить трудно
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Переквалификация c#-> ??
Речь идет не только про язык, но и про run-time и интеграцию с браузером. То, что есть в языке, - это отдельный разгвоор. Для начала там есть классы и возможность делать компоненты. Сам язык синтаксически более легковесный и проще компилируется. Этого уже много. С помощью VM можно было расширять возможности браузера, в том числе и имплементируя local storage, инсталируемые компоненты в VM Dart'а.smikesh1 wrote: а что есть в дарте такое, чего нет в яваскрипте?
Ну то, что сам HTML - непотребный стандарт для rich apps, - это мы уже много раз тут перемывали. С ним приходится жить с разными растопырками. Dart - не самая плохая растопырка. Нужна ли она, как ее поддержат другие, и что с ней хочет сделать гугл - вот в чес вопрос.smikesh1 wrote:тут как бы речь идет об АПИ браузера, то что они толкают в хтмл5, там локал сторедж, файлы, видео и все такое ))