|
|
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
mikkriJava Programmerпропущено... Используется потоковый парсер - кроме того - я в практике другого и не использовал никогда... This kind of XML is suitable for chunk-processing; the main idea is to use the StAX API, run a loop, and unmarshal individual chunks separately. Your program acts on a single chunk, and then throws it away. In this way, you'll be only keeping at most one chunk in memory, which allows you to process large documents. See the streaming-unmarshalling example and the partial-unmarshalling example in the JAXB RI distribution for more about how to do this. The streaming-unmarshalling example has an advantage that it can handle chunks at arbitrary nest level, yet it requires you to deal with the push model --- JAXB unmarshaller will "push" new chunk to you and you'll need to process them right there. тынц И? Вы выделяете кусок XML без использования JAXB и к нему применяете JAXB. Это ли не костыль? Я ничего не выделяю - идет поток XML из InputStream и парситься через JaxB для меня это выглядит как будто у меня просто появляются новые объекты - Никакой это не кастыль... Зайдите по ссылке не поленитесь... По сути - когда вы правите налету XML - Вы делаете тоже самое.. только я правлю объект и отдаю его в XMLOutputStream ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2011, 16:18:26 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
kamrekamreХотя completion (хоть и выдает много лишнего) Не, completion тоже нормально не работает: не все варианты показывает ничего не дополняет IDEA на таких простых примерах без проблем работает, но как же она тормозит на чуть более сложном коде... В последней сборке (31/10/2011) первое не работает, второе работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 20:08:20 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Наткнулся на итересный benchmark проводимый Google. По результатам Scala обогнала Java почти по всем направлениям (кроме размера jar'a и времени компиляции). P.S. Я конечно понимаю что этот benchmark мало что показывает, но всё же интересно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2011, 08:25:45 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Kenny Fartman! > http://docs.scala-lang.org/cheatsheets/ И эти люди запрещают нам есть руками? Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 09:16:27 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraИ эти люди запрещают нам есть руками? Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам... +100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 10:45:30 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraБлин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам... О чем именно идет речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 11:01:34 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Leonidv! >> Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам... > О чем именно идет речь? Например: Код: plaintext 1. 2. 3. 4. Ну и ещё ошибки тонкие. Это как в Си дебильная фича, что если p(); это вызов процедуры, то p; это корректный код, который не вызывает процедуру. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 11:28:35 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Leonidv! >> Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам... > О чем именно идет речь? Например: Код: plaintext 1. 2. 3. 4. Ну и ещё ошибки тонкие. Это как в Си дебильная фича, что если p(); это вызов процедуры, то p; это корректный код, который не вызывает процедуру. -- Алексей JID: alxt@ya.ru В любом языке можно понаделать трудноуловимых ошибок, и Java-не исключение )) Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция, поэтому всегда возвращает значение. Если не указываем присвоение - значит возвращается void (т.е. Unit) Просто надо привыкнуть к синтаксису. Ну, и выработать для себя определенный стиль кодирования, максимально исключающий ошибки. (Как, например, ставить константу слева для equals, или не называть одинаково поля и переменные...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 12:49:30 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Диез! > Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция, > поэтому всегда возвращает значение. > Если не указываем присвоение - значит возвращается void (т.е. Unit) Проблема в экономии ресурса клавиатуры. Не надо это делать. Великой нужды в выведении типов нет. > Просто надо привыкнуть к синтаксису. Ну, и выработать для себя > определенный стиль кодирования, максимально исключающий ошибки. > (Как, например, ставить константу слева для equals, или не называть > одинаково поля и переменные...) А вот это хороший пример на тему того, что нужно шоры снимать иногда. Авторы java не осилили взять _ничего_ из ЯП кроме С++. Тут- невиртуальные методы. В delphi можно было б сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 13:56:03 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, извини, но я твой пример не понял. В Delphi, self\this используется либо в методах объекта, либо передаётся как параметр. Глобальные функции исп-тся по минимуму. Но если исп-тся, то всё передаётся параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 14:26:58 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > извини, но я твой пример не понял. посмотри метод Object.Free Код: plaintext 1. 2. В результате можно написать так: Код: plaintext 1. 2. 3. 4. 5. И ошибки не будет. ОЧЕНЬ удобно. Аналогично можно сделать Код: plaintext 1. 2. Так же как удобны и виртуальные методы класса :) Так же как и Result вместо return (правда постусловий, из-за которых был придуман Result в eiffel'е нет). -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 14:32:45 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Код: plaintext 1. Тут никакой анализатор-компилятор не поможет. С точки зрения бизнеса я точно знаю где у меня Экземпляр, а где КлассовыйМетод. Поэтому писать всё одной буквой Х :)) .... я так не делаю. Да простейший Replace внешним редактором или .... Т.е. я обычно за строгую типизацию ЯП, поэтому для меня было шоком написание клиента на JS. (Пиши как угодно, т.к. галка "Не показывать ошибки - ВЫКЛ") imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 15:02:38 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > Тут никакой анализатор-компилятор не поможет. Ты не понял. Суть в том, что не-виртуальному методу не нужна VMT для поиска метода. Компилятор "впечатывает" адрес процедуры и передаёт this/self в качестве параметра. Соответственно если переменная null, то вызов пройдёт. А сам метод уже выяснит, null там или нет. В ява же приходится постоянно писать if (x != null) x.some(); > Поэтому писать всё одной буквой Х :)) .... Это просто чтобы тут меньше набирать. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 15:46:58 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, наверно я не понял замысла. Уж очень много сокращений ) Но всё равно спс. Вот этого не знал (думал Raise будет) x := nil; x.free; ....в кунсткамеру :) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 16:04:18 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Диез! > Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция, > поэтому всегда возвращает значение. > Если не указываем присвоение - значит возвращается void (т.е. Unit) Проблема в экономии ресурса клавиатуры. Не надо это делать. Великой нужды в выведении типов нет. В данном случае согласен. Имхо, если метод занимает более одной строки, хорошим тоном будет указывать явно возвращаемый тип: Код: plaintext 1. 2. 3. Вывод типов хорош для локальных переменных. GKS_Samara> Просто надо привыкнуть к синтаксису. Ну, и выработать для себя > определенный стиль кодирования, максимально исключающий ошибки. > (Как, например, ставить константу слева для equals, или не называть > одинаково поля и переменные...) А вот это хороший пример на тему того, что нужно шоры снимать иногда. Авторы java не осилили взять _ничего_ из ЯП кроме С++. Тут- невиртуальные методы. В delphi можно было б сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. -- Алексей JID: alxt@ya.ru Ну, как сделали, так сделали :) В Scala, кстати, "==" трактуется как метод equals, но без проблемы NPE: s: String = null println ( if ( s== "") 1 else 2); // 2 println ( if ( s.equals("")) 1 else 2); // ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 16:14:54 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
... println ( if ( s.equals("")) 1 else 2); // NPE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 16:15:43 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > Вот этого не знал (думал Raise будет) > x := nil; > x.free; > ....в кунсткамеру :) Это очень правильно. И сильно упрощает код. Вообще изучение других ЯП очень интересное занятие. Очень расширяет кругозор. Жаль, что авторы Ява этим не занимались. Культ карго, блин. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 16:16:20 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraВообще изучение других ЯП очень интересное занятие. Очень расширяет кругозор. Жаль, что авторы Ява этим не занимались. Культ карго, блин. Ммм, я думаю очень даже занимались. Просто Java была сделана 15 лет назад, тогда ориентиры были другие. Ну и Scala в чем-то (ре)эволюционное развитие java. (революционное - в смысле глобальности переделки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 17:07:00 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Leonidv! >> Вообще изучение других ЯП очень интересное занятие. Очень расширяет >> кругозор. Жаль, что авторы Ява этим не занимались. Культ карго, блин. > > Ммм, я думаю очень даже занимались. Просто Java была сделана 15 лет > назад, тогда ориентиры были другие. Тогда уже всё ДАВНО было разжёвано. Что Result лучше return Что generics это очень нужно в ООП (не template C++, а именно generics). Что public -переменная должна быть недоступна на запись кроме как private. Что конструктор должен быть именованным. Что overload в ООП- зло (а вот необязательные параметры- хорошо). Что вместо "дружественных методов" или "пакетной видимости" можно явно указывать классы, которым доступно поле. Что должна быть возможность описать тип "этот класс". Что множественное наследование должно быть хоть как-нибудь (вот mixing не факт, что был придуман, но рубить множественное наследование на уровне JVM было идиотизмом). Что контракты- нужная вещь. Но видимо авторы решили, что раз С++ смог влезть на плечах С, то так же выйдет и у java. Тот самый "культ карго". Поэтому повторили все те кривости С++, которые были туда внесены как из-за обратной совместимости с С, так и из-за того, что С++ на 10 лет старше явы. Но повторить успех С++ был невозможно принципиально. > Ну и Scala в чем-то (ре)эволюционное > развитие java. (революционное - в смысле глобальности переделки). Автор давно признался, что задумал всё в пьяном состоянии. Результат логичный :) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 17:30:49 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, добавлю: - property - несколько out\var параметров Тебе не жалко, а мне приятно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 18:01:32 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Не жил тогда, но сомневаюсь. Если на самом деле хотите меня убедить - давайте ссылки на статьи, книги в которых все это разжевано. Желательно посвежее. На мой взгляд, некоторые пункты из предыдущих двух постов достаточно противоречат хорошему стилю ООП. И почти все вышеперечисленное было в Delphi, которая так же появилась в то время. Возможно, слишком навороченный язык банально не потянулся бы виртуальной машиной/компилятором (вот, например, Scala и на нынешних мощностях долго компилируется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 19:02:53 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
LeonidvНе жил тогда В смысле, не программировал еще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2011, 19:03:49 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
LeonidvКстати, я как раз больше читаю вопли противников Scala, чем ее фанатов :) Вряд ли это возможно. Они не вопят, а спокойно отмечают, что этот язык никому не нужен, включая и самих фанатов Scala. Есть несколько тысяч никому не нужных языков, которые никому не нужны и их можно спокойно игнорировать, пока их фанаты не слишком разбушуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2011, 09:37:35 |
|
||
|
Переходим на Scala?
|
|||
|---|---|---|---|
|
#18+
Partisan MLeonidvКстати, я как раз больше читаю вопли противников Scala, чем ее фанатов :) Вряд ли это возможно. Они не вопят, а спокойно отмечают, что этот язык никому не нужен, включая и самих фанатов Scala. Есть несколько тысяч никому не нужных языков, которые никому не нужны и их можно спокойно игнорировать, пока их фанаты не слишком разбушуются. минус сто пятьсот! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2011, 12:46:27 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37524133&tid=2132904]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 404ms |
| total: | 533ms |

| 0 / 0 |
