PDA

View Full Version : Java



Tombradyhasamachinehead
May 13th, 2012, 05:00 PM
How long does it take to learn to program in java?

hoboy
May 13th, 2012, 05:59 PM
How long does it take to learn to program in java?

well the rest of your life :)

http://www.norvig.com/21-days.html

Barrucadu
May 13th, 2012, 06:05 PM
About ten years, same as for any other programming language.

dwhitney67
May 13th, 2012, 10:12 PM
How long does it take to learn to program in java?

Two to three seconds... perhaps ten years. It all depends on your aptitude.

ofnuts
May 13th, 2012, 11:16 PM
How long does it take to learn to program in java?"program in java" has two parts, "program" and "java". "program" is by far the longest to master (several months at best before you can write code useful to someone else).

codingman
May 14th, 2012, 11:22 PM
sure you want to learn java first? Do you have experience with other programming languages?

codemaniac
May 15th, 2012, 06:28 AM
A hello world would take a couple of minutes to give you the adrenaline rush .
It would take all your life to master it .

woxuxow
May 15th, 2012, 07:15 AM
What do you mean by programming
if you meant "Hello world"
it will take about a couple of minutes else .........

malangaman
May 16th, 2012, 02:04 PM
Actually, your learning rate depends on your practice rate. If one devotes all waking hours to practice 7 days a week, one would learn to program quicker than if one practices programming as an enjoyable hobby from time to time.

Here is a link to how to teach yourself Java in 21 days.
http://portal.aauj.edu/e_books/teach_your_self_java_in_21_days.pdf


I downloaded it yesterday so theoretically I have 20 says to go.
We'll see...

trent.josephsen
May 16th, 2012, 04:46 PM
Actually, your learning rate depends on your practice rate. If one devotes all waking hours to practice 7 days a week, one would learn to program quicker than if one practices programming as an enjoyable hobby from time to time.

Here is a link to how to teach yourself Java in 21 days.
http://portal.aauj.edu/e_books/teach_your_self_java_in_21_days.pdf


I downloaded it yesterday so theoretically I have 20 says to go.
We'll see...

Never been more relevant: http://norvig.com/21-days.html Spot on in my opinion.

There's no short cut to becoming an expert . I could consider my programming experience to have begun 6 years ago. I've had two (paid) programming jobs, I've been complimented on the quality of my code numerous times, and I'm still not suffering under any delusions of competence. I know that I still have a lot to learn.

There might be people who can learn to program well in a few weeks or months, savants like Jean-François Champollion. I wouldn't want to rule it out. But it's unlikely.

11jmb
May 16th, 2012, 05:06 PM
"program in java" has two parts, "program" and "java". "program" is by far the longest to master (several months at best before you can write code useful to someone else).

Depends on your level of aptitude with java. The syntax can be picked up in a matter of days, the ability to write good programs in a matter of months, but it takes years to truly become a proficient java developer. Java is not just a language, but an extremely complex development framework that takes years to master. (Judging from your posts on this board, I don't think I really have to tell you this, but I wanted to expand and point out that java development is much more than just syntax)

Even though the high-level concepts translate well between languages, a great .NET developer will be a mediocre java developer at best, and the converse is true as well. I've heard a lot of people gripe about PHBs looking explicitly for "java developers" or ".NET developers" because the high-level concepts carry over, but these folks fail to realize how steep the learning curve truly is when transferring between frameworks.

Tombradyhasamachinehead
May 16th, 2012, 08:35 PM
i know vb.ne

ofnuts
May 16th, 2012, 08:59 PM
Depends on your level of aptitude with java. The syntax can be picked up in a matter of days, the ability to write good programs in a matter of months, but it takes years to truly become a proficient java developer. Java is not just a language, but an extremely complex development framework that takes years to master. (Judging from your posts on this board, I don't think I really have to tell you this, but I wanted to expand and point out that java development is much more than just syntax)
I don't agree completely with this. Java isn't a complex development framework. Java is a language on which some very complex development frameworks are based. But rather simple and lightweight Java apps are possible (think Android). And the frameworks aren't that complex (they have to be reasonably mastered by rather average programmers), they are mostly big and unwieldy.

QIII
May 16th, 2012, 09:23 PM
Learning a language may take a short time. (You should learn several. Each helps you understand the other, just as learning a foreign human language helps you better understand your native language.)

Learning to use it will take more time.

Learning to produce anything valuable will take even more.

Learning to actually program will take more.

Learning to solve meaningful problems takes years.

Developers are not simply proficient at a language or two. They are first and foremost problem solvers. Until you have that down, technical proficiency is of little value.

Take Math classes, particularly proofs and problem solving. Take courses in classical Logic. Learn to break down complex problems into smaller and smaller components.

Take courses in Psychology and Sociology because what you are producing has an end user and is useless unless someone can use it.

A general answer to your question: After 35 years, I'm still learning and improving.

11jmb
May 17th, 2012, 02:33 AM
I don't agree completely with this. Java isn't a complex development framework. Java is a language on which some very complex development frameworks are based. But rather simple and lightweight Java apps are possible (think Android).

Fair enough. The point I meant to make was that people are often drawn to java because of what somebody else said about the job market for java developers. I don't think that people realize, although java is a fairly easy language for mediocre programmers to use effectively, java development is a monstrous domain.

Hiring managers are generally looking for technical depth, not the ability to write lightweight apps, which just about anybody can do in a matter of months. That's why "how long does it take to learn java" is a very difficult question to objectively answer IMO. You're absolutely correct that beginners with good work ethics can learn 80-90% of what they need to know for java development in a matter of months, but that last 10-20% comes with years of experience

ofnuts
May 17th, 2012, 01:31 PM
Fair enough. The point I meant to make was that people are often drawn to java because of what somebody else said about the job market for java developers. I don't think that people realize, although java is a fairly easy language for mediocre programmers to use effectively, java development is a monstrous domain.

Hiring managers are generally looking for technical depth, not the ability to write lightweight apps, which just about anybody can do in a matter of months. That's why "how long does it take to learn java" is a very difficult question to objectively answer IMO. You're absolutely correct that beginners with good work ethics can learn 80-90% of what they need to know for java development in a matter of months, but that last 10-20% comes with years of experienceThe typical training session to take a Java programmer and make him/her theoretically proficient with one of these frameworks in one week. And you have a new framework to master every couple of years... Hiring managers know that 80% of the folks they will find won't be too familiar with the latest and greatest framework... so they hire those that look like they can be re-trained quickly and efficiently.

CptPicard
May 17th, 2012, 06:36 PM
Being currently a J2EE developer by day, I would have to agree that most of the proficiency of a Java developer really is in understanding the frameworks and other stacks you'll be working with. The ability to quickly come to grips with new ones is also a very important skill; but that can be gained by experience. Things also have stabilized quite well around Spring these days.

The basics of Java the language are relatively easy to get to grips with, but becoming good at using it both in the programming and most importantly OOP-architectural sense takes some time. It's the difference between using the frameworks and being able to code the frameworks.

I personally value a rather broad-based understanding of all kinds of programming styles and paradigms, and if you know a lot of those, your Java will also be somewhat different. At the extreme end there are guys like Rich Hickey who found that they're stylistically writing a certain kind of Java and then they figured out that it's actually a functional style -- and he ended up creating Clojure.

At work I'm trying to get more involved in our hiring process as I like giving job interviews... practical competence with technologies you're working with is of course important, but besides that, I really like to see that the person has a larger "sense" of what he's doing...

11jmb
May 18th, 2012, 05:27 AM
The typical training session to take a Java programmer and make him/her theoretically proficient with one of these frameworks in one week. And you have a new framework to master every couple of years... Hiring managers know that 80% of the folks they will find won't be too familiar with the latest and greatest framework... so they hire those that look like they can be re-trained quickly and efficiently.

So after taking a 5-day training course, it would be a good idea for somebody to cite "experience with framework x" on a resume? Of course not; that's horribly misleading. Every architecture has its intricacies, and proficiency with a framework is an understanding of how these nuances fit into the big picture. When it comes to java, there is a huge language-dependent spectrum of proficiency.



At work I'm trying to get more involved in our hiring process as I like giving job interviews... practical competence with technologies you're working with is of course important, but besides that, I really like to see that the person has a larger "sense" of what he's doing...

That reminded me of a question I've been meaning to post on this board for a while now

http://ubuntuforums.org/showthread.php?p=11946042#post11946042

More personal and open-ended than most threads, but interesting to me nonetheless :)

ofnuts
May 18th, 2012, 09:19 AM
So after taking a 5-day training course, it would be a good idea for somebody to cite "experience with framework x" on a resume? Of course not; that's horribly misleading.
Because you have seen resumes that aren't misleading? ;)

11jmb
May 18th, 2012, 01:42 PM
Because you have seen resumes that aren't misleading? ;)

To varying degrees. That's a difficult judgement, though: was this person merely trying to get their resume noticed by "grep recruiters", or is he completely full of s***?