View Full Version : Why NOT Java
ArcticWolf
01-14-2008, 06:37 PM
Ok, for those of you who don't know, Java isn't a new coffee brand, a car wash or a set of games on your cellphone. It's a programming language (the thing that we use to write programs) which is NOT new at all, but still we hear some flames from time to time.
Programmers and Students of IT and IT-Related careers, tell me why Java isn't good. Tell me why you want to wipe it out of the Earth. Tell me why it drives you insane, is it because of the Object paradigm?
Ok, I understand that knowing just ONE programming language isn't good (in fact, real programmers can learn any new language in a matter of days), but that doesn't make Java so bad...
Is it slow? Well, kind of, but it's good as a data manager frontend, not as a game engine or so. It's meant to be multi-platform and functional, not fast!!!
Sorry... I wanted to make sure that 3 years of java weren't a loss of time on my career... :ohill:
Ascaroth
01-14-2008, 06:42 PM
Ok, for those of you who don't know, Java isn't a new coffee brand, a car wash or a set of games on your cellphone. It's a programming language (the thing that we use to write programs) which is NOT new at all, but still we hear some flames from time to time.
Programmers and Students of IT and IT-Related careers, tell me why Java isn't good. Tell me why you want to wipe it out of the Earth. Tell me why it drives you insane, is it because of the Object paradigm?
Ok, I understand that knowing just ONE programming language isn't good (in fact, real programmers can learn any new language in a matter of days), but that doesn't make Java so bad...
Is it slow? Well, kind of, but it's good as a data manager frontend, not as a game engine or so. It's meant to be multi-platform and functional, not fast!!!
Sorry... I wanted to make sure that 3 years of java weren't a loss of time on my career... :ohill:
Java should be banned of the world for the same reason pants were.
POTATOES!
Nah, I think that java its nice, its just that when someone doesnt like it, he says it, then other guy reads that post, and posts it in another forum, another guy reads it and comments that in the irc chat, the fact is that around 90% of the people that hate java doesnt know why they hate it, or just they didn't like the sintax in the 10mins they used it.
Boger
01-14-2008, 06:52 PM
Java is a global multi platform language, so its usefull... but something tells me that some1 will write a faster multi platform code soon, cause Java is soooo slow...
elendriel
01-14-2008, 06:52 PM
Java only had a reason in the past, that wasn't free. Now for bad luck, I don't any reason to not be used.
And what about python + QT4/GTK/WxWindow
Or QT4/GTK/WxWIndow + C++ ?
Ascaroth
01-14-2008, 06:56 PM
Java only had a reason in the past, that wasn't free. Now for bad luck, I don't any reason to not be used.
And what about python + QT4/GTK/WxWindow
Or QT4/GTK/WxWIndow + C++ ?
Python is very nice, slower that java, but still nice.
arlick
01-14-2008, 06:56 PM
Java is a global multi platform language, so its usefull... but something tells me that some1 will write a faster multi platform code soon, cause Java is soooo slow...
java WAS slowly.. well now is very slow with web application, bad the others kind of problems can be resolved by java. Java could be used in webservers (jsp), apps, db's, use xml documents, very powefull gui's... all that u want
since java 1.6 the apps isnt too slow, there was a big change with this version.
ArcticWolf
01-14-2008, 06:59 PM
Python is very nice, slower that java, but still nice.
Java is a precompiled bytecode based language (it means it's not completely compiled, it's interpreted by the JVM), but Python is totally interpreted. That's because it's slow.
Hey, java is not THAT slow when you know how to use it... For instance, don't use Strings to save a file, use a StringBuffer.
Ascaroth
01-14-2008, 07:01 PM
Java is a precompiled bytecode based language (it means it's not completely compiled, it's interpreted by the JVM), but Python is totally interpreted. That's because it's slow.
Wrong, python is bytecode too.
Ascaroth
01-14-2008, 07:15 PM
Just found this:
http://www.ferg.org/projects/python_java_side-by-side.html
Miraculix
01-14-2008, 07:34 PM
Okey, you just opened a big topic right there. I for one hate java, so lets get that straightened right away. Reasons? Too many. My *very first* problem with java was the way memory allocation was being handled. At first I was like "wtf? No pointers?" on to: "No dynamic allocation either???" and off to: "GARBAGE COLLECTOR? dfASDGsgfDGdf".
Anyway, the main problem I have with Java is that it is being taught as a starting language. That really doesn't have to do with the language itself... so much.
Java is an object oriented language. The object oriented paradigm is probably the one that is used in the design & implementation of most applications. However, one really has to start from simple procedural programming, to get an understanding of how data flows through the different program modules, before moving on to structural programming, where one models data in data structures such as lists, queues, trees, graphs and what not, and only after that stage should one be introduced to object oriented design & implementation.
If people try to learn how to efficiently design and implement applications using classes without having the previous paradigms of programming mastered, it is most possible that they will never really completely understand stuff like encapsulation, inheritance, member scope, virtuallity, mutation, overloading (friggin java has a very messed up way to overload operands btw) and all that jazz. All these things are what OOP is really about, and if you don't understand them correctly you will never use them correctly. Even more so, if the language you are using (ie, java) is messing with the way these things work, and does not give the programmer 100% control over these things.
All in all, in my experience, people who learned how to program with java as one of their starting languages ended up being horrible coders.
(needless to say c++ is the way of the true samurai! :p)
PS: If you are more interested in this matter, I suggest you check this out:
http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html
ArcticWolf
01-14-2008, 07:55 PM
PS: If you are more interested in this matter, I suggest you check this out:
http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html
Of course I'm interested!! That's why I opened this topic :tonguey:
Thanks for your reply, it's the first one I hear that's well funded and that explains why you hate it so much...
I agree that the language needs to be polished (the Garbage Collector is not so good), and that there should be a way to allow programmers to use pointers (which personally I hate).
Object oriented programming can only be taught by a teacher who can put programming in layman terms. It has to teach you with mundane examples such as the "animal and dog" class metaphor, but also explain you what are the benefits of OOP and WHEN to use it (it is not always useful).
I learned programming from 3 teachers, two of them are now working on quite important places and are retired from teaching. Luckily I started with c and c++, then moved to basic (we all make mistakes), then switched back to c++, then NQC and now Java. I started with procedural programming, then structured and finished with OOP. I guess that's why Java's easy to me, because I previously used other paradigms and because I had cool, good teachers.
Unfortunately I agree with you that the problem is how programming is thought to the new generations. They just simply sit and start coding without knowing what's behind all those lines, 'cause nobody told them about the basis.
So, to you the problems are:
Memory allocation
Slow
Object oriented.
Less control on the code.Right?
Miraculix
01-14-2008, 08:08 PM
I don't have a problem with it being object oriented, that's a paradigm, every language more or less falls under a certain category. There's nothing to like/dislike about a certain paradigm, there are problems that are best solved with one and others with another. My main problems are
1)that I don't have *direct* access to the (heh ok virtual) memory, like in c/c++
2)that some of the aspects of OOP (mentioned in my previous post) are not implemented strictly like in c/c++
In general, in it's effort to become an easy language that can do anything, it is "hiding" features from the coder. It's not that these features are not easily accessible, it's that they are non existent, like pointers. I know that everything in java is already a reference. I dont want it to be like that. I want to chose when I want to use a value per se and when I want to use a direct reference to the memory space. That's just the way java is, and it's my choice not to use it whenever I can. My biggest issue like I said is that it's being taught and marketed as a starting language, which can have detrimental effects on the way the programmer develops his/her way of thinking.
If I wanted to use a language that does something in 3-4 lines of code instead of 30-40 like it would be in c/c++, i'd just use python :p
NightTwix
01-15-2008, 07:53 PM
Java is:
- slow
- the gui apps look mostly ugly
- its from sun
- its not that platform independent as you still need a runtime environment
ok it might has some plusses, but thats offtopic :p
_dracus_
01-15-2008, 08:15 PM
Why I don't like Java:
- too trendy, it's too hype to know Java which means people aren't really interest in the qualities of the compiler and of the implementation
- Objects paradigm works on dummy examples, BUT it can be really tricky (point, line, triangle with a move method for example), and with a complex code you don't want to be fooled by your modeling.
- Too slow, even OCaml perform lots better and have very good native compiler since a very long time.
Reference is still C for me. Where I'm working we teach C and OCaml to first year students, ADA and Java to second year students.
Miraculix
01-15-2008, 08:38 PM
Java is:
- its from sun
it's gpl'd now, so who cares? :p
ArcticWolf
01-15-2008, 10:12 PM
Why I don't like Java:
- too trendy, it's too hype to know Java which means people aren't really interest in the qualities of the compiler and of the implementation
Agree. As a programmer you should know how the programming language you use works, the pros and the cons of it.
- Objects paradigm works on dummy examples, BUT it can be really tricky (point, line, triangle with a move method for example), and with a complex code you don't want to be fooled by your modeling.
That's because thinking with objects is not so easy as it seems. You have to be abstract with some classes, establish the hierarchy and know very well what you want to do. You can still avoid objects in java.[/quote]
- Too slow, even OCaml perform lots better and have very good native compiler since a very long time.
Reference is still C for me. Where I'm working we teach C and OCaml to first year students, ADA and Java to second year students.
Maybe slow, but useful if you don't want to re-compile if you're targeting multiple OS'. :P
daehenob
01-16-2008, 06:30 AM
Java:
using System; // or is this automagically included? it's been a while since I tried ;)
// anyway, this example is probably WRONG (see above)
public class HelloWorld {
public static void main( String args[] ) {
System.out.println( "Hello world!" );
}
}
(I hope you saved the file as HelloWorld.java, or the compiler will barf IIRC)
$ javac HelloWorld.java
$ java HelloWorld.class
Python:
print "Hello World!"
$ python helloworld.py # OR to skip a having a source file completely...
$ python -c 'print "Hello World!"'
kthxbai
Granted, a "hello world" example isn't the best measure of a language's potential, but I almost abhor Java's verbosity. *shudders*
TBH, I don't have much experience "programming" in *any* language (doesn't stop me from trying ;D ), but I <3 Python. And good ol' shell scripting rules as well. (Wii! bash!)
And WRT targeting multiple OSes: just use a web app (think Google apps). Isn't this application Java's bread and butter anyway? ;D
EDIT: corrected Java example
ArcticWolf
01-16-2008, 07:36 AM
Bonehead, you're comparing scripting with heavy app programming. If I want to make an offline multi-platform app I can't use those rich web applet thingies.
Anyway, Python rules :P
daehenob
01-16-2008, 07:52 AM
Xephandor,
(Glad someone caught on to my name. ;) )
Yes, if your target was people that needed heavy duty apps without web access, I cry for you. A computer is useless nowadays without web access, IMO. (btw, how are /you/ posting here? Telepathy? :O )
*imagines Xephandor with helmet setup a la Professor X/Cerebrus (or was it Cerberus? (is too drunk to care))*
Mm, and yes, maybe I am *kinda* comparing scripting to "heavy-duty" apps (in my example), but there are plenty of heavy-duty apps out there coded in Python. And who says you can't make an off-line, multi-platform app in Python?
Anyway, I'm about to poke my head into your other thread to see how you're coming along with your XML thingy. :)
And no, I don't have anything *against* Java per say, I just don't prefer it for my own projects. :)
ArcticWolf
01-16-2008, 08:03 AM
THANKS GOD SOMEBODY'S REPLYING! :D
Well, I'm targeting this community, but I've received complaints from some (a lot of) users who think that the ROLGps could represent a security breach if it connects to the internet. I tried explaining to them how it works, what it does and even explaining it in the most simple layman terms with no avail... So, this is the only thing I can do for them.
The rolgps will have a map if NGD allows us to use it (copyright problems) and some other improvements with the previous version, and it can be only done in Java because I'm a lame programmer who finds it easier to it this way. :tonguey:
Oh, btw, the XML is giving me headaches... I'm used to database queries, not to parsing files xD
daehenob
01-16-2008, 08:18 AM
Xephandor,
Attribute my replying to this thread out of boredom, really. ;)
Does Java not have an SQLite (http://www.sqlite.org/) module-thingy? Maybe this is something you can look into.
I will PM you my Jabber//Yahoo//MSN ID sometime tomorrow (please PM your preference), this sounds like a project I'd like to get my hands dirty with. :D
magnet
01-16-2008, 09:35 AM
- Too slow, even OCaml perform lots better and have very good native compiler since a very long time.
"Even" OCaml? Considering decent Ocaml programs run faster than their implementation in most languages, it's really not a good comparison. Unless you meant a comparison between bytecode Ocaml & Java programs (?).
More generally, to the topic, my opinion is that Ocaml is for now the most decent usable/modern language. C is beautiful but unsafe and unadapted for anything other than low-level system programming. I'm looking towards Scala for the future. And regarding the current trends and industrial languages, I'd better have Java, even if it's dull to program and the properties of the language suck, than C# or other .NET alternatives. Same shit really, but the former is Free with a capital F and the latter are aimed at evil world domination.
magnet
01-16-2008, 09:40 AM
Does Java not have an SQLite (http://www.sqlite.org/) module-thingy? Maybe this is something you can look into.
Yes it does (http://www.ch-werner.de/javasqlite/overview-summary.html).
_dracus_
01-16-2008, 11:04 AM
Maybe slow, but useful if you don't want to re-compile if you're targeting multiple OS'. :P
At the Lab we only write free software, so we don't mind of binary compatibility, we just need the source to compile.
More generally, to the topic, my opinion is that Ocaml is for now the most decent usable/modern language.
^_^
Same shit really, but the former is Free with a capital F and the latter are aimed at evil world domination.
Ok you got a point on this one.
Miraculix
01-16-2008, 02:00 PM
At the Lab we only write free software, so we don't mind of binary compatibility, we just need the source to compile.
ooooh yeah :metal:
bonehead isn't your nick from BOFH? or did he spell dickhead backwards? (in the episode with the ether-killer afaik)
_dracus_
01-16-2008, 02:21 PM
bonehead isn't your nick from BOFH? or did he spell dickhead backwards? (in the episode with the ether-killer afaik)
What name did you say, Miraculix ? >click< >click<
I don't have any issues with Java - I use it when I need to. I'm taking it that most here are students given some of the "text book" responses to why Java is bad. I've been doing professional software engineering for a while now - let me give you a bit of advice.
- Never tie yourself to a language or you'll find yourself antiquated very quickly
- Understand the problem at hand and develop a solution - different problems require different tools. Those who say "I only code in BLAH" will be the ones in the un-employment line.
Remember something about Java - it's not just for GUI it has a very rich and expansive network api which is used in more places than you think.
Miraculix
01-16-2008, 05:03 PM
I don't have any issues with Java - I use it when I need to. I'm taking it that most here are students given some of the "text book" responses to why Java is bad. I've been doing professional software engineering for a while now - let me give you a bit of advice.
- Never tie yourself to a language or you'll find yourself antiquated very quickly
- Understand the problem at hand and develop a solution - different problems require different tools. Those who say "I only code in BLAH" will be the ones in the un-employment line.
Remember something about Java - it's not just for GUI it has a very rich and expansive network api which is used in more places than you think.
who said anyone is tying themselves to one language? All I said was 'avoid java whenever you can' :p
ArcticWolf
01-16-2008, 06:49 PM
Yes it does (http://www.ch-werner.de/javasqlite/overview-summary.html).
Let me take a look at this... THANKS!!!! :metal:
asetas
01-17-2008, 05:28 PM
Ok, for those of you who don't know, Java isn't a new coffee brand, a car wash or a set of games on your cellphone. It's a programming language (the thing that we use to write programs) which is NOT new at all, but still we hear some flames from time to time.
Programmers and Students of IT and IT-Related careers, tell me why Java isn't good. Tell me why you want to wipe it out of the Earth. Tell me why it drives you insane, is it because of the Object paradigm?
Ok, I understand that knowing just ONE programming language isn't good (in fact, real programmers can learn any new language in a matter of days), but that doesn't make Java so bad...
Is it slow? Well, kind of, but it's good as a data manager frontend, not as a game engine or so. It's meant to be multi-platform and functional, not fast!!!
Sorry... I wanted to make sure that 3 years of java weren't a loss of time on my career... :ohill:
Haha :D Don't you know how limited java is after all? 3D making with java is particualry in possible the code line for one object would reach huge numbers because it is hard to handel.
Under folders of java are limited in use as well. Java is good for small range code which doesn'tinclude too much parametred to handel. If you want to see what they have actually done; runescape is your answer it is the best Java based MMORPG but the graphical side is booring because its simple limits.
Other ways java is nice language to learn but I would say C++ and python I prefer those (Python mostly because the linux support)
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc.