Jump to content

Recommended Posts

I've asked a bunch of people I know that are experienced coders what they think I should learn. I was planning on learning C# originally, but I haven't gotten into it yet. But when I asked, they suggested that it would be better to learn C and or C++ rather than C#. Since I have no experience in coding with Microsoft technologies, or off the web coding, I have no idea which is better. I thought I'd ask here too, just to get some more opinions.So, onto my question. Out of C,C++ and C#, which do you suggest would be the most worth learning? In the end I may learn two, or possibly all of them. But which should I learn first? I'd like to learn ASP .NET, but the only language it supports that I sort of know (emphasis on sort of) is Java Script. And I don't know how far I'd get with that when making applications.Also, would it make a difference which one I learn first. Like would it be more beneficial if I learned C before C++, or is there no difference?Thanks,Kevin :)

Link to post
Share on other sites

I could be wrong on this (not really experienced with these languages), but you should probably start with C. C++ is suppose to be an upgrade of C which ++ is an increment of 1. Don't know much about ASP.NET either, but I believe the default language used for ASP is VBScript which most examples on the Internet use (check out Visual Basic, that helped me on the basics of ASP since they use a lot of the same code).Learn about C Programminghttp://en.wikibooks.org/wiki/C_programming

Link to post
Share on other sites

Ok, thanks. I just read about it on Wikipedia before I saw your reply, and apparently C++ is like an upgrade to C (like you said). So I guess C would be better to start with.Any other input is still welcome of course. :)

Link to post
Share on other sites

Kevin_M, would you explain why do you want to learn any of C, C++ or C# for?C is a functional language, C++ is a very loose object oriented language where as C# is strictly object oriented like Java.C++ found to be creating more mess than it is suppose to clear that is why world is moving away from it.Although there is no harm in learning C than C++ and moving on to any modern language afterwards. Once you are familiar with C++ you will realize that you can do all non-object oriented things using C++.

Link to post
Share on other sites

if you are planning to learn ASP.Net then C# is the way to go. ASP.Net has 2 main variations, C# and VB (C# being slightly more popular).It depends a lot on what you plan to do. C++ is by far the industry standard in video game programming (using OpenGL or DirectX) although C# has been found to be 95-98% as fast when compared to C++ and DirectX and has a Games Prgramming frame work to make things easier (XNA).Unless you are getting into professional video game programming or high end software C and C++ will probably be more complex then you need. BTW C# and C#.Net are the same thingC#.Net and VB.Net referred to versions 1.0 and 1.1 of the .Net framework while version 2.0 is referred to as C# 2005, etc. .Net 3.0 has already been released (basically 2.0 with some Vista add ons) and 3.5 is already been released in Beta stage with the beta of the next Visual Studio.

Link to post
Share on other sites

It's really just because I'm interested. Sure I may look into a career in web development/programming/coding (whatever you wish to call it). I'd rather not think about that though, I'm still a teenager. :) But it's really more because I'm interested in learning something new over the summer when I'll have a lot of time. I'm not interested in high end game programming at all really. Making a game like Pong that I could use on my computer would be interesting to do. But I'm sure I could probably achieve that with any of the 3 languages.So the real reason I want to learn any of these is because I'm interested with the things you can do, I want to have something to do over the summer, and I just enjoy coding. I think ASP.NET would be nice to work with, but it's not something that I am definately going to look for.As you can probably tell, since I have no experience with any of the really heavy programming languages, I'm pretty easy going in terms of what I will look into. I don't have my mind set on a certain thing I want to do. Probably just some basic stuff, like making a game like Pong. In a few years when I'm planning what I want to do post-secondary education, maybe I'll get more serious about one of these languages. But right now it's just a hobby that I would like to persue in my spare time. :)

Link to post
Share on other sites

Kevin M... wait!I would start out with BASIC if I were you.I personally hate ASP.net... maybe I just bought a bad book.Learning C before C++ would just make things harder. There is really not need.C++ is great but it is also complex. Why do you print with 'std:cout' and not 'print'BASIC is great because it gets you doing things that are cool without the work of the complex languages like C, C#, C++, ASP...you can start with online with compilers like www.runbasic.comor offline compilers like www.libertybasic.com(both are free... but liberty basic has a trail counter and it goes up each day)

Link to post
Share on other sites
BTW C# and C#.Net are the same thing
Oh, see I thought C# was the language, ie the set of syntax rules and inbuilt functions etc, and C#.Net was where you applied the language, ie the name of the application system.If that made sense.
Link to post
Share on other sites

If all you are doing is learning, then the C language is actually fun to play around with. It's very powerful, and you can use it to do pretty much anything, you just have to do it all yourself. But it's a great language to learn to understand how programs work in the computer. With a C program, you are responsible for allocating and deallocating your own memory (if you want an array that holds 10 16-bit integers, you need to allocate 160 bytes, and then free the memory up when you no longer need it), and things like strings work much differently then in other, newer languages. You can also learn about pointers, structs, creating new threads, inter-process communication, there's all kinds of good stuff. It's fast, lightweight, and powerful, and it doesn't include hardly any extras that make it any easier for the programmer. C++ added a formal string library, object-orientation concepts, automatic garbage collection, and simplified output using predefined streams like cin, cout, and cerr, and a lot more. If you are interested in making standalone Windows GUI applications, you will probably want to use C++ and MFC for the GUI. It's probably easier to use C# and .NET, but then you have to rely on the .NET framework, if you use something other then C# then you don't need to worry about the .NET framework being installed or not. If you want to make games using DirectX or OpenGL, I've worked with OpenGL using C++ and it went pretty smoothly.C is a lot of fun and lets you do anything you want, C++ includes a lot of extras to help the programmer and is better for Windows programming then just C, and C# makes it easy to write a Windows program but you have to rely on the .NET framework.

Link to post
Share on other sites

Thanks, that was a great explanation. According to my computer I already have the .NET 1.1 framework installed, but I'd get 2 or 3 if I were to look into C#. I'm not really sure what I'd be doing with them. I don't have plans to write the next greatest computer program or video game. I thought of a cool idea... it's sort of long to explain, so feel free to skip the next paragraph. :)I'm thinking, that I add an icon to my desktop. When I open that icon, this cool graphically sort of window opens up. In there I can have links (or whatever they should be called) to some of my more used programs (Eg. MS Word, NotePad, PhotoShop, Windows Media Player). And probably a little thing that links to some of the websites I visit often. So this could be like a little homepage/control panel that gives me access to all of my most used programs just by clicking the mouse. And maybe it will include some games like pong or hangman that I may have created. Something sort of like that... I've got a better idea in my head...But I think that may be more something that would include Visual Basic as well. Or could it all be done in C/C++ or C#?

Link to post
Share on other sites

I would recommend staying away from Visual Basic if you can, I think it will only serve to confuse you later when you try to move from VB to something powerful. Anything you can do, you can do without VB. It would be easy to do something like that in C#, and a little more complex with C++/MFC. With C you would need to find a Windows graphics library (I'm sure they're out there, I just don't know the names).I understand what you mean with your application, but it sounds like a normal desktop folder, which contains links to other applications or websites (if you save URLs). I'm not trying to bash it, it would be good as a learning piece, but unless it adds new functionality that other programs don't already do, don't expect a lot of demand for people wanting to use it.

Link to post
Share on other sites

It wasn't something that I was planning on releasing and trying to get people to use. I just meant something that I could learn with and possibly develop it for personal use. I figure that it could be something that I could start out with and make it very basic. Then from there keep upgrading it until it's pretty advanced. So make it better as I become better in what language I choose to make it with. So start out with something basic and like a folder, and then as it gets better make it more graphically nice (more appealing in terms of the graphics side) and add some new features as well.Totally random thought, but do you think it would be possible to embed google web and image search into something like that? I was reading on MSDN (not sure of the link) about the C# developer program thing (not sure of the name anymore) and it was talking about making some DVD search thing that ran off Amazon.com, so I thought this would be cool. Or would it probably be breaking some copyrights even if it is possible?

Link to post
Share on other sites

It wouldn't break any copyright to connect with a web service and use it. It might violate that company's terms of use, but it's not copyright infringement. C#, being more recent, has a lot of internet stuff built-in to it, so that may be a better way to start out. But you can still use C++ for that, it's just not as "automatic" as C# with those types of things. The newer languages abstract out a lot of the algorithms in favor of built-in libraries, so you would get a better idea of how things work if you use C++, but C# would be easier.

Link to post
Share on other sites

Well you have all of those, then if you do decide to go professional, then you have the issue of compatability. I guess if you want to learn to program any midly powerful language is good, but C# (correct me if I'm wrong) is windows only.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...