powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Переходим на Scala?
25 сообщений из 342, страница 4 из 14
Переходим на Scala?
    #37510803
Фотография Java Programmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37512137
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamrekamreХотя completion (хоть и выдает много лишнего)
Не, completion тоже нормально не работает:
не все варианты показывает

ничего не дополняет

IDEA на таких простых примерах без проблем работает, но как же она тормозит на чуть более сложном коде...
В последней сборке (31/10/2011) первое не работает, второе работает.
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37517416
anchudik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наткнулся на итересный benchmark проводимый Google. По результатам Scala обогнала Java почти по всем направлениям (кроме размера jar'a и времени компиляции).

P.S. Я конечно понимаю что этот benchmark мало что показывает, но всё же интересно :)
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37520692
Kenny Fartman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37521291
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Kenny Fartman!

> http://docs.scala-lang.org/cheatsheets/

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

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37521457
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraИ эти люди запрещают нам есть руками?
Блин, нафиг язык, в котором опечатка может приводить к трудно находимым
ошибкам...

+100500
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37521493
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraБлин, нафиг язык, в котором опечатка может приводить к трудно находимым
ошибкам...

О чем именно идет речь?
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37521564
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Leonidv!

>> Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам...
> О чем именно идет речь?

Например:
Код: plaintext
1.
2.
3.
4.
Good     def f(x: Int) = { x*x }
Bad      def f(x: Int) { x*x }	
define function hidden error: without = it’s a Unit-returning procedure;
causes havoc

Ну и ещё ошибки тонкие.

Это как в Си дебильная фича, что если p(); это вызов процедуры, то p;
это корректный код, который не вызывает процедуру.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37521808
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, Leonidv!

>> Блин, нафиг язык, в котором опечатка может приводить к трудно находимым ошибкам...
> О чем именно идет речь?

Например:
Код: plaintext
1.
2.
3.
4.
Good     def f(x: Int) = { x*x }
Bad      def f(x: Int) { x*x }	
define function hidden error: without = it’s a Unit-returning procedure;
causes havoc

Ну и ещё ошибки тонкие.

Это как в Си дебильная фича, что если p(); это вызов процедуры, то p;
это корректный код, который не вызывает процедуру.

--
Алексей
JID: alxt@ya.ru


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

Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция, поэтому всегда возвращает значение.
Если не указываем присвоение - значит возвращается void (т.е. Unit)

Просто надо привыкнуть к синтаксису. Ну, и выработать для себя определенный стиль кодирования, максимально исключающий ошибки.
(Как, например, ставить константу слева для equals, или не называть одинаково поля и переменные...)
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522066
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Диез!

> Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция,
> поэтому всегда возвращает значение.
> Если не указываем присвоение - значит возвращается void (т.е. Unit)

Проблема в экономии ресурса клавиатуры. Не надо это делать.
Великой нужды в выведении типов нет.

> Просто надо привыкнуть к синтаксису. Ну, и выработать для себя
> определенный стиль кодирования, максимально исключающий ошибки.
> (Как, например, ставить константу слева для equals, или не называть
> одинаково поля и переменные...)

А вот это хороший пример на тему того, что нужно шоры снимать иногда.
Авторы java не осилили взять _ничего_ из ЯП кроме С++.
Тут- невиртуальные методы.
В delphi можно было б сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
function equals(anotherDoc: Object) return boolean;
begin
  if self = null then <-- если что- self в delphi это то же, что и this
    Result := anotherDoc = null;
  else
    Result := isEquals(anotherDoc); <-- виртуальный метод с логикой
end;

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522197
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,
извини, но я твой пример не понял.
В Delphi, self\this используется либо в методах объекта, либо передаётся как параметр.
Глобальные функции исп-тся по минимуму. Но если исп-тся, то всё передаётся параметрами.
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522219
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

> извини, но я твой пример не понял.

посмотри метод Object.Free

Код: plaintext
1.
2.
if (this <> nil)
  Dispose;

В результате можно написать так:
Код: plaintext
1.
2.
3.
4.
5.
var
  x : SomeObject;
begin
x := nil;
x.free;

И ошибки не будет. ОЧЕНЬ удобно.
Аналогично можно сделать
Код: plaintext
1.
2.
x := nul;
if x.equals(y) then ...
если определить его аналогичным образом.

Так же как удобны и виртуальные методы класса :)
Так же как и Result вместо return (правда постусловий, из-за которых был
придуман Result в eiffel'е нет).

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522320
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,
Код: plaintext
1.
x := nul;
 if  x.equals(y)  then  ...
лично я против imho
Тут никакой анализатор-компилятор не поможет.
С точки зрения бизнеса я точно знаю где у меня Экземпляр, а где КлассовыйМетод.
Поэтому писать всё одной буквой Х :)) ....
я так не делаю.
Да простейший Replace внешним редактором или ....
Т.е. я обычно за строгую типизацию ЯП, поэтому для меня было шоком написание клиента на JS.
(Пиши как угодно, т.к. галка "Не показывать ошибки - ВЫКЛ")
imho
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522443
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

> Тут никакой анализатор-компилятор не поможет.

Ты не понял.

Суть в том, что не-виртуальному методу не нужна VMT для поиска метода.
Компилятор "впечатывает" адрес процедуры и передаёт this/self в качестве
параметра. Соответственно если переменная null, то вызов пройдёт. А сам
метод уже выяснит, null там или нет.

В ява же приходится постоянно писать
if (x != null) x.some();

> Поэтому писать всё одной буквой Х :)) ....

Это просто чтобы тут меньше набирать.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522506
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,
наверно я не понял замысла.
Уж очень много сокращений )
Но всё равно спс.
Вот этого не знал (думал Raise будет)
x := nil;
x.free;
....в кунсткамеру :)
Удачи!
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522525
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, Диез!

> Мне, например, ошибка выше очевидна. В Scala метод - это всегда функция,
> поэтому всегда возвращает значение.
> Если не указываем присвоение - значит возвращается void (т.е. Unit)

Проблема в экономии ресурса клавиатуры. Не надо это делать.
Великой нужды в выведении типов нет.



В данном случае согласен. Имхо, если метод занимает более одной строки, хорошим тоном будет указывать явно возвращаемый тип:
Код: plaintext
1.
2.
3.
def f(x :  Int ) :  Long  = { 
  x * x
} // OK

Вывод типов хорош для локальных переменных.

GKS_Samara> Просто надо привыкнуть к синтаксису. Ну, и выработать для себя
> определенный стиль кодирования, максимально исключающий ошибки.
> (Как, например, ставить константу слева для equals, или не называть
> одинаково поля и переменные...)

А вот это хороший пример на тему того, что нужно шоры снимать иногда.
Авторы java не осилили взять _ничего_ из ЯП кроме С++.
Тут- невиртуальные методы.
В delphi можно было б сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
function equals(anotherDoc: Object) return boolean;
begin
  if self = null then <-- если что- self в delphi это то же, что и this
    Result := anotherDoc = null;
  else
    Result := isEquals(anotherDoc); <-- виртуальный метод с логикой
end;

--
Алексей
JID: alxt@ya.ru


Ну, как сделали, так сделали :)

В Scala, кстати, "==" трактуется как метод equals, но без проблемы NPE:

s: String = null

println ( if ( s== "") 1 else 2); // 2
println ( if ( s.equals("")) 1 else 2); //
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522528
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...

println ( if ( s.equals("")) 1 else 2); // NPE
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522531
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

> Вот этого не знал (думал Raise будет)
> x := nil;
> x.free;
> ....в кунсткамеру :)

Это очень правильно. И сильно упрощает код.

Вообще изучение других ЯП очень интересное занятие. Очень расширяет
кругозор. Жаль, что авторы Ява этим не занимались. Культ карго, блин.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522656
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraВообще изучение других ЯП очень интересное занятие. Очень расширяет кругозор. Жаль, что авторы Ява этим не занимались. Культ карго, блин.

Ммм, я думаю очень даже занимались. Просто Java была сделана 15 лет назад, тогда ориентиры были другие. Ну и Scala в чем-то (ре)эволюционное развитие java. (революционное - в смысле глобальности переделки).
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522726
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, 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
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522817
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,
добавлю:
- property
- несколько out\var параметров
Тебе не жалко, а мне приятно ))
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522927
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,

Не жил тогда, но сомневаюсь. Если на самом деле хотите меня убедить - давайте ссылки на статьи, книги в которых все это разжевано. Желательно посвежее.

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

Возможно, слишком навороченный язык банально не потянулся бы виртуальной машиной/компилятором (вот, например, Scala и на нынешних мощностях долго компилируется).
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37522931
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvНе жил тогда
В смысле, не программировал еще
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37523385
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvКстати, я как раз больше читаю вопли противников Scala, чем ее фанатов :)

Вряд ли это возможно. Они не вопят, а спокойно отмечают, что этот язык никому не нужен, включая и самих фанатов Scala.
Есть несколько тысяч никому не нужных языков, которые никому не нужны и их можно спокойно игнорировать, пока их фанаты не слишком разбушуются.
...
Рейтинг: 0 / 0
Переходим на Scala?
    #37524133
mikkri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MLeonidvКстати, я как раз больше читаю вопли противников Scala, чем ее фанатов :)

Вряд ли это возможно. Они не вопят, а спокойно отмечают, что этот язык никому не нужен, включая и самих фанатов Scala.
Есть несколько тысяч никому не нужных языков, которые никому не нужны и их можно спокойно игнорировать, пока их фанаты не слишком разбушуются.
минус сто пятьсот!
...
Рейтинг: 0 / 0
25 сообщений из 342, страница 4 из 14
Форумы / Java [игнор отключен] [закрыт для гостей] / Переходим на Scala?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]