Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   Java - ваш итог(недостатки, прочее) (https://forum.zone-game.info/showthread.php?t=19377)

Array 18.04.2012 15:30

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от Blakkky (Сообщение 179644)
ЗЫ: опечатался в формуле на яве, интересно, сколько времени уйдет на поиск опечатки (я 4 раза код прочитал, пока нашел, хотя ошибка наибанальнейшая).

Скобки же, или нет?
x1 = (( new Double4k( 0.0 ) ).sub( Double4k::sqrt ( d ) )).div( a ).div( new Double4k( 2.0 ) );
Code: Java

C++ math offtop:
Свернуть ↑Развернуть ↓

Azagthtot 18.04.2012 16:33

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от Blakkky (Сообщение 179644)
ЗЫ: опечатался в формуле на яве, интересно, сколько времени уйдет на поиск опечатки (я 4 раза код прочитал, пока нашел, хотя ошибка наибанальнейшая).

"Неймспейсы" в java отделяются . а не :: :)
А вообще, перегруз операторов - палка о двух концах. Я с вами согласен.

Blakkky 18.04.2012 17:47

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от Array (Сообщение 179656)
Скобки же, или нет?
x1 = (( new Double4k( 0.0 ) ).sub( Double4k::sqrt ( d ) )).div( a ).div( new Double4k( 2.0 ) );
Code: Java

Может быть, без IDE не понятно, если честно. Но ошибка не в этом. Да и для вызова функций вроде как последовательность однозначна, слева направо.

Цитата:

Сообщение от Azagthtot (Сообщение 179668)
"Неймспейсы" в java отделяются . а не :: :)
А вообще, перегруз операторов - палка о двух концах. Я с вами согласен.

Да, это тоже косяк, но я не про эту ошибку, я про ошибку в логике кода говорил (пример-то на читабельность кода).

О, пока отвечал, еще одну ошибку нашел :)

Ошибки (это к вопросу чтения кода):
1. x1 и x2 вычисляются одинаково, хотя это должно быть не так
x1 = new Double4k( 0. ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


2. Потерял b в формуле для корней:
x1 = new Double4k( 0. ).sub( b ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).sub( b ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


Кстати, перегрузка операторов легко решается на уровне препроцессора (по крайней мере для себя я это делал так: если после переменной-объекта есть +-*/, то поискать у нее метод __operatorAdd(...) и заменить + на его вызов).
И препроцессор простенький для дублирования/генерации кода для себя тоже делал сам (кое-что удобно генерировать, а не писать руками), build.xml для ant-а + php-скрипт для предобработки классов перед компиляцией. Один в таком решении косяк - код перестает валидироваться в IDE. :(

VISTALL 18.04.2012 23:27

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от Blakkky (Сообщение 179696)
Может быть, без IDE не понятно, если честно. Но ошибка не в этом. Да и для вызова функций вроде как последовательность однозначна, слева направо.


Да, это тоже косяк, но я не про эту ошибку, я про ошибку в логике кода говорил (пример-то на читабельность кода).

О, пока отвечал, еще одну ошибку нашел :)

Ошибки (это к вопросу чтения кода):
1. x1 и x2 вычисляются одинаково, хотя это должно быть не так
x1 = new Double4k( 0. ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


2. Потерял b в формуле для корней:
x1 = new Double4k( 0. ).sub( b ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).sub( b ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );


Кстати, перегрузка операторов легко решается на уровне препроцессора (по крайней мере для себя я это делал так: если после переменной-объекта есть +-*/, то поискать у нее метод __operatorAdd(...) и заменить + на его вызов).
И препроцессор простенький для дублирования/генерации кода для себя тоже делал сам (кое-что удобно генерировать, а не писать руками), build.xml для ant-а + php-скрипт для предобработки классов перед компиляцией. Один в таком решении косяк - код перестает валидироваться в IDE. :(

поддержка IDE незнаю проще - если есть IDE опенсорс, а вот компилятор(когда ниодин ненравится это ппц):cd:

n3k0nation 19.04.2012 15:08

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от Azagthtot (Сообщение 179478)
Достал автобоксинг... Ну почему getDeclaredConstructor(int.class) и getDeclaredConstructor(Integer.class) две большие разницы?
Достал массив. Который с одной стороны вроде и Iterable<> (for.. : arr) а с другой (iterator()) вроде и нет...

Решили, блин, проблему... Прощайте примитивы, привет концепция: "Обьект - мой Бог!".

С JavaOne:
Цитата:

Первый доклад назывался «JDK8 и дальше». Собственно JDK8 и набор его фич уже ни для кого не секрет, а особый интерес у меня вызывало «…и дальше». Фича-листы показывали так быстро, что я почти ничего не запомнил, только урывками: примитивов больше не будет, только объекты, самонастраивающаяся JVM и много-много другого. Ждём слайды на сайте конференции.
Пруф: тык-тык

VISTALL 19.04.2012 18:51

Re: Java - ваш итог(недостатки, прочее)
 
Цитата:

Сообщение от ASevenfold (Сообщение 179929)
Решили, блин, проблему... Прощайте примитивы, привет концепция: "Обьект - мой Бог!".

С JavaOne:

Пруф: тык-тык

:ec: я пасс чёто писать на ней)

Ronn-l2f 22.04.2012 10:30

Re: Java - ваш итог(недостатки, прочее)
 
Всегда в джаве всего хватало, а те, кому чего-то не хватают, пытаются в ней увидеть либо черезмерный синтаксический сахар либо другой какой-то язык


Текущее время: 18:40. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot