IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 2 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Key differences: One of them sucks
the other sucks more.

They are basically the same language running on roughly the same architecture.

C# has good integration with COM and thus you have easy access to the wide variety of shaky windows code that everyone else relies on when working in real languages to write shrink wrapped code.

Java uses a LCD integration approach to the OS at the VM level and adds a JNI interface that is mostly based on C. Any COM interfacing you do will be more work probably.

Neither JNI nor COM are generally portable, however if you can write the JNI in portable C, then it can be ported easily. COM, like C#, isn't going anywhere. You are irrevocably tied to CrapOS XPee or whatever version is presently victimizing you.

Brief commentary on your cow-worker's comment regarding memory management. He's a 'tard and shouldn't be trusted with anything more advanced than VB.

JNI and unmanaged code are not there for memory management - they are there for access to native code. More to the point, in both JNI and unmanaged code you MUST manage memory, but the VM based objects are managed by the VM. Two worlds which must not collide.

Second, Java should never rely on the GC to release system resources. IOW, its not a bad idea to check for a socket to be closed in finalize, but don't rely on finalize being called. You can run out of socket descriptors long before you run out of memory. So you all close on the java sockets. You should do the same on the C# sockets. Dropping into unmanaged code for something this mundane is the mark of a true idiot. Please whack him over the head with a fresh mackerel 50 times for me.

As to GC. The JVM can be run in either client or server mode (you pass --server on the command line or something). In server mode, GC runs much more often and the passes are much more finely grained such that you never really see any pauses because its all much better interleaved. Client mode seems to defer GC for longer periods and then the GC spikes more noticeably.




"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New Is "unmanaged" what he means when he says "unsafe function"?
Oh, and someone here linked to a blog entry explaining how excessive optimization in a high-level language indicates you should be switching to a lower-level language at that point. And that you don't know what those points are until you've written and benchmarked your app. So choosing a language based on the potential to make low-level optimizations for performance reasons seems like putting the cart before the primordial ooze.

But this is the guy's first gig out of college. You can't tell him anything. Or at least I can't tell him anything. Why, I don't even have a degree or nothin'.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New Send him here
Let him argue with us for a bit.

Lots of us have degrees, and a lot more experience than he does.

If he likes to argue, there is a chance that eventually he'll see the light.

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Seconded.
I remember heavy discussions in the past with certain opinionated people that involved massage information exchanges. Whilst we may not have changed the mind of the individual in question, a lot of other people learnt quite a few new things.

Wade.

Is it enough to love
Is it enough to breathe
Somebody rip my heart out
And leave me here to bleed
 
Is it enough to die
Somebody save my life
I'd rather be Anything but Ordinary
Please

-- "Anything but Ordinary" by Avril Lavigne.

New Thirded
Why even moi learned (so many moons ago .. maybe at IW?)

what happens when you run your video driver in Ring 0;
not to mention all the odoriferous stuff surrounding that Mephistophelian concept, dll-Hell ..
ie when using crapware, there's a certain satisfiction in finding out Why it's as crappy as you noticed:
there are so many layers of crap-think... behind the parts that merely smell!




I, all unWorthy of this free edjaKayshun
New Your honeymoon's showing.
"Massage information exchanges"?

TMI!


Peter
[link|http://www.ubuntulinux.org|Ubuntu Linux]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Home]
Use P2P for legitimate purposes!
New :-)
New I read a statistic once ...
I won't try to remember the number, but someone calculated the amount of genetic data transferred in a single, ummm ... protien injection.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New That wasn't a deliberate misunderstanding, was it?
I was referring to early discussions with Bryce, actually, back on IWE. Which I'm sure you would have figured out.

Wade.
Save Fintlewoodlewix
New </jokeson>


Peter
[link|http://www.ubuntulinux.org|Ubuntu Linux]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Home]
Use P2P for legitimate purposes!
New Yes, I know. :-)
Save Fintlewoodlewix
New How could it be anything else?!? Paranoia much, eh...? :-)
New Yes
Code is divided into "managed" (no access to dangerous things like pointers and arbitrary memory) and "unmanaged" (basically C++).

Definitely, we could skule him.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New OT-OK Todd (and any body else who has a good answer)...
Exactly (and I mean exactly, using standard English and not some Marketing-speak) what is "managed code"? Not being an MS drone (and having happily escaped the .NET revulsionrevolution), I haven't drunk the Kool-Aid, and haven't therefore added this euphemism to my vocabulary yet. Nonetheless, I do find that I need to know what it means (esp. because somebody I respect used it in the parent to this posting).

So, to paraphrase..."Whachewtalkingbout, Willis?"
jb4
shrub\ufffdbish (Am., from shrub + rubbish, after the derisive name for America's 43 president; 2003) n. 1. a form of nonsensical political doubletalk wherein the speaker attempts to defend the indefensible by lying, obfuscation, or otherwise misstating the facts; GIBBERISH. 2. any of a collection of utterances from America's putative 43rd president. cf. BULLSHIT

New Probably not a good answer...but...
...unmanaged code is capable of accessing any system resource with no type constraints (i.e. you can cast any kind to and kind). Managed code just means you are playing in the sandbox, similar to the JVM. Best correlary in the Java world is JNI, but in the case of .net you can basically write native code that still runs within the .net virtual machine. Certain ILM instructions are only available in unmanaged states (i.e. buffer overrun this machine).
New That's a pretty good answer
IOW, in "managed code" its not possible to do things like manipulate arbitrary memory in the machine - a behavior relied upon by things like some viruses and worms. C# has no pointer construct and so you are playing in "the sandbox" as Chris said. You can't hurt anything from there and your code is subject to user defined security policies.

Unmanaged code is like C/C++. You can do anything to any byte in the machine. No safety rails, no sandbox, no second chances.



"Whenever you find you are on the side of the majority, it is time to pause and reflect"   --Mark Twain

"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."   --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."   --George W. Bush
New Any byte in the machine, or...
...any byte in your process's address space? (I assume that my process cannot touch your process's stuff...)
jb4
shrub\ufffdbish (Am., from shrub + rubbish, after the derisive name for America's 43 president; 2003) n. 1. a form of nonsensical political doubletalk wherein the speaker attempts to defend the indefensible by lying, obfuscation, or otherwise misstating the facts; GIBBERISH. 2. any of a collection of utterances from America's putative 43rd president. cf. BULLSHIT

New As much protection as the Operating System provides...
...which for Windows is to say None At All. Unmanaged code is the umbrella of native code that's not managed within the sandbox. All those VBX or COM or COM+ or DCOM things can be invoked within the unmanaged state.
     Need a comparison, C#.NET vs Java - (drewk) - (27)
         IBM's JVM has better GC control. - (Another Scott) - (1)
             What about platform independence? - (drewk)
         Warning. C# and .NET are actually quite nice. - (pwhysall) - (1)
             Actually, I think dot net is so '90s - (tonytib)
         Corrections - (ben_tilly)
         Haven't studied memory managmenent, don't want to - (warmachine)
         Key differences: One of them sucks - (tuberculosis) - (17)
             Is "unmanaged" what he means when he says "unsafe function"? - (drewk) - (11)
                 Send him here - (ben_tilly) - (9)
                     Seconded. - (static) - (8)
                         Thirded - (Ashton)
                         Your honeymoon's showing. - (pwhysall) - (6)
                             :-) -NT - (Another Scott)
                             I read a statistic once ... - (drewk)
                             That wasn't a deliberate misunderstanding, was it? - (static) - (3)
                                 </jokeson> -NT - (pwhysall) - (1)
                                     Yes, I know. :-) -NT - (static)
                                 How could it be anything else?!? Paranoia much, eh...? :-) -NT - (CRConrad)
                 Yes - (tuberculosis)
             OT-OK Todd (and any body else who has a good answer)... - (jb4) - (4)
                 Probably not a good answer...but... - (ChrisR) - (3)
                     That's a pretty good answer - (tuberculosis) - (2)
                         Any byte in the machine, or... - (jb4) - (1)
                             As much protection as the Operating System provides... - (ChrisR)
         Re: Need a comparison, C#.NET vs Java - (dshellman)
         As long as you want to manage the low level details.... - (ChrisR) - (1)
             :-) -NT - (Another Scott)

Only the choicest German spam!
114 ms