Jump to content

How to progress in Java without getting bored to death?

zwirek2201

Hi guys!
For the past couple of weeks I've been trying to find a way to quickly learn Java without getting bored to death by tutorials etc. I am a relatively experienced .NET developer and know object-oriented programming, I don't want to go down to basics of what an "if" statement is.

 

I would love to just get a project or an advanced tutorial that I could follow, but everything that I find on Youtube is either from 2010 or is 50% of basics of object-oriented programming. These "Learn programming interactively" websites are also bullsh*t for the most part because you spend hours trying to progress while clicking "submit" and getting "Great, you wrote hello world, here, have 200 useless points". Do you know a way that's going to get me quite quickly into the more advanced stuff? (I think the basics will just come along).

 

I know that in Java you can do some pretty badass stuff, but what are the coolest things that it allows programmers to do?

 

Just to clarify: If you want to get into .NET programming, you can start with basic stuff in console, then move to some more advanced stuff with WinForms or WPF where you'll actually see some nice progress. I'm looking for that advanced part of Java. 

 

Thanks for any advice! :D

Try, fail, learn, repeat...

Link to comment
Share on other sites

Link to post
Share on other sites

to answer the title, you cant it is a very boring language that is very repetitive.

 

the best way is to talk to someone you know, get them to make a fake problem and create the solution in java, make them make it complex and bam, coding project andif you get stuck, google is your friend

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, NinJake said:

Try, fail, learn, repeat...

Good one, but so far with Java my experience was

Try, fail, learn, *is it supposed to be so boring?*...

Try, fail, learn, repeat...

Link to comment
Share on other sites

Link to post
Share on other sites

I'd had my fair share of learning programming in College. I was bored with Java, I gave up.. :P I like C++ C# although I most likely forgotten most of it. :P 

CPU: AMD Ryzen 5 5600X | CPU Cooler: Stock AMD Cooler | Motherboard: Asus ROG STRIX B550-F GAMING (WI-FI) | RAM: Corsair Vengeance LPX 16 GB (2 x 8 GB) DDR4-3000 CL16 | GPU: Nvidia GTX 1060 6GB Zotac Mini | Case: K280 Case | PSU: Cooler Master B600 Power supply | SSD: 1TB  | HDDs: 1x 250GB & 1x 1TB WD Blue | Monitors: 24" Acer S240HLBID + 24" Samsung  | OS: Win 10 Pro

 

Audio: Behringer Q802USB Xenyx 8 Input Mixer |  U-PHORIA UMC204HD | Behringer XM8500 Dynamic Cardioid Vocal Microphone | Sound Blaster Audigy Fx PCI-E card.

 

Home Lab:  Lenovo ThinkCenter M82 ESXi 6.7 | Lenovo M93 Tiny Exchange 2019 | TP-LINK TL-SG1024D 24-Port Gigabit | Cisco ASA 5506 firewall  | Cisco Catalyst 3750 Gigabit Switch | Cisco 2960C-LL | HP MicroServer G8 NAS | Custom built SCCM Server.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, zwirek2201 said:

Hi guys!
For the past couple of weeks I've been trying to find a way to quickly learn Java without getting bored to death by tutorials etc. I am a relatively experienced .NET developer and know object-oriented programming, I don't want to go down to basics of what an "if" statement is.

 

I would love to just get a project or an advanced tutorial that I could follow, but everything that I find on Youtube is either from 2010 or is 50% of basics of object-oriented programming. These "Learn programming interactively" websites are also bullsh*t for the most part because you spend hours trying to progress while clicking "submit" and getting "Great, you wrote hello world, here, have 200 useless points". Do you know a way that's going to get me quite quickly into the more advanced stuff? (I think the basics will just come along).

 

I know that in Java you can do some pretty badass stuff, but what are the coolest things that it allows programmers to do?

 

Just to clarify: If you want to get into .NET programming, you can start with basic stuff in console, then move to some more advanced stuff with WinForms or WPF where you'll actually see some nice progress. I'm looking for that advanced part of Java. 

 

Thanks for any advice! :D

so focusing on the last part of your question i think you just have to narrow down your search. look for action listener tutorials with UI elements and other stuff. that's what i would do. if you know the advanced terms then you will only find the tutorials that use those. if you only search java you'll only find the basics.

Primary System

  • CPU
    Ryzen R6 5700X
  • Motherboard
    MSI B350M mortar arctic
  • RAM
    32GB Corsair RGB 3600MT/s CAS18
  • GPU
    Zotac RTX 3070 OC
  • Case
    kind of a mess
  • Storage
    WD black NVMe SSD 500GB & 1TB samsung Sata ssd & x 1TB WD blue & x 3TB Seagate
  • PSU
    corsair RM750X white
  • Display(s)
    1440p 21:9 100Hz
Link to comment
Share on other sites

Link to post
Share on other sites

Just now, zwirek2201 said:

Good one, but so far with Java my experience was

Try, fail, learn, *is it supposed to be so boring?*...

Haha. Once you figure out how YOU can put java to use, you'll end up liking it more. It's always better when you want to do something rather than when you force yourself to do something.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, NinJake said:

Haha. Once you figure out how YOU can put java to use, you'll end up liking it more. It's always better when you want to do something rather than when you force yourself to do something.

I would love to do something in Java. I learned every programming language by practice, but I think I became so used to database applications, db warehouses and what not, that I have trouble imagining different kinds of applications and Java community and the language itself is so extensive that it's quite challenging to find something that's neither too boring nor too insane to learn :P

Try, fail, learn, repeat...

Link to comment
Share on other sites

Link to post
Share on other sites

Going to double post because of my curse of editing and people probably not seeing it.

 

Note if you do go the Android route, Google's implementation of Java is different than Oracle's. So while you can probably use the same concepts in Java, the underlying aspects of how that code is run are different. See: https://en.wikipedia.org/wiki/Comparison_of_Java_and_Android_API

Link to comment
Share on other sites

Link to post
Share on other sites

Don't. Learn something better like c++ :D 

 

But seriously, C# is basically Java done right. Main issue with C# is it seems to require visual studio for basically everything. 

 

Actually why do you want to learn Java? And can you somehow make that reason be the motivating factor for pushing through the boring bits? 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, ElfFriend said:

But seriously, C# is basically Java done right. Main issue with C# is it seems to require visual studio for basically everything. 

This pretty much sums up my opinion on it...

Except support.  Java has almost infinitely better support on non-M$ machines...although C# may be trying to escape.

The real question is "Is Java too ingrained for C#, even if open sourced, to get a footing outside Microsoft?"  Unfortunately I suspect the answer to be "Yes."


It's not dissimilar to perl vs python.  python as a language is so much better.  People had to learn it [perl] when it was the best (and potentially only) tool of its kind, then when starting future projects they used what they knew instead of looking at new tools first.

 

The only reason python has been successful in that regard is it did not start with the proprietary baggage C# has.

Link to comment
Share on other sites

Link to post
Share on other sites

On ‎29‎/‎06‎/‎2017 at 8:33 PM, ImNotThere said:

to answer the title, you cant it is a very boring language that is very repetitive.

then you're doing it wrong, one of the fundamentals of programming is DRY, don't repeat yourself.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

Move to C or C++, I learned Java and it's an incredibly boring language.

I would move to C because you would learn way more with it, OOP might be cool but it's good to learn the older but still relevant stuff also.

Link to comment
Share on other sites

Link to post
Share on other sites

If you're already experienced in OOP, just read the documentation and have at er.

CPU - Ryzen 7 3700X | RAM - 64 GB DDR4 3200MHz | GPU - Nvidia GTX 1660 ti | MOBO -  MSI B550 Gaming Plus

Link to comment
Share on other sites

Link to post
Share on other sites

I found functional programming with Java 8 to be pretty interesting. Getting used to Lambda-expressions, the Stream()-methods and other functional interfaces. 

Running Arch with i3-gaps on a Thinkpad X1 Extreme
Data Science Postgrad

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 6/29/2017 at 2:37 PM, zwirek2201 said:

Good one, but so far with Java my experience was

Try, fail, learn, *is it supposed to be so boring?*...

That's what separates the people who  succeed and fail in life. 

 

The ones who succeed get though the boring part. They chug though it all untill their end goal is met.

 

The ones who fail give up or don't take the time to do things the right way and try to rush. 

Smoking weed at the red light like its legal

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, HunterSkater429 said:

That's what separates the people who  succeed and fail in life. 

 

The ones who succeed get though the boring part. They chug though it all untill their end goal is met.

 

The ones who fail give up or don't take the time to do things the right way and try to rush. 

Wow, you should write books or some shit.

Try, fail, learn, repeat...

Link to comment
Share on other sites

Link to post
Share on other sites

browse github and find a project in a different language that really sparks your interest. try to recreate it in java. Any language without an interesting program to write is 'boring' its what you do with it that becomes exciting.

 

https://github.com/explore

 

The best way to learn a new language/framework is just to make something and learn along the way, once you have all of the concepts and bits of jargon you have picked up you can start to understand the articles and tutorials aimed at advanced concepts without getting stuck on the weird language.

Link to comment
Share on other sites

Link to post
Share on other sites

Look up Advanced topics in java 8. They added new features which should keep you interested.

www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html

             ☼

ψ ︿_____︿_ψ_   

Link to comment
Share on other sites

Link to post
Share on other sites

I strongly prefer C++ to java like many have said so far, but i'd like to point out that the focus should be on the problem, and less the language. An interesting language can be boring if you're solving a boring problem, and a boring language (*cough* java) can be interesting if you're working on an interesting problem. It's the same reason why which languages you know is kind of useless as a metric for evaluating a developer. The languages can be swapped around, but the actually meaningful stuff is how you approach and tackle real design problems.

 

EDIT: I'll give a concrete example. I spent the first year out of college working on our older C++ software, and then switched to doing Java development on our new platform. I actually hate a lot of the Java environment, and legitimately miss working on C++, but I am MUCH happier despite all that, because the things i am making and the problems i'm solving now are much more meaningful and challenge me in ways that the older code didn't. If i could flick a switch and change our new stuff to c++ so I could do the same work but without java, i'd do it in a heartbeat, but since I can't I much prefer the position which gives me meaningful problems to tackle.

 

tl;dr project > language 

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×