Learning to program

I'm an I.T. admin for a medium sized business. I do well at what I do, which is network infrastructure management and things of that nature. However, I find myself falling short due to not knowing even basic 'programming' such as powershell. Also, since I can't develop my own software, I am unable to quickly resolve some of the unique problems that we run into managing multiple different complex systems that healthcare requires.

That said, in the past I've taken a few different approaches at attempting to learning programming languages. I've attempted to learn C# through a book. I took an online class on Visual Basic. I tried following online self-guided courses on Java. None of them seemed to "stick" with me, and I never got anywhere with them.

I don't necessarily need to learn power shell first, but I want to learn something that'll assist me in learning other languages... something that gives me an advantage in the job market, and in my career. But I also need an easy way to learn it.

What say you, tek community?

This is for powershell it's self, Microsoft does have powershell tutorials out there via MVA.

If you have a reputable community college in your area, you could also look to see if they have computer programming certificate programs you can enroll in. I'm currently at a cc for an associate's in programming, and for me, the classroom environment is great at teaching the basics of programming.

The best thing I can suggest is to think like a programmer, you need to be able to break things down into single functions and relate them to each other to complete the complex task. Being a network admin, this might already be in your wheelhouse, just might need some fine tuning.

My last piece is you need to make the hurdle to learn the first language, that's always the hardest. But once you learn one, most are very similar it's just applying that specific syntax.
Good luck!

Well, I don't specifically need to learn powershell, so far all of the needs that I've had to use powershell for I've been able to use google and piece the parts together to get a cohesive script out of to use. I was just using that as an example of an end game.

I'd like to learn something more useful, more powerful, and use what I learn from that to make learning other program languages easier, including powershell.

Sadly I don't have time to enroll at a CC right now. I've been trying to find the time to go back to school and start working towards my degree in Network Engineering. I may need to learn Java or C++ for that degree anyway.

My boss, who was a software engineer and consultant from the mid 70's to the mid 2000's, tells me the same thing. "Think" as a programmer, sadly that doesn't really translate well to me, as he started as software and worked his way into hardware. I'm more hardware, and trying to break into software. I can put together complex tasks to make a cohesive network, but doing that in syntax seems more difficult.

I'm not sure exactly what they offer but the Code Academy is always a good starting point

And word of advice, if doesn't matter which programming language you start with. The only difference is the syntax. The concept is exactly the same across the board on all modern languages.

http://learnpythonthehardway.org/book/

Absolutely excellent book for free online that can help you do exactly what you're trying to do. I'm currently on exercise 15 myself.

1 Like

This is true for languages that follows the imperative / OOP paradigm. The switch between an imperative approach to a functional (or procedural) approach is not so easy as looking up the new syntax.

Most are somewhat the same, but the syntax could be entirely different, or the syntax used for one language could be shortened in another.

For example in Java, to output text, it's

This may be shortened or just different entirely in let's say C or C++.

Which again is mostly true for imperative languages (C, C++, Java, C#, VB, ...).
But, I'll iterate again, that the jump between let's say C++ and Haskell (or Lisp, Prolog, Scheme, ...) which is a purely functional programming language is not easy as it may seem.

A functional programming language has an entirely different approach than an imperative one.

Fair enough.

Though personally i use what's easy to get to other platforms. I'm lazy lol

After I master Java, I'm going to C or C++ next.

But yeah. I do get your point :)

1 Like

Go for python

well there are plenty of resources to help you with this

https://www.codecademy.com/

https://learnxinyminutes.com/

http://www.w3schools.com/

http://www.lynda.com/

Choose one that seems the most helpful to you, all programming languages have a place

This. It's an excellent way to learn programming skills in general as well as Python. Great reference @Raate

Thanks for all the input yall. I've been considering the languages to learn, and have come to a pseudo conclusion on what I'm thinking I'd like to do, and it may sound backwards but that's usually how I end up doing things anyway.

I'm considering learning C++ as it's the more difficult, and useful, languages but also apparently a little bit easier to code with. Afterwards I'm considering learning Java, since that's what almost all networking devices run off of anyway.

That being said, what's a good resource for learning C++, java? I checked out the links given in this thread but didn't find anything really pertaining to C++.

Also, don't take this as a guarantee. I see several people recommending Python so I'm going to look into that as well.

I have watched some of the Java videos from TheNewBoston but haven't watched the C++ videos on the same site.

His Java videos get straight to the point and are well organized in categories that are easy to reference later if you are stuck with a specific topic (methods, variables, classes, etc). I would definitely suggest the site as a great starting point.

The best way to learn how to program is to find something you actually need to do.
There's no point in making something in VB if it serves no purpose to you at all, you're better off starting with little scripts that will help automate things you have to do everyday, for example.

2 Likes

If you don't mind paying, I put a list together some time ago: https://forum.teksyndicate.com/t/best-programming-books/84936/9

Thanks a ton. I don't mind paying at all.

I automate everything i have already through powershell, group policy, or scripts. I'm only learning this to enhance my resume and skill set as an I.T. pro.

There are specific problems that come up occasionally, as stated in the OP, that I'd like to write programs for, but the one I was talking about specifically I probably couldn't come up with a resolution for anyway.