Java vs C++, пардон, задолбали уже апологеты джавы доказывать, что джава может быть быстрее, чем плюсы.
Вот, например, типичный образец http://www.sys-con.com/story/?storyid=45250
Во-первых, ежу понятно, что JIT да еще и с профайлером может иногда работать быстрее, чем скомпилированный, но непрофилированный и слабо оптимизированный C код!!! Нативный код, ё-моё, не хухры-мухры. Особенно в простых случаях. Но нет же это преподносится, как "открытие". Вот бы посмотреть на результаты на фоне работы Garbage Collector'а Вот тогда мы похохочем...
ПЫСЫ: кстати, меня подобными результатами "пытал" недавно мой друг — любитель Джавы, так я первый попавшийся код почти сходу прооптимизировал так, что он стал в 1.5 раза быстрее работать.
itman wrote:
> Java vs C++, пардон, задолбали уже апологеты джавы доказывать, что джава может быть быстрее, чем плюсы. > Вот, например, типичный образец > http://www.sys-con.com/story/?storyid=45250 > > Во-первых, ежу понятно, что JIT да еще и с профайлером может иногда работать быстрее, чем скомпилированный, но непрофилированный и слабо оптимизированный C код!!! Нативный код, ё-моё, не хухры-мухры. Особенно в простых случаях. Но нет же это преподносится, как "открытие". Вот бы посмотреть на результаты на фоне работы Garbage Collector'а Вот тогда мы похохочем...
Мне кажется, что некоторые Джава программисты и авторы книг по Джава по какой-то непонятной причине в душе все таки чувствуют себя ущербными. Отсюда начинаются нелепые наезды на С++. Типа такого (просто пример из книги по Джава, которуыу я смотрел):
"0. Я вспоминаю С++ как кошмар."
Ну — ну. Если не смог изучить С++, то, наверное, и на Джаве говно клепает.
"1. Уродский синтаксис"
Да-да, серьезное обвинение. Не так уж сложно запомнить и усвоить синтаксис С++ и С.
"2. Ага! Попались! При сдвиге для знаковых целых, результат в С++ является зависящим от реализации!!!"
Да, поймали. Программист на Джава, видать, целыми днями чего-то куда-то двигает.
Т.е. вместо того, чтоб писать о Джава, автор расписывает, " какой противный отстой этот С++". При этом познания С++ у авторов, чаще всего на уровне года так 1988 или около того.
Я считаю, что некоторым Джава программистам и авторам книг (все ж таку это пересекающиеся множества ) надо брать пример с НАШЕГО С++ отца — Бьярн НИКОГДА не позволяет себе голословных и неумных нападок на другие языки.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Мне кажется, что некоторые Джава программисты и авторы книг по Джава по какой-то непонятной причине в душе все таки чувствуют себя ущербными. Отсюда начинаются нелепые наезды на С++. Типа такого (просто пример из книги по Джава, которуыу я смотрел):
Согласен.
L_L>"0. Я вспоминаю С++ как кошмар." L_L>Ну — ну. Если не смог изучить С++, то, наверное, и на Джаве говно клепает. L_L>"1. Уродский синтаксис" L_L>Да-да, серьезное обвинение. Не так уж сложно запомнить и усвоить синтаксис С++ и С. L_L>"2. Ага! Попались! При сдвиге для знаковых целых, результат в С++ является зависящим от реализации!!!" L_L>Да, поймали. Программист на Джава, видать, целыми днями чего-то куда-то двигает.
Искупление грехов... Типичный иммигрантский синдром — расказывать ужасы про страну, откуда они уехали...
L_L>Т.е. вместо того, чтоб писать о Джава, автор расписывает, " какой противный отстой этот С++". При этом познания С++ у авторов, чаще всего на уровне года так 1988 или около того.
То есть то, что знает или — что хочет знать...
L_L>Я считаю, что некоторым Джава программистам и авторам книг (все ж таку это пересекающиеся множества ) надо брать пример с НАШЕГО С++ отца — Бьярн НИКОГДА не позволяет себе голословных и неумных нападок на другие языки.
Во-первых — это так, а
Во-вторых — для этого у него есть орды опологетов C++, которые порвут на части другие языки и без него...
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Мне кажется, что некоторые Джава программисты и авторы книг по Джава по какой-то непонятной причине в душе все таки чувствуют себя ущербными. Отсюда начинаются нелепые наезды на С++. Типа такого (просто пример из книги по Джава, которуыу я смотрел):
L_L>"0. Я вспоминаю С++ как кошмар." L_L>Ну — ну. Если не смог изучить С++, то, наверное, и на Джаве говно клепает. L_L>"1. Уродский синтаксис" L_L>Да-да, серьезное обвинение. Не так уж сложно запомнить и усвоить синтаксис С++ и С. L_L>"2. Ага! Попались! При сдвиге для знаковых целых, результат в С++ является зависящим от реализации!!!" L_L>Да, поймали. Программист на Джава, видать, целыми днями чего-то куда-то двигает.
L_L>Т.е. вместо того, чтоб писать о Джава, автор расписывает, " какой противный отстой этот С++". При этом познания С++ у авторов, чаще всего на уровне года так 1988 или около того.
L_L>Я считаю, что некоторым Джава программистам и авторам книг (все ж таку это пересекающиеся множества ) надо брать пример с НАШЕГО С++ отца — Бьярн НИКОГДА не позволяет себе голословных и неумных нападок на другие языки.
Ребят, ну действительно, задолбали. Да, синтаксис у C++ + STL действительно простой. Но. Если сюда прибавить Windows + COM, то в такой связке с++ ну просто редкостный отстой. 10 вариатов строки, куча хитрых вложенных дефайнов. Просто труба.
Оговорюсь, что под Юникс на с++ не писал, как там, не знаю.
Сам же уже 4г. программирую на Яве. До этого 6 лет писал на с++
Как-то занимался я С++, потому ушёл в .NET, потом в Java. Примерно по несколько лет на каждую технологию. Насмотрелся всякого. Что могу сказать:
L_L>"0. Я вспоминаю С++ как кошмар." L_L>Ну — ну. Если не смог изучить С++, то, наверное, и на Джаве говно клепает.
1. С++ — это кошмар. Писать на нём не стоит ни при каких обстоятельствах. Есть исключения, но нужно стараться избегать всегда. Причины:
А) разделение на .h и .cpp — это не от хорошей жизни. Читаемость программы ухудшается.
Б) всё время приходится думать о памяти. Причём если о ней не думать специально, то программа будет работать медленнее, чем аналог на С#.
B) IntelliSence работает кое-как. А без него я уже и жить не могу. Те, кто пишет в emacs — это либо мазохисты, либо студенты.
Г) COM и CORBA — это отстой. И Java и .NET имеют намного более удобную компонентную модель.
Д) WinAPI — один из самых отвратных api, который я когда-либо видел.
Е) Работа со строками — это .............. Поубивал бы.
И это ещё не всё
L_L>"1. Уродский синтаксис" L_L>Да-да, серьезное обвинение. Не так уж сложно запомнить и усвоить синтаксис С++ и С.
2. Синтаксис в С++ — это как раз проблема, из-за которой современные компиляторы не могут обрабатывать миллионы строк кода за несколько секунд. С# и Java намного чище и потому эффективнее при разработке. Например, background compilation в Eclipse — это сказка Visual Studio — не дотягивает.
L_L>"2. Ага! Попались! При сдвиге для знаковых целых, результат в С++ является зависящим от реализации!!!" L_L>Да, поймали. Программист на Джава, видать, целыми днями чего-то куда-то двигает. L_L>Т.е. вместо того, чтоб писать о Джава, автор расписывает, " какой противный отстой этот С++". При этом познания С++ у авторов, чаще всего на уровне года так 1988 или около того.
3. С++ не станет чище с годами.
L_L>Я считаю, что некоторым Джава программистам и авторам книг (все ж таку это пересекающиеся множества ) надо брать пример с НАШЕГО С++ отца — Бьярн НИКОГДА не позволяет себе голословных и неумных нападок на другие языки.
4. С++ был хорош для своего времени. Теперь у него достаточно узкая ниша. Даже банковские системы переводят на C#.
Здравствуйте, Mishka, Вы писали:
M>Как-то занимался я С++, потому ушёл в .NET, потом в Java. Примерно по несколько лет на каждую технологию. Насмотрелся всякого. Что могу сказать:
M>1. С++ — это кошмар. Писать на нём не стоит ни при каких обстоятельствах. Есть исключения, но нужно стараться избегать всегда. Причины: M> А) разделение на .h и .cpp — это не от хорошей жизни. Читаемость программы ухудшается.
Да, тут создатели Явы учли недоработки С++. Причина понятна — обратная совместимость с С, но от этого не легче. Хотя namespacы уже ситуацию значительно улучшают. M> Б) всё время приходится думать о памяти. Причём если о ней не думать специально, то программа будет работать медленнее, чем аналог на С#.
Да уж, думать приходится! M> B) IntelliSence работает кое-как. А без него я уже и жить не могу. Те, кто пишет в emacs — это либо мазохисты, либо студенты.
Не работал, не знаю. M> Г) COM и CORBA — это отстой. И Java и .NET имеют намного более удобную компонентную модель.
Компонентная модель Явы — впоне симпатичная. А главное — встроена в язык. У NET вроде похожа, а? M> Д) WinAPI — один из самых отвратных api, который я когда-либо видел.
Да уж! M> Е) Работа со строками — это .............. Поубивал бы.
Ага! M>И это ещё не всё
Все это объясняется чисто историческими причинами. То, что в С++ и ООП от С++ "обсасывалось" годами, в Яве уже (на основе опыта С++, между проччим!) сделано в относительно окончательной форме.
L_L>>"1. Уродский синтаксис" M>2. Синтаксис в С++ — это как раз проблема, из-за которой современные компиляторы не могут обрабатывать миллионы строк кода за несколько секунд. С# и Java намного чище и потому эффективнее при разработке. Например, background compilation в Eclipse — это сказка Visual Studio — не дотягивает.
Ну, только синтаксис классов. Остальное-то как раз из С еще пришло! M>3. С++ не станет чище с годами.
Станет, станет. M>4. С++ был хорош для своего времени. Теперь у него достаточно узкая ниша. Даже банковские системы переводят на C#.
Ну и что?
Меня банковские системы как раз мало интересуют.
С++ — это полигон ООП программмирования!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Меня банковские системы как раз мало интересуют. LVV>С++ — это полигон ООП программмирования!
А ООП программирование ради чего? Это ж не самоцель, а инструмент, в том числе и для разработки банковских систем.
Так что предметная область рулит, без нее и ООП никому не нужен был бы..
Здравствуйте, Евгений Коробко, Вы писали:
ЕК>А разве у явы JIT?
Ява медленнее .NET. Вот так просто. И дело не в JIT, Java программу тоже можно скомпилировать в native code. А просто потому, что в Microsoft серьёзные люди работают. Кстати, всем известный фактч, что JVM от Microsoft — это самая быстрая JVM на рынке.
Здравствуйте, Merle, Вы писали:
M>Здравствуйте, LaptevVV, Вы писали:
LVV>>Меня банковские системы как раз мало интересуют. LVV>>С++ — это полигон ООП программмирования! M>А ООП программирование ради чего? Это ж не самоцель, а инструмент, в том числе и для разработки банковских систем. M>Так что предметная область рулит, без нее и ООП никому не нужен был бы..
Не правда ваша! Предметная область и 30 лет назад была предметной областью, однако ОО тогпа не было. А сейчас и там, где ОО не нужна — его (ее?) туды присобачивают!
Я к тому, что на С++ отрабатывались многие элементы ОО-технологии без привязки к предметной области. ОО-то еще в Симуле был, но о том, кроме Бьярна мало кто думал. Обобщенные genericи еще в Аде появились, но до широкого народа дошли только в виде темплейтов С++. И так многие вещи. Вся виртуальность ( и работа с памятью! ) в Яве уже убраны за кулисы. Но ведь, чтобы это понять и реализовать, потребовалось несколько лет опробывания этого в С++.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Merle, Вы писали:
M>Так что предметная область рулит, без нее и ООП никому не нужен был бы..
Опастная это вещь ООП, применять её в чистом виде может быть смертельно для проекта. К тому же в голом виде ООП — уже никому не нужен. Сейчас важны технологии и методы, и ООП всего лишь один из кирпичиков.
Здравствуйте, LaptevVV, Вы писали:
LVV>Я к тому, что на С++ отрабатывались многие элементы ОО-технологии без привязки к предметной области. ОО-то еще в Симуле был, но о том, кроме Бьярна мало кто думал. Обобщенные genericи еще в Аде появились, но до широкого народа дошли только в виде темплейтов С++. И так многие вещи. Вся виртуальность ( и работа с памятью! ) в Яве уже убраны за кулисы. Но ведь, чтобы это понять и реализовать, потребовалось несколько лет опробывания этого в С++.
Это от недостатка проблем. Ведь можно было и 20 лет назад создать нечто подобное .NET — все технологии уже тогда были. Но люди тогда были ... теоретиками, а потом появились деньги и люди стали приземлёнными.
Здравствуйте, itman, Вы писали:
I>Java vs C++, пардон, задолбали уже апологеты джавы доказывать, что джава может быть быстрее, чем плюсы.
Эк вам покоя не даёт java-технология.
Нечего так нервничать, расслабьтесь и получите удовольствие.
I>ПЫСЫ: кстати, меня подобными результатами "пытал" недавно мой друг — любитель Джавы, так я первый попавшийся код почти сходу прооптимизировал так, что он стал в 1.5 раза быстрее работать.
Да вы гений, батенька. Надо же, соптимизировал! Теперь буду рассказывать всем, что знаю такого парня, который "первый попавшийся код (java?) почти сходу прооптимизировал так, что он стал в 1.5 раза быстрее работать". А почему же почти? Что же вы так подкачали?
AF> Во-вторых — для этого у него есть орды опологетов C++, которые порвут на части другие языки и без него...
Короче, за Родину (читай за Бьярна и С++) — В ТОРЕЦ!!! ((с) Красная Плесень).
Of course, the code must be complete enough to compile and link.
Хорошо. Раз ты повернул разговор в такое русло, то и я так буду. жаба — отстой. жаба — дерьмо. Синтаксис жабы — отстой. жаба — тормозильная лажа.
Доволен?
А теперь о С++. Синтаксис прост, удобен и логичен для тех, кто знает и понимает.
Что, по умному у нас выходит общение?
Значит не зря авторы книжек пишут ПОЗОРНУЮ чушь про С++. Это бальзам для таких как ты?
Of course, the code must be complete enough to compile and link.
Здравствуйте, Mishka, Вы писали:
M>Здравствуйте, Евгений Коробко, Вы писали:
ЕК>>А разве у явы JIT?
M>Ява медленнее .NET. Вот так просто. И дело не в JIT, Java программу тоже можно скомпилировать в native code. А просто потому, что в Microsoft серьёзные люди работают. Кстати, всем известный фактч, что JVM от Microsoft — это самая быстрая JVM на рынке.
Просто жутко смешно.
1. Ява медленнее .NET. Не существенно медленней когда в связке вебсерверы, базу данных, soap и прочее.
2. А просто потому, что в Microsoft серьёзные люди работают. Вы вообще не можете знать средний уровень людей в MS и сравнивать их с SUN
3. JVM от Microsoft — это самая быстрая JVM на рынке. Бред. По определении,JVM — это то, что удовлетворяет спецификации. MS JVM спецификациям удовлетворяла возможно только в небольшое первое время после своего создания. Кстати, ни в одном продакшн проекте MS JVM не используется.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Хорошо. Раз ты повернул разговор в такое русло, то и я так буду. жаба — отстой. жаба — дерьмо. Синтаксис жабы — отстой. жаба — тормозильная лажа.
Сколько тебе лет, мальчик? (с)