Hi!
I've been thinking about getting into programming for a while now, but I have no idea where to start.
Any feedback would be much appreciated.
How far have you got?
No farther than messing around with scratch...
I would start learning some Java or Python, if you know basic programming pseudo code like looping, arrays, if then, etc. I would look for a class with a local community college to get you started.
I am wondering what you want to do mean what type of projects when you program? Because when it comes to picking a language to learn it sometimes comes down to what you want to do. I, for example, write kernel modules and low level stuff dealing with the operating system so i force to code mainly in C. I also work with C++ and ASM for other other applications that i work on. Java and python are both good for writing general applications. if you want to write apps for Android go with JAVA. The downside to JAVA and python you won't to be able to directly manipulate and access memory as you would be able to in like C and C++. if you need to do that then your choice are limited. But the downside to C++ and C is you have to do all your own checking which leads to a lot of extra work. In java and python if the file that you are trying to open is not there then the program will error out, stop, and tell you that the file is not there but in C and C++ the program will most times crash if you don't handle it and tell you nothing.
It think Treehouse is the best place to begin. but it will cost you 25$ a month.
https://teamtreehouse.com/home
i tried codeacademy.com i liked it, u might find it useful try it
I think banana should start with free options to see if he likes programming first.
http://learnpythonthehardway.org/
Worked for me for the most part, I made a simple text based combat engine, but the random stuff for python didn't work out too well for me.
Coding, similar to math in a sense (albeit a bit more lenient) is a logical thing, so to become good at it, you will have to develop your problem solving which takes time.
Start with codeaccedemy to scratch the surface with python and java. Then I'd strongly advise learning C. Not C++, learn that after C. C will teach you how most languages work in the background. You can learn C through a variety of sources, I quite liked lynda.com for C when I first started. Then go on to learn C++. Once you learn these two languages you'll pick up everything else within a week or less. A weekend if you really want to.
That's my two cents
IMO for beginners, Java is a pretty good start. It has a good mix between programmer friendliness and core concepts. If you learn Java you will learn the ins and outs of all your C style constructs such as loops, you will learn about types, solid foundation for OOP and probably be working in an environment closer to what is used in a job i.e eclipse project management.
Compare this with Python, there is less emphasis on common syntax constructs, managing types etc. But it makes it a lot easier to just get started.
While I think going the slightly more difficult path is better for learning in long term, god I hate actually programming in Java :)
Agreed.
I really pinned down the (Java) programming basics one summer by reading this small-ish textbook (Horstman's Java for Everyone) and doing all the exercises/researching things they mentioned but didn't get into. I can't emphasize doing exercises/projects enough: since that summer, whenever I work with groups at uni I am the quickest/best programmer in the group. It's a very strong start.
Code Academy doesn't offer java exercises.
Haha I didn't end up touching the textbook very much, the software engineering lectures and tutorials/workshops are pretty good at my uni. So much so that I decided to switch my major from EE to SE recently since I was sick of the EE people lol.
lol i posted before scrolling
Code Academy is nice, but universities are better. If you are willing, there is nothing better than four years of uninterrupted study, casual sex, and responsible drinking.
As an older gent, I must let you know that outside of engineering (finance, consulting,...), EE means a great deal. From the right university, EE is a guaranteed job for many first-rate firms. Even from mediocre schools, EE will get you in the door. perhaps SE has ascended to that level, but when I was hiring analysts, EE was gold. Then again, if you want an engineering job, I know absolutely nothing.