Re[6]: Про одну намечающуюся тенденцию в современной разработке.
От: Евгений Коробко  
Дата: 03.07.12 14:38
Оценка:
M>То есть получается, что для задач, требующих предельной оптимизации C++ ничем не лучше чистого Си, а для задач, требующих развитой логики C++ в целом не быстрее того же питона или Java, но сложнее в разработке.

Предельной оптимизации требует 1% кода.
Евгений Коробко
Re[3]: Про одну намечающуюся тенденцию в современной разработке.
От: Yoriсk  
Дата: 03.07.12 15:32
Оценка:
Здравствуйте, Яблофаг, Вы писали:

Я>Предвижу, что вскоре этот массовый самогипноз рассеется и все разработчики снова прозреют, что .NET — неоправданно тормозная и прожорливая система, что JIT не нужен, и т.п. Вспомните Флеш.


И Java. И животноводство.
Re[11]: Про одну намечающуюся тенденцию в современной разработке.
От: vdimas Россия  
Дата: 03.07.12 16:02
Оценка:
Здравствуйте, Codechanger, Вы писали:

C>Управляемые языки, как и неуправляемые, требуют, чтобы их изучали.В частности, чтобы нормально писать на WPF, надо долго тренироваться .


Зачем?
И разве это нормально?

C>В целом, как я понимаю, ситуация была примерно следующей — писали себе мирно Evernote на с++, потом пришло какое-нибудь юное дарование, и сказало — "а давайте перепишем на .net". Опытных специалистов не было, поэтому получили то,что получили.Впрочем, чтобы понять, в чем проблема, надо код глядеть.


GUI несложный. Но приложение тянет за собой суммарно порядка 30мег зависимых дотнетных DLL для WPF. Долго грузится в итоге. Много требует памяти и т.д.
Re[3]: Про одну намечающуюся тенденцию в современной разработке.
От: mtnl  
Дата: 04.07.12 06:29
Оценка:
Здравствуйте, Яблофаг, Вы писали:

Я> Вспомните Флеш. Это был де-факто стандарт, от которого никуда было не деться, хоть он и был отстоем. Но столкнувшись с мобильными девайсами, он стал быстро хиреть и угас всего за пару лет


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

Сила флеша — быстрое создание готового продукта малыми силами (для типовой инди-игры — один разработчик один месяц вечером после работы), делать дольше — для большинства проектов тупо нерентабельною

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

Я>Кстати, вот интересная идея, наверное уже где-то обсуждалась. Нельзя ли убрать из .NET JIT и оставить просто язык C# и реализовать библиотеки .NET в каком-нибудь нативном виде? Это по крайней мере не с нуля было бы все переписывать для них.


Mono делают LLVM backend.
Re[3]: Про одну намечающуюся тенденцию в современной разработке.
От: Трололоша  
Дата: 04.07.12 15:01
Оценка:
Здравствуйте, Яблофаг, Вы писали:

Я>Удачным примером реализации считаю Obj-C и фреймворки Mac OS X / iOS.

Ну вот, начал за здравие, а кончил "как всегда" (тм).
У тебя всего то сменился фетиш: раньше тебя пёрло от .NET теперь тебя прёт от ObjC.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[3]: Про одну намечающуюся тенденцию в современной разработке.
От: alex_public  
Дата: 04.07.12 18:28
Оценка:
Здравствуйте, Яблофаг, Вы писали:

Я>Удачным примером реализации считаю Obj-C и фреймворки Mac OS X / iOS.



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

Если мы стремимся к быстрой разработек, то надо смотреть на языке типа Python и Ко. Там это пожалуй максимально (если не считать спец. RAD систем), но при этом они ещё заметно хуже .Net по потреблению ресурсов. Да и ещё куча минусов есть из-за виртуальной машины. Но если ситуация всё же позволяют, то оно того стоит — намного эффективнее и C++ и .Net языков по скорости разработки.

Если же говорить о нативных языка, то на мой взгляд сейчас лучшим является D, но у него неразвитая инфраструктура, поэтому приходиться обходиться C++.
Re[4]: Про одну намечающуюся тенденцию в современной разработке.
От: Яблофаг  
Дата: 05.07.12 13:58
Оценка: :)
Здравствуйте, alex_public, Вы писали:

_>Ну вот, такой логичный весь текст и вдруг такая дикая фраза. Obj-C же убог по всем параметрам.


Опять же, ты судишь с точки зрения разработчика, а не пользователя программ, которые ты разрабатываешь. Да, язык Obj-C может не так изящен, как хотелось бы, но сказать на нем можно все то же самое, что и на других языках. Как язык, он прост и однозначен (в отличие от С++), это плюс. По мере роста популярности язык быстро развивается, причем в правильном направлении. К слову, принцип auto release, а в последних версиях Obj-C auto reference counting имхо отличная идея, намного облегчающая управление памятью, но при этом избавленная от тормозов GC.

Но главное — к нему идут классные стандартные фреймворки, обеспечиваемые самой операционкой (тоже в отличие от С++). Код, написанный на Obj-C быстрый и не требовательный к системе, до такой степени, что он отлично работает даже на мобилках. UI собирается легко, причем отлично выглядит, снабжен крутыми анимационными эффектами, и не тормозит. Пользователь очень доволен. Его не волнует синтаксический сахар языка или принцип управления памятью или мифическая кроссплатформенность.

_>Если мы стремимся к быстрой разработек, то надо смотреть на языке типа Python и Ко. Там это пожалуй максимально (если не считать спец. RAD систем), но при этом они ещё заметно хуже .Net по потреблению ресурсов. Да и ещё куча минусов есть из-за виртуальной машины. Но если ситуация всё же позволяют, то оно того стоит — намного эффективнее и C++ и .Net языков по скорости разработки.


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

_>Если же говорить о нативных языка, то на мой взгляд сейчас лучшим является D, но у него неразвитая инфраструктура, поэтому приходиться обходиться C++.


В этом-то все и дело — язык должен идти с инфраструктурой, привязанной к целевой платформе. Иначе это не серьезный язык, а игрушка. Obj-C удовлетворяет этому требованию, а С++ в Windows — нет.
Re[5]: Про одну намечающуюся тенденцию в современной разработке.
От: alex_public  
Дата: 05.07.12 14:25
Оценка:
Здравствуйте, Яблофаг, Вы писали:

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


А как ещё судить, если мы говорим о ЯЗЫКЕ? )

Я>Но главное — к нему идут классные стандартные фреймворки, обеспечиваемые самой операционкой (тоже в отличие от С++). Код, написанный на Obj-C быстрый и не требовательный к системе, до такой степени, что он отлично работает даже на мобилках. UI собирается легко, причем отлично выглядит, снабжен крутыми анимационными эффектами, и не тормозит. Пользователь очень доволен. Его не волнует синтаксический сахар языка или принцип управления памятью или мифическая кроссплатформенность.


1. К самому языку это технические отношения не имеет
2. Наличие у языка только одного фреймоврка — это большой минус. Привязка к одной платформе...

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

Я>Не, нативные программы лучше писать на нативных языках, по возможности без лишних прослоек.


Нууу то что нейтив лучше я в принципе согласен... Но к сожалению пока нет нативного языка со скоростью разработки уровня Питона и т.п. )

Я>В этом-то все и дело — язык должен идти с инфраструктурой, привязанной к целевой платформе. Иначе это не серьезный язык, а игрушка. Obj-C удовлетворяет этому требованию, а С++ в Windows — нет.


Хы, у самого C++ действительно нет привязки к целевой платформе, т.к. он может хоть на микроконтролёрах работать. ))) Но при этом у него есть мощнейшие фреймворки под каждую существующую платформу — это я и называю развитой инфраструктурой. И как раз этого у языка D нет. А вот если бы было, то мы уже давно перешли бы на него...
Re[6]: Про одну намечающуюся тенденцию в современной разработке.
От: Яблофаг  
Дата: 05.07.12 16:06
Оценка: 1 (1) :)
Здравствуйте, alex_public, Вы писали:

_>1. К самому языку это технические отношения не имеет


Но с другой стороны имеет, в контексте обсуждаемой темы — причины заката .NET. Ведь не в языке же C# эти причины.

_>2. Наличие у языка только одного фреймоврка — это большой минус. Привязка к одной платформе...


Ничто не мешает создавать разные фреймворки на разных платформах для одного и того же языка, даже такого стрёмного как С++. Однако возможность переноса кода без изменений с одной платформы на другую — иллюзия.

_>Вот у нас есть приложение на C++. Один код собирается и под винду и под мак и под линух. Про быстродействие думаю можно и не уточнять (уж точно не хуже и Obj-C и остальных) и при этом имеет на маке тот же сам нативный интерфейс со всеми анимациями и т.п. пользовательскими игрушками.


Это очень плохая идея. На Маке совсем другие принципы построения UI и другие HIGs. И так на всех платформах. Даже если на Маке построить UI из нативных контролов Mac OS X, но использовать принципы Windows (например жирные тулбары, перегруженные функциями), программа не будет выглядеть нативно. Так или иначе ненативность вылезет. Пользователи это сразу почувствуют и справедливо назовут такую программу унылым говном, а автора — мудаком, который решил сэкономить на качественной нативной разработке, за счет пользователей. Если ты пользовался хоть одной т.н. "кроссплатформенной" программой, то знаешь, о чем я.

_>Хы, у самого C++ действительно нет привязки к целевой платформе, т.к. он может хоть на микроконтролёрах работать. ))) Но при этом у него есть мощнейшие фреймворки под каждую существующую платформу — это я и называю развитой инфраструктурой. И как раз этого у языка D нет. А вот если бы было, то мы уже давно перешли бы на него...


Сейчас для С++ под современной Windows нет нормальных фреймворков (если не считать managed C++ c .NET, что есть настоящий Адъ.) Это видно даже по этому форуму, одна из самых часто обсуждаемых тем — на чем писать под Винду.
Re[7]: Про одну намечающуюся тенденцию в современной разработке.
От: alex_public  
Дата: 05.07.12 17:52
Оценка:
Здравствуйте, Яблофаг, Вы писали:

Я>Ничто не мешает создавать разные фреймворки на разных платформах для одного и того же языка, даже такого стрёмного как С++. Однако возможность переноса кода без изменений с одной платформы на другую — иллюзия.


С правильными инструментами это совсем не иллюзия.

Я>Это очень плохая идея. На Маке совсем другие принципы построения UI и другие HIGs. И так на всех платформах. Даже если на Маке построить UI из нативных контролов Mac OS X, но использовать принципы Windows (например жирные тулбары, перегруженные функциями), программа не будет выглядеть нативно.


Правильные инструменты всё это учитывают и прячут внутри себя за абстракциями. Ну а кривой изначально интерфейс останется таким под любой платформой. )))

Я>Если ты пользовался хоть одной т.н. "кроссплатформенной" программой, то знаешь, о чем я.


Да, переодически натыкаюсь на такое. Обычно написаное на Java или чём-то подобном. Но бывают и кроссплатформенные продукты на 100% выглядящие нативныеми.

Я>Сейчас для С++ под современной Windows нет нормальных фреймворков (если не считать managed C++ c .NET, что есть настоящий Адъ.) Это видно даже по этому форуму, одна из самых часто обсуждаемых тем — на чем писать под Винду.


А Qt, wxWidgets и ещё куча разных — это что тогда? )))
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.