Learning Code (And All Around Computer Knowledge)

This year (I'm a sophomore) I have been taking visual basic using Microsoft visual studio. This is really the only programming class my school offers. I would like to take my computer knowledge further. I have what I would call elevated computer skills or knowledge over the standard person. But I know I could learn a lot from all of you. I'm thinking about entering a computer field because it is something I'm interested in. Next year I plan to take web design and a course on the making of circuit boards and other computer parts. I'm really interested in learning more but don't know where to start. 

My questions are:

* What programming languages should I try to learn?

* What can I use to learn them? (Websites, Youtubers)

* Any other useful computer skills I should try to pick up?

* Any Linux distros you would recommend? I've been experimenting with Virtual Box.

I'm not experienced in programming so websites that start with some of the basics and allow me to learn enough to experiment would be great. Thanks for any help you can give.

Matt

PS: Sorry if this is in the wrong topic. Mods go ahead and move me if needed.

 

www.google.com

Linux forum on this site

Programming sticky under Code

For computer skills that you should pick up, I would say to learn a little about everything and the get into more and more detail as time goes on. Take everything piece by piece, don't study one part in detail and then do the same for the next. Learn everything at a gradual pace. 

If you're making programs or planning on programming circuit boards or any large scale program then C/C++ is generally the best way to go. For web development HTML/PHP/CSS/Java. If you want to expand your knowledge learn some scripting languages such as Lua. Python and Perl are great and Ruby on Rails is an option for web development. Basically... you can't go wrong with the more main-streamed coding languages now and days, they have their advantages and disadvantages but C/C++ is the most widely used especially in hardware development.

 

There are a number of places to learn how to code and do other technical things. Youtube can be great but remember like wikipedia anyone can put anything up there. Some languages you can find some free books or tutorials online as well, just search around.

 

Learn end-user IT skills such as the ones you'd need to get an A+ certification. Learning to logically step through the information and come up with solutions, test them, then apply fixes is an incredibly transferrable skill when it comes to bugfixing code. It's the same process, you're just working with code and not actual hardware.

 

Pick a linux distro, but pay attention to its base as many derivatives of the same base are extremely similar to work with. Ubuntu derives from Debian, so the way you control it at command line is very similar as well as what packages are available.

For web development, HTML/PHP/CSS/Java is a good start. I'm also new to programing and found free courses on the internet, the one i think was easiest to get started with was codecademy.com. They also have courses in Python and Ruby... very basic but might be a good place to start?

As for other usefull computer skills it's always usefull to know the hardware you're programing for, eg. servers for web development etc. 

When it comes to finding a Linux distro it's very personal, would you lika a GUI or just run commands from terminal? Google for different distros and try a few, that is the best way to know what you settle for later.