View Full Version : Is it really realistic to learn computter programming on your own

02-07-2012, 12:44 AM
Hi, I am in a tough situation. I have been working at my own business for two years since I had been layoff. I already know some basic programming like html, but that's it. I know a couple people whom had learned on their own and also a few that preached that it took 6 years to learn in college.
It's between these options:
Learn on my own
Go back to school and take the 5 classes from a previous trade Medical Billing and get financial aid/loan to add on my current loan. Which is the only option to take in college because of gpa from 4 years ago.
○ pray for a miracle

Can programming be done? If so, what to learn first? If not ,what? I have mostly home health and medical assisant work experience beside the ebay business. I went to the local job placement today and for medical assistant you need at least 5 yrs exp. and you have to have a degree now and as far as home health; all of the job you have to lift 100lbs+. I only lifted one patient during my experience, which led to back pain. I live in a small town in Brevard county florida where jobs are scarce. Would relocating be an option.

02-07-2012, 03:31 AM
IMO you are either a programmer, or you are taught to program. Same as anything else, I can be taught to repair a vehicle, but I couldn't ever consider myself a mechanic. This would explain why some people have such an easy time learning, and others learn over a greater period of time.
I learned lets see, about 7 languages before I went to school. Since I am a programmer, learning more languages is a walk in the park; it is the difference between learning how to use a tool and how to actually program. Variables are variables, constructs are constructs, loops are loops. Process is still the same.

Pick up Java. Hit the tutorials here: http://docs.oracle.com/javase/tutorial/
Java is a great language to start on. Not too hard, not too easy. Cleans up after you and is cross platform compatible. Downside is its very slow compared to a language like C/C++. C# is an alternate option; the syntax and language overall is almost identical to Java. If you want to use an IDE which I don't suggest if you are determining if programming is for you; I'd suggest either Eclipse/Netbeans for Java, and of course Visual C# [Express] for C#, or a full version Visual Studio.

Try java out for a couple of weeks. I'd suspect you'll know relatively soon if you enjoy it and would like to continue it in the future. Learn all the basic usage of the language; that can all be applied to any other language. Java is a C based language, so learning Java will bridge for easy learning of C/C++, PHP, C#, and several other languages.

02-16-2012, 11:35 AM
I stumbled on this by searching through Fou's recent posts looking for a topic about uploaded image protection.. hope you don't mind me dragging it back up!

I wouldn't class myself as a natural programmer yet I've not had anyone teach me either so I thought I'd chime in and contribute my thoughts.

I started with (this'll make you shudder Fou) Delphi (although I tried quick basic years before that and never got to grips with it). Thats Object Orientated Pascal to those who don't know it. Back in the day it was still a fairly popular language and despite being pretty dead now Embacadero (or whatever their name is) are now trying to revive it.

It's not the greatest of languages but it is pretty solid and comes with support for many databases (except mysql naturally) and builds robust .exe programs. It also debugs the actual .exe rather than simulated programs like early versions of VB etc. It's a complex language but I learned a lot from it including how to use threads, sockets etc all of which made life a lot easier when I decided to learn PHP a few years ago.

Switching from a event driven language like Delphi to a non event driven language like PHP was quite a shock though. There are some huge differences and the two technologies work completely differently. With Delphi (or any windows programming languge) you have an IDE, form designer, debugger, windows components (drop down boxes, text boxes etc) at your disposal. With PHP you need to master html, preferably css, maybe javascript and it helps if you can design a good looking page. Then you also have to learn about databases. Now admittedly in delphi I'd never needed this as my projects were not database related and settings were stored inside ini files but it must be said, when I finally figured out how to use a database and link everything in a relational way it made life a lot easier.

I guess what I'm trying to say is that you don't need to be a sheer genius but you do have to have some determination. I've had times when I've bashed holy hell out of my keyboard (I get through one or two a year) but I've stuck with it. The key thing though is that once you've learned one language, it does help you when you want to learn another because you start to figure out the key parts of what you need to understand, how things work, what the language is doing internally etc. Once you've got the basic logic clear in your head it makes life a lot easier. Switching from a complex devil like Delphi to php was a shock but once I mastered the basics it made life a lot easier for me for things like headers - I already understood these as I'd written programs in delphi that used sockets and http protocols etc (hence all the handy tips in my sig where I try to break stuff down for others to understand in plain english).

Fou-Lu is one of the lucky ones who has managed to master almost anything quickly whereas the rest of us can take a bit longer. That shouldn't put you off though, as long as you keep things simple and make sure you fully understand them in your head it all becomes a lot easier as time goes by. Function manuals and knowing how to understand them is also a key element. I've known some people say they can't program because they can't remember functions and their parameters. Neither can I so I had to become inventive. I have a button on my browser that opens a input box - I type in the function name and it takes me to that page on the php manuals website :D Cheesy but it works for me very well. If thats any use to anyone else, create a new bookmark / toolbar button and for the url:

javascript:word=prompt('What%20function%20do%20you%20want%20to%20lookup?',%20'');if(word!=null){URL= 'http://www.php.net/'+word;location.href=URL;}else{void('');}

Also I can't say enough about formatting your code neatly. Years ago when I first got into programming I didn't care about it - I just wanted to make a program that worked and served a purpose. Fixing its bugs became a nightmare. Opening and closing parts of each block of code were not indented, things were all over the place, I didn't write many functions so had bits of code repeated all over the place.. it was a real mess :D Writing neat code and breaking it up into functions makes life a lot easier.

Finally, picking a language which suits your needs is vital. I picked delphi as at the time it had good reviews and it had support for sockets for making programs that could communicate over the internet - something which I needed. Unfortunately what I didn't know was that it would be useless for creating device drivers (eg for usb devices), or running on a mobile device with a MIPS processor which other languages can handle with relative ease. That said, languages like c# rely on .NET being installed on the end users system so whereas that might make life easy in some aspects you then get into trouble if the end user doesn't have the required dependencies installed. Thats where something like the C range might be better suited. Java is the in-thing these days but again you have to be sure that the machine you're code will be running on has java installed. What I'm saying is that you have to choose your language suitably for the task you need it for. Do your research, what do you want to code? - Will that language support it and run in that environment?

The short answer to your question is YES, programming can be done but at different speeds. If you want to write the words greatest program within the next 6 weeks and make yourself rich.. good luck. If however you want to learn to program to create a tool for your business or even as a hobby then time is on your side. Just decide what you want to do and pick a suitable language to start with. Ask around on various forums "Hey guys, will this language be suitable for x, y, z?".

Hope that helps :thumbsup:

02-16-2012, 09:36 PM
I taught myself to program in Fortran back in the mod 1970s before I had access to a computer to try out any of my programs on.

I'd imagine that learning to program where you actually have a computer available to try things out on would be much easier.

On the other hand, I have seen a lot of JavaScript written by people who have taught themselves where the script looks like it is a badly written version of a script intended for Netscape 4. This highlights that there are several different ways that people can learn how to program in a particular language and that copying badly written code by other people or learning from a long outdated source (eg. attempting to learn JavaScript from w3schools) will mean you learn how to write garbage that works rather than being able to do it properly (usually with about half the amount of code).

02-16-2012, 10:39 PM
This highlights that there are several different ways that people can learn how to program in a particular language and that copying badly written code by other people or learning from a long outdated source (eg. attempting to learn JavaScript from w3schools) will mean you learn how to write garbage that works rather than being able to do it properly (usually with about half the amount of code).

SO! true (IMO)... if at all possible I try to us MSDN class library for ref or (if coding Java) oracle's class library. When it comes to HTML/CSS I try at all times to ref W3C... I will say that I have no idea "where" to reference Javascript... I guess the fact that I hardly use it makes it irrelevant though :p

02-16-2012, 11:32 PM
learning from a long outdated source (eg. attempting to learn JavaScript from w3schools)

I have to agree with you there. I don't like w3schools one little bit. The javascript tutorial there and even the javascript reference is extremely poor IMO. The same applies for the php tutorials and the only thing I do find of any use is the html tag reference. Even then I struggle to decide if I should be looking at the V4 or V5 reference :rolleyes:

As for learning at home with your own PC, yes and no. One of the key things to writing code is being able to think clearly, logically and step by step. Basic things like sorting a list some people don't realise can be a task that they need to do - they might just put the contents into a list box and then wonder why the order is jumbled etc.

Sometimes you need someone to give you a guiding hand. I don't know about others but sometimes I find it hard to learn from reading text on a screen and likewise it doesn't always sink in from a book either. I have the Delphi 6 developers guide - it's thicker than most phone books but try learning from it and you'll be confused by quite a lot of it.

The key to learning any language is to break things down and keep them simple. Programming book authors unfortunately don't always seem capable of this.