Questions

How do I start (learning) programming with an actual project in mind?

+
1 Votes
Locked

How do I start (learning) programming with an actual project in mind?

probefahrer
Maybe here is somebody who can help me. I would like to start programming on a project I thought about since a year or so.

The project is going to be a web app which is also going to be used via iOS and Android Apps.

The software is going to be recommend different training-modules and show your progress thourghout training.

So what is the best way to start? Where can I find ressources on planning a software, a datamodel, the workflow and user experience...

And the most important question is:
How do I start in front of a blank sheet of paper - err monitor?

Thanks and greetings from Germany,
Alex
+
1 Votes
john.a.wills

First, I think, you should do the web app. How you do it depends very much on the software you have available, and where you plan to put the page(s) for inspection during test time. You must either write HTML or write a program (in, say, PL/SQL, supposing you have Oracle installed) which writes HTML.
You should get a good book on HTML and on any other language you write, with a chapter on its HTML-writing facilities. I write in PL/SQL and I cannot seem to find these things: books galore, but mostly not very useful. You need manuals rather than guides.
You must not think that ordinary programming techniques like modularity and simplicity are obsolete in an HTML environment.

+
0 Votes
seanferd

 

+
3 Votes
Tony Hopkinson

is to have something real to do, so you are on a good start there.
Unfortunately your choice of first project is a bit too hard.
It's not as bad as some, a few have posted a smilar question where their project is an operating system, or an enterprise CRM.

Start small and iterate.

There's a huge amount to learn.
Databases, web architecture, UI, Security...
How to program...

Get a development environment, start simple, build on it, you are jumping in the deep end while not being able to float never mind swim.
It all looks horribly daunting because you rea trying for too much too quick.
Write an app that show's your name and picture, that goes through your contacts and finds every one with a T in their name.
One that will link to a web / RSS feed and mine it for part of info and show it.

You'll learn useful things and you'll get the achievement of a working application quicker. Programming is describing a complex task in simple steps, if you don't know the simple steps....

+
0 Votes
probefahrer

That really helped.

I think I will start with PHP/MySQL as I know a bit of PHP from Wordpress. The question was if starting with Python, Rails or Java would make any sense.

Tony,
your tip is great, thanks. I will start with really basic functions of the App I am thinking of to get a working prototype somewhat fast. So that I can build on that.

Would you recommend to start with plain PHP or is there a framework that is really good for starters to get first results AND to avoid a later switch into a framework that would double the work.

Should I just start with a text editor like Notepad++ or with an IDE like Eclipse? Where is the difference?

Many thanks,
Alex

+
0 Votes
Tony Hopkinson

Plain, always. Be wary of tools that "do everything for you", they don't, a lot of waht they do may not turn out to be correct and because the tool did it, you don't know you just and so you f'ed up big style, though inadvertantly selecting the wrong opaque option.

+
1 Votes
minstrelmike

Start with the screen shots of what you'd expect the stuff to do.
This will -force- you to actually design the thing.
What info will be on this dropdown list?
What will each button do?
Do you have enough buttons to cover all the functions?
Will you have data for all your choices?

The architecture and the programming and all that come later. Design comes first. It is the only time in a project where you can add value faster than you add costs.

And designing is ez. Use pencil and paper or simple html stuff because all you want is screen shots to aid you in understanding exactly how everything will come together. Only after you have that do you start worrying about the individual pieces.

+
0 Votes
probefahrer

Wow thank you! That really makes sense. And the best thing is: I can do it rightaway! Saves me a lot of time and nerves :)

+
2 Votes
minstrelmike

If you're just doing straight-up html and javascript, Notepad or any ascii editor works well.

And if you are just starting out in html or web programming, write at least a few html pages just to get your mind wrapped around it. It helps when viewing source code on the web. I don't like IDEs for beginners because they hide important stuff.

In addition, you can also spend too much time learning the interface instead of actually programming. For starting out, do separate files in a simple editor until you have a grasp of how things are working together.

Then eventually, you'll see you have to move to an IDE or not. IF not, you might still want to try Eclipse or something but it's easier to learn if you can import a project you already know.

+
0 Votes
probefahrer

OK, so I will start with designing - meaning thinking about the functionality and features, then the screenshots before I start trying to program anything in plain PL instead of IDEs or frameworks.