What should i start learning? Totally from "C Scratch" if you will. Right now i am going through online tutorials about C++ but i just wanna make sure learning C++ is worth it when C# exists.
Anyway thanks :)
Printable View
What should i start learning? Totally from "C Scratch" if you will. Right now i am going through online tutorials about C++ but i just wanna make sure learning C++ is worth it when C# exists.
Anyway thanks :)
i think a lot of colleges teach c++ or java for their CS students.. so if you plan on taking CS courses at all in college.. i would lean towards c++ or java.. (i think a lot of colleges are switching over to java though)
I suppose one can argue either way. I find C# to be a lot easier to grasp and use, but a beginner to programming (or at least OOP) would get lost quickly in the way things are structured.
At least with C++ you don't need to jump into pure OOP immediately, but C# forces you into it. On the downside to C++, you've got pointers, memory management and other ugly things to concern yourself with.
Personally, I think that C# would be a very nice starting ground provided that you have the patience to understand the concepts of OOP before you can really get into it.
Good luck in your programming ventures! :)
I would go with C++. It has a lot in common with some of the higher-level languages used for Rapid Application Development, but it maintains very low-level abilities found in straight C. It's a great way to learn the basic of programming in such a way that you're well prepared regardless of which road you choose to take in the future. It's also very versatile, and will be a useful skill in almost all cases.
C# is a great language, but I don't recommend going into it first. I love it because it lets me do what I want to do so easily, but I'd be useless if I didn't understand what was going on underneath that skin.
i would say c++.....if you can use c++ you can learn any programming language with ease..
(except for maybe COBOL, which i never got into, but it looks like a joke to me)
Nice points, Sean. :)
Why are you limiting your choices to C++ or C# anyways, Zeusbwr? Personally I think that there are easier places than both of these to get started with programming. With our current collection of replies, we've established that both of them can be a pain. ;)
Personally, I think that Pascal or BASIC -- no comments from the Basic haters :P -- are excellent starting grounds for someone who is just getting started with programming. BASIC is just simple enough that you can get the basics and fundamentals of programming down so that you can apply it towards learning a more complicated language. Pascal has its own merits too: the syntax is clean, which will (hopefully!) help you keep your coding clean in the future as well. Myself, I've found Pascal to be a very nice transition language towards C++.
Hey! That's exactly my problem also. I've taken this course in some school here with three modules,namely;cc++,vb, and java. I've finished with the c course and we've only covered up to basics. I havent been taught about arrays pointers and other preprocessor definitions.
I really wanna learn to program but I don't wanna go into vb because I feel that it'll muddy up little knowledge. What would you suggest? Just skip the vb part?Go straight into java? Granted I will continue with c learning along the way..thanks.
My advice: don't rely on your school courses for your sum total of programming education.
I learned C++ from a similar language used online, Javascript. (No comments from the people that think JS is a whole different thing.) I personally prefer C++ over the low-level for the beginners AND high-level for advanced users. Also, if you don't have a budget, if you want to learn how to make stuff that do something very well, but you don't mind if the programs have a lot of lag, choose Visual Basic. If you use Visual Basic, you'll never be able to learn C++, but if you learn C++, you can learn any language except COBOL and FORTRAN.
VB is terrible.
C++Child, just so you know, saying something to the effect of, "No comments from ... people" does not make you exempt from severe wrongness. It's like saying, "See I'm right? Look how defensive people get when I say something they don't agree with!" Just to demonstrate how dumb this strategy is: If you reply to my post, you must be wrong because you're getting so worked up about it.
HopeDagger: BASIC is a good suggestion for a complete beginner to programming, as it will introduce the concepts found in any language, but I would caution that since few commonly-used languages are similar to BASIC, when one is learning a language like C/C++ after learning BASIC, that they act as though C++ and BASIC are completely different things. Don't try to relate anything in BASIC to equivalent code in C++. It just gets you muddled up.
Diding: In your case I would recommend continuing with C for the time being. It'll solidify your knowledge of the basics, and will prevent confusion caused by an incomplete knowledge of C (since you will invariably be comparing VB or something else with C)
I learned BASIC first, then C/C++, then assembly, then Java, then VB and then puked. You can learn any language and one language is not going to cause you to unlearn another. It is not impossible to learn VB and C++, but you'll never go back to VB once you get the hang of C++, or at least I didn't.
I've many times heard the complete opposite of VB vs. C++ - so just try both and see what works for you.
Bubba, I can understand your point of view regarding VB after learning all of those other languages. However, I am a firm believer that *every* language is fantastic at at least one thing. VB, although I don't use it, happens to be very good for creating quick small GUI win32 applications. Writing any win32 applications with C++ is a nightmare in comparison. I prefer Delphi, but let's not get into that. ;)
I somewhat agree with you, Sean. C/C++ differs immensely in contrast to BASIC, which is why I think Pascal is a nice branching language between the two. Or at least it was for me. I remember when I first started learning C, it was just so overwhelming because of the sheer amount of concepts that you had to wrap your mind around that just didn't exist in simpler languages. Preprocessor statements, pointers, memory management, static typing, structures, etc. all really disorient a newer programmer. I feel that it's best to move in a direction through programming languages that introduce new concepts in a slower fashion than all at once. BASIC gets you the foundation stuff down, Pascal solidifies that gets you going with structures and static types, and then C/C++ introduces you to the big brave world of all of the other goodies.
I started out with Liberty BASIC (it was free!).
With C++, as a beginner, I've been staring into the black and white text of of the console for the past two months. With Liberty BASIC, after only two days I had drop-down menues going, graphics boxes, nifty turtle graphics, clickable buttons and, COLOR! It really encouraged me to see such flashy results in such a short time. But soon the novelty wore off and I began to look elsewhere. C++ seemed to be where it's at so I picked up a couple books and now can't imagine going back to BASIC.
Besides giving me some initial encouragement and helping me build the confidence I needed, I think BASIC was a good intro and made it easier for me to slide into C++. I didn't use it so long, though, that its syntax got burned into my brain and couldn't be replaced by C++.
I think starting with C++ from scratch would have made it a lot tougher for me to keep hammering away at it.
Wow thanks for such a great response!
All said, i choose C++. I definitly agree with your points about seeing what goes on under C#.
And i have some coding understanding, and overall, just the concepts of the few tutorials iv read the concepts in C++ are overall basic (in the beginning ofcourse lol), so im thinking i'll be able to ease myself into it.
One thing i request howeveris a link to a tutorial on understanding how to code GUI's and communicate through DDE server->client communication. I would like to be able to communicate with mIRC to recode my lovely .. massive MuD allowing me to do a big repetative project lol. But ofcourse i have the hurdles of GUI and DDE which im fully aware of :)
Also for later on im thinking of making a client for said MuD and i would need to make a GUI DDE server again to communicate with Flash and mIRC via DDE/XML Sockets (or so im told). I know, sounds like a probject with flash that i may soon abandon, but none the less i would like to try it. The smoothness of Flash would be much easier to create than go through the work of making a gamelike animated client look good and smooth with the collection of nub knowlage i possess lol.
Anyway, thanks for your replies!
Oh one last thing, what Compilers do you all use? Please list frontend and backend if possible (ie front: Dev C++ freebie, back: GNU++)
or ms C++ ect. :)
lol. sorry for raising the c++ pwns , vb is puke debates. I just talked with the school and I think they agreed to extend the c module up to 2 and go to java after that.So that's the end of vb for me because honestly I dont care much about it anyway.
And thus we striketh the problem that hurts newbies that start with C++: it's quite difficult to make GUI or networked apps until you've got quite a bit of C++ knowledge under your belt. Expect to be staring at the boring console for quite some time. :/Quote:
Originally Posted by Zeusbwr
MSVC++ 7.1 (aka. 2003 .NET)Quote:
Oh one last thing, what Compilers do you all use? Please list frontend and backend if possible (ie front: Dev C++ freebie, back: GNU++)
or ms C++ ect. :)
If I didn't have that, I'd unhesitantly fall down to Dev-C++ with MinGW. ;)
every language has its strong points and it's weak points, and the best thing to do is to learn as many as you can as well as you can.
personally, I like C++ over every other language, but I know that I'll use VB for a quick GUI app, Java for a quick cross-platform app, and a small batch file for just calling command-line programs...
ok, i heard it was ;like pulling teath to make GUI apps in C++ compared to C#, so i guess i'll be in console for a while lol. Bummah :/
But thanks! :)
C++ all the way !!!!!!!!!!!!!!!!!!
Definately it's a phenomenal difference when comparing the original C API with Windows.Forms, but there are many wrappers like OWL and MFC desgiend to make the job easier. I don't have a huge amount of experience with either, but I'm sure if you thought there were enough beneifts in using pure C++, you'd be able to find a C++ wrapper / API that would make it easy enough to be worth it.Quote:
ok, i heard it was ;like pulling teath to make GUI apps in C++ compared to C#, so i guess i'll be in console for a while lol. Bummah :/
i dont know enough about either to even comment lol. Im just ganna struggle on and learn what i can :) Eventually when i get through these tutorials from dif authors im prob ganna invest in a book, then eventually invest in MS VS C++
i could be wrong but considering this is
cprogramming.com that the people here,
at least a good percentage would be
a little biased towards c langauages
then oh say VB, or Java.
yes i knwo you asked about picking between C++ or C#
but other people brought up some other languages,
so i thought id make that comment.
as for your question, i know nothing of C#, so i do
not know how difficult it is starting out in it
but c++ was the first language i started to learn (still am)
and it can be quite difficult sometimes, specially
for comming up with projects to work on your skill
with when you dont know near enough to attempt a GUI
based program. i do agree with the most the post above
i think it would help you keep your interest longer and
help drive you to succeed in c++ if you started with a simplier
language first. but i would pick c++ over c# to begin with,
but c# should defienitly be the choice after c++.
Well in a way i did start out with a simpler language, if you can call it a language. I relized i liked programming when i started dinkin around with the simplistic mIRC scripting. I'll prob be flammed for even using the word "language" and "mIRC" in the same line, but none the less for lack of a better word it is a language right lol?
But ya, so far C++ is going alright, i plan on learning DDE communication for my first goals and using C++ to remake my mIRC MuD. Doing all the work while mIRC does basically nothing. Its all text based but this will help me with more of the basic functions and ingraining the C++ concepts in my head from repetative code. Assuming i can do that through the win console, which im assuming i can lol. .. hopefully hehe ;)
Hey now, let's not pull out the VB bashing :) I used VB for about 7 years (DirectX in VB about 3 of those years) and it managed to hold its own for the purposes I needed each time.Quote:
Originally Posted by C++Child
Besides, what's better than getting an assignment in class like "Make a calendar program" and being able to simply "Drag" a calendar into your screen and be done in 5 seconds? ;)
VB was my starting point for programming, and it eased me into others very nicely (Though C and all it's variations are much different, now that I've moved to DirectX and Object Orientated stuff in C++, for the last two and a half years, the transition wasn't that painful at all)
Efficiency-wise, C++ is no doubt the way to go for anything involving graphical or mathematical processing.
The problem with VB is that it comes with a lot of extra stuff that isn't necesserily used, which makes it bulky (imagine C++ without the WIN32_LEAN_AND_MEAN at the top of your program, except, much fatter).
VB wouldn't pay off unless you thoroughly used it for a long time and got past the ideal that most people associate VB to (drag and drop programming with a baby-like difficulty of use, for baby-like applications). To start out, you'll be happy about the baby-like difficulty, but that isn't to say that the more you learn, it won't get more in-depth and rewarding to have learned what you did until that point. (Though it would take a while).
But yeah, school, work, and all those places...I doubt you'll find a place that uses VB seriously. Java I hear is similar to C++ and while C++ may be more widely used at the moment than Java, it might not stay like that for long. I would recommend C++ just for the possibilities that arise from it compared to something like VB (which would take much time before possibilities other than VB became available).
The pay-off from C++ in the short and long run is greater than VBs, yes, but the pay-off from VB can be worth it too.
Java's fine. Actually, I view it as sort of a family friend of the C's. VB's fine too, as long as you don't do anything too intense with it.Quote:
at least a good percentage would be
a little biased towards c langauages
then oh say VB, or Java.
>>but c# should defienitly be the choice after c++.
No, it shouldn't. If you're going after graphical or mathematical processing, as Epo mentioned, go with C++. I also read somewhere, according to a line-by-line performance comparison between the two, C++ ran at about 3 times the speed of C#. In your average point-and-click GUI application, 1/3 the speed may be plenty; but for games or other intensely power-hungry programs, C or C++ will still come out on top.
[edit]Although, other tests that take optimization into account come out with C++ being not much faster than C#...[/edit]
bah hunter, i said, c++ should be his first choice
i was just saying, after he learns c++, and moves to a new
langauge that his next choice should be c#
I think you're in the wrong message board for that kind of question. This is the board for C++ programming, so you're bound to find many programmers that love C++. I recommend it, cuz I learned it in about a week!
lol
>>that his next choice should be c#
Oh. Guess I misunderstood...
>>I recommend it, cuz I learned it in about a week!
I doubt it. But I know what you mean ;)
QBasic was the first language I learned.. and it was so simple, It made me puke -- even without knowing what other languages are like