Fastest and easiest way to learn programming

I love this thread. I’m just catching up but I think I saw my life flash before my eyes :slight_smile: I can only imagine where I would be now if when I was his age I had access to a community like this. I started at 11 on a Commodore VIC 20. I couldn’t wait for that next Commodore magazine to come out every month. That was basically all there was available to me at the time.

As far as learning the fundamentals & C++… He’ll get all that when he goes to college. The fact that he’s here at 14 tells me there’s no doubt he’ll be there and doing fine in a few more years :slight_smile: @ noob123, just have as much fun coding as often as you like right now. Make games, websites, whatever inspires you and don’t worry about doing it “right”. If it works, it’s right! With so much info about patterns & layers & frameworks, etc. available today it’s very easy to feel overwhelmed if you try to absorb it all. Get an idea for a program and start writing it! When you come to a problem you don’t know how to code - go learn something new. Rinse & repeat.

Welcome to the community! I think perhaps you’re our youngest member?

Why isn’t VB available yet? Seems like just the thing for laying out graphical applications? Everyone is trying to develop GUI controls, but VB comes with all of that ready to use and thoroughly documented, debugged, etc.

Ditto, with the exception that mine was the Commodore 64. I took my Battleship game a drilled out every peg hole in one of those plastic squares, then filled each hole with a red led. Wired them all up to a few IC’s then to a ribbon cable that plugged into its parallel port. That was my first crack at crating images, and drawing patterns. Ahh… the good old days :wink:

I have no idea what my problem is with .net though. I moved from basic to assembly then to C. Have remained there ever since. Assembly was a walk in the park for me to learn, so was C. But i personally am having the most difficult time learning .net more than any other language.

I am starting to feel that i am just getting to old, like you cant teach a old dog new tricks.

@ noob123, you keep it up you will get there! The proof is that your here.

You are in a very exciting time with software and electronics. Compared to our days when we had to wait 7-10 minutes to wait for the UV lamp to erase the EEprom’s every time we wanted to change the code :wink:

A teacher had this on the chalk board, which is so true for many of us here.

“The brick walls are there for a reason, The brick walls are not there to keep us out.
The brick walls are there to give us a chance to show how badly we want something.”

FWIW, a “true beginner” might find time well spent playing in PowerShell.
PS:
[ulist]is syntactically flexible enough to let the beginner write functional code (and thus feel “productive”)
requires only PS ISE for debugging (comes with Windows 7+)
provides easy access to 99.44% of the .NET libraries, making POC code that much easier to write
uses a C#-sorta-like syntax so that the move from PS to C# feels more familiar
[/ulist]

For me it seems so weird how computer are powerfull compared to the old ones.

@ Hoyt

Because VB support was only added in the 4.2 release of the .NET MicroFramework SDK, which hasn’t been out all that long, and it takes time for folks like GHI to integrate a new version of the SDK into their products.

I think you may be confusing the Visual Basic language with the environment its running in. VB the language has no inherent knowledge of GUI controls. Those are provided, in .NET on Windows, by either the Windows Forms libraries or by Windows Presentation Foundation (WPF). So in a sense, it’s quite similar to the situation with .NET MF, you’re just using different libraries for the GUI on NETMF (such as the version of WPF that is supported on NETMF, or Glide, or the stuff Skewworks is building, etc.).

Once the NETMF 4.2 SDK is integrated with GHI’s stuff, you’ll be able to write your code in either C# or VB, but you’ll still design the UI the same way you do today. The addition of the VB language doesn’t imply that you’ll suddenly be able to drag and drop controls onto a design surface as you do in a Windows app.

Hope that makes sense.

I don’t know if I should lean towards vb or c#

@ ian and @ jdal

I started out on a Commodore PET, and my friend and I would take great pleasure in loading up text-based games from the cassette drive, then spelunking in the BASIC code to figure out how to change it so the game would say naughty words. Ah…youth!

I later owned a C64, but didn’t really get back into programming until years later when I got bored with working in technical theatre (and got tired of the low pay) and started learning Visual Basic 3 and 4 back in the late 90s. The rest…as they say…is history. :slight_smile:

For now programming to me seems like memorising. What does it fell like to you?

@ noob123 - in .net land, these two languages are almost identical, except for the actual syntax. There used to be a wider gap between what each could do, but that has essentially disappeared. It is mroe important to understand common constructs (for example, looping) and object oriented concepts. These are “cross language”, hence will serve you well in any language.

[edit] @ noob123 - thanks for getting this crew fired up on the topic!

Thanks

I recommend C# since it’s more similar to most other languages that you will encounter. VB has a lot of other weird keywords you have to remember and frankly makes it more difficult to switch back and forth between languages if that’s what you’re used to. I started out my career in VB and did that for many years until C# was released. No looking back now. Also, if you look at job availability and salary surveys you will find most locations prefer C#.

There is definitely a TON of studying involved in being a pro programmer. But, once you get past understanding the basics the rest really fits together more through logic than memorization. Visual Studio’s Intellisense feature takes out a lot of the memorisation that used to be required. If you don’t like studying/learning then this is definitely the wrong career path. However, I doubt that describes you.

Yep usally don’t try to use intellisense because it takes away form the memorisation. Studying/learning for me is a good experience too look back to. I find programming to be a better activity than playing video games. I sent about 3 years learn a program called blender3d and I always look back to the learn expreince.

@ Hoyt

In addition to what devhammer mentioned… Did you know that C# has all those same capabilities? You should step outside of NETMF and try creating a quick C# Windows Forms app. You’ll find all the same drag-n-drop capabilities you’re referring to as a VB “feature”. The only meaningful differences between VB & C# are semantics.

Yep eventually I want to do a windows form and a NETFM in the same program.

I am trying to save up for a fez cobra.

If your objective is to get a board with a display then I’d recommend you look at a Hydra plus a display instead. You’ll get a more powerful board for less cost plus it’s the latest and greatest technology :slight_smile:

Throwing in my late 2 cents

  • Learn to Touch Type
    Programming requires alot of typing. If you don’t learn to touch type then everything that you do will take a long time and it will be a source of fustration when you’re learning.

  • Learn about Pesudo Code
    Your question was about learning to program, not learning a language (although I assume that your intention is to learn a language). Real Programmers are language independant. It won’t matter if you learn C, C++, Objective C, C#, F#, VB.NET, Java, JavaScript… etc once you learn how to conceptulize a program in your head, the hard part is done.

  • Learn to Desk Check
    Deskchecking is part of learning pesudo code; you basically run the program on paper and verify that at the end of the process the expected result is correct. My pesudo code lecturer would start us of with statements like:

  • Stick to it
    Every programmer that I know has encountered “The Wall”. This is a decision point that they all arrived at early on in their training. “The Wall” is a problem that seems insurmountable (programing wise). It will get you fustrated, you’ll curse the computer, you’ll get sad, you’ll question yourself and you may even cry (well the females cried). At that point you will need to make a decision either to abandon programming or solve the problem. I’ve heard different stories from people who hit their wall; one chick drank a shot of tequila and then figured it out, another chick fell asleep at the computer crying woke up the next day and figured it out. Guys have lost work due to disk failure and had to start over (btw source control is your friend). I tended to shift+delete all the code and start over.

  • Find a friend
    Everything is harder if you do it alone. Find someone, anyone with the same goals as you and collaborate.

  • Know your history
    http://www.digibarn.com/collections/posters/tongues/ComputerLanguagesChart-med.png

  • Start with the BASIC
    http://en.wikipedia.org/wiki/BASIC - It is made for beginners.

Good luck :smiley:

[quote]- Find a friend
Everything is harder if you do it alone. Find someone, anyone with the same goals as you and collaborate.
[/quote]

The members of this forum are a fantastic resource. I’m a n00b to electronics and have limited programing experience (all in c sharp and a bit of VB from ye olde days). The support and encouragement found here is second to none. The really nice thing is that on this forum no one is judged by their experience level, and no question is too small to ask. After all everyone is here to learn about the platform and what we can all do with it. ;D

@ HughB, :slight_smile: That’s true