Войти
ПрограммированиеФорумОбщее

От Java к С++ (3 стр)

Страницы: 1 2 3 4 5 Следующая »
#30
12:07, 27 июня 2010

xDimka
> Java уже давно объективно показала свою несостоятельность для Mobile решений.
> Мнимая кроссплатформенность
Разве это проблема языка? Это проблема разработчиков конкретных мобильных платформ, которые норовят в каждом телефоне сделать какую-то уникальную jvm.


#31
12:23, 27 июня 2010

Java не годится там, где требуется максимальная скорость выполнения, и стабильность этой скорости выполнения - привет сборщику мусора.
C# в данном плане ни чем не лучше Java. Эти языки/платформы отлично подходят для обычных оконных приложений и инструментария, но ни как не подходят для задач где идёт работа с реальным временем - в контексте игр это моделирование физических процессов и рендеринг в реальном времени.

#32
21:10, 27 июня 2010

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

А также следует отметить, что java гораздо более внимательный к ошибкам язык программирования, который не даст вам сделать множество ошибок, которые вы могли бы допустить, используя с++. Следовательно, бОльшая скорость разработки приложений и их бОльшая надежность java противопоставляется многообразию, гибкости  и скорости c++. На любом из этих языков программирования можно создать полноценную игру, вопрос лишь в том - важно ли для вас сделать это быстрее или чтобы это быстрее работало? Если это игра высокотехнологичная и крутая - то, выбора нет... Вам просто придется купить один из готовых движков, написанных на с++ и играть по установленным правилам. Если это игра в жанре кэзуал - то тут java может показать себя с хорошей стороны... Ну а если вы маньяк-одиночка, способный конкурировать с ведущими производителями игровых движков... То движок и делайте))))))

#33
22:15, 27 июня 2010

Как уже упомянули - в управляемых языках камнем предкновения является сборка мусора. Именно она мешает real time работе. Не так давно я где-то натыкался на статейку в msdn blog (ага, вот вроде и она) где чувак объяснял почему MS не спешит выпускать managed враперы для real time API (в т.ч. тот же новый Media Foundation API). Вывод там один: "We don’t support multimedia APIs from managed code... GC все тормозит". Это все касается и Java.
И кстати, в Джаве нет разделения на Value & Reference типы (я не говорю про примитивные типы), это значит что создание например простого 2D/3D вектора будет задействовать GC и не дай бог еще и в куче выделятся (где-то читал что мол джава ложит маленькие объекты в стек по своему усмотрению - если это не так, то совсем печально..).

#34
22:38, 27 июня 2010

  Еще раз о городских легендах о производительности - must read всем, кто думает, что GC слишком медленно даже для казуалок. От себя могу сказать, что я делал софтварный рендерен на Java и он показал себя не намного медленнее аналогичных на С++. Но это был софтварный и мало кто станет на таком делать казуалку. Если делать рендер аппаратно на OpenGL, то тогда вообще не вижу повода для тормозов.

#35
0:00, 28 июня 2010

да при чем ваще софт рендер, я же говору у явы есть своя прога для преобразования java в натив

кстави _Marchello_, жожет я и не слишком силен Цпп я ни как не пойму почему в Цпп столько заморочек с ссылками, указателями и какая польца от их разделения :-\

#36
1:20, 28 июня 2010

zygan
ну типа разницы между ними нет, просто придумали ссылку, которая и есть указатель, только выглядит она как обычная переменная, то бишь как бы псевдоним)
но есть очень интересная особенность - ссылка всегда должна быть инициализирована адресом настоящего объекта. как бы. но на самом деле в с++ никто не запрещает застрелить себя в ногу)))

int &a = *((int *)NULL); //ахахахаа! не играйте, дети, со ссылками
a = 10; // можете застрелить себя в ногу!

а вообще, язык C++ наделен конструкциями с практически философским смыслом )))

class Human  {

public:

  void suicide() {
    delete this;
  }

};

int main() {
  Human *human0 = new Human();
  human0->suicide(); // это не самоубийство!
  
  Human human1;
  human1.suicide(); // вот как должно выглядеть настоящее самоубийство!
  return 0; // все бесполезно. возврата нет!
}
#37
1:55, 28 июня 2010

EvilSpirit
А при чем здесь язык? Если вы хотите "застрелить себя в ногу", то это ваше право. Язык дает только инструменты. Никто же не виноват в том, что программисты порой пишут код, и совершенно не представляются как он будет работать, а порой даже не представляют как работает то, что они используют. А потом жалуются, что в с++ полно граблей. Думать головой просто надо. Ну и не буду говорить, в чем различия ссылок и указателей. За этим лучше в учебники обратиться, там и примеры и разжевано все будет не на одну страницу.

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

#38
2:07, 28 июня 2010

Информация к размышлению - на Java лучше всего писать для Android OS.

#39
7:24, 28 июня 2010

Вообще странная проблема у автора.

1)В универе научили С++
2)Но на работе писать пришлось на джава
3)-> бесценные знания, полученные в универе улетучились (ай-яяй!)
4)Решил сделать любительский проЭект на С++
5)чОрт, но я ведь не знаю С++ (я его забыл). Не потсупать же снова в универ чтоб меня опять научили?!!!
6)->Придеться писать на Java (я его знаю, еще не забыл)
7)Но в умных книжках написано что Java не годиться для разработки игр. Как быть?!!
8)А есть такие книжки где написано как сделать большую игру типа Crysis, на Java?!!!

Вообще то такие книги есть. Жарков-пресс печатает. Но боже вас упаси по ним разработку игр изучать.

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

1)рассказы о пользе высшего образования - пустые байки
2)автор в свое время плохо учился


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

#40
9:07, 28 июня 2010

__SaM__
Более гибкий и мощный язык программирования обладает бОльшим арсеналом оружия, которое иногда стеляет даже в самых склилованных и опытных программистов. Но зачастую, они всегда носят бронежилет)))

#41
9:40, 28 июня 2010

Я в универе не учился к сожалению, я самоучка, купил как то две книжки (автор Коваль, Глушаков, Смирнов)
"Язык программирования С++"  так вот где писал Коваль (т. е. как раз ети ссылки и указатели)  там наступает полный мрак,
и мне пришлоси розов 5 перечитывать эти главы чтоб понять из работу и где собственно они нужны,
честно говоря все равно ни х** не понял...

кстати GLoom - для явы есть свои машины и процы с java-нативом, и ОС, вот там ява работает на ура, и в полную силу...

#42
10:38, 28 июня 2010

zygan
> кстати GLoom - для явы есть свои машины и процы с java-нативом, и ОС, вот там
> ява работает на ура, и в полную силу...
Я имел в виду что сейчас ява в играх лучше всего себя чувствует на мобилках J2ME и на Андроиде. В остальных местах почему-то не приживается.

#43
11:01, 28 июня 2010

zygan
> Я в универе не учился к сожалению, я самоучка, купил как то две книжки (автор
> Коваль, Глушаков, Смирнов)
> "Язык программирования С++" так вот где писал Коваль (т. е. как раз ети ссылки
> и указатели) там наступает полный мрак,
> и мне пришлоси розов 5 перечитывать эти главы чтоб понять из работу и где
> собственно они нужны,
> честно говоря все равно ни х** не понял...

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

#44
11:12, 28 июня 2010

Aglaranir
> Вообще почему-то считается что в университетах как это там..."учат учиться". Вы
> должны уметь самостоятельно искать нужную информацию, и работать с несколькими
> источниками...

вот это пожалуй самая здравая мысль.

У меня есть по С++ есть настольная книжка Т.А. Павловская С++, Программирование на ЯВУ. Там вот как раз разжевывают. Ну и отдельно по DirectX, их десятки.

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.