I've been planning a certain program for 3 years. During these 3 years, I've let thoughts and ideas formulate, and stew, in order for me to critique them properly.

I know precisely what I want this program to do. For almost every function I know what as a client I want it to do, and have a general idea of how it should be set up. I'm not sure if my ideas would be the most streamlined.

I have roughly one month right now to devote full time to my project. After this, I'll be able to spend about 10 hours a week on it.

I want to write the program myself, but I don't know an ounce of programming language.

Considering this, how should I go about starting and working on this project? I know that learning basic Java would help as well as writing little test programs, but my idea has specific needs that I fear test projects will not address.

I'd like to see if I can get this project done on my own by June/July, which gives me 7-8 months.

Thank you.

I personally think Java is one of the easiest languages to learn to use. That's not to say it hasn't got any difficult parts, or that it's easy to master. It just has a lot of things going for it.

  1. The Java API - This is like a bible for Java developers, I have it open 99% of the time.
  2. Books - There are hundreds of books out there teaching Java. Even if you just flick through them and pick and choose what you learn.
  3. Tutorials - If you want to learn Java, you're going to need to work from doing basic tutorials to gradually implementing more complex features. That's just the sad truth. There's no easy way around it.

I would advise you to spend the month you have right now trying to learn how to use Java. Nothing more. Just go through tutorials, books and the API.

After that, spend your 10 hours each week working on your project. If you aren't interested in making money on it, why not make it open-source and try convince some more experienced developers to help you out with it (or even gather a group of learners like yourself to help out).

Here's some resources you:

commented: Excellent advice +14

I'm glad Java isn't on some unattainable level for a newbie like me.

All of your advice and suggestions are great. Now I know how I can start this and what to do.

I'll take this month like you said to learn and do the tutorials, and work my way up to it.

I am planning on starting a business with this; I've considered reaching out, but I also want the satisfaction of making something with my own hands; or, with my fingers & brain power.

I have considered eventually hiring an experienced programmer to fine tune everything, make an app, design the graphics, etc. and possibly maintaining it. Do you know anything about that? Such as signing a non-disclosure agreement/contract or any other tips?

I appreciate it, thank you.

If you're taking it on yourself, just remember not to be discouraged when you run into problems (and believe me, you will). The best thing to do with any language is break problems down into smaller pieces, and solve them that way. Message boards like this are also great ways to find alternate solutions to your problems.

I wouldn't know much about hiring so there's no point in me giving you advice on that. I'm only in my early 20's and, while I have worked in industry and signed non-disclosure agreements (though I'm in college at present), I have no experience being on the management side of things.

If you ever get to that stage, just make sure you bring someone into the project that's genuinely passionate about it.

I'm working on something similar and I do have a lot experience with Java, Java J2EE and etc. There will be a lot of work if you try to do it alone depending on the project. I would suggest you team up with someone to complete your project. If you can describe your project or provide contact information I would be happy to review it and see if we can work it out together. Otherwise find someone that will have passion you have for your project. Good Luck and hope you accomplish it.

I have considered eventually hiring an experienced programmer to fine tune everything...

Software quality (no matter how you measure that) starts with the specifications and is more or less fixed by the design. If the design is good you can deal with any rough code later, if the design is poor no amount of clever coding will fix it.
Conclusion? If you want to involve someone experienced, do it sooner, not later.

JamesCherrill makes a great point. There's nothing most programmers hate more than having to fix someone elses code.

If you do plan on expanding to have more developers at some stage, you'd be best to do it early.

Thanks so far to everyone, great tips.

I was thinking I'll make it myself, and at least offer a functional skeleton so the programmer has an idea of what I want to do.

It's also not really that complicated, the details need to be addressed, but as far as everything is concerned, once I start learning I think it's very feasible to design it properly. Just, tweaking it and making it really streamlined and sleek would probably be something for someone with more experience.

well, if you don't know anything about a programming language, thinking about a project is like a toddler that just learned how to crawl, and think he can run a marathon.
no, Java isn't that hard to learn, but if you want to learn it decently, it still might take some years, simply because there is so much to learn.
also, depending on your project, you may not want to restrict yourself to core java, but, for instance, learn how to integrate hibernate into your project, just to simplify your actions toward your database.

sure, if you work on an analysis of your project while learning the language, that's time saved later on, but keep in mind you won't be doing actual programming for quite some time.

I feel that if you quickly want to learn JAVA so that its enough to do a project,i suggest just go through Head First .It doesnt cover everything ,but the necessary parts for writing projects.

I am very impatient in writing codes before actually designing project and yes it becomes very difficult later.
Since in your case, you have been planning for last 3 years ,i assume the design part is over.So coding wont be much problematic.

So go for Head First + JAVA API and just code now.

Great, there's a lot for me to do here, and you all explained a lot, thank you everyone once again!