|
|
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
VoDAАлексей КVoDAРабота с множеством тредов. C++ треды намного более дорогие чем java-треды.Можно пару ссылок, объясняющих природу этого явления?ссылки - это к google.Искал. Гугл молчит как партизан. VoDAсортировку "пузырьком" не является бизнес-логикой... да и не была ей никогда.В БЛ на явовом СП не встречаются операции с массивами? А коллекции не на массивах построены? А то что при каждом обращении к элементу коллекции происходит контроль типа ( хвала Микрософту, в дотнете с этим проблем нет )? Это всё не типовые операции корпоративных СП? VoDAС++ может выигрывать у java только на специальной заточке под фичи конкретного процессора - за счет ручной оптимизации работы CPU. Но это очень дорого ... так что выигрыш на реальных задачах есть только в исследовательских центрах.Правда? Чё ж тогда игры на яве не пишут? TimlendusЯ не говорил, что Ява - единственный язык, где он есть.Ну а смысл говорить об оптимизации, которая есть во всех уважающих себя компиляторах? mecidэээ народ мы отошли от темыТопик читайне внимательнее. Давно уже выяснили, что Ява как язык сливает перед C# по многим параметрам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:44:52 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
chpashaдальше вопрос на засыпку, что должен вернуть тот же фримаркер на выражение {client.clientDebts!} если ваш "геттер" вместо нулла исключение кидает? Во-первых, если речь идет о работе с источником данных, то до view в таком виде ошибка не должна дойти. Где-то будет перехвачен exception и будет выведено сообщение об ошибке в полагающемся ему месте. А не null посреди экрана. Во-вторых, getClientDebts() может вернуть NULL-object, который заменит во многих случаях реальный объект. Тут очень сильна приделана специфика к задачи. В третьих, если возможно ситуация когда сущность может быть/может не быть и NULL-object по каким-то причина не устраивает, можно добавить методы hasDebts() классу client. И будет точно известно, что их нет. Хотя в данном случае, судя по тому что Debts это множественно число, вполне подойдет NULL-object в виде пустой коллекции. Ну и наконец, что выведет freemaker на {client.getDebts.size}, в случае, если getDebts возвращает null? (Я, правда, с синтаксисом freemaker не знаком, но так понял, что вы просто поле выводите). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:49:13 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КТопик читайне внимательнее. Давно уже выяснили, что Ява как язык сливает перед C# по многим параметрам. Это вы выяснили. Я вот нет, например. То, что вы считаете недостатоком Java (правильно Джава), я считаю ее достоинством. Лаконичный синтаксис помогает всем программистам мыслить одинаково не только в рамках одного проекта, но и в рамках сообщества. По большому счету, в Java нельзя одно и тоже сделать несколькими путями. Если и можно, то это будет считаться отходом от правил. Насколько я знаю, C# позволяет куда как больше различных путей для решения одной проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:52:03 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей Кmecidэээ народ мы отошли от темыТопик читайне внимательнее. Давно уже выяснили, что Ява как язык сливает перед C# по многим параметрам. ))))))))))))))))))))))))))))))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:53:36 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КTimlendusЯ не говорил, что Ява - единственный язык, где он есть.Ну а смысл говорить об оптимизации, которая есть во всех уважающих себя компиляторах? Я говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:56:41 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 14:58:07 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Или что для С++ не существует компиляторов, полностью использующих возможности того или иного процессора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:00:43 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
LeonidvЭто вы выяснили. Я вот нет, например. То, что вы считаете недостатоком Java (правильно Джава), я считаю ее достоинством. Лаконичный синтаксис помогает всем программистам мыслить одинаково не только в рамках одного проекта, но и в рамках сообщества. По большому счету, в Java нельзя одно и тоже сделать несколькими путями. Если и можно, то это будет считаться отходом от правил. Насколько я знаю, C# позволяет куда как больше различных путей для решения одной проблемы.Баян... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:01:22 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Leonidv Лаконичный синтаксис помогает всем программистам мыслить одинаково не только в рамках одного проекта, но и в рамках сообщества. По большому счету, в Java нельзя одно и тоже сделать несколькими путями. Если и можно, то это будет считаться отходом от правил. +1 Вобще-то в идеале подобные темы должны представлять собой список "+" и "-" как следствие субъективного опыта (ибо все замечания по теме полезны только с указанием контекста) или закрыватся/удалятся. Автору (подчёркиваю - автору, и тем несчастным, кто польстился на её громкое название) темы на все 9 стр. полезных, от силы 5 сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:05:01 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
VoDAchpasha-2 если вы целый день тратите на отладку геттера. По вашему Client.getClientDebts() это геттер?к сожалению getXxx() возвращающий нечто (не важно объект или примитив) - это геттер. Даже если возвращается сложный объект или проводятся вычисления это геттер. Геттер это метод имеющий характерное имя и с заданной сигнатурой. Логика работы не виляет геттер это или нет. я не спорю, что все что начИнается с get i не имеет параметров можно формально обозвать геттером. но...мы начали с чего? правильно - мы обсуждали свойства, и соответственно геттеры применительно к понятию свойств. Leonidvchpashaдальше вопрос на засыпку, что должен вернуть тот же фримаркер на выражение {client.clientDebts!} если ваш "геттер" вместо нулла исключение кидает? Во-первых, если речь идет о работе с источником данных, то до view в таком виде ошибка не должна дойти. Где-то будет перехвачен exception и будет выведено сообщение об ошибке в полагающемся ему месте. А не null посреди экрана. мы ведь как я понял о "ленивом" свойстве говорили. если объект заполняeтся целиком, exception мы получим при проблемах с базой на стадии getClient(), а не на Client.getDebts(). а вот по-скольку свойство типа ленивое (а я имею мнение что это уже ни разу тогда не свойство должно быть а метод - а если метод то на здоровье вешайте на него throws SQLException) - хапнем мы исключение, когда вьюхе уже отдадим объект клиента. LeonidvНу и наконец, что выведет freemaker на {client.getDebts.size}, в случае, если getDebts возвращает null? (Я, правда, с синтаксисом freemaker не знаком, но так понял, что вы просто поле выводите).уже все украдено до нас - {(client.getDebts.size)!}. фримаркер спокойно обрабатывает случай с null в середине цепочки, если на все выражение применяется оператор ! и х.з. что делает в вашем случае, если кидать exception в "геттере". в лучшем случае он его схавает и вернет тот же нулл, в худшем хапнем исключение при генерации. З.Ы. впрочем пока настоящих свойств нет, спор лишен смысла. можно ставить checked exception на геттер и не париться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:05:54 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
VoDAАлексей КmikkriДля многих приложений CPU уже не является ограничивающим фактором. Т.е. safe код медленнее unsafe на 5-10%Смотря на каких задачах. Это может быть и 150...300%. Возьмите, например, сортировку "пузырьком" и сделайте её на Java и C++. Увидите какое влияние оказывает проверка границ массивов.сортировку "пузырьком" не является бизнес-логикой... да и не была ей никогда. С++ может выигрывать у java только на специальной заточке под фичи конкретного процессора - за счет ручной оптимизации работы CPU. Но это очень дорого ... так что выигрыш на реальных задачах есть только в исследовательских центрах. Не только. У нас тут народ есть, они даже сторонние библиотеки перекомпилируют из исходников под свое железо, чтобы доли процентов прироста "выжать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:09:54 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КTimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? Вы понимаете разницу между виртуальной машиной и компилятором? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:10:35 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КLeonidvЭто вы выяснили. Я вот нет, например. То, что вы считаете недостатоком Java (правильно Джава), я считаю ее достоинством. Лаконичный синтаксис помогает всем программистам мыслить одинаково не только в рамках одного проекта, но и в рамках сообщества. По большому счету, в Java нельзя одно и тоже сделать несколькими путями. Если и можно, то это будет считаться отходом от правил. Насколько я знаю, C# позволяет куда как больше различных путей для решения одной проблемы.Баян... Ну если сказать больше нечего, то можно писать "Баян". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:11:33 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusАлексей КTimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? Вы понимаете разницу между виртуальной машиной и компилятором?Речь идёт об инлайнинге методов. Какая разница на каком этапе это происходит? Важен результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:12:12 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КПравда? Чё ж тогда игры на яве не пишут? 1С пишет, насколько я понимаю, вполне серьезные игры и вполне успешно. У меня знакомый там работал, иначе бы и не догадывался. Конечно, графика там не на Java, но вся "бизнес-логика" на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:12:16 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusНу если сказать больше нечего, то можно писать "Баян".Остроумно... Я чё, по 10 раз должен об одном и том же писать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:13:14 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Timlendus Ну если сказать больше нечего, то можно писать "Баян". ну утверждение без примеров, что в ява (синтаксис которой практически идентичен шарповому) все решается единообразно, а в шарпе есть куча способов сделать одно и тоже - звучит как-то пространно. мне вот действительно интересен пример, не ради поспорить а так сказать с целью повышения образования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:15:01 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
mikkri1С пишет, насколько я понимаю, вполне серьезные игры и вполне успешно. У меня знакомый там работал, иначе бы и не догадывался. Конечно, графика там не на Java , но вся "бизнес-логика" на Java.А чё так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:15:08 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей КTimlendusАлексей КTimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? Вы понимаете разницу между виртуальной машиной и компилятором?Речь идёт об инлайнинге методов. Какая разница на каком этапе это происходит? Важен результат. Да почему же Вы не хотите внимательно мою ссылку прочесть? Там как раз описана разница, о которой Вы спрашиваете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:15:11 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusАлексей КTimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? Вы понимаете разницу между виртуальной машиной и компилятором? Технически, если знать про целевое железо, можно на этапе компиляции соптимизировать не хуже, чем это делает JVM. Т.е. в зависимости от задача и ситуации результаты сравнения - разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:15:41 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
Алексей Кmikkri1С пишет, насколько я понимаю, вполне серьезные игры и вполне успешно. У меня знакомый там работал, иначе бы и не догадывался. Конечно, графика там не на Java , но вся "бизнес-логика" на Java.А чё так? А так, что DirectX написан не на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:16:53 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
mikkriТехнически, если знать про целевое железо, можно на этапе компиляции соптимизировать не хуже, чем это делает JVM. Т.е. в зависимости от задача и ситуации результаты сравнения - разные.А то и лучше. У JIT компилятора времени на оптимизацию мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:18:22 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
mikkriTimlendusАлексей КTimlendusЯ говорил об оптимизации виртуальной машины, а не компилятора. Если Вы не поняли, прочтите еще раз мою ссылку.Вы считаете, что компилятор C++ не умеет инлайнить методы? Вы понимаете разницу между виртуальной машиной и компилятором? Технически, если знать про целевое железо, можно на этапе компиляции соптимизировать не хуже, чем это делает JVM. Т.е. в зависимости от задача и ситуации результаты сравнения - разные. Оптимизаци JVM основана еще и на статистических данных, которые были получены после выполнения Java-кода. Эти данные нельзя получить на этапе компиляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:19:27 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
mikkriА так, что DirectX написан не на Java.Java не умеет работать с COM объектами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:19:32 |
|
||
|
Программирование на Java - интересно?
|
|||
|---|---|---|---|
|
#18+
TimlendusДа почему же Вы не хотите внимательно мою ссылку прочесть? Там как раз описана разница, о которой Вы спрашиваете.Ну Вы бы вкратце, своими словами, рассказали о чём идёт речь. А то у меня с английским туго, может чего и не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 15:21:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=36144683&tid=2130595]: |
0ms |
get settings: |
16ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
52ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
97ms |
get tp. blocked users: |
2ms |
| others: | 309ms |
| total: | 540ms |

| 0 / 0 |
