Programming as a hobby

Cookieman

BSOD Kernel Dump Senior Analyst
Joined
Jun 21, 2012
Posts
124
Location
Lincoln (UK)
I have always enjoyed the thought of programming but actually learning of it has been a different thing. I did start a college course at night school one day per week back in 1999 using C, but after 6/7 lessons I decided to quit the course due to other computer courses I was attending at the time, combined with work, it was very difficult trying to juggle everything in with the hours I had free. When I look back it was one of my biggest regrets.

However, more recently my interest have been growing in programming again, I guess the interest is implanted inside me from the days of the ZX Spectrum when you spent countless hours typing out pages of programming from a magazine only to find a syntax error when you ran it! I have recently taken a peep at C++ and C# from online tutorials and I am wondering which is the best to learn as a hobby. My current understanding of the languages is very basic to say the least, I can just manage to put out an 'hello world' program but I do have the patience to learn!

Besides the syntax, what would be the main difference between learning C++ and C#. I know C# is more .net orientated so should this be the logical way to go for programming with windows?
 
As a hobby? It depends on what you want to call as your hobby?

Only Windows OS development? Multi-platform? How advanced of programs do you intend on making? And what do you plan on programming; Games, Desktop Software, Hardware, etc...?

C# is nice, C++ is much more frustrating to actually get a good grip on. For C#, you've also got Mono if you plan on Multi-platform development. C++ has the ability for Multi-platform too (not talking about VisualC++ using .NET framwork or anything like that. Standard C++ libraries).

Remember though, even inside each category of programming, there are various groups as well.

1) Gaming
-DirectX
-XNA
-OpenGL
-ect...
 
I am with AceInfinity in that I really like C#. Learning to make Console Applications in both C# and C++ is very easy, and in fact, at this level, both languages will be virtually the same. However, beyond this, many people struggle to take C++ any further, as making a GUI in C++ can be fairly complicated. I am not saying that nobody can do it, merely that it will take a lot more time and frustration trying to make your first interface in C++, unless you have a good book.

Personally, I would recommend C#, and it is what I started out with. The initial stages of learning the language, Console Applications, is very similar to C++. After that, however, .net and WinForms (or WPF, which I hate :p) will allow you to quickly start making more useful programs.

Once you have an extremely solid understanding of .net and WinForms, you could either move into game making with XNA, or you could move over and learn C++ as well (both are C-based languages, but you will very quickly come to appreciate the .net string class as a beginner :) )

C# is probably the easier of the two languages, allows an easy transition to C++ when the time is right, and has a huge amount of power. Personally, I would go with C#.
 
Thanks for both your replies here

As a hobby? It depends on what you want to call as your hobby?

Only Windows OS development? Multi-platform? How advanced of programs do you intend on making? And what do you plan on programming; Games, Desktop Software, Hardware, etc...?

As a hobby I mean as in my own spare free time and not profressionaly. I am looking at Windows OS based development as that is my main platform from which I run. I would be looking in the long run to probably learn more of the software side of thing. Im not a gamer so I dont have any intrest in that avenue.

Personally, I would recommend C#, and it is what I started out with.

I think the idea of C# is sounding better to me too. Ive taken a peep at a few sites that offer free tutorials for C# and I can see that their are plenty of them around. I guess its then a case of walking and not running ahead of myself, taking it steady and understanding what I am doing.

Cheers!
 
As niemiro mentioned, console apps if you're aiming in terms of desktop software is probably the best starting point. No need to worry about how a GUI interacts with the code you combine it with or anything.

If you're aiming for the 'future' in Windows 8 development, then WPF is almost most necessary, if you want to keep their theme. Although if you just want a regular Windows application to do for Windows 8, then a basic Windows Form app does also work.

WPF is for the programs mainly in that tileview they give you though; fullscreen ones. For that though you need to know how to make effects and your GUI layout through XAML. Which is similar to HTML or XML.

One thing here though which niemiro implies which is not entirely correct, is that XNA and C++ are both C-based languages. XNA was mainly created for C#, although Microsoft came out with VB support as well a little while after they released that framework for game creation. XNA is not a language either, it's only a framework, but initially it did only support C#.

C# is good for starters though. If you're super obsessive about learning a programming language to get into advanced development sooner rather than later, then you can try C++, but most people don't get it right away because there's just too much to deal with. Many many different types, you manage your own memory, etc...

I post tons of C# stuff on my own forum along with examples, but i'm not going to post a link here to take away from this forum. I have posted several stuff here, that i've shared on my own forum, but not everything. Right now there's probably about 5-10% of the examples that i've taken from my forum from which i've posted and shared it with the programming section over here. I'll try to post a bit more. Maybe move closer to the beginner stuff though as a few of the threads i've been posting has been on the slightly more advanced side.
 
Last edited:
AceInfinity said:
One thing here though which niemiro implies which is not entirely correct, is that XNA and C++ are both C-based languages. XNA was mainly created for C#, although Microsoft came out with VB support as well a little while after they released that framework for game creation. XNA is not a language either, it's only a framework, but initially it did only support C#.

Sorry about that. I meant that C# and C++ are both C-based languages, although I will be the first to admit that I didn't make it very clear in my post. Thanks for watching my back :)
 
Last edited:
While in Corporate Finance, Accounting Policy & Tax at a Fortune 10 corp after college 20 years ago, the "systems people" used to bring dozens of boxes of 11x13 green-bar paper containing ABEND hex dumps to explain to me why a $10s Million tax project was years behind schedule & needed continued funding. "It's complicated" - their favorite saying.

My hobby then became learning IBM VS COBOL, CICS, VSAM, etc... on my own time.

Then the day came when they showed me the ABEND dumps again.... this time I could actually read them. I ended up taking over as the director of the systems side of the tax project and with 62 systems analysts finished the new tax system just 8 months later.

Point being - we were told mainframe COBOL was dead in the early 90s, only to see it come back with a vengeance a few years later.

Not saying that will happen here, but IMHO, it is just too soon to say exactly where the future will take us. After all, Powershell was supposed to replace CMD/batch ... how many years ago...?

You never know what will or will not be here and in use 10 years from now.

That's my perspective from the accounting and auditing end! :)
 
They started adopting Powershell with Windows by default in Windows 7, and they kept it in Windows 8, it's still there otherwise they wouldn't have cluttered the OS up for no reason if it's not going to be used, at least at some point in time :)

I enjoy Powershell
 
Well I installed Visual Studio Express 2012 with the intention for starting on Win32 Console apps but it appears like the 2012 version does not support console apps, there us no option to create one! It looks like I will have to uninstall 2012 and install Visual Studio Express 2010 in its place.

:banghead:
 
Well I installed Visual Studio Express 2012 with the intention for starting on Win32 Console apps but it appears like the 2012 version does not support console apps, there us no option to create one! It looks like I will have to uninstall 2012 and install Visual Studio Express 2010 in its place.

:banghead:

Yes...that has been a decision taken by Microsoft to encourage people to write Metro apps. It is incredibly annoying.

Just on the offchance...are you a student or an academic? Do you have a .ac.uk email address? If so, you should be eligible for Microsoft Dreamspark: https://www.dreamspark.com/

If you aren't, then it isn't a problem, as the Express Edition will serve you perfectly well, especially whilst you are just getting started. I just wanted to make you aware that it was there, just in case you didn't already know.
 
I program for fun. It's a big puzzle. I program in VB and Batch. It's the quickest and easiest for me. I had to program a robut to do a Figure 8 back in college with C/C++, but I can't stand C++.
 
I program for fun. It's a big puzzle. I program in VB and Batch. It's the quickest and easiest for me. I had to program a robut to do a Figure 8 back in college with C/C++, but I can't stand C++.

C++ is just a bigger "puzzle" that's all... Doesn't that make it more fun? *scratches head*

:lol:
 
VB = 1000 piece puzzle. C++ 10,000 piece puzzle. :smile9:

I have programmed in most languages.. so I'm surprised I forgot to add Perl which is another I like.
 
VB = 1000 piece puzzle. C++ 10,000 piece puzzle. :smile9:

I have programmed in most languages.. so I'm surprised I forgot to add Perl which is another I like.

Same, not sure why it's more widely used because it's very similar to PHP, but Perl also has threading abilities.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top