About Java , Good or Bad ?!
!30
Member Posts: 356
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
-
JDMurray Admin Posts: 13,099 AdminJava is a good language for learning what object-oriented programming is all about. It's also a good language for learning how to write a simple program from a single piece of source code that can run on several different operating systems (Windows, UNIX/Linux, Mac OS X, etc.). There are also many good Java libraries for writing networking and graphical applications. Java can also be a good choice for writing apps that run inside of Web browsers. It's also free to work in Java. Download and install Sun's Java Runtime Environment (JRE) and the Eclipse programming IDE and start coding.
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 -
bighornsheep Member Posts: 1,506jdmurray wrote: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.
Depending on what your defintion of OOP is, Java may not fully object oriented.Jack of all trades, master of none -
bighornsheep Member Posts: 1,506!30 wrote: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 ?
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=booksJack of all trades, master of none -
TeKniques Member Posts: 1,262 ■■■■□□□□□□bighornsheep wrote:jdmurray wrote: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.
Depending on what your defintion of OOP is, Java may not fully object oriented.
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. -
bighornsheep Member Posts: 1,506TeKniques wrote: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.
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.Jack of all trades, master of none -
sprkymrk Member Posts: 4,884 ■■■□□□□□□□bighornsheep wrote:TeKniques wrote: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.
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):
http://www.google.com/search?hl=en&q=define%3Ajava
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.All things are possible, only believe. -
sir_creamy_ Inactive Imported Users Posts: 298I love that fact that Java is high-level. I hate explicitly dealing with memory like in C++. Boo-urns.Bachelor of Computer Science
[Forum moderators are my friends] -
JDMurray Admin Posts: 13,099 Adminsir_creamy_ wrote:I love that fact that Java is high-level. I hate explicitly dealing with memory like in C++. Boo-urns.bighornsheep wrote:Issues such as strong dynamic typing, and primitive variables make Java handicap in pure object orientation.
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. -
bighornsheep Member Posts: 1,506uh oh....did I just open the floodgates? me and my big mouth....sprkymrk wrote:bighornsheep wrote: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.
BHSheep, aren't you being a little too literal?
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.jdmurray wrote: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.
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.jdmurray wrote: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.
haha...I have quite many attacks this past week...(yes I had a bad week , perhaps that's why I said what I said) but calling me a CS person who is defending OO is quite harmfully funny....no, I'm not defending any language, if I was, I would talk about how much I love Pascal.
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?Jack of all trades, master of none -
!30 Member Posts: 356I saw that you guys offer me a lot of reply's. So I realize , Java is a common subject to.
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 ..
Optimism is an occupational hazard of programming: feedback is the treament. (Kent Beck) -
JDMurray Admin Posts: 13,099 Adminbighornsheep wrote: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.bighornsheep wrote:haha...I have quite many attacks this past week...(yes I had a bad week , perhaps that's why I said what I said) but calling me a CS person who is defending OO is quite harmfully funny....no, I'm not defending any language, if I was, I would talk about how much I love Pascal.bighornsheep wrote:I still stand that: Depending on what your defintion of OOP is, Java may not fully object oriented.
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. -
JDMurray Admin Posts: 13,099 Admin!30 wrote: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.
-
!30 Member Posts: 356jdmurray . I understand . Per example , if you want to code , I say a simple C code for a timer .. system function are just diferent from Linux to Windows . Just like in Java. Another planning , another system commands .. a lot of thinking and planning.
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 ..Optimism is an occupational hazard of programming: feedback is the treament. (Kent Beck) -
JDMurray Admin Posts: 13,099 Admin!30 wrote: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 ) .
-
Webmaster Admin Posts: 10,292 AdminJD wrote: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.
@!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.if your just like a lab-programmer rat , and no experience , but you can easily code in multiple programming languages
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. -
!30 Member Posts: 356Interesting things what your saying here.
@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 .Optimism is an occupational hazard of programming: feedback is the treament. (Kent Beck) -
vegetaholic Member Posts: 38 ■■□□□□□□□□Yea Java is hybrid programming language.Java's father is c++ and the grand daddy is C. LOL
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. :PYou can't kill Java because he is sun of king C. -
khuongtran Registered Users Posts: 1 ■□□□□□□□□□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.