Microsoft opening up .NET
kf4hcw
kf4hcw at lifeatwarp9.com
Mon Nov 17 10:45:49 CST 2014
On 2014-11-16 23:02, Terry Fox wrote:
> I just started messing with Java a little,
I've been using Java in production for a long time for some back-end
stuff, and middleware. I use it because it's supposed to be
cross-platform, and in general it is, but it can become a real nightmare
especially if you begin using various platforms and libraries in your
app -- the hardest parts of that being: You have to get all of the right
pieces in all of the right places (and into your path), and you have to
solve an often bewilderingly complex web of dependencies to make it all
work. For these reasons we keep all of the Java stuff on deployments we
control completely...
...imagine if every one of your customers is having the same trouble
getting it all to work right, you have little control over what they
have on their systems from day to day (or the next update or rebuild),
and it's up to you and your support team to solve that problem for
them-- no thanks. (I have the T-shirt).
Then there are the unfortunate (and opaque) side-effects of garbage
collection in Java where, if you're doing anything long-running, you
will probably run into cases where Java simply refuses to give memory
back to the OS after you release objects and your only recourse is to
restart your process to get it back. We actually have production code
that has to look at how much RAM is being used so that it can
automatically die (and be reborn) when it finds itself in this mess...
and yes, before you ask, we are absolutely certain we aren't hanging on
to any references - the entire object structure is destroyed between
tasks and no combination of flags solves the problem. It's just one of
those things you have to code around -- like Windows file-system
weirdness. ... a fact of life.
I have found myself wishing for something better than Java to come along
for a long time now, but haven't found it. Python might grow up to be
what I need for cross-platform work like this, but it's not there yet.
DotNet (Don'T) -- from my other experiences (and I see some comments
here that agree) is not likely to be the solution either.
Where I need cross-platform ability and solid performance I stick to C++
and I've got that drill down to a pretty good groove now.
I'm even having some luck with C++11 cross platform work and my team is
in the process of (slowly) updating and completing CodeDweller to fill
in the remaining gaps and make that a solid reality.
_M
--
kf4hcw
Pete McNeil
lifeatwarp9.com/kf4hcw
More information about the Tacos
mailing list