Jump to content
xisto Community

Recommended Posts

Hi All, learning Java Programming Language is fun and rewarding specially if you have a goal you want to achieve, like a certain project/thesis for school or a real world project that you are going to use for work.

Those topics that you mentioned are basic topics that can be found in most tutorial sites for Java Programming Language. Some sites are listed below:

http://docs.oracle.com/javase/tutorial/
http://www.oracle.com/technetwork/java/index.html
http://www.java2s.com/Tutorial/Java/CatalogJava.htm
http://forums.xisto.com/no_longer_exists/
http://www.tutorialized.com/tutorials/Java/1
http://www.freejavaguide.com/
http://forums.xisto.com/no_longer_exists/

If you are familiar with the language already and have a specific question regarding a certain topic, come back here and post them up. I'll try to answer them and I'm sure others will join the fray also! :)

Share this post


Link to post
Share on other sites

I have recently been asked to read two books on programming based on Java, which I am going to use in my internship:

 

Refactoring to Patterns by Joshua Kerievsky

Test Driven Development by Example by Kent Beck

 

If you've learned enough Java for you to come up with simple applications, also try I mean you SHOULD pick up

 

Effective Java by Joshua Bloch -

 

It's got lots of techniques which really make your code more effective! :)

Share this post


Link to post
Share on other sites

What is the point of learning Java? Like what kind of applications or programs are you able to create with it? I know Java is needed to play games sometimes, but that's all I pretty much know about that.

Share this post


Link to post
Share on other sites

Java is a Turing-complete language, which is a fancy way of saying that it can be used to write any program that can be written in any other programming language.That being said, Java is most frequently used for web-based applications. I'm not talking about applets, but things like servlets, JSP (Java Server Pages) and so on. It is a great tool for writing middleware (software that sits between 2 other pieces of software and lets them talk to each other).Java can also be used to write desktop applications, but it is rare because of speed concerns.Java's greatest strength is its libraries. People have written thousands of good quality libraries that extend java and implement new features. Using these makes it very easy to do a lot of complex tasks in Java - connecting to databases, authenticating users, adding persistence to an application, saving configuration files, logging user activity, and so on. It can be a little daunting at first, but the effort of learning Java is well worth it.Regards,z.

Share this post


Link to post
Share on other sites

This might be off topic, Zakaluka, but I was wondering how java compares to two other big programming languages such as PHP and .NET? I read somewhere in TechRepublic that in the next 5 years these are the skills that will make one's resume relevant... :)

Share this post


Link to post
Share on other sites

Jeune,

 

Here are my observations (from personal experience and reading articles online). My primary experience is in developing backends and regular applications. I have very little experience with using .NET for web development, so my observations about that may be totally wrong:

 

(1) ASP.NET (the main competitor to PHP) is something I've never used before. I have used regular ASP, and found it inferior to PHP (since PHP is supported on more platforms, has an opensource implementation, better documentation, etc.).

 

(2) Java is very scalable as an application serving platform (JSP / servlets). When using both Java and PHP for an application with a database backend, I have found that PHP gets the "max connection" error more than the Java version. However, intelligent caching can usually fix that.

 

(3) Because of how prolific some Java application servers are, you get ready-built frameworks like Spring, Struts, etc. that handle a LOT of the more "mundane" tasks in the background. While these things are being converted over to .NET as well (see Spring.NET), they are still further behind than their Java counterparts in most cases.

 

(4) The same is true for PHP. The number of PHP frameworks available is astounding, everything from light-weight glue code to full-blown MVC frameworks.

 

(5) If you search on a job site, as you stated, you will see Java and .NET jobs at the top of the list. For web jobs, PHP is a must.

 

(6) I am currently learning to use the Google Web Toolkit (GWT), which translates Java code directly into Javascript, making it very easy to do web programming from a language that promotes well organized code. I don't know of a similar project for .NET, though I may be wrong (EDIT: I was wrong - see Script#). The great thing is GWT modules can use any web server technology as the back end through it's RPC and regular HTTP request interfaces, Java or PHP being quite popular.

 

(7) There are more languages available for the JVM, which may or may not matter to you. For example, there is Scala, a combination of functional and imperative programming with a declarative UI, and Ocaml-Java, that allows OCaml (a type-inferring, functional language) to interact fully with Java.

 

(8) Java has the best IDE I have ever used (and I've used every major and most minor IDEs there are) - Eclipse. Even veteran Java programmers can become 15-25% more productive while using Eclipse thanks to its excellent organization, refactoring and code help support. VS 2008 is a pretty good IDE also, but just doesn't compare due to lack of plugins and general community support. Plus, Eclipse has some very nice plugins for PHP as well.

 

Personally, I have found that I like how organized Java code is compared to PHP. In a lot of ways, Java promotes very structured code (which can actually become a burden, but forces you to think about high level interactions at all times). However, overall, when designing a site, I would probably pick Ajax/PHP for a small site, Java for a large site, and .NET if and only if I had no other choice.

 

Regards,

 

z.

Edited by zakaluka (see edit history)

Share this post


Link to post
Share on other sites

I would probably pick Ajax/PHP for a small site, Java for a large site, and .NET if and only if I had no other choice.

I know for one Java is used for enterprise systems and I guess that's an example of a large site...

From Wikipedia:

An Enterprise Information System is generally any kind of computing system that is of "enterprise class". This means typically offering high quality of service, dealing with large volumes of data and capable of supporting some large organization ("an enterprise").

I am wondering what small sites mean...

Share this post


Link to post
Share on other sites

I thought Java was more used on Mobile phones and Bank machines andthe like, as well as jsp web pages.I spent a year messing around with Java, it's allright.Everything worked fine on my machine,but I hear for deployment on other computers one has to buy certificates,else you don't have use of the file system object and such.Basically your permissions are limited,and these certificates are expensive.I liked using the javasound class.Maybe I'll go back and build some music applications in Java just for me.It just seems for Windows applications, the net framework hasthings pretty well sewn up.

Share this post


Link to post
Share on other sites

I am wondering what small sites mean...

Small sites basically means a forum or blog. The majority of non-corporate sites can fall under this. Remember that large sites are written using combinations of PHP and AJAX also (Yahoo, I believe at one time, ran off PHP).

 

Sites that require online applications ("enterprise systems") usually use Java or some other language to get greater coupling between the interface, db, etc. and a single-language development environment.

 

I thought Java was more used on Mobile phones and Bank machines and

the like, as well as jsp web pages.

I spent a year messing around with Java, it's allright.

 

Everything worked fine on my machine,but I hear for

deployment on other computers one has to buy certificates,

else you don't have use of the file system object and such.

Basically your permissions are limited,and these certificates are expensive.

I liked using the javasound class.

Maybe I'll go back and build some music applications in Java just for me.

 

It just seems for Windows applications, the net framework has

things pretty well sewn up.


There are no certificates you need to buy. This is even more true with downloadable applications. The user simply has to agree to provide the right permissions to your application. I think you are referring to SSL certificates. If you want a secure site (https), you need to buy a SSL certificate no matter what language / platform you use.

 

If .NET were more mature and offered some real added value compared to Java, I would probably use it. However, since Java is multi-platform, it makes development and testing in other environments much easier.

 

Plus, it's a very good thing that online Java applications (and most other online apps for that matter) run in a "sandbox" that limits their capabilities. Otherwise, even malicious newbies could cause havoc with people's computers.

 

Regards,

 

z.

Edited by zakaluka (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.