LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 09-26-2006, 10:50 AM   #31
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55

You seem to be missing the points in my post. I don't mean to argue with you, since you were very helpful to me on Solaris questions. But I am very involved in transaction processing performance for virtually all the fortune 500 companies and I have never heard of any of them using Java except on front-end apps. It is not used in any mission critical points- there is no money flowing through it, no critical database access. It's all front end to COBOL or IMS back ends. UNIX does not, and cannot compete in the large systems arena, it's just not designed for that. And Java can't be (and is not) used in performance critical areas. You want to say it's fast enough..yes, fast enough for web and GUI front ends. And that is all.

All of those companies do indeed buy also from Sun and microslop. But that's all data entry stuff- the back end is all on mainframes. Yes, Websphere runs Java on the front end and all the real work is done with existing COBOL (and a little assembler) on the back-end.

C has not replaced and can not replace assembler at all in large systems. Your comments suggests to me that you have no experience whatsoever in large systems. The reason, as I stated, is that the IBM OS (which is far and away the most deployed OS for mission critical (= $$$) apps in Fortune 1000 companies is written entirely in PL/X and some assembler, has no C header files and no C APIs to low-level services. This has been true since I started on this platform in 1975 and it's true today.

UNIX is a very nice OS but it is not in the same league in terms of what it can do and what processors it runs on. You can run UNIX as a guest OS on IBM hardware and they've done some work to make it somewhat native, but nobody processes transactions on it since IMS and CICS and DB2 all had connections to financial back ends for twenty years before it. All the UNIX systems do is front-end work for the back-end.

In answer to your question, I was addressing Taylor's comment about Java performance. And then I also addressed the other comments on portability by saying that portability is a false goal since it's largely irrelevant.

When money and performance is involved, it doesn't happen in Java.

The facts are quite plain and I don't care to waste more time on the subject. You may say all you wish as I'm unsubscribing from the thread
 
Old 09-26-2006, 10:59 AM   #32
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55
Thumbs down

Quote:
Originally Posted by xhi
that is right on imo.. Randux, the fact is that no one is out there (or in here for that matter) is claiming that Java is outperforming well written c or assembly, and no one is claiming that Java is a systems programming language. so using these things to disprove the usefulness of java seems a little ridiculous to me. thats like saying my car is a piece of sh!t because it cant fly, well its not supposed to fly, because its a car. thats the same with Java, its not supposed to do multimedia encoding, or be used to write an operating system, or be used where execution speed it critical. everyone knows this.
If you want to take my comments out of context I can't stop you. However, I was responding to Taylor's comment that he doesn't write software that runs in huge environments. In response to that what I said was that Java is used only for front-ends and not anything mission-critical. So I don't know who you are arguing with, but it isn't me (at least not yet )

Quote:
Originally Posted by xhi
the reason that Java *IS* so popular in business is because every single app out there does not need to run in the fewest cycles possible, assuming that they do is completely and utterly wrong. many times the speed that an application runs is far outweighed by the speed that it is developed at. java writes faster than c and c++, and it is cheaper to pay a java programmer than a c programmer. so you end up with a cheaper product that goes out the door faster, and when running you (as a human, not a benchmarking program) see no difference in speed. *and* (to get back to one of the original points), with no extra effort the java code *should* be portable to all popular operating systems. with c code you could make it portable, but it would require more work than the java code would.
I don't know about small and midrange systems because I don't use them much. But I do know about the transaction processing setups at banks, stock brokerage houses, stock markets, commodities trading, insurance companies, credit beaureaus (even if I can't spell it ) and large govs all over the world and none of them run mission-critical work in Java. Again, I'm not talking about (and I really have no interest in) toy apps that run on PCs.

If you would have read my comments completely and taken them in context where I said I write performance measurement and improvement software then you would know that for such a person good enough, is not good enough. Performance is our business. And companies pay a lot of money for what we do for them in this area.

Again, portability is largely a false and irrelevant goal. If that's all Java has going for it, then it explains a lot.

Quote:
Originally Posted by xhi
it depends on what you are measuring performance for. if you are saying that it will never outperform assembly, or will never outperform c, you may be right on. it is running in a VM. but if you are saying that it will never perform well enough to steal away a large share of new development projects from compiled languages. then i think you are already wrong, and will continue to get wronger.
It hasn't made much progress in the world where people are paying a half million dollars to license a piece of software.

Last edited by Randux; 09-26-2006 at 11:00 AM.
 
Old 09-26-2006, 11:12 AM   #33
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
hehe..

im not going to argue, i just wonder how you are such an expert on what java cant do when you obviously dont use it?

and also its nice to see that there are still people around who will take over a thread about "What is java used for" and spend their time telling them that their assembly wrapped c libraries with crush their java apps on a Xyz benchmark on a blah blah blah server platform. that probably helps this guy who has had one programming class in his life a whole lot , but thanks for filling us in about your life anyhow. im impressed, and by the way could you turn down the sun a little next time you are in the control room, my air conditioning is out.
 
Old 09-26-2006, 11:18 AM   #34
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55
Sometimes explaining what something isn't used for also answers the question. We can't use Java because it doesn't perform. And it can't do systems programming, etc., etc., etc.

It's better for someone to make a post which addresses what some people have said (which is what I did) rather than being an a$$hole who just takes personal cheapshots (which is what you did).

So you can take your impressions and jam 'em in your control room

Sorry if the fact that I'm involved with real software troubles you. Have a nice day!
 
Old 09-26-2006, 11:32 AM   #35
xhi
Senior Member
 
Registered: Mar 2005
Location: USA::Pennsylvania
Distribution: Slackware
Posts: 1,065

Rep: Reputation: 45
Quote:
Originally Posted by Randux
Sometimes explaining what something isn't used for also answers the question. We can't use Java because it doesn't perform. And it can't do systems programming, etc., etc., etc.

It's better for someone to make a post which addresses what some people have said (which is what I did) rather than being an a$$hole who just takes personal cheapshots (which is what you did).

So you can take your impressions and jam 'em in your control room

Sorry if the fact that I'm involved with real software troubles you. Have a nice day!
hehe..

i thought you sounded like that kind of person..

anyhow i didnt mean to come in and cause such a disturbance, and im not trying to be offensive. sir, what you do sounds like extrememly advanced work, and possibly even interesting. heres a tip though, i (and most people, that is if you enjoy socializing with people), do not like to hear only about how you and what you do is beyound what anyone else could contimplate understanding, and when i hear that i tend to respond in a sarcastic manner. i did not mean to hurt your feelings, but if you cannot take that response, you should rethink your preaching skills. my sarcasm was in a direct response to a post from you, to me, so i feel that it was warranted.

the fact that you are involved in "real" software does not trouble me (was that a cheapshot of your own?, oohh ), server programming and benchmarking sounds extrememly fun. all i get to do is simulation work all day. mainly for the military, 2D simulations (alot like a starcraft type game), i work along on new ai for the units and enhancing existing the ai, also building ontologies that describe responses for the ai, and.. well ill stop there. ha, im starting to sound like you. next thing you know ill be posting a resume so that everyone knows that they should listen to me..

and a good day to you sir.

edit> this has gone on enough for me. no matter how enticing your response. i will not post in this thread any further. the only thing worse than reading a thread like this is being involved in one. (no offense to any other posters intended. im referring to where this thread has progressed to at this exact post.)
so i raise a white flag and surrender to you and your level of knowlege of things that simply boggles my mind.

Last edited by xhi; 09-26-2006 at 11:41 AM.
 
Old 09-26-2006, 02:07 PM   #36
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by Randux
You seem to be missing the points in my post.
You seem to miss mines.
Quote:
I don't mean to argue with you, since you were very helpful to me on Solaris questions. But I am very involved in transaction processing performance for virtually all the fortune 500 companies and I have never heard of any of them using Java except on front-end apps.
They perhaps have a personal way of defining what a front-end application is.
Quote:
It is not used in any mission critical points- there is no money flowing through it, no critical database access. It's all front end to COBOL or IMS back ends. UNIX does not, and cannot compete in the large systems arena, it's just not designed for that. And Java can't be (and is not) used in performance critical areas.
I can tell you by experience that Unix and Java are used by the companies you are talking about in some (but not all) performance, business and mission critical areas.
Quote:
You want to say it's fast enough..yes, fast enough for web and GUI front ends. And that is all.
Perhaps are we living on different planets ...
Quote:
All of those companies do indeed buy also from Sun and microslop. But that's all data entry stuff- the back end is all on mainframes. Yes, Websphere runs Java on the front end and all the real work is done with existing COBOL (and a little assembler) on the back-end.
Are you aware Java runs on IBM's mainframes ?

I've found that in wikipedia Mainframe entry:
Statistics
  • 85% of all mainframe programs are written in the COBOL programming language
  • 7% are written in Assembly language, C or C++
  • 5% are written in PL/I
  • 3% are written in Java and other languages
Java use is increasing rapidly as of late 2004, and these figures are likely significantly out-of-date, especially on newer mainframe systems.
Quote:
C has not replaced and can not replace assembler at all in large systems.
True, but in my opinion not for technical reasons. I believe the market leader just want to maintain its domination by keeping its architecture as much proprietary and closed as possible.
Quote:
Your comments suggests to me that you have no experience whatsoever in large systems.
Correct, I avoid mainframes as much as I can. They are all what I dislike in the computing world.
Although the specific work you are doing seems to be quite interesting, most of what is done in mainframes is so boring. Think Cobol.
Quote:
The reason, as I stated, is that the IBM OS (which is far and away the most deployed OS for mission critical (= $$$) apps in Fortune 1000 companies is written entirely in PL/X and some assembler, has no C header files and no C APIs to low-level services. This has been true since I started on this platform in 1975 and it's true today.
Yes, and this is the negation of portability. Think "vendor lock-in".
Quote:
UNIX is a very nice OS but it is not in the same league in terms of what it can do
Correct, it can do much more different things, and with more fun.
Quote:
and what processors it runs on.
Yes, Unix/Linux runs on almost all existing processors, z/OS run on a single architecture.
Quote:
You can run UNIX as a guest OS on IBM hardware and they've done some work to make it somewhat native, but nobody processes transactions on it since IMS and CICS and DB2 all had connections to financial back ends for twenty years before it.
Nobody processes transactions on Unix ??? Do you really believe that ?
Oracle has roughly 50% of the RDBMS market, and it run mostly on Unix/Linux.

Last edited by jlliagre; 09-26-2006 at 02:10 PM.
 
Old 09-26-2006, 05:20 PM   #37
slantoflight
Member
 
Registered: Aug 2005
Distribution: Smoothwall
Posts: 283
Blog Entries: 3

Rep: Reputation: 35
.......................................

Last edited by slantoflight; 10-09-2006 at 01:04 AM.
 
Old 09-26-2006, 06:42 PM   #38
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
Well, I don't really want to add any more fuel to the fire, so here's a non-opinion post that has something to do with language & technology comparisons. chromatic recently penned a pretty good article for O'Reilly regarding such things -- here's the link if you're interested.

http://www.oreillynet.com/onlamp/blo...ex_factor.html
 
Old 09-26-2006, 10:11 PM   #39
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by slantoflight
I don't think I would disagree with anyone here feels java is slower.
Great, I wrote that too.
Quote:
There IS a perceptible difference in performance.
Yes, I just read that Java outperforms C is one benchmarks though. It runs 146 times faster than GCC on the regexdna one (Okay, there must be something wrong in the settings).
Quote:
Java might be acceptable on embedded devices or other places where the java jvm is implemented natively.
"Might be" need to be the right term, as no such device exists. There is no native implementation of the virtual machine. There used to be a couple of experimental ones (ultraJava chips), but AFAIK they never leaved the labs.
Quote:
But as user apps on popular platforms, they are noticably slower than their c/c++ equivalents.
If you read my previous postings, I point the fact Java is mostly used in middlewares, where it excels. There are few java applications that you can compare to C/C++ equivalents.
Quote:
Besides long loads times
Right, a JVM 1.5 helloworld loads in 150ms while a C one does in 1ms or less, sure it is 15000% slower, but who cares ? At least for a long running application.
Quote:
they use up shamefull amounts of memory.
Well, C probably uses shamefull amounts of memory when compared to assembly language.
Quote:
This cuts down on multi-tasking severly.
Java is good in multi-threading though.
Quote:
For example Open Office delivers just acceptable performance on a 512mb system. However it will likely be the only java app you will be willing to run on your computer.
Ha ha, it can't be the only java app I'll be willing to run on my computer. You know why ?
I'm sorry to tell, but you are that much an expert in Java that you cite a C++ application as an example of Java slowness ...
At least Randux is an expert in his area, I'm afraid you just repeat the FUD you read elsewhere.

Last edited by jlliagre; 09-26-2006 at 10:12 PM.
 
Old 09-27-2006, 02:30 AM   #40
slantoflight
Member
 
Registered: Aug 2005
Distribution: Smoothwall
Posts: 283
Blog Entries: 3

Rep: Reputation: 35
..................................

Last edited by slantoflight; 10-09-2006 at 01:03 AM.
 
Old 09-27-2006, 04:53 AM   #41
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
No problem, everyone do mistakes, that's the way we learn.

Thanks for not be upset by my comments, people tend to sometimes overreact to my postings ...

Cheers
 
Old 09-27-2006, 06:42 AM   #42
AnanthaP
Member
 
Registered: Jul 2004
Location: Chennai, India
Posts: 952

Rep: Reputation: 217Reputation: 217Reputation: 217
So what exactly is java used for?

I think being free, it has been ported to most platforms. Except the actual system interfaces, nothing needs to be rewritten entirely.

Being free it can replace proprietary apps (recently on an intranet in my company, we replaced dynamic graphing links that were using Ms-Office VBA with java applets). Side benefit is that applets render faster. (Note the applets were free downloads from the web).

As to speed, for transaction based stuff, I think the page stepping time is the most significant. Java, C, C++ dont make any significant difference nowadays.

End
 
Old 09-27-2006, 01:18 PM   #43
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by AnanthaP
So what exactly is java used for?
In the industry, java is mostly used as middleware and front end web / xml interfaces.

There is a standard way of packaging web applications (.war files containing servlets and JSPs) and enterprise applications (.ear files) to be deployed on web-app containers and application servers.

These servers are either proprietary, IBM WebSphere and BEA WebLogic, or Open Source like Tomcat, GlassFish, JBoss and many others.

This is where most of the professional Java programmers are.

There are also stand alone applications with Java, some good ones I'm using are JAlbum (Digital Photo Album), ArtOfIllusion (3D Modeling), GenJ (Genealogy) SDB (Sun Download manager) and NetBeans/Studio (IDE).
Of course there are thousands more, places to look are sourceforge (a search of project with the keyword java returns 13192 results), and java.net ( http://community.java.net/projects/topic.csp ).
Quote:
I think being free, it has been ported to most platforms. Except the actual system interfaces, nothing needs to be rewritten entirely.
Well, it's indeed up to now free, but free as freeware. You can download the sources, but there are still some limitations that prevent you to port it to another platform without a license.
So it doesn't comply with the Open Source OSI requirements.
This is planned to be changed in the future ( http://community.java.net/jdk/opensource/ )

That doesn't prevent you to freely download a JVM for most of the existing platforms, though.
Quote:
Being free it can replace proprietary apps (recently on an intranet in my company, we replaced dynamic graphing links that were using Ms-Office VBA with java applets). Side benefit is that applets render faster. (Note the applets were free downloads from the web).
Java applets have also a strong security model, something ActiveX is very poor in.
Quote:
As to speed, for transaction based stuff, I think the page stepping time is the most significant. Java, C, C++ dont make any significant difference nowadays.
Yes, that was most of us point to, java need not be the fastest language out there to be useful, it just need to be fast enough for the need.
 
Old 09-28-2006, 10:47 AM   #44
the_darkside_986
Member
 
Registered: Feb 2006
Distribution: Ubuntu Feisty (7.04)
Posts: 106

Rep: Reputation: 15
Java abuses pointers and eats up memory so that the programmer doesn't have to. J/k but it is a terrible idea to run the java machine on linux when you only have 128 MB of RAM. Limewire (a java app), for example, crashed the whole system every night that I left it running on my Redhat 9 Box. I have not noticed this problem in my new machine that has 1024 MB of RAM. I like using pointers in C/C++ even though I always screw something up by calling the delete operator on an uninitialized or NULL pointer.
 
Old 09-28-2006, 11:10 AM   #45
jlliagre
Moderator
 
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.4, Oracle Linux, Mint, Debian/WSL
Posts: 9,789

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Quote:
Originally Posted by the_darkside_986
Java abuses pointers
Look closer, there are no pointers in java.
Quote:
and eats up memory so that the programmer doesn't have to.
Java memory usage is topped by a command line option. It will never allocate more than that.
Quote:
J/k but it is a terrible idea to run the java machine on linux when you only have 128 MB of RAM.
That depends on what else is running on that box.
Quote:
Limewire (a java app), for example, crashed the whole system every night that I left it running on my Redhat 9 Box.
If the system crashed, blame the system.
Quote:
I have not noticed this problem in my new machine that has 1024 MB of RAM.
More memory give better performance, not enough memory will degrade performance but shouldn't crash a correctly designed/built system.
Quote:
I like using pointers in C/C++ even though I always screw something up by calling the delete operator on an uninitialized or NULL pointer.
There are no delete operator in Java, nor uninitialized objects.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Java plugin installed correctly for Firefox but not able to view any java applet tvn Linux - Software 10 04-15-2010 02:13 AM
Firefox refuses to load Java jnlp files - plugin and java ok Melsync Linux - Software 1 06-25-2006 04:09 PM
Synaptic Package Manager shows 'java-common' and 'java-gcj-compat' as Installed. swiadek Ubuntu 3 02-12-2006 11:54 AM
JAVA JRE installation to view java applet through browser dipenchaudhary Linux - Software 1 01-23-2006 09:20 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 07:02 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration