• Post Reply Bookmark Topic Watch Topic
  • New Topic

2017 best pdfs/books/online guides? Overheating head  RSS feed

 
karol worek
Greenhorn
Posts: 7
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all!
Im 22. Issue is that im really befriended with a computer yet for me learning java is just another thing that proves im dumb and shouldnt be in IT. Days go and go im getting older, some people start programming at 9 while I did NOT (however i still used PC everyday, i just cant forgive myself for not going into programming early years). Programming learning requires a lot of time. So thats probably the last chance to learn it for me.

I have time (whole days) to learn Java but most of the time i spend on testing/finding guides.. Is there anything you would recommend? I have managed to reach "JFrame" "Swing" and fillOval() but cant really write these things on my own. just understands them (or not). What I wanna do first is to write some very simple shooter/rpg games that would speed up my learning process.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 37513
554
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Karol,
Welcome to CodeRanch! First of all, this is not your last chance. Many people learn programming when way older than you.

Head first Java is a great first book. As is Murach's introductory Java book.
 
Pete Letkeman
Ranch Foreman
Posts: 914
26
Android Chrome IntelliJ IDE Java MySQL Database
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello @karol worek,

You are never too old to learn something new. In fact learning something new helps keep the mind young and prevent brain deterioration, especially when you get older.
Please note that learning programming and learning Java are two different things. In theory you can be a great programmer, but bad a Java programming and vice versa. Many things that you learn as a programmer are transferable from one programming language to another.
Java programming and/or programming in general is one of those things that is easy to start doing, e.g. printing Hello World to the screen, yet difficult to master, but please don't let this discourage you in any way.

On the subject of games, it may interest you to know that many of the games created for both gaming consoles and computers are created using C and/or C++ and/or C#. There are some game creation libraries/studios out there, such as Unity and the Unreal Engine, which use C, C++, C# and/or JavaScript. I'll admit that both Unity and Unreal Engine are not for beginning programmers, but I'm pretty sure that there are game libraries/studios for beginners and this could be a way for you to start.
 
karol worek
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jeanne Boyarsky wrote:Karol,
Welcome to CodeRanch! First of all, this is not your last chance. Many people learn programming when way older than you.

Head first Java is a great first book. As is Murach's introductory Java book.


Oh Yeah that book Head First Java II is  very good. It explains everything i had problem with! I did read 50 pages today (excluding that very first part that is more about book instead of Java) and might reach 100 today. Im basically reading about basics right now but it covers way way way more things about these basics and seems to not be as old as Thinking In Java IV. It explains some things I would probably never realise. WIll check the second book later.

Pete Letkeman wrote:Hello @karol worek,

You are never too old to learn something new. In fact learning something new helps keep the mind young and prevent brain deterioration, especially when you get older.
Please note that learning programming and learning Java are two different things. In theory you can be a great programmer, but bad a Java programming and vice versa. Many things that you learn as a programmer are transferable from one programming language to another.
Java programming and/or programming in general is one of those things that is easy to start doing, e.g. printing Hello World to the screen, yet difficult to master, but please don't let this discourage you in any way.

On the subject of games, it may interest you to know that many of the games created for both gaming consoles and computers are created using C and/or C++ and/or C#. There are some game creation libraries/studios out there, such as Unity and the Unreal Engine, which use C, C++, C# and/or JavaScript. I'll admit that both Unity and Unreal Engine are not for beginning programmers, but I'm pretty sure that there are game libraries/studios for beginners and this could be a way for you to start.


Im aware C Family is much better for games and I've heard the term Unreal Engine a lot also. However I've choosen Java and my aim is to get hired as a Java Programmist (someday maybe). Games is just how I love learning things because it stimulating for my mind. If I publish some crappy game that nobody will play, then I will upgrade it more and more every version (1.1,...., 1.3, ...,1.6 etc..) then version 2.0 might be absolutely playable and even land in my Portfolio, what might help me get a job. Gaming is not my final aim its just funny to make and learn coding on.




Im not that old but I still feel I should've learned these things much earlier. Going back to Java reading ! thanks for your posts
 
Pete Letkeman
Ranch Foreman
Posts: 914
26
Android Chrome IntelliJ IDE Java MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I will be the fist to admit that I'm no expert.

Some people, like me, joined this forum to gain knowledge regarding Java certification and to help out others. I have over 15 years of programming experience, but not in Java and I personally think that this will help my career.

Here are a few sites which you may find helpful:
  • https://www.tutorialspoint.com/ (more then just Java)
  • https://www.javatpoint.com/ (more then just Java and may be related to the other point site)
  • https://www.hackerrank.com/ not so much a tutorial based web site, more of a programming challenge base site. This is also a many language site, not just Java.
  •  
    Pete Letkeman
    Ranch Foreman
    Posts: 914
    26
    Android Chrome IntelliJ IDE Java MySQL Database
    • Likes 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    That is not to say that you can't get more then certification information here. Far from it. You can get a lot of information here and there are plenty of people willing to help out with all sorts of problems.
     
    Jeanne Boyarsky
    author & internet detective
    Marshal
    Posts: 37513
    554
    Eclipse IDE Java VI Editor
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Right. This site is useful for all things Java! (and some other languages as well)
     
    Max Chan
    Greenhorn
    Posts: 3
    1
    • Likes 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Hey, Karol!

    I'm about your age and have a similar problem - 2 years into SW degree, high average grade and as far fit for a job as possible (well, at least till recently).

    I've never being related to programming until I've started the degree; which happened at an age of 23.

    To be honest, I've signed up for this forum simply to post a reply for your question - because I've been asking a similar question to yours (mine being: "What are the actual themes I should study to get a job??") and all I got was elusive answers, like the replies above (no offense, but people, if you bother to reply - than give at least a little decent piece of advice!!).

    I know how frustrating it may be to see fellow programmers giving you general replies like: "Research forums" or "Look up for Tutorials", etc, because I've been receiving these for more than a year.

    However, I've been able to scratch some info here and there into a somewhat decent plan of action that has started to bring some results (I have started to understand and pass interview exams recently):

    ----> First of all, this whole page is a must: https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html. you should click on every link that is out there and make sure you understand every topic, except maybe for the following sections: "Cherish the Client" & "Fervor Over Server". If you get stuck on one of the topics, simply google "topic name explained" or "topic name tutorial youtube". For example, say you do not understand what generics mean - than you would like to search for "Generics explained" or go to youtube and look for "Generics tutorial".
    The reason for such importance is that themes on this page are part of any Object Oriented Language and often interviewers will ask you about their meaning, rather than their implementation in specific language.

    ----> Second of all, constantly look for guys like them: https://www.youtube.com/user/koushks/featured, http://zetcode.com/, http://tutorials.jenkov.com/ and learn from them. Books are no longer relevant, because it takes too long to write them and often the material in them is "too basic" or concerns outdated technology (from the perspective of interviewers). Which is why, guys who post information about new technologies and how to adapt to them are gold and should replace what books did 5-10 years ago.
    Your next question is probably - how to look for them exactly? In my case, I just google from time to time "Things Java developer should know today" and visit about 10 links and see what people are talking about. Later I take these themes and look for people who give tutorials about them on youtube.

    ----> Practice your ability to adapt your programs to custom built libraries, which are often referred to as Frameworks, or APIs, or a couple of more of fancy names. The bottom line is that you can not and should not build everything from a "scratch". Instead, you should be great at one thing (say, algortihms) and learn to gain access to the code of people who are good at something else and integrate between the codes. For example, instead of writing SQL queries for your application's server and taking care of bunch of "technical" aspects - you should use frameworks like Spring Persistence (or at the very least see what JDBC has in store for you).

    Now, let's sum up what you should know according to these three steps:
    1) Meaning of themes mentioned on https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html;
    2) Ability to adapt and use Frameworks, API's - custom built libraries by others, in short;
    3) Spring Boot & Spring Persistance (both part of Spring Framework) - they will allow you to easily take care of server side of your applications. Note! This is simply a good start as there are other options for managing server;
    4) HTML, CSS & JavaScript - web languages that will make your client side look as neat & beautiful as possible. Unfortunately, Java library concerning client is not a success;
    5) Maven or any other dependency language. They are needed to tell application what are it's settings and mainly what "outside" libraries (the ones that are not provided by JDK) it uses and where to get them. Any Spring Boot tutorial explains this point as well;
    5) Build a simple business management application that combines steps 1) - 5).

    Now, the most important thing is that when you have a couple of applications in your resume - you have to find a programming job. The reason is that there is a limit to what a single person is able to know and do, no matter what people try to convince you. Reality is that programming is team-based, because there is too much things to know.

    One last piece of advice - do not program games with Java. This language is simply not meant for this and I am telling you this on a bitter personal experience. Try creating a store / restaurant / stock trading management application instead.

    Good luck, dude! 
     
    Campbell Ritchie
    Marshal
    Posts: 56585
    172
    • Likes 2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Welcome to the Ranch

    Are you sure books are obsolete? How do you assess a video tutorial so you don't waste 45 minutes or 45 dollars on it and then decide it's no good? Rather than saying Java®'s client side abilities are poor, maybe say it wasn't designed for client side code (at least not now applets have gone the way of all flesh)? Maybe go on about learning several languages in general, or different programming paradigms? Did you mention database connectivity in Java®?

    I am going away soon, so shan't have much opportunity to answer, but have a token of thanks for raising such a lot of interesting points; we hope we shall see more of you here.
     
    karol worek
    Greenhorn
    Posts: 7
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Max Chan wrote:Hey, Karol!

    I'm about your age and have a similar problem - 2 years into SW degree, high average grade and as far fit for a job as possible (well, at least till recently).

    I've never being related to programming until I've started the degree; which happened at an age of 23.

    To be honest, I've signed up for this forum simply to post a reply for your question - because I've been asking a similar question to yours (mine being: "What are the actual themes I should study to get a job??") and all I got was elusive answers, like the replies above (no offense, but people, if you bother to reply - than give at least a little decent piece of advice!!).

    I know how frustrating it may be to see fellow programmers giving you general replies like: "Research forums" or "Look up for Tutorials", etc, because I've been receiving these for more than a year.

    However, I've been able to scratch some info here and there into a somewhat decent plan of action that has started to bring some results (I have started to understand and pass interview exams recently):

    ----> First of all, this whole page is a must: https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html. You should click on every link that is out there and make sure you understand every topic, except maybe for the following sections: "Cherish the Client" & "Fervor Over Server". If you get stuck on one of the topics, simply google "topic name explained" or "topic name tutorial youtube". For example, say you do not understand what generics mean - than you would like to search for "Generics explained" or go to youtube and look for "Generics tutorial".
    The reason for such importance is that themes on this page are part of any Object Oriented Language and often interviewers will ask you about their meaning, rather than their implementation in specific language.

    ----> Second of all, constantly look for guys like them: https://www.youtube.com/user/koushks/featured, http://zetcode.com/, http://tutorials.jenkov.com/ and learn from them. Books are no longer relevant, because it takes too long to write them and often the material in them is "too basic" or concerns outdated technology (from the perspective of interviewers). Which is why, guys who post information about new technologies and how to adapt to them are gold and should replace what books did 5-10 years ago.
    Your next question is probably - how to look for them exactly? In my case, I just google from time to time "Things Java developer should know today" and visit about 10 links and see what people are talking about. Later I take these themes and look for people who give tutorials about them on youtube.

    ----> Practice your ability to adapt your programs to custom built libraries, which are often referred to as Frameworks, or APIs, or a couple of more of fancy names. The bottom line is that you can not and should not build everything from a "scratch". Instead, you should be great at one thing (say, algortihms) and learn to gain access to the code of people who are good at something else and integrate between the codes. For example, instead of writing SQL queries for your application's server and taking care of bunch of "technical" aspects - you should use frameworks like Spring Persistence (or at the very least see what JDBC has in store for you).

    Now, let's sum up what you should know according to these three steps:
    1) Meaning of themes mentioned on https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html;
    2) Ability to adapt and use Frameworks, API's - custom built libraries by others, in short;
    3) Spring Boot & Spring Persistance (both part of Spring Framework) - they will allow you to easily take care of server side of your applications. Note! This is simply a good start as there are other options for managing server;
    4) HTML, CSS & JavaScript - web languages that will make your client side look as neat & beautiful as possible. Unfortunately, Java library concerning client is not a success;
    5) Maven or any other dependency language. They are needed to tell application what are it's settings and mainly what "outside" libraries (the ones that are not provided by JDK) it uses and where to get them. Any Spring Boot tutorial explains this point as well;
    5) Build a simple business management application that combines steps 1) - 5).

    Now, the most important thing is that when you have a couple of applications in your resume - you have to find a programming job. The reason is that there is a limit to what a single person is able to know and do, no matter what people try to convince you. Reality is that programming is team-based, because there is too much things to know.

    One last piece of advice - do not program games with Java. This language is simply not meant for this and I am telling you this on a bitter personal experience. Try creating a store / restaurant / stock trading management application instead.

    Good luck, dude! 


    Ohh your input means a lot for me

    I will take care of things you mentioned when I finish reading Java Head First II (im at 180th page (out of 700)). ENglish is not my native language thats why I usually use translated pdfs. But from time to time i read english sources also as they are more up-to-date.

    One question for you, how long did you study Java before you applied for a job?
     
    Max Chan
    Greenhorn
    Posts: 3
    1
    • Likes 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    For a year and a month.
     
    Max Chan
    Greenhorn
    Posts: 3
    1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Campbell Ritchie wrote:Welcome to the Ranch

    Are you sure books are obsolete? How do you assess a video tutorial so you don't waste 45 minutes or 45 dollars on it and then decide it's no good? Rather than saying Java®'s client side abilities are poor, maybe say it wasn't designed for client side code (at least not now applets have gone the way of all flesh)? Maybe go on about learning several languages in general, or different programming paradigms? Did you mention database connectivity in Java®?

    I am going away soon, so shan't have much opportunity to answer, but have a token of thanks for raising such a lot of interesting points; we hope we shall see more of you here.


    I am not stating facts, simply sharing an experience of someone who's started from total scratch. Which is why, I have made the following statement in advance:
    "However, I've been able to scratch some info here and there into a somewhat decent plan of action that has started to bring some results (I have started to understand and pass interview exams recently)"


    In fact, I have done a lot of mistakes during my studying, I am continuing to do new ones and probably most of what I know now will prove to be wrong in some way in the future, since there is no fellow programmer to guide me throught the process.

    One thing I am totally sure about is that SW is a very frustrating degree and getting a job is an additional circle of hell.
     
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!