About Java , Good or Bad ?!

Hello !
I started to learn Java . Its just a hobby now , I'm not going to get myself a job like a Java Programmer .. I just want to see how is it . What can I do with this.
Many say that is : hard , complicated .. but I say : I have to try . P.S. : I saw , you can easily create network aplications in it , so I have to give it a try.
So , why do you think about Java , is good to know ?
I started to learn Java . Its just a hobby now , I'm not going to get myself a job like a Java Programmer .. I just want to see how is it . What can I do with this.
Many say that is : hard , complicated .. but I say : I have to try . P.S. : I saw , you can easily create network aplications in it , so I have to give it a try.
So , why do you think about Java , is good to know ?

Optimism is an occupational hazard of programming: feedback is the treament. (Kent Beck)
Comments
There are easier, less complex languages you could choose to learn programming. Many programmers started with FORTRAN, COBOL, C/C++, Java, or C# because it was what their college offered. The only criteria I would suggest is that the language you choose should be fully object-oriented (such as Java, C#, and VB.NET) and you should enjoy using it. You won't go very far in programming if you are forced to use a language that your brain doesn't like. And the only way you can become skilled at programming is practice, practice, practice. Pick small projects that are easy to finish to practice on. You are not going to write an MMORPG for your first app.
If you find yourself interested in writing software for a living, the language(s) that you choose to specialize in will pretty much determine what operating systems you write for, and what industries that you will--and won't--work for. There are no iron-clan rules for what language to use with what type of application or component, but there are strong industry trends.
For Java, you will find yourself writing a lot of server-side components for UNIX/Linux systems. If you write client-side apps, they will be largely Web-based and for financial companies. Many Windows companies ported their apps from C++ to Java to solve problems (architecture, library instability), and ended up with new problems (performance, memory issues). Now a lot of those companies are porting their Java apps to C#. You might also find a company is trying to port a very large, very complex Java application between several different OSes using a single piece of source code. Such projects are doomed from the beginning and should be avoided (IMHO).
For an overwhelming helping of Java programming language information: http://en.wikipedia.org/wiki/Java_%28programming_language%29
Forum Admin at www.techexams.net
--
LinkedIn: www.linkedin.com/in/jamesdmurray
Twitter: www.twitter.com/jdmurray
Depending on what your defintion of OOP is, Java may not fully object oriented.
Apprently you have experience with C, so Java should not be at all a problem for you. If memory management was not a problem, how can Java Beans be?
Anyway, of the numerous books I have read on Java, this is by far the best for beginning:
http://www.amazon.com/Big-Java-Cay-S-Horstmann/dp/0471697036/sr=8-1/qid=1164323696/ref=pd_bbs_sr_1/103-1782623-2531068?ie=UTF8&s=books
Uhhh ... All my Computer Science instructors in college said that Java was a full blown OO language. And since Java includes things such as inheritance, encapsulation, polymorphism, and many different interfaces capabilities then there should be no doubt that it is an OO language.
http://www.javaranch.com for some good help learning Java.
Those are the major key aspects of OO which Java adopted. If you have heard of or used Ruby, SmallTalk, or LISP, you will know what I mean by fully object oriented. However, for all meaningful purposes, I dont think it's wrong to say Java is OOP, to say that it's fully OOP, or to teach OOP with it, is another story.
Issues such as strong dynamic typing, and primitive variables make Java handicap in pure object orientation.
You can verify with your instructors if you beg to think differently.
BHSheep, aren't you being a little too literal?
Check out these definitions (excluding the ones referring to coffee):
However, to !30, it's a very popular and useful launguage to learn. If you have an interest, it certainly will not hurt you to persue it.
[Forum moderators are my friends]
The phrase "pure object orientation" is an oxymoron. The term oriented is an indication that a language is oriented towards the ideals of pure object languages, such as Smalltalk. Supporting primitive (non-object) variables, or strong dynamic typing (like Smalltalk has) doesn't preclude a language from being object-oriented, and only very binary thinking would see this otherwise.
Computer scientists routinely redefine what "object-oriented" means so they can elevate their favorite language to OO status, or exclude a language that they feel is politically or ideologically incorrect. All of the anti-Java people I have personally dealt with all derive a significant part of their income from an alliance with Microsoft or its products. This becomes elevated to a religious war of technologies, such as between C++ and Java, Windows and UNIX, or COM and CORBA. I, myself, specialize in writing software only for Microsoft Windows, but I feel no egotistical need to devalue non-Microsoft technologies in order to do so. Many other people people, unfortunately, do not feel the same way.
Forum Admin at www.techexams.net
--
LinkedIn: www.linkedin.com/in/jamesdmurray
Twitter: www.twitter.com/jdmurray
it's not about being literal or not, OOP is a paradigm, Java is a language which happens to follow that paradigm, fortunately and unfortunately it doesnt have all aspects of what OOP is (or suppose to be), again, that will depend on what family of thinking you come from, OOP comes from the idea of semantic networks from the field of psychology and cognitive science, it's not as simply as reference maps (inheritance), contextual association (polymorphism), and etc...Some languages will adopt certain aspects of OOP better than others, to say that a language is fully OO, is subjective, and apparently this blah-boy thinks otherwise.
Java is OO, no doubt about that, pure OO, fully OO, high level OO, and all of these variants are not 100% correct.
stubborn at best...binary thinking? hmmm...I dont disagree...see above, my argument here is that Java aint fully/pure OO, not trying to re-invent the wheel here nor am I saying Java is non-OO.
haha...I have quite many attacks this past week...(yes I had a bad week
I still stand that:
Depending on what your defintion of OOP is, Java may not fully object oriented.
Is it suffice to conclude OO based on the fact that it supports classes and objects and that you can have more than one main() and that there are all these serializable containers? Would that not be exactly binary thinking?
I have some experience with C and PHP ( just for hobby , wish to develop my own programs , network programs ) , but Java introduce this concept of objects OOP . I learn about this concept in PHP and C++ to , but I read that Java is specialized to be a pure OOP . All in Java is an object.
I understand , that if you have a good fundation , you can use Java to easily create cool aplication with GUI. ( I like TUI mode , text mode interfaces , I tryed .. GTK on Linux , but I don't like that kind of programming in making interfaces GUI with GTK ). So I say , lets move to a programming languages which is : easy to learn ( for me ) , portable ( Write a program once , Run it everwhere .. ).
Lets say , I code something in C ( I like C ) .. and I wish my client ( a chat client ) to be working on Linux and Windows to . It won't .. other system function , and a lot of other thing. But Java will work.
So in my opinion its a cool programming language to learn. It's a kind new ( besided C/++ , Pascal , Ada ) and its nothing bad in knowking it.
I only have to understand the concept of classes and object , that were in C and Pascal : structure , procedure , function , voids .. Same stuff .. in another manner ..
I was referring to the CS professors on "Microsoft" college campuses that feel the need to put down Sun Microsystem's Java, or visa versa for those professors on "Sun" campuses who belittle Microsoft's .NET.
This is another double-edged sword. By this logic I could also say that Visual Basic 6 IS an OOL simply because it has a few OO features, such as classes. VB6 isn't close to being an OOL, just as putting wheels on my grandmother wouldn't make her a wagon.
And there's no end to these technology religious wars. Mac vs. PC, Sony vs. Ninentdo vs. Microsoft, SNMP vs. CMIP, little-endian vs. big-endian vs. middle-endian, etc. It's all part of being opinionated humans.
Forum Admin at www.techexams.net
--
LinkedIn: www.linkedin.com/in/jamesdmurray
Twitter: www.twitter.com/jdmurray
Forum Admin at www.techexams.net
--
LinkedIn: www.linkedin.com/in/jamesdmurray
Twitter: www.twitter.com/jdmurray
I'm just curios , if your just like a lab-programmer rat , and no experience , but you can easily code in multiple programming languages , can you find a good job ? ( well-paied ) . Not to much , but I really need once a job .Exams are cheap , hardware and software are cheap to .. but : No experience ? No way .. we cannot hire you . Maybe some other guy with 4 years of experience .. who cabled networks and doesent's know more than you ..
My point ..
Forum Admin at www.techexams.net
--
LinkedIn: www.linkedin.com/in/jamesdmurray
Twitter: www.twitter.com/jdmurray
@!30, in my opinion, you should download Visual C# Express (and if you like games, download Game Studio Express which is C# for the XNA framework). I've been doing a lot more coding than in previous years, but I'm no expert. This actually reminds me of some PMs I exchanged with JD a while ago... although the language / architecture is obviously an important factor, if it's mainly about learning (though also being productive), I really think a Visual Studio Express edition is the best choice regardless of the langauge.
I can get good 'programmers' from all over the world in any common language for rates lower than one makes on call/helpdesk. And not just from asian countries, but through reverse auction sites such as elance.com and rentacoder.com. If you want to make a good living in programming, you need to be able to do a lot more than just write code. 'Develop' applications for example. 'Software engineer' for example, is a job that is and will continue to be in demand for a long time:
http://online.onetcenter.org/find/indemand?i=IT&g=Go
Also, instead of being able to 'easily code in multiple programming languages' I'd go for being an expert in one or two languages, and, be an expert in security, or networking, or internet applications, databases, for example.
@Webmaster , what do you mean by Visual C# Express . I have Netbeans , for Java projects and it's working just fine.
P.S : I don't like games , I like network aplication and interconnecting terminals over the Internet ( and so on , so fort ).
I've been learning for over 4 years procedural programming ( Pascal ) and C , thats why OOP seem a little strange for me . Sincerely , I want to become an expert in C & Java ( you have a lot of options with those ) , not for a potential job , just for helping me to better understand networks and some other stuff like that . And code myself useful aplication , in place to spend a lot of money with them.
The thing I like in Java , is that you can use it on web pages to . You can code an useful program for many Operating systems , and for a HTML page to . It has a lot of useful classes and subrutines that C , per example lacks of it.That why Java is a hybrid programming language ( C/C++ .. ).
Do you consider , that a network expert ( I wish to become once ) , must be a programmer expert ( in one or twho languages to ) ? I think there are many , many oprtunities .. for a very well payed job .
As author told ,he don't want to work as java programmer he can learn j2se and he need not to learn servlet,jsp,Beans,Soap etc.
if One is Java programmer then one should also know C++ because with combination of both language one can write jaw-dropping and breath-taking multi platform application.
I think Java is Prince of Network programming because the King is C. :P