Programming in general....

Inquisitor said:
C is a little too low level for a beginner in my opinion. As a beginner you don't really want to be worrying about the intricacies of memory management, so a managed language would probably be the best bet.

Fair point, although I wasn't thinking of writing anything more complicated than say, a calculator, so memory management wouldn't be much of an issue.
 
Wimnat said:
Fair point, although I wasn't thinking of writing anything more complicated than say, a calculator, so memory management wouldn't be much of an issue.
True, but you'd still have to grapple with pointers, which could be tough for a beginner.
 
Inquisitor said:
True, but you'd still have to grapple with pointers, which could be tough for a beginner.
Not for very basic programs, like a really simple calculator.

Also in some ways learning things like memory management and pointers from the get go is a good thing. It gives you more of an idea of what the computer is actually doing rather than hiding all that away from you. I suppose it depends why you want to learn programming though. My course started off by teaching C which might seem like it's throwing people in at the deep end considering most hadn't really done any programming before, but it is a computer science course so it's important to understand those concepts early on.
 
I've done quite a few languages now... Java, C, C++ and some web based and to be honest i'm not particulary good nor do I like programming.

However, i've got just over a week off and fancy brushing up since i'm starting a placement and it's my weakest area so could come in handy at some point. The last thing I was attacking was C++... I know majority of the basics and am fairly cool with the syntax, etc... should I continue with this, or would it be more worthwhile in today's enviroment to start on C#?
 
NiCkNaMe said:
I've done quite a few languages now... Java, C, C++ and some web based and to be honest i'm not particulary good nor do I like programming.

However, i've got just over a week off and fancy brushing up since i'm starting a placement and it's my weakest area so could come in handy at some point. The last thing I was attacking was C++... I know majority of the basics and am fairly cool with the syntax, etc... should I continue with this, or would it be more worthwhile in today's enviroment to start on C#?
Well it depends on what you want to do with the language really. For general application (and web application) development (which is what I expect you'll be doing), C# is one of the best languages out there.

C++ is probably better for more complex applications that need, for example, low level hardware access or very high performance and explicit memory management.

C++ is more of a specialist language that isn't really needed for most applications. C# is also far easier to use, as resource management is all done for you by the CLR (Common Language Runtime), meaning you don't have to worry about memory leaks at all.

Overall I'd recommend C#, unless you have a specific reason to go with C++.
 
Last edited:
Inquisitor said:
C++ is more of a specialist language that isn't really needed for most applications.
I sort of disagree with that. C++ can be used for absolutely anything, yet C# can only be used on platforms that support it. So in the grand scheme of things, C# is more specialist. However most programmers will mainly program windows applications so in a sense you'd be a specialist if you are doing anything else.
 
Psyk said:
I sort of disagree with that. C++ can be used for absolutely anything, yet C# can only be used on platforms that support it. So in the grand scheme of things, C# is more specialist. However most programmers will mainly program windows applications so in a sense you'd be a specialist if you are doing anything else.

Agreed, if you ever need to do cross platform coding your will be out of your depth as you wont know how do to explicit memory management (Most cross platform apps are servers and are "usually" implemented in C or C++).

I would suggest starting with BOTH C++ and C#. Both have Windows front end libraries. Try implementing a solution in C# as you may find it easier then port the code to C++ and see if you can achieve the same results by handling your own memory allocation
 
Floyd said:
Agreed, if you ever need to do cross platform coding your will be out of your depth as you wont know how do to explicit memory management (Most cross platform apps are servers and are "usually" implemented in C or C++).

Python is VERY cross platform, and its a simple matter of recompiling it in most cases.

PHP works on any platform assuming it has a web server that can parse it. :D
 
Psyk said:
I sort of disagree with that. C++ can be used for absolutely anything, yet C# can only be used on platforms that support it. So in the grand scheme of things, C# is more specialist. However most programmers will mainly program windows applications so in a sense you'd be a specialist if you are doing anything else.
I suppose it's specialised a platform sense, but it's generally easier to develop every day applications in it than it is in C++. So you could say that C# is the better option simply because it's easier and is less work to use, while C++ is only needed if there's a specific reason for it that C# cannot cater for.
 
I've never used python but it sounds interesting. It seems to be pretty flexible since it can be fully compiled into machine code, or it can be compiled into intermediate code to be executed by a virtual machine, and that machine can even run on top of other virtual machines like the Java runtime.
 
Back
Top Bottom