Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клиент-сервер, JAVA vs. C++, Что надёжнее и удобнее? 
V
    Опции темы
serghd
Дата 12.10.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Мой друг 6 лет пишет на с++ и абсолютно уверен в том, что системы клиент-сервер на с++ писать удобнее и, главное, надёжнее, чем на JAVA. Разве можно "извлеч" скомпиленый ява-код программы на клиентской машине? Какие вообще дыры могут быть на стороне JAVA? 
Сам я в принципе только из-за клиент-серверных приложений и решил изучать JAVA - надоели браузеры (4 года был на php+js+mysql и т.п.) и "недо"-ООП до ужаса. 
Под мобилки неинтересно (мне кажется почему-то, что не окупаемый это труд), апплеты почти полностью вытеснены флешем, остаются консольные и десктопные приложения. Короче говоря, для меня важно знать надёжность и целесообразность софта клиент-сервера на JAVA, кому не в лом, отпишитесь пожалуйста.

Это сообщение отредактировал(а) serghd - 13.10.2009, 10:59
PM MAIL   Вверх
Samotnik
Дата 12.10.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Ну а что писать то smile
Холивар разводить очередной ?
Скажу одно - в Минске Java  очень востребована, хорошие программисты, получают хорошие деньги smile  
Востребовано:
 - Игры на мобилы;
 - Веб проекты;
 - Гуи проекты;
 - Флекс проекты (очень быстро развиваются и набирают обороты)
Поясню сразу, что проекты в основном большие, долгосрочные, корпаративные.

Добавлено через 58 секунд
Ах да, про надежность - вполне можно сделать java код защищенным  smile 
PM MAIL   Вверх
Temdegon
Дата 13.10.2009, 04:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

Репутация: 7
Всего: 9



Если под надежностью имеется ввиду отказоустойчивость, отсутствие фатальных ошибок и утечек ресурсов, то тут многое зависит от скила программиста, но в java с этим в десятки раз проще. 
Если писать "хэллоу ворды" и "echo-серверы" из книжки, то проблем в С++ никаких. Но если дело доходит до сложных многопоточных серверов, тот тут уже надо иметь нехилый опыт и сильно постараться, что бы на C++ все работало как надо. С профилированием кода в С++ опять же все гораздо сложнее. А если задача стоит написать относительно переносимый сервер, то тут уж точно на C++ поседеть можно, когда проект использует десяток библиотек, каждая из которых за собой тащит еще столько же зависимостей, и каждая имеет всякие причуды под разными осями. Хотя я давно этим не интересовался, и мое мнение может быть ошибочным. Та же Qt снимает много проблем с переносимостью.
Если под надежностью подразумевать безопасность, то ИМХО, ситуация такая: да, компиленный java-код легко декомпилируется, но это мало что меняет. Те кто считают, что написали прогу на Cи, скомпилили native-код, и они защищены, никогда не пользовались SoftICE, декомпиляторами и дизассемблерами. Для решения проблем безопасности, обоих языках используют обфускацию кода, и это достаточно эффективно. Ну и опять же, серверное ПО защищено уже потому, что лежит на сервере. А вопросы безопасности протоколов шифрования и передачи данных вообще мало касаются языка программирования. А клиентскую часть особо-то и защищать незачем. Ты же JavaScript не шифруешь, чтоб не дай бог не взломали хэкеры, а пишешь все ядро на PHP, который просто валяется на сервере в открытом виде (ну или каким-нить Zend-энкодером прикрыт).
К слову, пару месяцев назад решил "фо фан" взломать одну триальную прогу, написанную на C# (те же яйца, что и с Java, декомпилируется без проблем). Код программы естественно был обработан обфускатором. Но меня это не смущало - "Что я проверку серийника найти и отключить не смогу?". Да, на выходе декомпилятора я получил что-то похожее на исходный код, и это "что-то" явно было написано на C#. Но в реале, этот был не код, а каша из переменных вида z12y, вывернутых на изнанку проверок, развернутых циклов, разбитых на куски строк и прочих радостей исследования обфусцированного кода. Хотя я точно знал, в каком участке кода начинались проверки, это мне мало помогло. В общем, я просидел за этим винегретом 4 часа и сдался =).
Ну и как известно, идеальной защиты для клиентских приложений пока еще не придумали. Те же игрушки, защищенные старфорсом, успешно ломаются, и бывает что кряки выходят даже раньше релиза игры. Всякие навесные защиты, типа ASProtect, EnigmaProtector, Armadillo то же взламывают - если не кейген напишут, то уж exе точно пропатчат. Ну а срок триала программ, защищенных этими протекторами так вообще продлевается в домашних условиях за считанные минуты. И ведь казалось бы, почему не напишут "идеальную защиту"? Ведь все на их стороне: нэйтив код, определенная ос, определенная аппаратная платформа. Хочешь драйверы уровня ядра для своей защиты пиши, хочешь шифруй библиотеки, практически неограниченный доступ к железу, а все равно никак! А потому, что наши процессоры и наши ОС - это та же JVM, только более низкого уровня, которую можно отладить. Они уже много чего умеют, но вот защищать исполняемый код от костлявых пальцев и красных, от бессоных ночей, глаз пока не приспособлены.
PM MAIL   Вверх
serghd
Дата 13.10.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(Samotnik @ 12.10.2009,  23:41)
Ах да, про надежность - вполне можно сделать java код защищенным  smile

Я знаю, что можно например используя excelsior. Но результирующий объём приложения (в неск. раз больше "оригинала") меня совсем не впечатлил...
Так всё-таки исходный код явы значит не защищён...

И я думаю эта тема не может относиться к холивару, т.к. затеяна не в целях навязывания друг другу своих убеждений. Шутка ли - потратить не один год на обучение и опыт, а потом в этом разочароваться. Да, в инете достаточно сравнений java vs c++ на разных уровнях - и производительности и простоты написания (при достижении одинаковой цели). Но лично мне ява важна в основном со стороны веб-приложений и клиент-сервера (GUI естесственно, по крайней мере клиент). Каким же тогда образом можно извлеч оригинальный код из jar-архива? Может кто-нибудь пробовал? И что такое флекс-проекты, какое-то новшество?

Это сообщение отредактировал(а) serghd - 13.10.2009, 10:35
PM MAIL   Вверх
Samotnik
Дата 13.10.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Цитата(serghd @  13.10.2009,  10:29 Найти цитируемый пост)
Так всё-таки исходный код явы значит не защищён... 

Ведь Temdegon,  очень все грамотно описал. Я скажу в двух словах: 
Идеальной защиты нету. Что говорить, если ломаются гигантские программы, которыми пользуется весь мир (Фотошоп, Автокад, Виндовс) Думаете разработчики этого софта не разрабатываю защиту ? 
Все относительно в этом мире. В Java код защищен не хуже, чем в С# или С++.
PM MAIL   Вверх
serger
Дата 13.10.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 1
Всего: 5



А зачем защищать код в client-server? и от кого?


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
serghd
Дата 13.10.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



код клиента, от хакеров. Допустим игра "покер", там будет много конкурентов и все заходят найти дыры в протоколе или ещё где-нибудь

Это сообщение отредактировал(а) serghd - 13.10.2009, 10:41
PM MAIL   Вверх
Samotnik
Дата 13.10.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Клиентский код защитить очень трудно (JS  вообще никак не реально защитить) А серверный код хранится на сервере, поэтому есть маленькая вероятность, что его не вскроют. 
PM MAIL   Вверх
serghd
Дата 13.10.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Цитата(Samotnik @ 13.10.2009,  10:45)
Клиентский код защитить очень трудно (JS  вообще никак не реально защитить) А серверный код хранится на сервере, поэтому есть маленькая вероятность, что его не вскроют.

Да причём здесь яваскрипт вообще? Браузеры тут не в тему совершенно и знаю прекрасно что его не защитить. Я говорю о ява-проге-клиенте, которая работает удалённо с серваком. Впрочем, Temdegon всё описал достаточно понятно и убедительно, в этом я с вами согласен.

Это сообщение отредактировал(а) serghd - 13.10.2009, 10:57
PM MAIL   Вверх
powerOn
Дата 13.10.2009, 10:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(serghd @  13.10.2009,  11:40 Найти цитируемый пост)
код клиента, от хакеров. Допустим игра "покер", там будет много конкурентов и все заходят найти дыры в протоколе или ещё где-нибудь


Если ошибка в протоколе, то нет никакой разницы, что Java, что С++. 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0696 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.