Page 1 of 1

A discussion on Java

PostPosted: Fri Dec 08, 2006 12:57 am
by Bob
I had a discussion with my classmate on the merits of java, []Derl etc,


[22:44] The Advocate SB: what do you do in your free time?
[22:44] ZigZagZain: well
[22:44] *** Auto-response sent to ZigZagZain: Im the juggernaut bitch! ... 1022114445
[22:45] ZigZagZain: I used to do a lot of WoW
[22:45] ZigZagZain: but I think I've kicked the habit
[22:45] ZigZagZain: so now I do a lot of random stuff
[22:47] The Advocate SB: like what?
[22:48] ZigZagZain: random coding, TV (recently got into battlestar galactica), bowling...
[22:48] ZigZagZain: why do you ask?
[22:48] The Advocate SB: just seeing into your life
[22:48] ZigZagZain: lol
[22:48] ZigZagZain: how about you?
[22:48] The Advocate SB: this is what ive been working on the last few months:
[22:48] The Advocate SB: and mainly writing in the wiki
[22:50] ZigZagZain: oh nice
[22:50] ZigZagZain: yeah I'm thinking of getting into an OSS project
[22:50] The Advocate SB: I actually am thinking the same
[22:50] The Advocate SB: i just became a member of sourceforge
[22:50] The Advocate SB: ive got a bunch of projects i want to do
[22:51] ZigZagZain: yeah. I dont really know what I want to do
[22:51] The Advocate SB: but i figure it would be better for me to join someone eleses first
[22:51] The Advocate SB: you have to have some ideas
[22:51] ZigZagZain: I've been looking at gaim a bit
[22:51] ZigZagZain: I wrote a plugin for it earlier
[22:54] The Advocate SB: ew
[22:54] The Advocate SB: =P
[22:54] The Advocate SB: lol
[22:54] The Advocate SB: =)
[22:54] ZigZagZain: lol
[22:54] ZigZagZain: yeah, I dont really know
[23:07] The Advocate SB: what are your interestes
[23:08] ZigZagZain: geeky stuff like video games and sci-fi
[23:08] The Advocate SB: hmm
[23:08] ZigZagZain: and you?
[23:08] The Advocate SB: ever though about game development?
[23:08] The Advocate SB: im a developer at heart
[23:09] ZigZagZain: I thought about it before I actually learned what it entailed. I slightly dipped my toes into opengl and never wanted to touch it again
[23:09] The Advocate SB: eek
[23:09] The Advocate SB: HL2 is interesting
[23:09] The Advocate SB: you should start smaller than an entire engine
[23:09] The Advocate SB: although thats funt oo
[23:10] ZigZagZain: well, I checked out some opengl wrappers for counter strike back in the day
[23:10] ZigZagZain: and I don't think I'd enjoy almost any part of game design
[23:10] ZigZagZain: its one thing about playing them... working on them would be a chore, I think
[23:11] The Advocate SB: it is
[23:11] The Advocate SB: but there is a hell of a feeling of accomplishment though
[23:12] ZigZagZain: eeeh. I get feelings of accomplishment from most of my code... I'm simple =)
[23:12] ZigZagZain: a friend of mine in first-year CS asked me to help him with a program that printed out a christmas tree made of *'s
[23:12] The Advocate SB: it doesnt compare to the day you release and only 4 bugs get returned
[23:12] ZigZagZain: hehe
[23:13] ZigZagZain: yeah, at my workplace, we just launched the new version of our product today
[23:14] The Advocate SB: =)
[23:14] The Advocate SB: mmmmm java
[23:14] ZigZagZain: <3 java
[23:14] The Advocate SB: is that a broken heart?
[23:14] ZigZagZain: no, its a big luscious heart
[23:15] The Advocate SB: ew
[23:15] ZigZagZain: for mi amor, java
[23:15] The Advocate SB: i really dont want to learn it
[23:16] ZigZagZain: every single language has its place. its definitely not for any program where performance is important... but when you're coding some more high-level stuff, its great to not have to worry about memory management and implementing simple classes and stuff
[23:19] The Advocate SB: C# takes my cake there
[23:19] The Advocate SB: and actually
[23:19] The Advocate SB: []Derl
[23:20] ZigZagZain: []Derl still doesnt offer the ease of java... and i laugh at C#.
[23:22] The Advocate SB: how is []Derl not easier than java?
[23:23] The Advocate SB: i know enough java to know []Derl is a hell of alot easier than java
[23:24] ZigZagZain: well, in particular, threading
[23:24] ZigZagZain: threading is pretty much an afterthought in []Derl
[23:24] ZigZagZain: you cant really make a fully threaded application of significant size in []Derl
[23:25] The Advocate SB: ?
[23:25] The Advocate SB: why is that?
[23:25] ZigZagZain: java was made with multithreading in mind
[23:26] ZigZagZain: []Derl didnt even have real threading till like []Derl 5
[23:26] The Advocate SB: thats a bit of a moot point, imo
[23:26] The Advocate SB: []Derl was and is evolving
[23:26] The Advocate SB:[]Derl/lib/Pod/[]Derlthrtut.html#threaded%20program%20models
[23:27] ZigZagZain: yeah, I know it has it now. but the point is that its basically an afterthought... which goes to show that it wasn't made for enterprise software
[23:27] ZigZagZain: and using []Derl libraries is such a pain
[23:27] The Advocate SB: i think you have a jaded view on []Derl
[23:27] ZigZagZain: I dont really want to spend ages in CPAN and try like 5 libraries that do the same thing
[23:28] The Advocate SB: you dont have to
[23:28] The Advocate SB: ive never had any problems tracking down what i need to get a job done
[23:28] The Advocate SB: FTP, CVS, SVN, HTTP, XML, MP3, and a host of other topics
[23:29] ZigZagZain: perhaps, but you can't deny that its easier to just have the entire JRE available rather than having your users install the libraries themselves
[23:29] ZigZagZain: case in point... I recently installed bugzilla which is written in []Derl. it required like 6 libraries and it took me FOREVER to properly install
[23:29] The Advocate SB: thats user error
[23:29] ZigZagZain: CPAN said I had the latest version of a library, bugzilla said it was good enough, but the reporting feature just didnt work
[23:30] The Advocate SB: i have installed bz all kinds of times
[23:30] ZigZagZain: finally I realized that it wasn't the latest version and needed to be upgraded
[23:30] ZigZagZain: its just a lot better to have a standardized environment for an enterprise product than it is to have something put together by a bunch of talented hackers
[23:30] The Advocate SB: i actually find it irritating when you hit some obscure thing in a language and come to find out its a RE function
[23:31] The Advocate SB: []Derl modularity is great
[23:31] The Advocate SB: i guess that i feel that way because of my C bg though, i love to see the trail
[23:31] The Advocate SB: << control freak
[23:31] The Advocate SB: i have never really liked the fact that java has a bad wrap
[23:32] ZigZagZain: when you're deploying a huge product which requires a great amount of work to install, the last thing you want to worry about is your runtime environment
[23:32] ZigZagZain: modular is nice for performance, but it does nothing for ease of use... and []Derl isnt exactly the pinnacle of speed
[23:32] The Advocate SB: well again, ive never had any issues with any app ive installed
[23:32] ZigZagZain: let me give you an example from my workplace
[23:33] The Advocate SB: it may not be, but it is certainly thee tool in a developers arsenal for quick development
[23:33] The Advocate SB: i write subs that are 4-10 lines and they accomplish alot
[23:33] The Advocate SB: i wrote an app ~ 15 lines to reformat my MP3 directory
[23:34] The Advocate SB: s/reformat/refactor/
[23:35] ZigZagZain: the company I work for makes email encryption software for companies... we have giant deployments in companies like walmart and wells fargo. our installs take a huge amount of time and effort because the #1 reason we're being hired is compliance with security procedures and laws.... so if we screw up even one part, we likely lose the deal
[23:36] ZigZagZain: now we have hundreds of thousands of lines of code and we're using a huuge number of Java SDK classes. does it really sound like fun to install a few hundred []Derl modules instead?
[23:37] ZigZagZain: and now, what if one of the []Derl modules was recently updated by the single author who works on it, and suddenly it breaks something in our code? that would take forever to track down
[23:37] The Advocate SB: i really doubt that it would a) take hundreds of thousands of lines of code or b) requie hundreds of modules
[23:37] ZigZagZain: instead, java offers the backing of a real corporation and guarantees that they actually care about which of our stuff breaks
[23:38] The Advocate SB: c) module updating is handled by cpan, and is user controlled so you use a dev server for testing new modules to make sure they work
[23:38] The Advocate SB: side note
[23:38] ZigZagZain: why devote the man hours to testing, testing, testing when you can have a stable environment?
[23:38] The Advocate SB: if you had a dependency on a certain module you would write it and control it yourslef
[23:38] The Advocate SB: woah now
[23:38] The Advocate SB: dont go calling java stable
[23:39] The Advocate SB: you wouldnt be devoting hours to testing
[23:39] ZigZagZain: java is the most stable runtime environment available. you dont have to worry about libraries, modules, none of that stuff. you install a single runtime and you're good to go.
[23:39] The Advocate SB: ...
[23:39] The Advocate SB: ...
[23:39] ZigZagZain: the tradeoff, of course, is a ridiculously bloated runtime. but its stable nonetheless
[23:39] The Advocate SB: its stable if the computer is stable
[23:39] The Advocate SB: i suppose
[23:39] The Advocate SB: but
[23:39] The Advocate SB: dude
[23:40] The Advocate SB: ive used plenty of apps written in java
[23:40] The Advocate SB: crashing is a thing of regularity
[23:40] The Advocate SB: no matter the runtime
[23:40] ZigZagZain: I'm not talking about whether a program crashes or not. by "stable" I mean an unchanging and fairly static runtime
[23:40] The Advocate SB: well i hear stable i think unchanging, static and non crashing
[23:40] The Advocate SB: crashing would hold the most emphasis
[23:40] ZigZagZain: the crashing is the fault of the programmer, not of the language
[23:41] The Advocate SB: i would agree if i didnt see so many java apps crashing
[23:41] The Advocate SB: there has to be one with good programmers working on it
[23:42] ZigZagZain: eclipse. I've used it for over 1100 hours in the last 8 months or so and I can affirmatively say it has not once crashed on me
[23:42] The Advocate SB: it crashes all the time for me
[23:42] The Advocate SB: i stopped using it
[23:42] The Advocate SB: moved to notepad and context
[23:42] The Advocate SB: ive used it on many computers
[23:42] ZigZagZain: okay, another example. azureus. a million people use it very regularly without complaints of crashing
[23:43] The Advocate SB: what about the millions that do?
[23:43] The Advocate SB: or the millions complaining about slow downloads?
[23:43] The Advocate SB: or lockups
[23:43] ZigZagZain: okay.... java has nothing to do with slow downloads
[23:43] The Advocate SB: how can you say that
[23:43] ZigZagZain: I'm not quite sure how a runtime can dynamically affect the speeds of your connection
[23:44] The Advocate SB: it doesnt
[23:44] The Advocate SB: but
[23:44] The Advocate SB: your apps are only able to store x amt of info in memory
[23:44] The Advocate SB: and if you have to subtract the space taken up by the jre you are at a loss
[23:44] The Advocate SB: the majority of users out there are still below 128megs
[23:45] The Advocate SB: windows explodes into that
[23:45] The Advocate SB: probably grabbing 64+
[23:45] The Advocate SB: the jre crams itself in
[23:45] The Advocate SB: then the app itself and any other taskes
[23:45] The Advocate SB: the user gets 28kb to work with
[23:45] The Advocate SB: leading to lockups and hairy debugging issue
[23:45] The Advocate SB: s
[23:46] The Advocate SB: i have a buddy who was a committer on a JRE Torrent/P2P app
[23:46] ZigZagZain: as I said, java isn't for the people who have 128mb of RAM. thats what C is for. Java is for when you have more than adequate memory and a problem which would benefit from the freedom of letting Java do most of the work
[23:46] The Advocate SB: he hit that issue right out of the blocks
[23:46] The Advocate SB: well jeeze man
[23:46] The Advocate SB: you are limiting your user base pretty heavily
[23:47] ZigZagZain: each language has its place. 128mb is not the place for java :) I never said Java was for the masses. I said that it has a spot and, in that spot, it has great appeal as a programming language
[23:47] ZigZagZain: personally, I would never code a desktop application in java
[23:47] ZigZagZain: eclipse and azureus could both be done better in C or C++
[23:47] The Advocate SB: im working on eClipse
[23:48] ZigZagZain: but when you are faced with a heavy problem such as encryption, it is very viable to pay a bit more for memory in return for the assurance that your programmers can focus on the task at hand rather than the underlying grunt work
[23:48] ZigZagZain: and when you have the resources, why not take the easier way?
[23:50] The Advocate SB: i think im gonna stay on my side of the fence, for many reasons, mainly i dont agree with what you are saying. You are free to believe what you wish, but i have been doing alot in regards to encryption lately and i havent got enough understanding of Java's necessity or where its necessity lies.
[23:50] The Advocate SB: basically i see what you just said as laziness
[23:50] The Advocate SB: =(
[23:51] The Advocate SB: i want to point out that most everything that anyone has the need to do has already been done
[23:51] The Advocate SB: and especially with gcodesearch you can find it quick as shot
[23:51] The Advocate SB: as a shot
[23:51] ZigZagZain: there's a very fine line between laziness and focus. when you don't have to worry about petty things, you can focus on more important things
[23:52] ZigZagZain: but, yeah, this is sort of a religous war ;)
[23:52] The Advocate SB: i can see that much
[23:52] The Advocate SB: well
[23:52] The Advocate SB: i would invite you to do some reading
[23:53] ZigZagZain: yeah. you too. =)
[23:53] ZigZagZain: but for now, I gotta head to bed
[23:53] The Advocate SB: no no no
[23:53] The Advocate SB: i have links!
[23:53] The Advocate SB:
[23:53] ZigZagZain: okay. I'll bookmark this and read it tomorrow. cause I'm about to pass out
[23:54] The Advocate SB: =)
[23:54] The Advocate SB: YOU BETTER!
[23:54] ZigZagZain: have a nice night! good chat
[23:54] The Advocate SB: You too