Want to learn programming

I'd say VB.Net to get the logic in your head

Yuck
emot-barf.gif


In all seriousness though, the only real differences between C# and VB.NET are syntax and slightly different feature sets. C# is generally more widely supported but other than that they're pretty much the same language – they both use the same libraries and IDE after all.
 
These threads aren't always the same and from time to time I'm sure they turn out a decent coder. The rest of the time someone who 'wants to learn programming' doesn't, because they're recommended umpteen different languages and ends up half learning a propriety API, rather than learning computer science.
 
These threads aren't always the same and from time to time I'm sure they turn out a decent coder. The rest of the time someone who 'wants to learn programming' doesn't, because they're recommended umpteen different languages and ends up half learning a propriety API, rather than learning computer science.

You don't have to 'learn computer science' to be a good programmer. The principles behind programming yes, but not formal computer science :)
 
Last edited:
I agree that a good backround in none-language specific programming is essential to do well - learn about design, architecture and OOP - make full advantages of it.

To that end, whenever i'm writing C++ classes i design them so that they can just be dropped into anywhere they're needed with the minimal of fuss, but the same concepts equally apply to other languages.

It's got to the stage now where whenever i consider a problem, i analyse it by thinking in pseudo code - which is an excellent way to attack a problem as it means you don't have to figure out how to get from your problem > solution > program as your solution is the program!
 
I'd advise a proper OOP langauge like C++ AND a 'traditionally' scripting language - php, python etc.

I'd recommend Borland/Codegear C++ builder for an IDE - it's a lot nicer than MS VisualStudio - and doesnt put autogenerated code in header files!

I would argue that C++ is not a proper OO language like smalltalk and is a hybrid language.. Personally I find it a horrible language.. sure its powerful but there are so many little pitfalls in it that its really a bad choice for a beginner (http://www.horstmann.com/cpp/pitfalls.html). Silly things like exceptions in constructors only call local destructors when the exception is caught, wtf is that about.. Not to mention the syntax isn't exactly the cleanest. I'm yet to find a project where C++ would be the right choice over another language.
 
Last edited:
I have created this thread as I am looking at getting out of IT Support and moving into the Application development/Application Support side of things

What kind of applications do you want to develop? sysasmin tasks ? file processing? Web apps? Database driven apps? The language you pick to learn will depend on the answers to the above?
 
I would argue that C++ is not a proper OO language like smalltalk and is a hybrid language.. Personally I find it a horrible language.. sure its powerful but there are so many little pitfalls in it that its really a bad choice for a beginner (http://www.horstmann.com/cpp/pitfalls.html). Silly things like exceptions in constructors only call local destructors when the exception is caught, wtf is that about.. Not to mention the syntax isn't exactly the cleanest. I'm yet to find a project where C++ would be the right choice over another language.

I agree here; it's powerful but it's messy.
 
Messy?

I find the MS version of C++ to be incredibly messy, annoying, and just badly put together, i use Borland/Codegear version and the way i design the classes makes it one of the neatest systems i've ever used.

Most of those pitfalls are caught by a good compiler with ALL of the warnings and errors turned on - you can't just ignore it because you can turn it off. It basically comes down to programming discipline
 
How anyone can sit in front of a prompt all day coding and enjoy it, is beyond me


Having done both support (which I considered mind numbingly boring) and development, I can categorically say the latter is far more interesting. It isn't just sat "in front of a prompt all day", it's designing a solution and deciding the best way to implement it. The actual writing of code part is probably no more than 30% of a project I write, the rest being split between fuctional design and SQL.

The first time your project runs flawlessly is an amazing buzz :D Beats the hell out of the same old support issues day in day out!
 
Agreed, if you are just a code monkey then yes it can be quite boring, but if you're able to actually design the implementation then it's quite interesting - most of the task is design and research, maybe some test code to do proof of concept.

Once i've done that work it can only take me a few days to knock out a huge project (then several weeks of testing/bugfixing of course!)

Sometimes i can turn round weeks worth of work in a matter of days due to it being a lot simpler to implement than i had anticipated - the trick is to believe there is always a simple way to do somthing - if you find what you're doing too complicated, then break it down, make it simple.
 
From a beginners point of view I wouldn't worry too much about "doing things wrong" - it's probably better to make mistakes and learn from them than to avoid mistakes altogether. That way they'd get to see why doing something one way is better than another way - because they tried the other way and it sucked :p

believe there is always a simple way to do somthing - if you find what you're doing too complicated, then break it down, make it simple.

^ Just quoting that to emphasise it it! :) Simplifying early on can save massive headaches later on in a project.
 
Once you've decided which language you want to learn, you might want to consider popping into your local college and seeing what night courses they offer. Sitting down with a book and/or resources on the web is great if you're self-motivated enough to teach yourself, but if that's not the case then you may find a more structured environment to be a better option.
 
Yeah 'tis true, also if you want to know something and nobody's asked your specific question - or you don't know exactly what to google for to answer your question - you can get a bit stuck sometimes. But if you have a knowledgeable tutor at your disposal, you can ask all the awkward questions you want! :D
 
I've got nothing to do for one or two weeks until I go home from Uni. So I might download Python and get started with that. I've got a copy of VS2008 from Uni so I can play with C# later I think. :)
 
I started off with VB 6, then moved onto C and Java at uni.

If i was able to start again, I would start with C, it puts you right into the nitty gritty about how the computer works
 
I started with PHP, after learning the basics. Found PHP great, really easy to work with and if not requested by a client I will always code in PHP as it's more natural to me.

In the industry though, from personal experience .NET pays better.

I've gone the C#.Net root after spending a lot of time at uni working with VB.Net and I really love it, find Visual Studio perfect for a working environment.
 
I started off with VB 6, then moved onto C and Java at uni.

If i was able to start again, I would start with C, it puts you right into the nitty gritty about how the computer works

The problem with C is that you have to get in at the deep end with some pretty complex concepts that may well see the OP giving up before he gets very far. Better, IMO to go for a more idiot-proof language before moving onto C.
 
The problem with C is that you have to get in at the deep end with some pretty complex concepts that may well see the OP giving up before he gets very far. Better, IMO to go for a more idiot-proof language before moving onto C.

I disagree, I think learning C to start with shows if your cut out for software development or not as it is a big challenge to learn but ultimately very rewarding and an incredibly powerful language.
 
Back
Top Bottom