• Post Reply Bookmark Topic Watch Topic
  • New Topic

Thoughts on the Oracle Java tutorials  RSS feed

 
Fergus Flanagan
Ranch Hand
Posts: 43
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oracle Java tutorials @ https://docs.oracle.com/javase/tutorial/java/TOC.html

Has anyone had the chance to do this course. I've been doing the tutorials at Cave of Programming (C.O.P.) which I've found very helpful and a great intro. I'm now currently starting this Oracle java course and am finding there is quite a difference between doing youtube type tutorials (COP, DeegeU, etc) and this Java tutorial by Oracle (they now own Java btw).

The Oracle course is certainly more in-depth as is to be expected but I'm finding the benefit of the exercises (which don't accompany any video tutorials I've come across) are really challenging what I thought I'd grasped. I'm now having to think for myself and there is no spoon feeding unless you go straight to the provided answers of course and even then the solutions take some working out. The exercises are forcing me to model ideas and things in the real world and to really consider OO paradigms. to be honest I'm finding it really difficult considering I'd gone 2/3 of the way through the COP Java course and felt I'd a good idea of the core design of Java. I now realise I'd not really got a grasp of the practical implementation.

What is a real pity and unfortunately lacking from the Oracle tutorials is a dedicated forum for users like me to discuss the topics and exercises. I have looked but what is there is poorly supported. I realise that putting together a comprehensive Java course along with appropriate exercises is a huge task and not something that can just be put out there for free.

Any thoughts welcome.
 
Campbell Ritchie
Marshal
Posts: 56600
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have never thought the Java® Tutorials constituted a course. I thought they were a lot of examples so you can see how to use a particular feature. There are some errors in there, and I have not found them at all good at instilling object‑oriented (=OO) thinking in people. Which course did you mean that was good at OO thinking?
 
Ganish Patil
Ranch Hand
Posts: 529
19
Chrome Eclipse IDE Hibernate Java jQuery MySQL Database Netbeans IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:There are some errors in there, and I have not found them at all good at instilling object‑oriented (=OO) thinking in people.
then please can you tell me which source to use for learning real implementation of OOP concepts in project. Because I'm going to learn Normalization, UML withing few day as I read about them already just have to revise again because I want to develop Bank project (Just for my practice but will all feature as real website) so will post here as I learn Normalization and UML.

See I've just started reading and perusing OCA 8 book by Jeanne mam for basic concepts. 99% I prefer reading Java Doc 8 for core Java(Sometime I don't get their technical language ). I also use Java Oracle tutorials so should I continue using Java Oracle tutorials or not ? What do you think which is a good source to understand the Core Java concept in depth?
I mostly use Doc 8, Java Oracle tutorials. Should I use JLS or anything else you know is much better?. As you see so many wrong information are also available on internet( access- specifiers rather than access modifiers) so it could misguide me It is this forum always helps me and I learned a lot of things from this forum.
 
Campbell Ritchie
Marshal
Posts: 56600
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I can't think of a good book about object‑orientation at the moment. The best general‑purpose book about Java® which I have seen used to be Horstmann and Cornell, but that doesn't have exercises in. I haven't seen the latest edition.

Saying that you intend to learn normalisation and UML in a few days seems a little overoptimistic to me, but I have no doubt that discussing code on this website is one of the best ways to learn OO. you should not try to learn the JLS. Nor the API documentation. Those are things to look up when required, just as you would never try to read the whole of a dictionary.
 
Ganish Patil
Ranch Hand
Posts: 529
19
Chrome Eclipse IDE Hibernate Java jQuery MySQL Database Netbeans IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:Saying that you intend to learn normalisation and UML in a few days seems a little overoptimistic to me
hmm perhaps. yes I decided that once I design what sort of classes and interfaces (I mean most of the Java concepts) I need in this banking project will post on here for sure. It is the API Doc I have been reading since long time and it is huge like spider network(one class extends other, other class implements some other interface but teaches a lot ). Actually I should have started another thread. Do you think drawing diagram is better way to understand OOP's concepts and alos hierarchy in Java classes like we have in Collection Framework ? I use diagram most to understand how things work...
 
Campbell Ritchie
Marshal
Posts: 56600
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It probably varies from person to person. If you can draw diagrams and understand them, then it is good for you to use diagrams. If your UML starts to look like a spider's web, consider whether the design is up the creek and needs simplifying.
 
Ganish Patil
Ranch Hand
Posts: 529
19
Chrome Eclipse IDE Hibernate Java jQuery MySQL Database Netbeans IDE Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you so much for precious information
 
Campbell Ritchie
Marshal
Posts: 56600
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That's a pleasure
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Fergus Flanagan wrote:Any thoughts welcome.

Welcome to programming...and the Ranch.

As you're discovering, it's NOT simple; and anyone who tells you it is is wrong. And many that do are simply after your money.

The problem with books (and courses) about "Object-Orientation" is that they usually only explain the mechanics - classes, interfaces, polymorphism, overriding etc, etc - but they rarely give you any guidance in how to think "objectively".

And that's the crux. The fact is that a well-written OO application can do things that would have been virtually impossible (or so complex as to be unsupportable) in the kinds of languages I grew up with, so perhaps the secret is in the kinds of problem it can handle far better than procedural code.

One example I remember (but forget where from) is what I call the "Traffic Light" problem.
The challenge is this:

Write a program that can simulate a four-way street intersection with traffic lights controlled by pressure switches in the road.

The idea is to write a system that can simulate traffic arriving at each of the four lights and work out a timing strategy that allows maximum throughput and/or minimum wait time. Can you imagine trying to write that in COBOL, or even C?

  if a car has arrived at TrafficLight A,
    and it hasn't been green for two minutes,
    and there's nothing at TrafficLights B, C and D,
    and
... and ... and ...

Absolute nightmare.

But if it's a Java program, and each TrafficLight is an object that can check the status of the other TrafficLights in it's "group", and maybe send messages to them, then suddenly it's not quite so daunting. You'd probably also have classes to represent a Sensor, and a Vehicle as well.

Now I don't propose to write a solution here - it's not that easy, even in Java - but do you see how just having classes that can model things, and objects that can "talk" to each other makes a problem like the one above much easier to handle? Because you don't have to worry about the order things are done in, as you have to with procedural code.

If a TrafficLight gets a call from a Sensor, it does a few checks, maybe starts a timer and, if conditions are right, changes colour - but it doesn't need to worry about the overall problem. It has a set of responsibilities, and that's it. Indeed, the actual solution may well end up looking very similar to the way traffic lights and sensors communicate in real-life with electronic pulses and timers.

I don't know if it'll help, but I did write a little essay about my moment of clarity about things "OO".
I should add that it took me 7 years to get to it...but nobody's perfect.

HIH

Winston
 
Fergus Flanagan
Ranch Hand
Posts: 43
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:I have never thought the Java® Tutorials constituted a course. I thought they were a lot of examples so you can see how to use a particular feature. There are some errors in there, and I have not found them at all good at instilling object‑oriented (=OO) thinking in people. Which course did you mean that was good at OO thinking?


You mean like a reference book. No not from what I have seen. Why do you say the Oracle material is no good at instilling OO.

Well nothings perfect but they are a hell of a lot more useful than a youtube video course that doesn't challenge or get you to think for yourself trust me (don't get me wrong these do have their place). If your're not getting the exercises correct you are under no illusion. I'm aware there is no one solution to how to implement OO but at least having an example no matter how poor others may think it's still better than blindly following a theoretical course on a video platform that doesn't directly challenge you.
 
Fergus Flanagan
Ranch Hand
Posts: 43
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Winston Gutkowski wrote:
I don't know if it'll help, but I did write a little essay about my moment of clarity about things "OO".


Thanks Winston I will have to give that a read.
 
Paul Clapham
Sheriff
Posts: 22844
43
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I never thought of the Oracle tutorials as a course, either. For me they have always been a resource. For example if I want to learn about, say, JTable then I'll search out the Oracle tutorial about JTable. First I read through it to get the lay of the land and to see if I want to go down that road at all. Then I download the source code examples, or at least the ones which are relevant to what I'm interested in, and start mucking about with them to see how they work and what else I can make them do. It's a pretty good way to learn the basics of a specific topic.

(And when I see some of the posts here in the Swing forum, I just want to scream "OMG just throw away all that code and go read the tutorials".)

But to get back to the OO point, I wouldn't say that the tutorials are meant to teach you about object oriented coding. Although I already knew OO before coming to Java so I haven't really read the tutorials near the beginning of the series.
 
Fergus Flanagan
Ranch Hand
Posts: 43
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:I never thought of the Oracle tutorials as a course, either.


There was actually a thread on twitter that I read yesterday with a very similar question to mine and I was surprised to see how many people were suggesting and had used the Oracle java docs as a way to learn Java and often in combination with something a bit lighter e.g. like video tutorials.

I'm not really very surprised as the online docs though a bit dry they are thorough and of a very high quality and are being constantly updated.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!