- DarkBen64
- |
- Legendary Member
Posted by: Pulse Cloud
My 2E-2 $:
1. Start with a simple scripting language.
-- Python is kind of badly designed, but it's easy and there's a ton of books and tutorials for beginners because Python's what usually recommended these days.
-- If you choose to learn Python, do not learn Python 2.x, learn Python 3.x.
-- I suggest taking a look at the Python 3 Essential Training video course from Lynda.com. It's... widely available.
-- Lua is a cool language too.
-- Do not waste much time here, just learn the basics, do some small projects and move on. Do not mess with 3rd party libraries too much. If you don't like what you've learned and experienced or find it excessively hard, you won't like programming.
2. Learn C. Work starts here.
-- Pick up a good book and learn the basics. DO LEARN pointers, they're the best thing about using C.
-- There's no need to mess with 3rd party libraries or anything really complicated.
-- GOD-TIER TIP: Do NOT use an IDE like Visual Studio or Code::Blocks or Eclipse. Use a simple text editor and a discrete compiler. The editor I use is Vim (GVim for Windows); it's very easy to use, you just need to memorize about 5 keys. You could also use Notepad++, it's pretty decent. You should definitely use the GCC compiler; I think you need something like MinGW if you use Windows (it's kind of like a GCC port for Windows). Makefiles are cool too.
3. Learn an Object Oriented programming language.
-- By this time you should have a fair knowledge of what programming is about. Feel free to use whatever tool you need. Visual Studio is pretty great. If you're a college student you can get Visual Studio Professional (and other tools) for free from DreamSpark. I love Vim, so it's all I use.
-- I like C#. Use Mono if you're a Linux user. Because I'm used to it I also use it for Windows, but you don't need to worry about it if you use an IDE like Visual Studio.
-- Java is very widely used, but I absolutely HATE it. It's a valuable tool, nonetheless.
-- C++ is a tremendously complicated language. Do not mess with it until you are an experienced programmer. It's NOT just an extension of C or "C with classes". Anyone who says that deserves a severe beating.
4. Let your mind be blown by completely different paradigms.
-- Take a look at Common Lisp. You will become a better programmer and a better person.
-- Buy an AVR or a PIC and learn how C for embedded devices works.
-- Learn Assembly. You can use the microcontroller you bought (AVR or PIC) or just use a simple microprocessor. The 6502 is cool and there are lots of simulators available on the Internet.
-- Do not fall in love with hardware: loved ones will begin to seem less and less interesting because of how fun it is to make something actually tangible work.
5. Get an awesome job.
-- By this time you should have a much broader experience than 99% of the code monkeys out there, so it shouldn't be too hard to find a fun job.I'd agree with this so much. But Python 2.x over Python 3.x at this point. Seriously, 2.x has FAR more support at the moment. Don't look over BASIC to help learn the basics of programming, BASIC might look overly simple but it's actually very powerful.
EDIT: Also, hardware is FUN! Something like Arduino is really good to get started programming (it was the first platform I self-taught myself) and it's really simple to get into circuitry and embedded programming.
[Edited on 01.06.2013 9:46 AM PST]