Question:

What is better for a beginner...C# or C++?

by  |  earlier

0 LIKES UnLike

i don't know any programming languages, so which one would be best for a fast learning 14 year old???thanks guys

 Tags:

   Report

4 ANSWERS


  1. start with c or c++.


  2. We strongly believe that you should start programming with C because if you masterize it, you will be able to learn any language after it. Make sure you get the concepts of programming and remember that mastering the most basic concepts will help you become a great programmer.

    Here is a book that will help you learn C quickly and accurately:

    http://aelinik.free.fr/c

    The book covers everything and make sure you follow things like mentioned and soon you will become a successful developer. Good Luck!

    Animate Logo Team

    http://www.animatelogo.com

  3. Neither. C# is not a good programming language to start with period.  It is entirely Windows-Specific, which means it defines several things, through how the operating system does it, you should be learning to understand on a more conceptual level first.

    Put it to you this way, when I was twelve in 1967 my sister transferred to Brown University where she ended up getting her degree in applied math and we were told that Computer Science was a special instance of applied math.  When I was forty I went back to college myself and I was told the same thing: both C++ and C# have a lot of accretions to accommodate modern processors and hardware, but those aren't the basic principles.  

    Since BASIC isn't as broadly supported as an interpreter, I would suggest starting with an interpreter for Perl or Python.  You will find some EXCELLENT tutorials for them out on the 'Net.

    In fact, for a variety of very good reasons, UNIX/Linux is often used as the OS to teach computer science, so I'll tell you where to get Perl and Python in the sources but here I'm going to recommend two distributions you might look at --specifically and soleley to practice programming on.  First, in this context, I do not recommend Ubuntu.  Ubuntu is for daily use by consumers who just want their OS to work on computers which might not necessarily run Vista or who don't want to put up with Vista's hassles.  You can configure it for development but the two I'm about to mention were designed for it.

    First is Knoppix, which was designed by a German Computer consultant for use as a portable desktop when he was out visiting clients.  This means it has a number of programming and forensics tools, and as well it has a media player, two web browsers (firefox, called iceweasel in recent iterations and konqueror which Safari is based on), OpenOffice.org and other editors, and even solitaire games, if you don't mind your face cards having penguins on them ;-).

    It's historic because it was one of the first and is still one of the best liveCD's.  It writes nothing to disk, by default, though with a little effort you can save or edit files on a hard drive which would be an advantage in this case because you can use it on any computer and save the source code files to disk or email them to yourself to compile on your Windows system.  You can compile and execute C, C++ Object C and ADA files.  In addition, out of the box you can write and run perl and python programs.  You need to look up a UNIX (not Linux) tutorial because you will also need to spend a lot of time on the command line, but you will be learning a lot period.

    It is available as both a CD and as a DVD.  More information at:

    http://www.knoppix.com

    Freesbie is a Live CD put out by an Italian FreeBSD UNIX user's group.  It's running on my laptop right now.  Again it is a development environment which writes nothing to your hard drive by default.  It boots up to what in UNIX/Linux is called the console, which means the command line.  You start the Graphic User Interface by typing startx.  (X-Windows, which you will find even on Ubuntu, was originally written for UNIX, not Linux.  Actually it was written to be OS-independent but it was used primarily by UNIX until Linux came along).  The interface of Freesbie's GUI is closer to Xubuntu than Kubuntu, which Knoppix resembles,  but the first thing that appears on the screen is a manual on how to run Freesbie in firefox, and you should be able to run firefox, whatever the OS.

    more information at:

    http://www.freesbie.org

    For both of them, if you have a CD burner (or for some Knoppixes a DVD burner) you can download them as ISO files.  You take CD-burner software and write them to disk.  Then you reboot and you will be in UNIX.

    Bluntly, go with an interpreted language first, and the best ARE Open Source right now (Even BASIC began at Dartmouth College).  Then go with a compiled language like C++.  

    As far as C# goes, WAIT.  I'm not saying don't learn it, but understand computer programming, understand compiled languages and then when you are ready to focus on an OS like Windows it is very appropriate.  In other words it's a good THIRD language.

    You can certainly get Perl and Python for Windows.  You can also find good tutorials on their web sites, and on many other websites.

    I also didn't mention tk/tcl which is available on all OSes but is important on X-Windows and which is a scripted language which allows you to create and play with windows and buttons in about 15 minutes if you know anything about programming.  It's probably a little too much for GUIs to be useful in learning the discipline.

    Since you are fourteen I'm going to mention a special game, which is actually for advanced programming students, but which some people think is training for evil hackers -- which it's not though it looks like it.  It's called Core Wars and -- well the information is at:

    http://www.corewars.org

    There are tutorials for all these all over the net.

    EDIT: time to disagree with what looks like an emerging consensus above: learn an interpreted language before you learn any compiled language.  I learned C before I learned C++ -- but after I learned BASIC and Pascal and Perl.  And there were practical reasons.  Over the years I've seen a lot of excellent C code written by C++ programmers, who, if they are "ignorant" of C, will swear it's C++ not C which "they don't know how to write".  In other words, if you learn C++ you will learn C as a matter of course, and they are both complicated languages.  Learn an interpreted one first.

  4. I disagree that C++ is the better starter language.  C++ makes extensive use of pointers.  This can be a difficult concept for beginners.  There is also no protection from buffer overruns (I know that this a technical term but many software applications have this problem and it is often used by hackers).  I am not saying that C++ is a bad language.  If taught properly it is an extremely powerfull tool.  It is often taught as a beginning language and it is usefull in learning many concepts.  But, if you are going to teach yourself you will C# to be more forgiving.  You can even get the express version of Visual C# from Microsoft for free.

Question Stats

Latest activity: earlier.
This question has 4 answers.

BECOME A GUIDE

Share your knowledge and help people by answering questions.
Unanswered Questions