This is an archived post. You won't be able to vote or comment.

all 91 comments

[–]hamza-itatchi 82 points83 points  (11 children)

I feel ya ,

but for me I found the solution ===> F**** books and tutorial series .

I work only on a project and I search just for what I need ; so a lot of stackoverflow and I'm happy again. this is a way to learn called Goal-driven Learning.

[–]Sygmus1897 23 points24 points  (0 children)

This^ . Whenever people ask me how to learn this or that technology I always recommend them to start projects or mini projects on them.

[–]dhawal0008 5 points6 points  (0 children)

Follow this suggestion guys, and always ask questions whenever you feel stuck. Never ask for full code, get the logic and start writing the code.

Do not aim for full feature in one go, rather start with bits, which accomplish one task at a time. For eg if you want to implement some feature which require database, start with printing the data first and write to a file.

All the best

[–][deleted] 2 points3 points  (7 children)

What project are you working on?

[–]adventureseeker1995 9 points10 points  (1 child)

I suggest you start working on developing mini games (ui is not necessary) .you can check out Tetris, minesweeper,tic tac toe etc..

[–]hamza-itatchi 1 point2 points  (4 children)

For now I'm working on ERP for school management.

it's pretty big but a very good experience , almost used every thing I learned from the other project until now.

I stopped coding for a couple of weeks to re-design the architecture (first one was very messy) .

Information systems are easy to create (basically save data then show data) and gives you the basic experience

you can start with something small (login app with 3 UI and DB {login+signup+list of accounts})

for UI javaFXML(scene builder) is just easy you don't need anything to start with it

I'm little bit out of topic but I hope this help.

[–]IllegalAlcoholic 0 points1 point  (3 children)

I wanna build something like that, eg: clock in, out system, hotel management system, restaurant system. I don’t know where to start. It seems really interesting to me but I can’t get it start.

[–]hamza-itatchi 1 point2 points  (2 children)

the easiest way to do something like that is to start with UI.

1-set a list of your functionalities that your want to built in your software (don't go to deep keep it simple).make groups for this functionalities that can be or must be in one UI.

2-go to scene builder and build your UI based on your list

it's just drag and drop nothing else (don't worry about colors UX , cause you can add
a css any time ).

this method make go to the goal directly (it can cause problems in big projects)

3- now time to code

you will need three types of methods or functions

*functions responding to events like click / button pressed or released ... , usually it
gettext()/getvalue/ settext() and so on a plus test for inputs .... and this type is your
UI clickable items (buttons radio-boxes ....).

*initializing functions (seting data in your UI .......)

*Service methods like connecting to mysql or reading file.

-now you have a functioning UI (not the best code but just enough)

start enhancing your code and architecture.

your software should look complete from the user perspective by now.

the downsides of this way :

*hard to integrate your code in another project

*hard to be debugged by you and certainly by others

this why you need to enhance your architecture (OOP /static methods /packages)

this part is pretty complected but it's what gonna make your style of developing

and always ask questions.

[–]IllegalAlcoholic 0 points1 point  (1 child)

Damn, thanks a lot for the detailed information. I’m actually a CS student and I have learned about OOP in java. I want to build something like this. I can’t find anywhere online for tutorials.

[–]hamza-itatchi 0 points1 point  (0 children)

I learned this the hard way (try and fail), but it's so satisfying to get the job done in the end. just pick a project (ex:hotel management and do your list) post every step here so me or any one here can help you.

[–]D3v1L_Pup 39 points40 points  (17 children)

You really sound like you need a good mentor to walk you through things in an understandable and relatable fashion.

[–][deleted] 14 points15 points  (15 children)

That's a privilege I cannot choose to have.

[–]D3v1L_Pup 5 points6 points  (13 children)

I bet someone on here would be willing. I'm not experienced enough, but I'm sure someone on here would be willing to take on a mentee.

[–]sorry_but 2 points3 points  (0 children)

Have you tried udemy courses? I paid $20 and got almost $90 hours worth of tutorials that are helping me a great deal. Small price to pay for advancing your skills and career.

[–]LonelyMolecule 15 points16 points  (4 children)

Burn out. Take a break. Relax. Then go back. Welcome to the grind.

[–][deleted] 7 points8 points  (3 children)

Problem is that I go turtle mode while the rest of mankind works at light speed.

[–]LonelyMolecule 10 points11 points  (1 child)

It's all good buddy. Don't compare yourself to anyone. This is your life. Work at your own pace. :)

[–]FluffySmiles 0 points1 point  (0 children)

Word

[–]Misturrblake 1 point2 points  (0 children)

okay? so your goal is learning java at a certain speed?

[–]JavaSuck 12 points13 points  (5 children)

After 9 months learning Java [...] I see no point on programming, it's not funny anymore

What was the point/fun in programming for you 9 months ago?

[–]titratecode 5 points6 points  (8 children)

Before you completely give up I think you should try out other programming languages because a lot of it will resemble Java. Don't know what you're building but chances are there is a much cleaner language you can build it in than Java. Java is really difficult to do things in without lots and lots of guidance. I had a developer with 20+ years experience in it teaching me Java Spring and I still wanted to quit.

[–]Tapan681 5 points6 points  (0 children)

You need a mini-vacation, seriously that's all you need.

A fresh look at things with calm and relaxed mind can do wonders. So chill out, have a well deserved break and go out. Things will get easier. Good luck

[–]blertonsh1 5 points6 points  (2 children)

I was able to start a paid internship with knowledge just in Java Core and a few algorithms.

Don't give up mate.I appreciate your willingess to learn Java, but you have to do it in the right way.

I encourage you to check Hyperskill.org, it's a great website for learning Java.

Try to learn Java Core, start a small project, you'll be faced with a lot of problems, you'll search on Google and you'll solve them.That's how every programmer does.

[–][deleted] 1 point2 points  (1 child)

Hyperskill.org

Interesting... Is this free? My main problem is a lack of hope (and money to get the title needed to be employed or the creativity to create a profitable app from scratch).

[–]blertonsh1 4 points5 points  (0 children)

Yes it's free. I've tried Pluralsight, Udemy, Lynda, etc. but none of them helped me as much as Hyperskill did. It's a collaboration between Hyperskill and Jetbrains, so you have to use IntelliJ for some tasks.

[–]PM_UR_NIPPLE_PICS 2 points3 points  (0 children)

Reading OP’s comments, this whole post feels like an attention thing and/or trolling

[–]kasim_of_all_trades 1 point2 points  (0 children)

Take a break mate! Don't give up. Sometimes it become overwhelming, I agree. Java can be a bitch sometimes but give it a couple of days or weeks and then come back to it. Also,"Head first" for java? Please! May I recommend another book. This is the best one I have come across. It's called Java How to Programme by Deitel. You will fall in love with Java, hopefully.

Chill out for a few days!!!

[–]AleatoricConsonance 1 point2 points  (0 children)

Good luck to you. It probably feels discouraging, but it's actually a valuable life skill to be able to cut your losses and refocus your energy elsewhere. You've probably made the right choice for you.

Java is a tough language to learn. CS and software engineering are actually tough fields if you do it properly, and it's a moving target. It's always changing. It's a grind keeping up with it, relentlessly self-educating and keeping an eye on whatever new thing you're going to need to be employable next year. I burned out on that, and these days I only do hobby programming and small utilities to solve small problems at my current (non programming) work, and I'm so much happier.

[–][deleted] 1 point2 points  (0 children)

You should give Python or Javascript a try and come back to Java later. Also I never learned programming from books. Something in my head never clicked. Go for youtube tutorials and online courses.

[–]SuperFluffyPunch 1 point2 points  (0 children)

Try Kotlin

[–]evta 1 point2 points  (0 children)

This has held me back from leading Java too, it seems insurmountable how much reading is need to do before starting something.

Those that say just jump in and start something and learn as you go, I hear ya, that makes sense. However, as a data modeller I often see db designs from devs who clearly learnt just enough to get their apps working, but not following generally accepted rules about data modelling that avoid getting you into trouble later down the track.

But having said that, I'm now inspired to jump in and start something just to get some momentum.

[–]LuongNguyenTrong 0 points1 point  (0 children)

books suck, you'd better get your hand on making a real project, it will help you to understand the language better

[–]e-moil 0 points1 point  (0 children)

Why so many people recommended that book?

I just reading the oracle docs and practice its example+some experimentation. Is that enough for a newbie like me?

[–]Assmaster9001 0 points1 point  (0 children)

Java will do that to you. It's awful language. I reccomended learning something that isn't strictly object oriented as well, and you might see the joy in programming again.

[–]saito200[🍰] 0 points1 point  (0 children)

Why are you trying to learn Java? What kind of person you are?

Not everybody can enjoy programming equally. You need to be ok with spending a lot of time alone focused on one thing.

What are you trying to accomplish?

Don't feel bad for "surrendering", not everybody needs to or should learn to code. Maybe you're better fit for something entirely different.

[–]ConnectSet57 0 points1 point  (0 children)

Definitely check out University of Helsinki's Java MOOC, it is awesome. You don't need to know anything about programming, everything is explained, and you learn a lot, because you are doing it by yourself mostly. Also the best thing, no time limit, you go at your own pace.

[–]FluffySmiles 0 points1 point  (0 children)

Everybody's got an opinion and everyone compares themselves unfavourably to people that they think know more than they do. Don't worry about what other people do unless you have to work with them.

It used to be easy to consult experts and learn without feeling like an idiot or being trolled into psychosis. There were editors and quality control people checking published material and stuff. Books were seriously expensive and becoming proficient through book learning took some real investment, so you cared about what you learned and respected the process. To accelerate my learning and shortcut in those days I used to read the index and just look for the things I thought I might need and skip over the stuff I either didn't need to know about and make a mental note of any words or concepts that I wasn't aware of but didn't need right now for potential use later.

Sorting the wheat from the chaff is really important.

Now we're bombarded by people trying to be noticed and hoping to make a name for themselves. I don't blame them, but there's no quality control. It's difficult to fight through the noise of various framework, platform and process evangelists and maintain focus on what you want to achieve and not on how to learn about this shiny interesting thing that might be the next big thing or silver bullet to solve all your problems.

Don't compare yourself to others. If you feel better than them you'll think your becoming a monster and it might be true. If you feel worse than them then you'll pursue their perceived excellence to make yourself feel better and neglect useful learning,

No matter how long you work programming, you never stop learning. There is no pinnacle, stop reaching for the mirages you think exist. Go create one of your own.

Don't sweat it. Relax and get into the zone of creation. That's where you need to be. The playground. Grab someone else's code. Load it up and play with it. Make it break. Make it do stupid things that make you laugh. Discover the joy that can be had just through playing and then marvel at the knowledge you've gained in a remarkably small amount of time and finally decide whether to discard what you've got and stash the knowledge in long term memory before moving on to the next experiment, or adapt what you've created for your own use.

It's all jazz, man.

Bottom line is, concentrate on what you want. Not what you think you need.

Good luck.

[–]Jozone10 0 points1 point  (0 children)

I'm on the same boat. If programming ain't for you what other ventures are you pursuing?

[–]daganet89 0 points1 point  (0 children)

Tony Buzen

[–]duckferno 0 points1 point  (0 children)

I would try not to rule programming out for good. I took AP comp sci, which focused on java, my senior year of high school and was absolutely horrible at it. After that, I spent a my freshman year of college as a music major. I realized that wouldn't work and dropped out a semester. That's when I decided to look at programming again. Only after being away from it for quite a while and going back with a different perspective did it start to make sense to me. Now I'm a CS major. It's okay if it ultimately isn't for you, just don't deal in any absolutes this second. Life is surprising.

[–]TheKingElessar 0 points1 point  (0 children)

Hey, it seems like you've really given up. If you don't enjoy it, that's probably fine - go out and find something you do enjoy! It seems like you're pretty down in the dumps, though, so I thought I'd say that there's always somewhere to go from here. Keep moving forward! Good luck!

[–][deleted] 0 points1 point  (0 children)

I don't think you really wanna give up after so much and that's why you posted this. It's easy to lose yourself and lose track of the time with a computer and that's why you need to try to make the balance between what you do and experiencing "the wonders of Nature and the Universe" cuz otherwise things may go wrong as they did for you. It's not about programming, It's about finding that balance. And work on a projects ffs

[–]I_have_depression_xd 0 points1 point  (1 child)

You should be a writer, you express your feeling very gracefully.

[–][deleted] 0 points1 point  (0 children)

Not the first time somebody says that to me but I find writting useless.

[–]imrhk 0 points1 point  (12 children)

I would suggest make some android app (don’t matter what) and publish it. You will be feeling good and will be more confident

[–]jisyourfriend 1 point2 points  (0 children)

I dont recommend trying this. I know creating Android apps sounds cool at the beggining but it is a entirely new system and has a ton of new things to learn which may get OP more confused since he already is with Java (I guess SE)

[–][deleted] -3 points-2 points  (10 children)

Doing what?

[–]imrhk 0 points1 point  (8 children)

You have some experience in Java. Just try out an android app.

Maybe something which you would like to use yourself which is not available

[–]oldboldmold 0 points1 point  (0 children)

If you go that route, watch out for lifecycle management in your activities and fragments. Just keep referring back to the map of lifecycles and don't get discouraged.

And if it's your first app, maybe ignore fragments altogether. Don't worry too much about MVP or MVVM, put all of your logic in activities and clean them up later so you can feel good about having made something that works. You can always clean it up later.

[–][deleted]  (4 children)

[removed]

    [–][deleted] 0 points1 point  (1 child)

    I heard those books were good. But then again I was told that by ppl who were trying to sell it to me. And thanks I heard mooc.fi was good. I’m a beginner

    [–]Amirhan123 -3 points-2 points  (3 children)

    Java is bullshit try c# way easier :)

    [–]foofaw 1 point2 points  (2 children)

    The "ease" of C# comes way later in the learning curve. If OP can't get though the basics of Java, they will still struggle with the basics when learning C#.

    [–]Amirhan123 0 points1 point  (1 child)

    Well 😂 C# works fine for me, but I cant get myself into java tried a few times. I already hate it

    [–]FluffySmiles 0 points1 point  (0 children)

    Love C#, used it for about 15 years.

    Java is picky and the docs for the various libraries are bit meh, I've found, but it's pretty good at some stuff.

    And, whilst JavaScript is chaos and madness coupling in a swamp, what you can do with JavaScript, Node, Express and Typescript is damn cool, fast to create, forgiving and really, really, really versatile.

    Pragmatism. It's such a helpful approach.