Learning programming for a newb
drrossgellar
Member Posts: 4 ■□□□□□□□□□
Hello all
I posted this in the general certification forum, but I didn't get much feedback (I think it may be better served here. I made a note to move the thread.) so I thought it may be better here. Is it ok for me to move it? Thanks.
I have been looking into various programming languages in the hopes of learning and maybe becoming a Software writer. I have looked at some books, but I'm not sure if they are the right ones, and I seem to get bogged down very quickly with the language. I have checked in my area for any classes that might be useful, but there aren't any. I'm finding it really difficult to learn. Does anyone have any suggestions? (Maybe I'm not smart enough/have the aptitude for it?, I dunno).
Cheers
I posted this in the general certification forum, but I didn't get much feedback (I think it may be better served here. I made a note to move the thread.) so I thought it may be better here. Is it ok for me to move it? Thanks.
I have been looking into various programming languages in the hopes of learning and maybe becoming a Software writer. I have looked at some books, but I'm not sure if they are the right ones, and I seem to get bogged down very quickly with the language. I have checked in my area for any classes that might be useful, but there aren't any. I'm finding it really difficult to learn. Does anyone have any suggestions? (Maybe I'm not smart enough/have the aptitude for it?, I dunno).
Cheers
Comments
-
JoJoCal19 Mod Posts: 2,835 ModHi drrossgellar, Im not a programmer but a year and a half ago before the bottom fell out of the economy I was going to learn programming and try to move from desktop support to development and since I had a Java programming class when I got my AS I knew I could learn. The series of books that really stood out to me were the Murach series of programming books and the Dietel How To series.
The Murach books are available in Visual Basic, Java and several others and are really really easy to understand and also give you examples. I really like my Murach beginning Visual Basic.net book.
The Dietel series are more complicated and very thorough but if you can go through the entire book you would be very knowledgeable and should be able to program. They are really thick, like 3+ inches thick and cover alot of material. A lot of universities use them for the class textbooks.Have: CISSP, CISM, CISA, CRISC, eJPT, GCIA, GSEC, CCSP, CCSK, AWS CSAA, AWS CCP, OCI Foundations Associate, ITIL-F, MS Cyber Security - USF, BSBA - UF, MSISA - WGU
Currently Working On: Python, OSCP Prep
Next Up: OSCP
Studying: Code Academy (Python), Bash Scripting, Virtual Hacking Lab Coursework -
elaverick1981 Member Posts: 161Hi Drrossgellar,
Learning programming is not going to be a quick task by any means and I'd certainly not suggest it as a quick method of a career change. If you're looking into learning for its own sake and you've got a bit of patience then it can be very rewarding.
The lack of classees is going to make things tricky, and learning from another person face-to-face is by far the prefered route. It will stop you falling into bad habits (of which there are many). You can however go the self taught route and there are a number of things that can help you with this.
Choose a programing language for which there are plenty of free resources and the ability to find good paid resources for once you're a bit further in. Java, C# and Visual Basic.NET are all good choices. Java is nicely structured, entirely free and supported on Windows, Mac's and Linux (as well as a lot of mobile phones in its J2ME flavour). However the development environment can be a bit intimidating to set up at first. Visual Basic.NET and C# are both very similar, in terms of syntax and their development environment. You can get free copies of Visual studio for both and you will find that if you move to a commercial environment the tools will be instantly familar. As a C# programmer I have a bit of a bias towards C# as a language. While Visual Basic.NET has come a good way in maturity it is still regarded by some as a beginners language and you may potentially come across a bit of a stigma in the industry for this reason.
Assuming you go for the the Visual Basic/C# route, there are tons of resources available for beginners on MSDN (Visual C# Tutorials and How Do I Learning Resources on MSDN) and sites such as C# station (C# Station: C# Tutorial Lesson 01 - Getting Started). I'm a big advocate of learning by doing. Until you get some code down its going to take a while to get the feel of what you're trying to achieve.
The next thing you need to do is find a good and active developer community where you can compare notes and ask noobieish questions (you will have lots, its nothing to worry about, programming requires a radically different mind set to most other tasks). A quick Google about should help you find somewhere. Microsoft do have their own developer community forums but I tend to find them quite full and your question can quickly get lost among the herd. Its also a good idea to learn to phrase questions to elicit the best help possible. There are a lot of people out there who are prepared to give you the time read through your questions and give you good full answers, but at the same time there are a large number of people who will take one glance at your question and just ignore it. Well phrased questions tend to get a lot better responses than quick off the cuff ones.
What ever route you decide to take, good luck. And be sure to let us know how things go.MCSE - Windows 2003
Random Output - Certification Blog and Wiki -
JDMurray Admin Posts: 13,101 AdminIf you want to learn programming with the possibility of earning a living from it, choose either Java or C# as your first language (I like .NET's Visual Basic 2008, but there's much more demand for C#). The Murach's Java SE 6 book is very good and highly recommended, as is the Head First series (Head First Java, Head First C#, and Head First Design Patterns) from O'Reilly.
Programming is something that you should find enjoyable if you really want to do it successfully as a living. -
whatthehell Member Posts: 920What does everyone think of Python for a first language to really dive into?
Too high level?
I agree that VB.NET would be great, as well as C#, but I am actually going through Python (albeit slowly) and it has been gently easing me in quite nicely.
MIT offers free Open Courseware (Free Online Course Materials | MIT OpenCourseWare).
The Intro Computer Programming class offered free is actually instructing Python. There is a link to a free book and all the course material, so good stuff.
Also, many other courses offered too, in case anyone else wants some networking classes, etc.
Also, what about the next step in learning a language? If there is no formal work training, what do you guys think about doing eLance or freelancer projects? Too early to jump into something like that, yes?2017 Goals:
[ ] Security + [ ] 74-409 [ ] CEH
Future Goals:
TBD -
Slowhand Mod Posts: 5,161 Modwhatthehell wrote: »What does everyone think of Python for a first language to really dive into?
Too high level?
I agree that VB.NET would be great, as well as C#, but I am actually going through Python (albeit slowly) and it has been gently easing me in quite nicely.
MIT offers free Open Courseware (Free Online Course Materials | MIT OpenCourseWare).
The Intro Computer Programming class offered free is actually instructing Python. There is a link to a free book and all the course material, so good stuff.
Also, many other courses offered too, in case anyone else wants some networking classes, etc.
Also, what about the next step in learning a language? If there is no formal work training, what do you guys think about doing eLance or freelancer projects? Too early to jump into something like that, yes?
I can give another vote to C#, backing up JDMurray's recommendation, mainly because I've found Microsoft's Step by Step books to be excellent as of late. The Wrox book also looks to be excellent, I've used several of their other work in my IT career.
Free Microsoft Training: Microsoft Learn
Free PowerShell Resources: Top PowerShell Blogs
Free DevOps/Azure Resources: Visual Studio Dev Essentials
Let it never be said that I didn't do the very least I could do. -
drrossgellar Member Posts: 4 ■□□□□□□□□□Wow, a lot of responses. That's good Thanks.
I bought Teach yourself programming in 24 hours, and have been going through it slowly. I understand the start of the book, but there seems to be some leaps that I can't quite make and then I get lost. I feel like If I could actually write out the code for soemthing I could maybe start to grasp it, but I can't seem to break the logic down enough to start and write anything. I remember years ago an old tutor saying to me that when it comes to programming you either take to it and have it, or you don't. It seems to be a very specialised way of thinking (as elaverick1981 says above). I thought that a class would help, but there isn't one in my area at all. I could take a bachelors in CS or software eng, but I feel it may be a little overkill straight away.
I think I'm feeling as though I should be doing better. I'm a fairly smart guy, and thought I would adapt to it quicker than I am. It's a shame you can't ask the book questions.
-
elaverick1981 Member Posts: 161Don't get to disheartened. There's a lot to pick up and those teach your self in 24 hours books do tend to rush you a bit.
Grab yourself a copy of Visual Studio Express and try a few really simple exercises.
Everyone first should be a console based application that prints Hello World to the screen.
Next try some simple maths. Create 3 integer variables, assign numbers to two of them and then add them together and store the result in the third variable. Now modify your original hello world program to display the result of your calculations.
After that have a look at some if statements. If the result of your calculations is greater than 5 have it print "More than 5" if its less then have it print "Less than 5".
None of this is going to be world shaking stuff, and you might find it a bit boring to begin with, but some simple drills like this should test your understanding of basic concepts.MCSE - Windows 2003
Random Output - Certification Blog and Wiki -
whatthehell Member Posts: 920Thanks for the recommendations slowhand!!!
I am going to pick apart C# first I believe, while peeking at Python a bit during and mostly after.
Either way, the water seems warm and might as well jump in!2017 Goals:
[ ] Security + [ ] 74-409 [ ] CEH
Future Goals:
TBD -
Slowhand Mod Posts: 5,161 ModThere are also some good projects out there to try, in cases you feel like you're easily bored or want a bigger challenger.
Free Microsoft Training: Microsoft Learn
Free PowerShell Resources: Top PowerShell Blogs
Free DevOps/Azure Resources: Visual Studio Dev Essentials
Let it never be said that I didn't do the very least I could do. -
JDMurray Admin Posts: 13,101 AdminAnd you can learn a lot from what you can find with code search engines, like Krugle - Transform Code into Profit. and Google Code Search
-
JoJoCal19 Mod Posts: 2,835 ModI would recommend you get Murach's C# 2008
I dont have that exact book but I have his visual basic book and it is truly awesome. I also have one of the Java books and its good stuff too. His teaching style is great for beginners. I do agree with others that C# is probably the most in demand. It used to be Java was taught for most beginning programming classes but now all I see is teachers using C to start with.
And dont be discouraged. You definitely CAN get into a programming job by being taught. It just takes dedication and lots of practice and find an entry level job and apply for it. If you can demonstrate the skills you will be ok.Have: CISSP, CISM, CISA, CRISC, eJPT, GCIA, GSEC, CCSP, CCSK, AWS CSAA, AWS CCP, OCI Foundations Associate, ITIL-F, MS Cyber Security - USF, BSBA - UF, MSISA - WGU
Currently Working On: Python, OSCP Prep
Next Up: OSCP
Studying: Code Academy (Python), Bash Scripting, Virtual Hacking Lab Coursework -
skrpune Member Posts: 1,409drrossgellar wrote: »Wow, a lot of responses. That's good Thanks.
I bought Teach yourself programming in 24 hours, and have been going through it slowly. I understand the start of the book, but there seems to be some leaps that I can't quite make and then I get lost. I feel like If I could actually write out the code for soemthing I could maybe start to grasp it, but I can't seem to break the logic down enough to start and write anything. I remember years ago an old tutor saying to me that when it comes to programming you either take to it and have it, or you don't. It seems to be a very specialised way of thinking (as elaverick1981 says above). I thought that a class would help, but there isn't one in my area at all. I could take a bachelors in CS or software eng, but I feel it may be a little overkill straight away.
I think I'm feeling as though I should be doing better. I'm a fairly smart guy, and thought I would adapt to it quicker than I am. It's a shame you can't ask the book questions.Currently Studying For: Nothing (cert-wise, anyway)
Next Up: Security+, 291?
Enrolled in Masters program: CS 2011 expected completion -
TravR1 Member Posts: 332I learn better on my own, rather than in a classroom as well.. even if the teacher is good. Teachers have to move slower to appeal to all the different learning styles that are in the room whereas by yourself, you know how you learn and you can just get to it.
IMO programming is easier to learn than IT stuff because you can just download say Eclipse and start going with it and not worrying about labs or server software or hardware or anything like that.Austin Community College, certificate of completion: C++ Programming.
Sophomore - Computer Science, Mathematics -
JDMurray Admin Posts: 13,101 AdminAnd if any new Java programmers end up disliking Eclipse (as I do), please try the NetBeans IDE before giving up on Java. If you want to writing Java programs specifically for the BlackBerry, please try the BlackBerry Java Development Environment first.
-
TravR1 Member Posts: 332What is the difference from Eclipse and NetBeans? ... curious..Austin Community College, certificate of completion: C++ Programming.
Sophomore - Computer Science, Mathematics -
shednik Member Posts: 2,005I have to say after taking a data structure and algorithm course and it was focused on C. I actually prefer it now over Java & C# but I can look at Java and C# code alot better now after taking the course. So I'd have to C isn't bad to start off with...I did have a few VB courses before this one in my undergrad degree.
-
ServerProvides Member Posts: 20 ■□□□□□□□□□I have to say after taking a data structure and algorithm course and it was focused on C. I actually prefer it now over Java & C# but I can look at Java and C# code alot better now after taking the course. So I'd have to C isn't bad to start off with...I did have a few VB courses before this one in my undergrad degree.
C explains at a very low level how variables are stored in the computer. How they are referenced, ect. It is probably *the* best language to understand if you want to be a serious programmer, and I completely agree with you. After taking a data structures course in C (It's like advanced C with header, object, and source files) I found the OOP layout of Java and C# made much more sense. I think a lot of people devalue C because it's a procedural language and most code isn't written in it, but it really does teach you the foundations to build off of in the field of programming.Currently Pursuing...
BS in Computer Science