Jump to content

Java as beginning language?

DotoreN

Soon i'm beginning my study as software developer. I want to have a little head-start and some basic knowledge about programming before I start with it. I've got a book called "Java with blueJ", but for some reason I feel blueJ isn't that great and I honestly want to start out with eclipse or something that's actually being used to develop something, so I don't know whether I should learn out of this book or not, maybe someone has experience with blueJ and can tell me whether I should avoid it or if it's good to learn Java/OOP.

 

Also, since I have basically no programming experience, with what language should I start off with and how?

 

I have the money to get a subscription for any tutorials/books so suggest freely.

 

My future study will use Java as programming language and php/mysql for web-dev, so I guess starting off with java or php/mysql gives me the best head-start.

 

Any advice on which tutorials/books to buy/look at?

 

Thanks :)

Link to comment
Share on other sites

Link to post
Share on other sites

Depends what you want ;

I learned java to start , was not a good idea .

 

http://i.imgur.com/d9cU904.png

 

Moved on to taking C++ , a bit hard and takes a long time to get stuff done though 

Recommend what is best, not what you preffer.

"Like" comments to show your support of them or the idea they express.

Link to comment
Share on other sites

Link to post
Share on other sites

The best coding language to begin with is VisualBasic and C#. Both are very intuitive languages to learn and have a low learning curve. IF you learn them well, other languages will be absorbed easier.

See my blog for amusing encounters from IT workplace: http://linustechtips.com/main/blog/585-life-of-a-techie/

Link to comment
Share on other sites

Link to post
Share on other sites

I started with HTML, CSS, PHP & Javascript to begin with. I feel the knowledge of how code works and the logic involved sorta helped me begin Java.

NCASE M1 i5-9600k  GTX 1080 FE Z370N-WIFI SF600 NH-U9S LPX 32GB 960EVO

I'm a self-identifying Corsair Nvidia Fanboy; Get over it.

Link to comment
Share on other sites

Link to post
Share on other sites

-snip-

I would not really recommend Java to begin with, it is a bit more difficult if you don't know the basics.

Something like C# inside of an engine/program (like Unity3D or Visual Studio) might suit you better.

Another good starting language is Javascript, inside of html. You learn quite a few stuff about conditionals, variables and more.

 

If you need some good places to learn Javascript: W3Schools has a ton of documentation on it. Unity3D has a lot of documentation too.

In my signature you will see a link for 'programming resources' I would recommend taking a look there for some good places for resources :)

 

I hope I helped you out a bit and be sure to ask me if you have questions :)

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

If you are doing a course that uses Java and it starts soon, learn Java.

I have a pet hate for the language however and I would rather write assembly...

 

Basically, I'd stand by what I've said to many others, learn python. I still use python for stuff here are there, it's a very good language.

 

And whatever you do, unless you are 100% set on it, don't learn C++ first, it doesn't do much for you and you will find it hard without a basic knowledge of the inner workings of lower level system architecture.

 

I'll also say that C# might be a good thing to learn, it's used in Uni courses so, it's the not the worst idea and it isn't too hard.

 

EDIT: After reading the two posts above this, if you don't know much about conditions and variables,etc. I'd really recommend Python.

Link to comment
Share on other sites

Link to post
Share on other sites

I started with C++ took me about a year to be quite knowledgeable. Java on the other hand was easier but java can't solve everything easily sometimes you'd need crazy workarounds. Which can make me go mad and go on a break for a day or two from coding.

 

for starting off I would suggest something easy yet still challenging like Java, JS or c#(but Java should be the choice as it's more thorough than the other two and has more flexibility IMO) then move on to c++

|CPU: Intel i7-5960X @ 4.4ghz|MoBo: Asus Rampage V|RAM: 64GB Corsair Dominator Platinum|GPU:2-way SLI Gigabyte G1 Gaming GTX 980's|SSD:512GB Samsung 850 pro|HDD: 2TB WD Black|PSU: Corsair AX1200i|COOLING: NZXT Kraken x61|SOUNDCARD: Creative SBX ZxR|  ^_^  Planned Bedroom Build: Red Phantom [quadro is stuck in customs, still trying to find a cheaper way to buy a highend xeon]

Link to comment
Share on other sites

Link to post
Share on other sites

Depends what you want ;

I learned java to start , was not a good idea .

 

http://i.imgur.com/d9cU904.png

 

Moved on to taking C++ , a bit hard and takes a long time to get stuff done though 

 

Why was it not a good idea, and what do you recommend then?

Link to comment
Share on other sites

Link to post
Share on other sites

I started with Java, and moved on to various scripting languages (Bash, Python, JavaScript etc).

 

I find that python is one of the most simple languages to pick up at the beginning. It is basically formal english.

Eg: (For each loop)

    For variablename in collection:

          Do something with variablename

 

 

As for tutorials: TheNewBoston on youtube. Great content and great explanation.

 

ProTip: Get rid of BlueJ asap.

It is annoying to work with and doesn't really provide a proper picture of object interaction.

 

Eg: 

In BlueJ you can create an object by simply rightclicking. This is not realistic at all. In normal Java programming you'll need a specific method: "public static void main (String[] args){ Create your objects here and make them call methods}".

 

+ BlueJ opens a windows for every .java file you edit. Believe me: 30 mins of coding and you'll have 20 windows of blueJ open.

That time I saved Linus' WiFi pass from appearing on YouTube: 

A sudden Linus re-appears : http://linustechtips.com/main/topic/390793-important-dailymotion-account-still-active/

Link to comment
Share on other sites

Link to post
Share on other sites

I started with C++ took me about a year to be quite knowledgeable. Java on the other hand was easier but java can't solve everything easily sometimes you'd need crazy workarounds. Which can make me go mad and go on a break for a day or two from coding.

 

for starting off I would suggest something easy yet still challenging like Java, JS or c#(but Java should be the choice as it's more thorough than the other two and has more flexibility IMO) then move on to c++

TBH, I've seen people decide Java was too complex and drop out. But yeah C++ takes a while to get good at, it's my go to language for anything other than a few exceptions (I use C for Embedded or Kernel modules etc).

 

I found java to be a language were I had very little control. While it's arguably not a bad thing, I hate it with a passion.  

 

Like everything it is a trade off. In C or C++, I have a ton more control over what happens and the overhead is far lower but I have to be more careful about memory. In Java, I can just not care about memory, just let JVM handle everything, but Java is so slow it isn't even funny.

 

 

Depends what you want ;

I learned java to start , was not a good idea .

 

http://i.imgur.com/d9cU904.png

 

Moved on to taking C++ , a bit hard and takes a long time to get stuff done though 

It doesn't that that long to get stuff done in C++, I wrote my own version of P95 yesterday with thermal detection on the cores to check if they are overheating and prevent damage.(That still has a lot of work to go on it, and it really isn't pressing)  

Link to comment
Share on other sites

Link to post
Share on other sites

Also what is your guys opinion on Ruby or php/mysql?

 

And maybe this is a little offtopic, but since i'm starting the software dev. study soon i'll also need a laptop, is 13inch fine to work on or is it not enough screen real estate... i'm really 50/50 on this as I'll have to work on it for atleast 4years.

 

I mean if you need multiple windows, I bet 13 inch kinda sucks and is hard to read?

Link to comment
Share on other sites

Link to post
Share on other sites

TBH, I've seen people decide Java was too complex and drop out. But yeah C++ takes a while to get good at, it's my go to language for anything other than a few exceptions (I use C for Embedded or Kernel modules etc).

 

snip

Well tbh last time I used java I was still 16 :3 I've mainly been using C#, JS and some python here and there.

 

Maybe this is a little offtopic, but since i'm starting the software dev. study soon i'll also need a laptop, is 13inch fine to work on or is it not enough screen real estate... i'm really 50/50 on this as I'll have to work on it for atleast 4years.

 

I mean if you need multiple windows, I bet 13 inch kinda sucks and is hard to read?

 

Also what is your guys opinion on Ruby or php/mysql?

Just buy a Good monitor with the connectors you need.

 

Ruby is a very in-demand language nowadays. php not so much(compared to a few years back) but it's still pretty flexible and useful even if it's old.

|CPU: Intel i7-5960X @ 4.4ghz|MoBo: Asus Rampage V|RAM: 64GB Corsair Dominator Platinum|GPU:2-way SLI Gigabyte G1 Gaming GTX 980's|SSD:512GB Samsung 850 pro|HDD: 2TB WD Black|PSU: Corsair AX1200i|COOLING: NZXT Kraken x61|SOUNDCARD: Creative SBX ZxR|  ^_^  Planned Bedroom Build: Red Phantom [quadro is stuck in customs, still trying to find a cheaper way to buy a highend xeon]

Link to comment
Share on other sites

Link to post
Share on other sites

I started with visual basic then moved over to c#, great way to start as VB is very "wordy" as a language.

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

Link to comment
Share on other sites

Link to post
Share on other sites

Java is a good language to learn Object Oriented programming.

 

However, I would not ask what language do you want to learn. Ask the question: TO WHAT END? What do you want to do?

 

There is not such thing as holly grail language or solution.

 

What ever you choice, make sure you understand Patterns and Software Architecture. (once you know the basics... variables, looping, classes and so on).

 

As for PHP... man. How can I put this nicely ... if you go PHP make sure you pick up an environment. Don't go naked, please. CAKE PHP, ZEND framework and others are something that you should look at. Those frameworks will enforce some good behavior which BELIEVE me, will make your life MUCH MUCH easier. I used to work on PHP and these days I am more on the ROBY/Rails train which I prefer at this stage.

Link to comment
Share on other sites

Link to post
Share on other sites

snip

I second Python.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

Java is good to get the basics of Object Oriented languages easily.

It's also very easy to make  more complicated apps than , let's say, in C++.

 

Start a little in Java. Get the basics. Understand how it works.

Then move on to C++.

 

When you master it, you should go after C# (which is kinda easier than c++).

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

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

×