logo
IRC Archive / Efnet / #java / 2009 / November / 27 / 2
shaggy-h
most of the stuff I like to work on absolutely requires primitives though
jwzrd
Hmm, in what way?
shaggy-h
which makes me a bit reluctant to jump in to scala... I'm sure I'll like the language
memory and performance
jwzrd
Because... scalac does eliminate boxing fairly good
It would be interesting to see a benchmark comparison of something mildly real from your domain
shaggy-h
maybe... feel free to port http://www.mkgmap.org.uk/page/tile-splitter if you like :)
but workwise, performance is tricky even with java
jwzrd
yes
Well as if I know for real :)
shaggy-h
in-memory compression is awkward/annoying without unsigned primitives for example
jwzrd
ah, definitely
shaggy-h
that's why I asked you about scala + webapps... that's a different and more suitable domain for scala imho
at least, until the vm can eliminate boxing altogether
jwzrd
from what I've read, it can
So long as you don't let the boxed objects escape and all that
shaggy-h
only in some limited situations
jwzrd
ah
shaggy-h
yes, escape analysis
jwzrd
yes, but not in the HotSpot sense
Well, actually, in the same sense. But at compilation
shaggy-h
but anything Collection related is going to be problematic until we get reified generics
same is true for java there of course
but at least it's possible to roll your own replacements in javaland
jwzrd
Afaik there's that either already in Scala or on it's way
With @specialized
SPypi
So you
jxava
So you are good for the economy.
jwzrd
'FUCK
So you'd: class Bonk[A] @specialized { val a: A = _ }
Or somesuch
shaggy-h
how tf does that work?
under the hood I mean
compiler must generate a whole new class I guess
jwzrd
yes
scalac already generates N^M special crapola under the hood
shaggy-h
"The new @specialized annotation fixes this problem by causing scala to generate different versions of the user-specified generic type or method for each of the primitive types."
nice
jwzrd
Yes
Is that already in? 2.8?
If you had time though it'd be really nice to see some comparisons
shaggy-h
http://blog.objectmentor.com/articles/2009/06/05/bay-area-scala-enthusiasts-base-meeting-whats-new-in-scala-2-8
jwzrd
Take a look at how break is implemented :)
shaggy-h
doubt I'd ever get time to port any of our nastiness, but as long as I'm aware what's happening under the hood and it's doing all the right stuff, I'd be happy
sounds like they're on the right path at least
heh, as a library method :)
jwzrd
"Doug Lea wants to work with the team on concurrency data structures. The lack of closures in Java makes this effort difficult in Java."
Yes :)
Look in Breaks.break
Can't recall where that bastard is
shaggy-h
tf do I find that?
jwzrd
scala.util.control.Breaks
shaggy-h
tf do I find that? :)
nm, got it
jwzrd
def break { throw breakException }
=)
shaggy-h
that's ok though, the breakException isn't created each time
so still cheap
jwzrd
AHh, I see that naow
But isn't throwing mildly expensive anyway with rummaging through stack framen?
shaggy-h
nah
jwzrd
nah, no
shaggy-h
not free, but nowhere as bad as building the stacktrace
still, that's a pretty filthy hack ;)
I think the cost comes in not rummaging the stack frames, but rummaging to find a suitable catch clause
given it would always be in the current method in this case, it's not such a problem
but if you popped up N methods, you'd have to rummage N times
jwzrd
yes yes
jxava
jwzrd: but but ... ?
reverend
i'd just like to say fu*k jsf 1.1
shaggy-h
you're 0.1 too late
jwzrd
fu*k jsf.
It's the dumbest fu*king joke of an idea ever and... that's saying something
_Tenchi_
who needs jsf when you have php??
reverend
jsf is such utter sh*t
seriously
i can't believe we're doing this project in jsf
i want out
jwzrd
It's stupid as fu*k
And sersiously does not add anything to JSP and say jquery
reverend
wrap it up in weblogic portal and you're fu*king fu*ked like a fu*k
jwzrd
slang fu*k
jxava
fu*k (1 of 20): 1. The universally recognized "F word"
_Tenchi_
are you using weblogic v8 ?
reverend
fu*k no, 10.2
_Tenchi_
then why are you using ancient jsf ?
reverend
because that's the only version officially supported with WLP 10.2
_Tenchi_
dealing with a bunch of struts tars?
that's, sad
reverend
they include myfaces and 1.2 RI but they are not supported within portlets
jwzrd
_Tenchi_: this is how it works. If you use JSF, you don't get to take a piss at others that do
AHhaha you use portlets too
_Tenchi_
reverend: wait, JSF 1.2 added stuff to make portlets work
reverend
yes, the fail runs deeper than your mum's ass crevice
shaggy-h
christ
_Tenchi_
nuttay
kind of doesnt make sense
reverend
unfortunately, we had started implementing with myfaces
_Tenchi_
myfaceds is officially supported?
reverend
and we were encountering... 'odd' behavior
and then found this whitepaper
http://download.oracle.com/technology/products/weblogic/portal/weblogic-portal-jsf-whitepaper.pdf
where it says 'do not use anything but RI 1.1' and 'oh by the way, RI 1.1 isn't the default'
anyway, it's way, way, way too late to do anything but try to finish eating this sh*t sandwich
_Tenchi_
reverend: the whitepaper has abunch of stuff about supporting 1.2
hehe, this whitepaper has the most uses of the term "unfortunately" i've ever seen in a whitepaper haha
reverend
Caution: The steps above actually create a project with an unsupported configuration, but it will
suffice for this specific example. For the full procedure for configuring a JSF application in a
supported configuration, consult the .Configuration. chapter.
look at the chart in section 4.1
supported, with caveats
_Tenchi_
right, what are the caveats?
client-side state saving dosnt work?
should use client side state saving anyway
at least not with any jsf impls i've seen hehe
reverend
the caveat is that we're using beehive pageflow
_Tenchi_
doh
apache should just be completely shutout of some things
reverend
it's a mess
shaggy-h
"There are some caveats, but overall it offers solid support"
(Action) can't see what the problem is
sounds solid to me
haha that paper's funny
well for me anyway, not having to deal with it :)
jwzrd
How can someone ever want to use something like that? How did the thought processes go?
_Tenchi_
but yeah, jsf 1.2 + beehive is a no no
for anything
reverend
jwzrd: that, in itself is also rage inducing
jwzrd
http://www.youtube.com/watch?v=cZDJPoSWFOM
reverend: srsly
reverend
the reasoning that went into this architecture
i also wasn't involved at that point
the customer defined the architecture and the people my employer put on the team were not smart enough to question it
first i heard was 'oh, everything's fu*ked, we need you to lend a helping hand and get things going'
_Tenchi_
i know from lots of experience there's no way to say "trash the entire architecture" and retain any political capital
reverend
indeed
too late for that
although we have an extensive retrospective planned
in the meantime we have to belly up to the feces buffet and pile our plates high
_Tenchi_
sh*tty nights sleep--