PDA

View Full Version : Hacking in Java


zylr
27th October 2004, 02:13 AM
Ok, hackers exist in mainly these languages: C, C++, Perl, Python, PHP, BASH and (sorta) Ruby. Is Java used in opensource today? Will it continue to be used more in opensource and copyleft software?
It seems that everyone taking compsci are learning Java. Could this create more hacking in Java?

RedFedora
27th October 2004, 03:24 AM
Yes, some open source projects are using Java. Limewire comes to mind.
A search on Freshmeat.net produces more Java based projects.

crackers
27th October 2004, 05:04 AM
There's a tremendous amount of FOSS stuff in Java - including "enterprise-class" server (JBoss, JONaS), IDE's (Netbeans, Eclipse), all sorts of things. Heck, I've written my own home-control system (X10-based) that at various times has been it's own server and is now running on WebLogic (can you say overkill).

Jman
27th October 2004, 10:11 PM
I will be taking Java courses, so I see what you mean about more Java hackers. My father who has been programming in the insurance business for a while is taking a Java course.

C will continue in many low level things like the drivers and kernel, and intrepreted languages are maybe a little slower but easier to implement. Java is in my opinion supposed to be the C-like intrepreted language.

So yes there is Java in the future.

Daverz
28th October 2004, 07:15 PM
Ok, hackers exist in mainly these languages: C, C++, Perl, Python, PHP, BASH and (sorta) Ruby. Is Java used in opensource today? Will it continue to be used more in opensource and copyleft software?
It seems that everyone taking compsci are learning Java. Could this create more hacking in Java?

Java isn't a very fun language to hack in IMO. Too verbose. But I've been having fun playing with Jython lately. Groovy also looks very interesting.

Java doesn't seem to be used much in high profile open-source end-user projects. I can think of jedit, argoUML, and eclipse (but note that those are mostly oriented towards developers). And there are quite a lot of high quality open source libraries available for Java developers. Am I missing something?

StoneBrooks
28th October 2004, 07:24 PM
I work in a print shop where we use a lot print rips on OSX, Solaris, Windows NT Alpha, Win2K, etc. Most of the workflow applications, rip controls (not the actual rip), are written in Java. And a few by me if I may toot my own horn.

I think this is where Java is the most useful in my opinion. Works basically the same on all those OS. And you don't have to have deep pockets to create some very useful apps.

Are there going to be more hackers writing code in Java? I guess some of the more green ones would. Maybe it's just because there are more people writing it. But the idea is kinda silly though. Better to use a mid level language like C or low level like assembly. That's where all the holes are anyway.

By the time they learn the language and where the holes are I think they'll get an appreciation of how hard things really are. And they get past the "Yeeuh bisnitch, I'm gunna code somethin' kewl."

My closing note as I get off this soapbox is don't be a dumbass. If you want to find exploits, holes, etc., fine, report them.

Stone

crackers
29th October 2004, 07:19 AM
One of the reasons you won't find that many "high-profie" FOSS applications is because, it seems to me, that Java developers generally realize that UIs and such are typically "personal choice" and there's a perception that providing a golly-gee-whiz library for use is more beneficial. My own stuff has UIs that I want and built, but I use a ton of "third-party" libraries in them. I also think this is because the UI in Java Swing is so dang flexible, including "look-and-feels" - kind of "your UI sucks, I'll just write my own and make it look like I want it to.

Plus, there's the perception that doing UIs are "hard" compared to library programming.

Oh, and StoneBrooks - I took the question to be of the "old-style" hacking (writing programs from scratch type) rather than the new, media-driven redefinition (they're "crackers" - no relation).

zylr
30th October 2004, 03:40 AM
Ok, im getting the idea that java is just realy comming up now. I read ESR's (Eric S. Raymond) guide to becomming a hacker. HE said that Java is a great language to know. I think that Java might have a future because its one of few languages being taught in mass amounts. C# could take over, Microsoft has the money to advertise and promote it through the roof.

Bradlis7
30th October 2004, 05:30 AM
I wish there were some java gtk programs out there. Java's the only thing that I've done graphical frontends in, and I haven't done very many. I started my own program, mainly to learn how to program in 9th or 10th grade. I taught myself off of the java tutorial on java.com (very good tutorial in my opinion).

I'd like to get more involved in open source, but sometimes I feel a little intimidated by it all. But I'm getting off subject.

crackers
30th October 2004, 05:57 AM
I wish there were some java gtk programs out there.
Java 1.4 and, of course, Java 5 have a GTK look-and-feel available with the "base" installation. If you want direct GTK binding, you'll have to use SWT - which, in my opinion, is ... okay, I can't really say what I think of it because of the filters. :rolleyes:

Bradlis7
30th October 2004, 06:04 AM
isn't java's gtk bindings in gtk 1? I was wanting some programs using the java-gnome bindings. There's only like 5 programs on their website that use it.

Daverz
23rd November 2004, 01:37 PM
I think you really have to like Java to use java-gnome. Otherwise, I'd use pygtk, http://www.pygtk.org

Daverz
23rd November 2004, 04:24 PM
Ok, hackers exist in mainly these languages: C, C++, Perl, Python, PHP, BASH and (sorta) Ruby. Is Java used in opensource today? Will it continue to be used more in opensource and copyleft software?
It seems that everyone taking compsci are learning Java. Could this create more hacking in Java?

I'm planning a project using Jython + Swing + Hibernate + HSQL (all 100% Java). So far I'm quite impressed. The question is will users be willing to download a 30+MBytes JRE and to put up with the extra memory usage and start up time to use my app. We'll see.

crackers
23rd November 2004, 07:55 PM
My company has a commercial application that we deliver via WebStart - so depending upon the application, you might be okay. And the JRE isn't 30 Mb - that's the SDK, which most end users don't want since they won't be programming in Java. The JRE is typically less than 15 Mb.

Northern
24th November 2004, 12:02 AM
Just to add to this, I worked for Sun Microsystems from around 92-96 when java was kicking off, and they sent me on a java course. I enjoyed the course and I had a great time learning the language. However, once I'd learnt the language (this was in the AWT days) and tried to do some serious programming I quickly realised that it wasn't the language it was hyped to be.

Java was hyped to be the Next Big Thing on the internet, ie applets but that never really happened, so Sun introduced loads of libraries into it, and even created java variants in the vain hope that one day we would be controlling our washing machines with it.

I think that at the end of the day, Sun Microsytesms did very well with Solaris and their SPARC machines, but they f.cked up with Java. The popularity of java has been decreasing for the last few years. The hype has passed ... :rolleyes:

If I was at college I'd learn python / c / perl / whatever but not java im afraid.

My 10p worth, and please dont take offence :)

crackers
24th November 2004, 04:08 AM
The popularity of java has been decreasing for the last few years. The hype has passed ... :rolleyes:
The hype has passed, but now Java is an actual working language - all you have to do is witness the number of application servers that are on the market, both proprietary and FOSS.

There are certain things Java excels at (networking, thread management, memory utilization) and some things are still a bit "hard" (Swing). However, I've always found UI programming to be fairly easy, even done "by hand" and if done correctly, a UI-based application can have pretty close to "native" performance - but you have to know what you're doing: you can't just slap it together and be really snappy.

A couple of examples of Java "done right:" Orion application server (dang thing starts in seconds) and the JetBrainz IDEA Java IDE (whoa...). And, while I haven't actually started using it yet, Java 5 is supposed to be even faster and lighter on the memory, especially when running two or more JVMs.

Northern
24th November 2004, 04:09 PM
There are certain things Java excels at (networking, thread management, memory utilization)

We use several java powered GUI's here at work, and I have to say that they all run incredibly slow, whether on laptops or high spec unix boxes.
These are professional apps written by IBM so I would guess that their programmers know about 'memory management' but at the end of the day java still (in my experience) runs like a dog ;)

crackers
24th November 2004, 06:54 PM
Actually, it's not memory management that causes apps to be slow. And, to be honest, it's not the fault of Java, but rather the UI applications themselves. A lot depends upon threading (tricky subject) - what the application is doing behind the scenes.

For example, I have a pretty small UI for my home-control system: the UI is extremely snappy, but executing an "action" (turn light on) takes a couple of seconds. So I have a design decision to make: do I 'lock up' the UI while the action is in progress, or do I do the command-processing "in the background" and allow the user to initiate another action, even though there's something else already going on? If the former, do I indicate that something's in progress or just don't do anything because it's "relatively fast" compared to what the user is likely to do? (If you're curious, I chose the "lockup" method and get indications that the command was successful in another thread.)

Really complex UIs get even crazier and can drive a programmer nuts. And, even if the apps were written in C/C++, you still have the same issues. Any design has the same kind of decisions to make.

Trindade Photos on Instagram - Thenkasi Photos - East Cleveland Photos