Becoming programmer after 40 years.

Pages: 12345
Nothing wrong with becoming a programmer @ 40, unless your extremely unfit, or have health issues then you still have a good 20-30 years left to work. Most well paid jobs require a BA, or Degree or w/e you want to call it, and 2-5 years experience. Luckily as humans, we have the tendancy to stretch the truth a little, and hang on the coat tails of our network to lie for us when it comes to job interviews, meh 8months experience, vs 2 years... who's gunna know the difference. So long as you have the degree and some experience then your not going to make a complete fool out of yourself.

Hell there's people who do more than just stretch the truth, they outright lie and steal programming jobs with no experience. You would be surprised the amount of businesses out there who need Linux gurus to run things or people to maintain an access database. And usually they don't have to prove their knowledge as the person who they would be proving it to doesn't have the foggiest clue anyway.... The IT industry has a rife and horrid name for this exact reason, there's too many positions to fill and too many poor people willing to lie to get those positions.

Last edited on
i hate cheating myself though..

edit::misread ignore this
Last edited on
How would you consider it cheating yourself? if you have a degree and some volluntary work experience for a few months your a lot better than the other guy with no experience who's trying to take your job just to be fired 6 months down the track because he's shown no work.
I have not read ANY of the posts here but yours..As I was quickly just going to come here and drop my opinion. I think it's definitely possible. Learning C++ will tkae you a good year to get good...if you had prior programming experience you could learn quite a bit in a few months..that also depends on how much TIME You put towards studying and getting experience..also it depends..do you want to go into desktop development or web development...but either way it's never too old..In fact I wouldn't even mind connecting with you sometimes and going over the basics with you and getting you up to speed just as a favor..listen to other people's opinions but dont' get discouraged, it's never too late. Honestly in web development you could be making income in less than 5 months..learning xhtml/css and then that is enough to make money..from there started developing javascript and server side and after awhile it'll come quickly..with your previous knowledge of math you already have a technical mindset....

If you focused on JUST C++ then within 1 year you would be able to start doing console and desktop apps with continued learning.
If you ever need guidance or need some questions answered send me a PM and I can send you my email address and help you out when you need. I can even get you started in some work..while your learning to give you some real life experience..I am up to my neck in work and turn down projects all the time (and I employ 2 full time developers almost)....Within 2 months I could have you doing something that would make money..a lot easier ify ou started in a web environment, atleast I have more projects along that category, but I can dig up some desktop work for you if your really willing to dedicate the time to learn.
Thanks guys ( gcampton and businessman... ) for your encouraging and friendly advice. I appreciate your comments and will consider them while making my decision. Related to the offer by businessman..., I'd say that I have serious intentions and I'm now in the process of studying C++, and I'd be very happy and thankful to get your help and your professional advice during my study. In regards to your offer for a job, I wonder, if I can do anything useful for you ( and if so, I would be very happy!!!) since I have been studying C++ for three-four months only (no other programming experience before). I have basic knowledge related to classes, functions, arrays, pointers and some other fundamental concepts of C++ programming. Now I'm in the process of intensive study of C++ and I'm ready to get any advice from you.
To businessman332211...
In regards to web development that you've mentioned , I am ready to study it in parallel with C++ if you, as an expert, would suggest to do so.
I would be very glad to collaborate with you.
closed account (z05DSL3A)
are you an MFC enficionodo or do you hate answering questions about the MFC. Do you think its beyond my scope?
I just don't like managed code. If you want managed code, use C#... then again, C# sucks, so just stick to native code :l

C++ shouldn't be mixed with JIT compiling. They just don't go together... C++ is supposed to be native.


MFC is nothing to do with .net (managed code), It is C++ and Native.
In that case, go ahead and use it.
++gcampton

And if you need help we are here for you :)
closed account (S6k9GNh0)
MFC is just a wrapper for C++ around the WinAPI if I'm not mistaken. Actually another look at http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library shows this. There's nothing wrong with it but there are some things to still be wary about.

WinAPI is nice, it really is but it has problems. One being that it's not cross-platform. Now I'm not saying you can't get a job if you can't code for more than one platform, I'm just saying that experience in all fields looks better. I'm currently only 18 and I've yet to get to college but having as much experience as I do in Linux and Windows is definitely a plus and the evidence to back it up is even better. Not to mention that if the program isn't solely based on a specific OS, there is no reason to keep it to one platform but to spread the accessibility of your program. A great example of this are games. Almost all games can easily be cross-platform but most choose to be based solely on DirectX for ease of use which is conflicted since this may or may not be true. Most commercial PC games now adays simply ignore anything but Windows which in my opinion is complete crap.

It does indeed have great documentation and is seriously simple to "learn". The (WinAPI and MFC) and (C++) are COMPLETELY independent of each other other than the fact that MFC uses C++ (you do not need windows.h to compile on Windows for every program). But if your going to make a program that accesses hardware, you MUST interface with the OS to complete this task as it will not be available explicitly through C++ libraries (unless you wish to right your own drivers and then interface with those drivers but I doubt you do). Everything in C++ can be done with logic and instruction. The problem with this is that there are things the common programmer cannot do. One shouldn't have to make his own driver to interface with a USB device. He should be able to interface with the drivers already available on the OS for his program. By using the WinAPI, you can do this. Things like decoding WAV files or encrypting photos are not platform dependant since they use immediate logic for everything they do and is usually coded in direct assembly.

To begin:
I've actually showed up a couple guys your age who thought they knew everything, one being my high school teacher who is a complete idiot. Do not EVER think you know more than someone else and do not EVER think that you know everything. It is not bad to show off from time to time which can help your confidence in programming itself but do not go around saying your a programming genius who will hack everyone's computer (even if you are). I choose not to even tell people I program and show them instead since they always seem to think I can hack crap like Myspace and always ask me.

It's really not good to learn a specific language right off. Instead, learn what's below every language and work your way into the specific branches you want to. Below every language is assembly but below that is the hardware level which I suggest you learn quite a bit of how hardware works to just get the basic understanding of what your actually doing. I personally took the time to learn a bit of assembly but this doesn't seem to be of everyone's liking. If you don't wish to spend the time, then jump right into the C++ tutorials and books or whatever programming language you choose. I do suggest however that you start with a compiled language to get experience.

Though the online tutorials are fine, I suggest you get a book on programming first to help get the jist of what your doing. I also suggest you stay away from anything based on a specific platform. Get a book that is based on C++, not Windows or Linux or Mac, or whatever as they tend to stray off topic and can even corrupt the way you think as a programmer.

And last but no least, I truly do suggest that you find someone that has the patience and experience (and knows what he's talking about) to help you. I've had a few students but most would simply not listen to me or they would get bored (usually from programming, not from my preaching lol) and go do something else and forget about it. If you want to seriously learn programming in general, it requires an immense amount of patience, caffeine pills, and many "Bang head on wall here" posters as they will need to be replaced many times.

That's all for now :D Have fun!
Last edited on
programming genius who will hack everyone's computer


Hehehe.
caffeine pills

PPPPIIIIIIIIIIIIIIIIIIIIIIIIIIILLLLLZZZZ here!

they always seem to think I can hack crap like Myspace and always ask me.

I can't stand that. I get asked to crack windows live messenger accounts. Usually it results in bared teeth and restrained fists...

My own mother questioned my aspiration to be a computer scientist because I couldn't show her "how much memory is left on the computer." In reality, I could (she actually meant persistent storage, i.e. hard disk space, I gather), but she was asking me to explain how to do it, which is asking too much.

On topic:
I would definitely recommend learning several programming languages (but not at the same time).

I think it would be good to learn
Python or Perl [1], Pascal [2], C and C++ [3], Haskell [4], Assembly

[1] Python has a clearer syntax, but I think Perl is a bit more "C-like." It also has great string manipulation stuff built-in (regular expressions ftw). Maybe you should learn both...

[2] Pascal is a good compiled language with clean syntax. It will get you used to compiling as apposed to using an interpreter; because C and C++ are a little more difficult. Delphi is a good variant of Pascal.

[3] Learning one will make it easy to learn the other; some people recommend learning C++ first. I would say you should learn C first, because C++ is a superset of C (it was originally called "C with Classes" until it was standardized)

[4] Or any other functional language. They're supposed to really affect the way you think algorithmically

[5] Alot of people don't recommend assembly, because [on the x86] it's a little messy. But if you choose a good dialect (Intel) and assembler (nasm) and stick with them, it's really good. I think you should start off writing 16-bit DOS programs and boot sector programs (put them on a floppy disk and run them in e.g. qemu). The reason I recommend assembly is because it teaches you about how the machine really works (and what it's doing at the low-level). It also taught me about little optimizations (like using xor ax, ax instead of mov ax, 0 because it's faster, and how much strings affect disk space (I ended up using one string containing the entire ASCII charset, and using a loop to print from it because it was smaller) because boot sector programs have to be 512 bytes long).
which is asking too much.


Well, at least they can use a computer (define "use") they could ask you to teach them to use one because they don't enjoy feeling left out.
they could ask you to teach them to use one because they don't enjoy feeling left out.

That's asking too much.
I have had 2 people walk up to me and semi-ask to teach them to use a computer. If I do (as I said I would) teach them they will learn a *nix OS first, and possibly c++ because it is "one of the computer things", and I was teaching someone else (making it 3 people) but he was REALLY jittery withe the mouse and confused the left and right mouse button, and sometimes hit them randomly.
closed account (S6k9GNh0)
I require the people require the difference between hardware and how it matters in C++ and assembly and then I require they learn the basics of basics of assembly or at least the purpose of assembly. I also require they understand binary, how bit manipulation works, how to calculate it in binary. Normally I talk about hex but I don't do anything extended. And if they understand all of that, I wouldn't mind teaching the basics of programming then branching off further into C++. That's usually how my basic plan works out. :D
Man, your evil.

jk
I agree somewhat with chris, but would like to suggest an alternate method of learning from point #3, I think Java is a great language to learn to begin with as it is so object oriented. It also allows you to do more with the language without as much knowledge in the language for example in java you could start doing pretty cool technical GUI design, using linked lists/Collections/Iterators and complex algorithms, where in C++ most people get stuck on the basic language. People get stuck on the semantics of pointers/structs/enums/overloading operators etc... all the different forms of control. Whereas Java doesn't have this need, Java was not designed for such large scale projects and therefore the Java Virtual Machine (what the binaries run on) does most of the work for you. So really Java can be a sound starting environment, it allows you to appreciate the simplicity of the language, While also giving a good foundation for learning other languages.

However sometimes people need to jump in the deep end first in which case the above should be disregarded :)
closed account (S6k9GNh0)
My beginning languages were Unreal Script and Java.
@computerquip,
Why the hell would you teach someone binary and not hex? That's a bit... backwards, isn't it?

Java is a great language to learn to begin with as it is so object oriented

http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html (see "The Pitfalls of Java as a First Programming Language")
Pages: 12345