Win a copy of Getting started with Java on the Raspberry Pi this week in the Raspberry Pi forum!
  • 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
  • Jeanne Boyarsky
Sheriffs:
  • Rob Spoor
  • Devaka Cooray
  • Liutauras Vilda
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Piet Souris

Hello, my java adventure begins!

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey this is my first post here as i've just recently ( 3 weeks ago ) landed myself an apprenticeship in software development and came here for a little bit of friendly advice.
I'm currently trying to get my head around java and i'm really struggling! I know its a lot to take in but already I'm starting to feel a little demoralized like I'm not clever enough to learn java.
I guess what I'm asking is has anyone got any words/stories of encouragement to help me get through these beginning stages because right now I'm spending 7 hours a day at work watching tutorials and stuff and i just don't feel like I'm getting anywhere.

Thanks in advance
 
Saloon Keeper
Posts: 15126
344
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to CodeRanch!

What is your background? What did you do before you started your apprenticeship?

Java is a big language, and if you've never worked with Object Orientation before, it might seem like a lot to take in. I've been programming in Java for 11 years now, and I still occasionally learn something new that's been in the language since the start.

The important thing is to not just read/watch tutorials, but to start working on small hobby projects to bring what you've learned into practice. I think that writing a console based application that allows you to play a turn based game with an opponent is a great project to get started on. Be sure to submit your code to peers for review (people at CodeRanch are more than willing to do this), so they can give you critique and advice.

Good luck!
 
Jerry hawke
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Stephan, Before my apprenticeship i was stuck in a dead end job for 4 years wondering what to do with my life. I've always had an interest in computers and programming though, touched a little on c++ during my brief time at university. I left university because it just wasn't for me and don't enjoy classroom based learning, I'm definitely more of a hands on type of guy and prefer to be in a work environment. I build my own computers too so I'm familiar with hardware, now i just need to get a grasp on more software oriented things.

Also does anyone have any small beginner project ideas? I did write a program that acts as a sort of interactive vending machine. It asks for a username, asks for an input e.g. buy sweets and then prints out the amount of sweets the specific user has, and how much of their daily allowance is left. Although this was with a lot of help and googling :P
 
Stephan van Hulst
Saloon Keeper
Posts: 15126
344
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The point is exactly to do stuff that makes you Google a lot, and then apply what you've found. Just don't copy and paste code without understanding what it does.

Like I said, turn based board games are really good beginner projects. For a single player game you can try your hand at Minesweeper, or if you want to play against an opponent, maybe something like Othello or Connect Four. What I like about player versus player games is that they give you an opportunity to ease into topics like networking and concurrent programming after you've got the basics done.

The important thing is that you pick something that you enjoy doing and thinking about. There's nothing so demotivating as working on a project you don't like.
 
Sheriff
Posts: 7125
184
Eclipse IDE Postgres Database VI Editor Chrome Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Also does anyone have any small beginner project ideas?


How about a simple address book?  Start by just using the command line and holding the names and addresses in memory (meaning you lose them after you exit the program).  Then you can add things like writing the data to a database and/or creating a GUI with Swing or JavaFX.
 
Greenhorn
Posts: 5
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Jerry! I am a senior in Highschool and have been going to a Comp Science academy for 3 years now and have 100% felt the same way as you. You just gotta power through it my friend, once you learn Java the rest of the languages are muuuuch easier. Its best to get a support group of other programmers that are also learning and learn with them. I've had so many late night skype and discord calls with my peers that it became a nightly ritual at one point. If you look around you could probably find a discord for fellow Java learners. That's the best advice I can give, my dude. Best of luck on your Java Journey!  
 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've been learning the basics of C# and Java for a few years now and for the most part the things that will get your have a lot to do with how you are thinking logically. So if you are having a problem with code make sure you are sitting down and working through what you want it to do step by step.
 
Greenhorn
Posts: 1
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I was in the same shoes that you were in. Granted, I have gained a bit of experience by attending classes that helped on the basics of coding and allowed me to understand it among professionals in the field. The tips I personally would say is to just start out small. Make some code that just adds 1 + 2, or even just make some code that says some random thing. I also advise getting a book on java and coding basics don't let big books scare you, most of the books have a lot to cover but if you need just one simple thing the book will most likely have it. Best of luck to you and your career!
 
Marshal
Posts: 78424
374
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JI welcome to the Ranch
 
Sheriff
Posts: 17616
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Job Iden wrote:The tips I personally would say is to just start out small. Make some code that just adds 1 + 2, or even just make some code that says some random thing.


Very astute advice from a beginner. I would add to that: Start small and keep things small.

Also, I would say you need to learn about principles early. Even if you don't understand them fully, if you're aware of them and kind of know what they're about, you will see them come into play as you continue to practice and try to get better.

Here are a few important principles to get you started:
4 Rules of Simple Design - 4th one is about what you said: keep things small
SOLID, DRY, KISS, GRASP - they're acronyms, nothing kinky
How to write Clean Code - always try to write clean code

And because nobody ever writes clean code their first time around (even professionals), learn about Refactoring and Unit Testing and make it an integral part of your programming practice. Every line of code can present you with an opportunity to refactor and unit test. The more you do it, the better you get and the better you get, the better code you'll get.
 
reply
    Bookmark Topic Watch Topic
  • New Topic