LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
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 06-01-2006, 09:44 AM   #16
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 titanium_geek
what's with the java bashing?


It does have it's place in the world- we won't mention the hopelessness you feel when you have to compile a C program... and don't have the dependencies, download, extract, attempt to compile... *of course package managers fixed a lot of this* but C/C++ or any language for that matter isn't worth it.
Basically, and you can't see it because if you're talking about AP anything Java was born about the same time as you were there has been a downward trend (as I said, dumbing down) the programming world. Because of the immense bloat of Java, you don't have to deal with a lot of issues, and this is exactly my point. Because you don't have to deal with them, you're being coddled and protected from what's really going on, and with programmers, that's not a good thing. Your comment about C and C++ reflect the fact that people are not always packaging things properly- but that doesn't affect the coder. It affects the user. And it is not a problem built in to any particular language.

Quote:
Originally Posted by titanium_geek
Java is the language being taught now, I'm afraid. Something about ease of programming without losing the cool stuff you can do with it and cross-platformability. (AP computer science...)
That doesn't mean anything at all, really. First of all, Java isn't a language. Various methodologies, languages, systems, etc., have been taught, and just like Windows is the most popular desktop "OS", that doesn't make it right.

In the good old days, software actually did something. Ever since the advent of Winbloze, the user interface has been where it's at. Just have a look round at what is passing for applications these days- it's all presentation and no guts. It's all just appearances. While we can't blame that on Java, it certainly helped to continue the downtrend.

Cross platform compatibility is a false goal. I don't really need the applications that run on a mainframe to run on PCs. They don't scale; they don't perform; they don't have the same underlying services.

I don't have time to list all of the grand illusions "taught" in high school computer classes, but Pascal comes to mind

Quote:
Originally Posted by titanium_geek
So it's not the language people hoped it would be- but no language can be perfect. Why does Java encourage so much venom? This is a Java thread, for crying out loud. Java is better than Visual Basic (shudder).
It's not a language; it's an immense, systemic, monolithic, bloated assortment of libraries, services, a virtual machine, an interpreter, and other things. Sun would like us to believe that it's a language, that keeps it light. The truth is that it carries tremendous baggage.

Why does it encourage venom? Anything that coddles programmers (and blinds them at the same time!) and is full of bloat (Winbloze, Java) is going to raise the ire of programmers who understand the costs of such systems and know that they're not worth it.

Go back and read what I wrote: if you need something like Java to protect you from yourself, you shouldn't be coding. A programmer needs to understand things like resource management, bounds checking, protective coding techniques. He needs to be able to look at his source code and see the underlying executable to know how to improve the performance. If he can't, he's just a glorified script-kiddie.

I've seen pure Java "coders" move to real programming languages and adopt the most atrocious, inexcusable coding practices in those new venues. When I point out that this or that construct is bad for performance, I get a blank stare and some comments about how it doesn't matter what the source says, the system will optimize it.

What's Java good for? You can't use it for systems programming; you can't control it- it does what Sun wants, not what you want. It's only appropriate for user interface, but it's too bloated and costly to be worth it there either. Java is a solution without a problem.

I'm not a proponent of Visual Basic or C++ per se, but I think they both have their place. Visual Basic is appropriate for some quick GUI stuff without the immense performance burden of Java. C++ can certainly be used to generate better than average performing code, certainly much better than Java will ever do.

I don't really care for C either, although in the UNIX world to be proficient with C is essential. It's a rather ugly language- better it would have maintained the syntax of Algol and extended it, and provided pointer syntax more cleanly. Nevertheless, good C code does indeed result in a good performing executable. This cannot be said for Java.

Quote:
Originally Posted by titanium_geek
Why when people ask for java books people jump in and suggest that they shouldn't be doing java at all?!? Do you see that in C++ book threads?
I had some extra time on my hands And I did post a nice link at the end.

Quote:
Originally Posted by titanium_geek
Ok. I'm done. Off my soapbox. Just, please, respect us Java programmers- we aren't dummies. Let someone ask for java books without having their language assaulted.
titanium_geek
I don't think it's any breach of ettiquette to insult things. Insulting people is another matter entirely. We shouldn't do that. If one chooses to take personally that which is said about something else, that's also his choice.

I don't consider that someone who only knows Java is any kind of a programmer. When you're that far away from the machine, and when the system is doing so much for you that you don't even need to understand nor employ basic aspects of good software design, it's difficult indeed how one can consider oneself a coder.

I am not directing these comments at you. But since you asked, I think this answer will explain some of the reactions Java seems to garner.

Last edited by Randux; 06-01-2006 at 10:28 AM.
 
Old 06-01-2006, 10:09 AM   #17
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55
Wink

Quote:
Originally Posted by Mega Man X
And those bashing Java... well... we have already one of those threads going:

http://www.linuxquestions.org/questi...d.php?t=414812
Thanks loads for the link, mate! Oh goody......

Cheers,
Rand
 
Old 06-01-2006, 03:12 PM   #18
indienick
Senior Member
 
Registered: Dec 2005
Location: London, ON, Canada
Distribution: Arch, Ubuntu, Slackware, OpenBSD, FreeBSD
Posts: 1,853

Rep: Reputation: 65
Randux, you're my hero - for your rebuttle essay to titanium. And yes, you could run GWBASIC, QBASIC and QuickBASIC interpreter-style to debug it.

titanium_geek, I'm sorry if you thought I was insulting you, or your fellow Java programmers, but I wasn't. I was expressing the way I felt about this Java revolution, and all those consumed by it. I've written Java for a while now, and while I know it all boils down to personal preference, I particularily feel as though Java is just a C-influenced scripting language - so much muss and fuss.

Say what you will, but at some point, you will have to admit that Java is a fancy scripting language. I know there is a Java "compiler", but the only function it performs is it parses your pre-written code, and organizes it to be about as efficient as possible. However, it can only be as optimal as the person who programmed it - and it also forces those who write in Java to run code that is optimized in the same fashion. The joy - and also the heartwrench - of C and C++, is that it requires the programmer themself to look at their code and figure out how to optimize it for best compiled performance.

And you can complain about Visual Basic all you want, but the fact must be respected that it runs MUCH faster than Java ever will. I can understand if you don't like VB.net, because I will agree with you at that.

Perhaps what Randux and I are trying to say, is that if you are looking to write a big functional program, you should spend the time to write that program. Sit down for a couple hours a day for several weeks, and crunch out a program written in C. If you want a program to do small scripted sequences, then use a scripting language like Python, or Perl.

I say, use a language for its intended purpose. Use a scripting language for menial tasks, and heavy-duty low-level languages for concrete applications. Java was meant to be an enterprise solution, but it has blown up into a worldwide fad.
 
Old 06-01-2006, 04:10 PM   #19
Vagrant
Member
 
Registered: Nov 2001
Posts: 75

Rep: Reputation: 15
I'm not trying to start a flame war here, but I don't want a programming newbie to get lost in a bunch of nonsense which amounts to kind of an elitist religious war.

Ignore all comments from those who are trying to tell you to forget Java and use some bogus BASIC derivative. Just close your eyes and keep scrolling.

In fact, ignore anyone trying to convince you not to learn Java. I'm not even a Java fanboy but that's just silly.

Now, I think some good books are Bruce Eckel's Thinking in Java, classic, and Ivor Horton's Beginning Java. Learning Java will also give you a good foundation for learning other languages such as C, C++, etc.
 
Old 06-01-2006, 05:16 PM   #20
paulsm4
LQ Guru
 
Registered: Mar 2004
Distribution: SusE 8.2
Posts: 5,863
Blog Entries: 1

Rep: Reputation: Disabled
Vagrant -

Here here!

I've been biting my tongue - simply because I wasn't able to come up with a response as clear-headed and articulate as yours.

Thank you!
 
Old 06-02-2006, 06:41 AM   #21
titanium_geek
Senior Member
 
Registered: May 2002
Location: Horsham Australia
Distribution: elementary os 5.1
Posts: 2,479

Rep: Reputation: 50
thankyou Vagrant- your post said everything I meant to say and couldn't express right. thankyou.

My apologies for losing my temper. I accept that java has it's flaws, just like any other language. Please- why turn this into some stupid quasi religious "let's bash java" thread. This is a forum for ALL languages (read the forum description ).

titanium_geek
 
Old 06-03-2006, 01:47 PM   #22
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55
It's proper and productive to criticize technology harshly and nothing is sacred. If that were not so, then nothing would improve. Those people who make sacred cows out of their pet technologies are the ones engaging in religious wars. Other people are just smashing their icons Everything needs to be judged on its merit (or lack of merit) and just because someone likes something doesn't mean others can't criticize that thing (and that should not be construed as criticizing a person.)

Anybody who loses his cool over comments directed at Java, for example, will not survive in any kind of productive development environment. One of the most important personality traits in this line of work is to be able to separate oneself from one's own code. People are free to criticize code. This is how the best stuff gets done. But we don't attack people. That's off limits.

For those of you who don't get paid to write code for a living, maybe these concepts are foreign to you. I'm a little surprised because one would think that this idea, more broadly applied, would be useful in life (unless one prefers to go around in a constant uproar fuming over this or that thing that he likes, that someone else doesn't.)

There are such things as code reviews, where groups of devs sit in a conference room and go over listings, giving the code a sound thrashing. If anyone took the criticism personally he would be reduced to tears and kicked out the door in a few minutes. If you want to be good at anything, whatever you do has to bear technical scrutiny. It is a good feeling when nobody can find anything wrong with your code. But if you're any kind of a developer, it's an even BETTER feeling when someone does find something wrong with your code. Being a great developer is about constant challenges, growing, learning, doing better, and having no sacred cows.

If one cannot even have perspective about code he didn't even write, he is in a world of sh$t.

Last edited by Randux; 06-03-2006 at 01:57 PM.
 
Old 06-03-2006, 10:21 PM   #23
Vagrant
Member
 
Registered: Nov 2001
Posts: 75

Rep: Reputation: 15
Quote:
Originally Posted by Randux
It's proper and productive to criticize technology harshly and nothing is sacred. If that were not so, then nothing would improve. Those people who make sacred cows out of their pet technologies are the ones engaging in religious wars. Other people are just smashing their icons Everything needs to be judged on its merit (or lack of merit) and just because someone likes something doesn't mean others can't criticize that thing (and that should not be construed as criticizing a person.)

Anybody who loses his cool over comments directed at Java, for example, will not survive in any kind of productive development environment. One of the most important personality traits in this line of work is to be able to separate oneself from one's own code. People are free to criticize code. This is how the best stuff gets done. But we don't attack people. That's off limits.

For those of you who don't get paid to write code for a living, maybe these concepts are foreign to you. I'm a little surprised because one would think that this idea, more broadly applied, would be useful in life (unless one prefers to go around in a constant uproar fuming over this or that thing that he likes, that someone else doesn't.)

There are such things as code reviews, where groups of devs sit in a conference room and go over listings, giving the code a sound thrashing. If anyone took the criticism personally he would be reduced to tears and kicked out the door in a few minutes. If you want to be good at anything, whatever you do has to bear technical scrutiny. It is a good feeling when nobody can find anything wrong with your code. But if you're any kind of a developer, it's an even BETTER feeling when someone does find something wrong with your code. Being a great developer is about constant challenges, growing, learning, doing better, and having no sacred cows.

If one cannot even have perspective about code he didn't even write, he is in a world of sh$t.
Well, this is elitist nonsense. Blither blather is a better description. Your pretentious comment "For those of you who don't get paid to write code ..." That's simply immature. For what its worth, I do get paid to write code, but that's irrelevant.

Aha! We have now come to the point in the discussion whereby I have discovered your error. Your entire post is totally irrelevant. I agree that there are no sacred cows in programming either in terms of language or in methodology. But what sort of a discussion is this really? ...

Aha! It is a thread written by a poster seeking introductory material to programming and the Java language.

I should very well hope that all those who would ever endeavor to actually "get paid" to write software should understand such a concept as "time and place." Certainly, such a thread is not the time nor the place to muddle the thoughts of someone just beginning with programming with such blather as religious wars and the like. Certainly, it is not appropriate to confound the confusions which may plague a beginner with suggestions of learning essentially obscure BASIC derivatives.

With that said, I agree with you to some degree. Java has its problems, I have very serious issues with the developers of Java, but on the whole I think it is a good language, not my favorite. Nevertheless, all that is irrelevant, such discussions should be in a separate thread.

At any rate, I think you should read your own post and take your own advice. Thanks anyway.
 
Old 06-04-2006, 12:08 AM   #24
paulsm4
LQ Guru
 
Registered: Mar 2004
Distribution: SusE 8.2
Posts: 5,863
Blog Entries: 1

Rep: Reputation: Disabled
Vocabulary word for the day...

Hi -

Quote:
disingenuous
dis·in·gen·u·ous Audio pronunciation of "disingenuous" ( P ) Pronunciation Key (dsn-jny-s)
adj.

1. Not straightforward or candid; insincere or calculating: “an ambitious, disingenuous, philistine, and hypocritical operator, who... exemplified... the most disagreeable traits of his time” (David Cannadine).
2. Pretending to be unaware or unsophisticated; faux-naïf.
3. Usage Problem. Unaware or uninformed; naive.
Sounds like a good description of somebody who claims "it's good to insult and attack things, but not people".

I happen to believe it's not OK to insult or attack anything (except maybe hypocrisy ;-)).

I tend to believe that constructive debates are based on mutual respect, and genuine interest in the other person's perspective.

But that's just my opinion...

IMHO .. PSM

Last edited by paulsm4; 06-04-2006 at 12:10 AM.
 
Old 06-04-2006, 06:59 AM   #25
Randux
Senior Member
 
Registered: Feb 2006
Location: Siberia
Distribution: Slackware & Slamd64. What else is there?
Posts: 1,705

Rep: Reputation: 55
Vagrant, you seem to take issue with my posts on the basis that they're not relevant, yet you seem not to have any issue with continuing a high noise level with your own rebuttals to what you call irrelevant posts. I'm trying to figure out why that is

Paulsm4, anyone can see that you just did what you said you don't believe is ok- you did attack someone in a thinly-veiled way, and that is hypocritical. Nice try, but don't condescend to think that everybody doesn't see it.

What I said is earlier is made painfully obvious by you guys. You are incapable of addressing the facts of the issue without getting yourselves all worked up into an emotional tantrum of insults and personal attacks.

I don't have any more time to spend on your personal growth, so rant on, babies! I'm outta here.

Have A Nice Day!

Last edited by Randux; 06-04-2006 at 07:09 AM.
 
Old 06-04-2006, 08:14 AM   #26
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Quote:
Originally Posted by Randux
It's proper and productive to criticize technology harshly and nothing is sacred.
Indeed but what did you say?
Looking through your posts it would appear that your argument against Java was:
  1. The performance is pathetic
  2. It is not a language
  3. It teaches bad habits when moving to other languages (I paraphrase)
Maybe I missed something more concrete, did I?

Let me address the points that I saw.
Point one is an opinion, one which has not been substantiated in any way (and uses emotive language that doesn't really help you argument).
Point two is so obviously wrong no one felt that it was worth commenting upon, and unles you are able to justify will be discarded to the great (void*).
Point three has some merit but it is important to add the caveat that when a programmer moves from one language to any other they need not just learn the syntax of the new language but the way of working. The learning to go from Java to C++ is more than from C++ to Java because of the "greater protection" that is in Java. But many contend that when starting from scratch taking the path from Java and then to C++ is easier than the other way around and this is why many universities choose Java as a first language and then follow up with C++.

Last edited by graemef; 06-04-2006 at 08:16 AM.
 
Old 06-04-2006, 10:54 PM   #27
paulsm4
LQ Guru
 
Registered: Mar 2004
Distribution: SusE 8.2
Posts: 5,863
Blog Entries: 1

Rep: Reputation: Disabled
New vocabulary word for the day...

Randux -

I was hoping I could help clarify the difference between "intelligent discourse" and "nasty belligerence". But I didn't. So let me spell it out for you.

When you think there's a chance somebody might be offended by something you say, and you say it anyway, you're being offensive. Period.

You don't get to decide for other people whether they're being "thin skinned" or not - *they* get to decide for themselves. It's simply not your perogative to make that decision for them.

I personally don't care that much one way or the other about "Java". I believe in the right tool for the right job. Java is an ideal choice in many cases; it's a poor choice in many other cases. Something that's true of just about any language.

But this isn't really about Java, is it? It's about whether you get to trash other people's opinions, and then sit back and tell them "It's good for you."

There's a word for people who do that.

"Troll".

And I'm done feeding this one.

PS:
The main issue, as I said before, is whether or not you come into a discussion with an attitude of mutual respect or not. For the time being, I've frankly lost all respect for you. So I'm outta here for this particular thread!
 
  


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
Books for learning Solaris 9/10 basketkase999 Solaris / OpenSolaris 2 07-16-2005 06:28 AM
Recommend a few Newbie Books schteelhead Slackware 10 08-31-2004 09:26 PM
Can anyone recommend C and C++ books for linux??? CruelEssence Linux - Newbie 4 02-07-2004 08:27 PM
Can you recommend books on the following topics: vous Linux - Networking 1 03-13-2003 07:25 PM
Which books do you recommend ? rhodan Linux - Newbie 5 08-28-2001 04:24 AM

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

All times are GMT -5. The time now is 11:18 PM.

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