• Sun Certified Programmer for Java 2 Platform (SCJP2)
• IBM Certified Professional for Object Oriented Analysis and Design with UML
• IBM Certified System Administrator for WebSphere Application Server v5.0
• Certified Business Analysis Professional (CBAP®)
Houssam El wrote:
Vikrama Sanjeeva wrote:Hi all.
Hello,
Java is one of the most powerful languages and is widely used in all fields i.e Desktop app, Web app, and Mobile app, furthermore, he would have the ability to read everything related to the Java language, the progress of learning never ends, finally, I would recommend books to learn from it, personally, I've studied Java from books although they cover many topics unlike videos, the author skims much information that will lead you to frustrating, and it might lead to leaving the path, here is a brief overview about what he waiting for him
The 2021 Programmer RoadMap
![]()
Finally, I wish him the best
Campbell Ritchie wrote:Yes, HFJ is probably the best beginner's book around. Effective Java is very good, but parts of it are far beyond the beginner's level.
Why has your friend decided so definitely what he is going to do. What has he done before? At the beginner's stage he should remember that computer sciences is a very large field and he might be happier doing something completely different.
I don't know where H.E. found that diagram, but it looks totally incomprehensible to be.
What's one of them when it's at home?Houssam El wrote:. . . it's a Bussoule . . .
Campbell Ritchie wrote:
What's one of them when it's at home?Houssam El wrote:. . . it's a Bussoule . . .
That diagram will still cause nothing but confusion to a beginner.
RTFJD (the JavaDocs are your friends!) If you haven't read them in a long time, then RRTFJD (they might have changed!)
Jesse Silverman wrote:The boussole is awesome, but would likely just terrify Beginners if they had any idea what it meant.
I know enough to just find it scary!
Not all of the things on there are even specific to Java, but most of them are covered here on the Ranch.
It includes many things I know of and know a factoid or three about but have never seriously used.
The Java World is pretty big nowadays.
Houssam El wrote:
Hello,
Java is one of the most powerful languages and is widely used in all fields i.e Desktop app, Web app, and Mobile app, furthermore, he would have the ability to read everything related to the Java language, the progress of learning never ends, finally, I would recommend books to learn from it, personally, I've studied Java from books although they cover many topics unlike videos, the author skims much information that will lead you to frustrating, and it might lead to leaving the path, here is a brief overview about what he waiting for him
The 2021 Programmer RoadMap
Finally, I wish him the best
Campbell Ritchie wrote:
Yes, HFJ is probably the best beginner's book around. Effective Java is very good, but parts of it are far beyond the beginner's level.
Campbell Ritchie wrote:
Why has your friend decided so definitely what he is going to do. What has he done before? At the beginner's stage he should remember that computer sciences is a very large field and he might be happier doing something completely different.
• Sun Certified Programmer for Java 2 Platform (SCJP2)
• IBM Certified Professional for Object Oriented Analysis and Design with UML
• IBM Certified System Administrator for WebSphere Application Server v5.0
• Certified Business Analysis Professional (CBAP®)
Campbell Ritchie wrote:That diagram will still cause nothing but confusion to a beginner.
Paul Clapham wrote:
Campbell Ritchie wrote:
The beginner will be almost entirely focused on the box "General Programming Skills". Such skills as they learn will likely apply to many other languages besides Java, and conversely much of the Java code which is written by non-beginners these days doesn't use the skills learned in that box.
• Sun Certified Programmer for Java 2 Platform (SCJP2)
• IBM Certified Professional for Object Oriented Analysis and Design with UML
• IBM Certified System Administrator for WebSphere Application Server v5.0
• Certified Business Analysis Professional (CBAP®)
Vikrama Sanjeeva wrote:Thank you everyone for sharing your opinions and suggestions:
Houssam El wrote:
Hello,
Java is one of the most powerful languages and is widely used in all fields i.e Desktop app, Web app, and Mobile app, furthermore, he would have the ability to read everything related to the Java language, the progress of learning never ends, finally, I would recommend books to learn from it, personally, I've studied Java from books although they cover many topics unlike videos, the author skims much information that will lead you to frustrating, and it might lead to leaving the path, here is a brief overview about what he waiting for him
The 2021 Programmer RoadMap
Finally, I wish him the best
This diagram gives a very good big picture of what is currently involved in Java & the related world. I think it will be well comprehended by a mid-level developer, but for the novice, who is just looking for the first step in Java programming, I think, it might create some confusion and fear as well.
Campbell Ritchie wrote:
Yes, HFJ is probably the best beginner's book around. Effective Java is very good, but parts of it are far beyond the beginner's level.
Agreed with your comments on HFJ and Effective Java. I think Effective Java can be used as a 2nd book reference, and I think going forward, once this novice will turn from a begginer to a mid-level java developer, he will be getting more stuff from Effective Java. Therefore, I think using Effective Java as a 2nd reference from the start of learning Java programming is not a bad approach.
Campbell Ritchie wrote:
Why has your friend decided so definitely what he is going to do. What has he done before? At the beginner's stage he should remember that computer sciences is a very large field and he might be happier doing something completely different.
This is an interesting question. As stated earlier, he is a complete novice. He doesn't have any background in programming. He is planning to learn Java as his first programming language. And then he wants to develop a web application. I think his approach is to get ready for the job market, and that's why he is planning to build skills in both front-end and back-end technologies. He is planning to be prepared in the next 2-2.5 years and then looks for relevant jobs.
After having a bit of research and discussion, I think, he should first learn fundamental programming and OO concepts using Java, and then learn Data Structures. This will (I think) build his solid foundation in programming. And then he can move to the front-end technologies HTML5, CSS, Javascript, React, etc, and databases RDBMS (SQL), Graph (Cypher)
Course 1: Java Programming Masterclass covering Java 11 & Java 17
Course 2: Data Structures and Algorithms: Deep Dive Using Java
I would tell your friend there's a huge chasm between learning a first programming language and being able to develop a web application. That's almost like saying "My friend wants learn how to drive a car and then he wants to be a race car driver." There are many things he's going to need to learn to bridge that gap.Vikrama Sanjeeva wrote:he is a complete novice. He doesn't have any background in programming. He is planning to learn Java as his first programming language. And then he wants to develop a web application.
I think his approach is to get ready for the job market, and that's why he is planning to build skills in both front-end and back-end technologies. He is planning to be prepared in the next 2-2.5 years and then looks for relevant jobs.
Houssam El wrote:I would suggest to your friend starts taking computer science courses, here is a roadmap,
Computer Science Roadmap
It gives a concise explanation about the basis of the programming language
Paul Clapham wrote:
Sequential processing, loops, arrays, basic arithmetic calculations, string processing.
Campbell Ritchie wrote:
Callling methods. Designing classes (in an OO language). Flow control, which includes selection as well as loops. In Java®, the simpler features of the streams API.
Junilu Lacar wrote:
I would tell your friend there's a huge chasm between learning a first programming language and being able to develop a web application. That's almost like saying "My friend wants learn how to drive a car and then he wants to be a race car driver." There are many things he's going to need to learn to bridge that gap.
One thing that has helped me over the years has been to always learn the principles behind techniques. Principles around cohesion and coupling, complexity and simplicity, decomposition, organization and modularization, and many others. If you understand principles, then it's easier to learn and apply practices and techniques and quickly adapt to the constantly landscape of technologies in our field.
Bottom line, yes, learn the techniques and technologies, but also study principles. Principles are at the foundation of learning. Any learning not grounded on a solid understanding of basic principles is flimsy and brittle at best, and downright dangerous at worst
• Sun Certified Programmer for Java 2 Platform (SCJP2)
• IBM Certified Professional for Object Oriented Analysis and Design with UML
• IBM Certified System Administrator for WebSphere Application Server v5.0
• Certified Business Analysis Professional (CBAP®)
Did you see how Paul cut 87% off of his electric heat bill with 82 watts of micro heaters? |