• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

What to learn first for Java?

 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am a C/C++ programmer
I am looking at Java.
There are so many things out there for Java.
I have used Eclipse JDT for tutorial. Is there a better open source IDE?

Here are some feedback I like from those veterans of java or web developments:
1) With Oracle tightening the rope around java's neck, I am beginning to wonder if I should skip java....
2) To optimize time and learning Java, what open source environment should I target first.
I am planning to develop websites. There are many framework / tools from Apache and others.
So I am at a lost as to where to start.

So, may be a better question to ask is this:
Can someone list all open source items I need to learn to achieve my goal in sequential order?


Wondering about this:
Why is C++ not use for Web development?
It seems like it is much faster.
Is there a multi-platform C++ tool with visual GUI tools for web development?
 
lowercase baba
Posts: 13091
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Hp Ng wrote:Why is C++ not use for Web development?
It seems like it is much faster.


faster to develop? Faster to run? Faster to distribute to 10 different platforms?
 
H P Ng
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I was refering to writing server side applications when it comes to C++/C.
 
Sheriff
Posts: 67750
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How is it much faster than Java? I know C, C++ and Java (along with a bazillion other languages) and I challenge the assertion that it's faster to write C++ than Java given equal knowledge of the languages. In fact, it is much faster to write web apps in Java as there is a rich eco-system for doing so that C++ lacks.

It may be true for you if you're not familiar with Java, but that has nothing at all to do with Java as a general choice.
 
Marshal
Posts: 28295
95
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Bear Bibeault wrote:How is it much faster than Java?



I suspect that statement was based on the rumours which were current about 10 years ago which claimed that C++ code ran faster than Java code. You remember them, don't you? A lot of people thought they were (a) true and (b) relevant.
 
fred rosenberger
lowercase baba
Posts: 13091
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Hp Ng wrote:I was refering to writing server side applications when it comes to C++/C.


To clarify...are you saying it takes less time to write the application in C/C++ that to write it in java?

or are you saying that once the code is written, it RUNS faster in C/C++ than the equivalent program in java?

In either case, I think you are wrong.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Hp Ng wrote:1) With Oracle tightening the rope around java's neck, I am beginning to wonder if I should skip java....


What exactly does that mean and what are the reasons for someone saying that? Are you sure those reasons are really true? It sounds like FUD.

Oracle has a very good set of tutorials about many different Java subjects.

Once you know the basics of Java, you could start looking at Java EE (Enterprise Edition) - it's the set of APIs that you'll need to program server-side web applications. Probably servlets and JSPs are the thing to start with. There are many, many Java web frameworks. It's impossible to say which one is best, or which one you should look at. A framework that's not too complicated and that works well is Wicket.

Sooner or later you'll want to do something with databases. Java's standard database access API is JDBC, but it's very low-level. It's probably good to learn to understand how it works (one of Oracle's tutorials is on JDBC). But later you'll probably want to use an object-relational mapping (ORM) tool. Java has a standard API for that: JPA (Java Persistence API). Hibernate is a popular implementation of that API.

The world of Java frameworks and APIs is huge. It will take you time to learn.
 
H P Ng
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Bear, Paul, Fred, Jesper:

Qt (C++) has a very rich set of tools for web development.
It is also multi-platform and very easy to learn and use.

I have seen articles of Java running fast. it is till hard for me to believe it can run faster than C/C++
because Java runs on top of JVM, which also runs on top of another OSes. While C/C++ have much less layers under it, and can run with and without an OS layer. Even Andriod allow use of C++ for applications with a MORE demanding processing requirements.

Yes, there are lot of tools to support web apps sing Java. that is great.

Regardless, I am committed to learning Java. There are just TOO much tool choices to pick from, a good problem to have......




 
H P Ng
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jesper:
You wrote:

" But later you'll probably want to use an object-relational mapping (ORM) tool. Java has a standard API for that: JPA (Java Persistence API). Hibernate is a popular implementation of that API. "

So is RDBM soon to be replaced by ORM-based databases?
Would using Hibernate be inefficient for small size databases?
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

H P Ng wrote:I have seen articles of Java running fast. it is till hard for me to believe it can run faster than C/C++
because Java runs on top of JVM, which also runs on top of another OSes. While C/C++ have much less layers under it, and can run with and without an OS layer.


The JVM is not just a layer between your application and the OS; it's much more sophisticated than that. The JVM contains a JIT (Just-In-Time) compiler, which converts Java byte code to native machine code at runtime. The JIT can, in principle, generate more efficient native code than a traditional ahead-of-time compiler, because it knows more information about the program and the environment it is running on than an ahead-of-time compiler knows. For example, it can do profile-based optimizations, and it can often convert virtual function calls to direct function calls. The JIT in Oracle's JVM has many very sophisticated optimizations, far too many and too complex to explain here.

Java code is not always faster than compiled C or C++ code, or vice versa. For some things, Java can be faster, for other things, C or C++ can be faster. It's almost impossible to say in which cases one or the other will be faster.

H P Ng wrote:So is RDBM soon to be replaced by ORM-based databases?
Would using Hibernate be inefficient for small size databases?


No, an ORM (Object Relational Mapping) tool acts as a bridge between relational databases and object-oriented software. It is not a replacement for relational databases, just an interface that makes it easy to use relational databases from an object-oriented programming viewpoint.

Hibernate can be used for small as well as large databases.
 
Greenhorn
Posts: 3
Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to Java! I'm also coming back to Java programming.

You should buy a core java book. You can go for 'Head First Java'. After you are preety much confident in basic Java go for J2EE. Again I'll suggest 'Head First JSP/Servlet'. Reading these books are really fun!!
 
Marshal
Posts: 79698
381
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
H P Ng, welcome to the Ranch
 
H P Ng
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks everybody.
Already feels like I am in ranch country...

I am using Firefox 6.0, and normally I see menu and icons for me to insert
codes, smiley faces, quote a posted comments like those shown above in a white box, etc... But this is currently NOT shown on my browser.
i could see such options when I go to Ubuntu Forum to do some posting.
What setting do I need to enable these options
?
[ just found this out, when I did a quick reply, I do not get to see icons and various "container" options for
posting codes. It only appears when I do an edit to my reply or posting. Bug? Why? ]

Jesper wrote ( need to do this inside a white box ( how? ):
"No, an ORM (Object Relational Mapping) tool acts as a bridge between relational databases and object-oriented software. It is not a replacement for relational databases, just an interface that makes it easy to use relational databases from an object-oriented programming viewpoint.

Hibernate can be used for small as well as large database"

Right now I am doing tutorial with Java and MySQL.
OK, should I just skip learning SQL and RDBMS and go straight to Hibernate.
SQL is not a hard language to learn, but if Hibernate has its own query language,
why not?
 
Campbell Ritchie
Marshal
Posts: 79698
381
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The smilies show up for me, to the left of the message box, on FF6.0/openSuse. For quoting code, use the appropriate button above the message box. Again, they are visible on my PC. To quote with names, the easiest thing to do is use the "quote" button at the top right of the posting, rather than the "reply" button.
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

H P Ng wrote:Right now I am doing tutorial with Java and MySQL.
OK, should I just skip learning SQL and RDBMS and go straight to Hibernate.
SQL is not a hard language to learn, but if Hibernate has its own query language,
why not?


Don't skip learning SQL and relational databases. You'll need to know something about SQL and what the concepts of relational databases are to be able to understand effectively how Hibernate works. To be able to define a mapping with Hibernate from objects to tables, rows, columns and the relations between them (primary and foreign keys etc.) you'll have to know these concepts from relational databases. Using Hibernate, you can query the database using HQL (Hibernate Query Language) which is a lot like SQL. So it's definitely useful to know some SQL. Hibernate will be really hard to understand if you don't know a bit of SQL and relational databases.
 
A wop bop a lu bop a womp bam boom! Tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic