1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Development Best programming language to start off with?

Discussion in 'Software' started by J05H11E, 31 Aug 2010.

  1. AshT

    AshT Custom User Title

    Joined:
    9 Jul 2009
    Posts:
    996
    Likes Received:
    31
    Guys, can I ask you what the difference actually is between C, C++, C# and Objective C (and any other I may have missed)?
     
  2. IvanIvanovich

    IvanIvanovich будет глотать вашу душу.

    Joined:
    31 Aug 2008
    Posts:
    4,870
    Likes Received:
    252
    i'm putting in my vote for brainf*ck.
     
  3. yakyb

    yakyb i hate the person above me

    Joined:
    10 Oct 2006
    Posts:
    2,064
    Likes Received:
    36
    Different Syntax, Libraries , Compiler , and Operating systems that they can run on just that really
     
  4. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    C is very low-level, basically one step above writing pure assembly, it doesn't have many default library functions but is very extensible and widely supported. C++ is C with Object Oriented stuff bolted on (templates, classes, etc.) and with a more extensive standard library (even more in the next revision). Objective-C is Apple's idea of what OO C should look like and has a number of proponents. It's not that widely supported, however. C# is Microsoft's attempt to bring C++ to a CLR like system, with a huge if confusing standard library.
     
  5. Technologist

    Technologist What's a Dremel?

    Joined:
    1 Feb 2011
    Posts:
    24
    Likes Received:
    0
    If you want to learn a single language, then my suggestion is either C++, C or Java.

    If you want to do a lot of applications and you want to be able to develop web applications too, I suggest learning PHP and Javascript, PHP is excellent for server side scripting and Javascript is excellent for client side programming.

    You can always use the excellent reference of PHP here.
    As about Javascript, you can watch the videos of Douglas Crockford, a brilliant teacher, who works at Yahoo.
    Once you've learned PHP and Javascript, you can learn HTML and CSS to be able to implement the structure and design of your webpages.
     
  6. lp rob1

    lp rob1 Modder

    Joined:
    14 Jun 2010
    Posts:
    1,530
    Likes Received:
    140
    But there is no point in learning C, as C++ is C but with more stuff added on to be more up to date. So why learn C if C++ is that and more? They use the same syntax, same compiler only the libraries and features are different.
    There has always been long standings between Java and C++. If you want to write a casual game, not too focused on performance then Java will fit your needs (not to say that C++ won't!). But for more serious games that you want to squeeze the most performance out of with full cross-platform support, there is no substitute for C++. :geek:
     
  7. Technologist

    Technologist What's a Dremel?

    Joined:
    1 Feb 2011
    Posts:
    24
    Likes Received:
    0
    The advantage of learning C is to not think that the Object Oriented Paradigm is the best in the world. While you learn programming, some kind of programmer personality starts to develop. If you learn C++, you will probably get used to make classes for everything. I know that's not the only possibility, but, for example Javascript and PHP are very good languages and they are not class based Object Oriented Languages. For example Javascript is object oriented, but it's very different from C++ and the likes. So, learning C as a first language is a possibility. I'm not saying he should start with C, I'm only saying that he should consider this option.
     
  8. Zurechial

    Zurechial Elitist

    Joined:
    21 Mar 2007
    Posts:
    2,045
    Likes Received:
    99
    I agree with this, though I actually believe C is a good first language to learn.

    Yes, C++ incorporates C, but the learning emphasis will almost always be on classes, templates, polymorphism, etc.
    Learning C will force the developer to learn about malloc, free and other low-level aspects of programming that are useful to understand regardless of their relevance or not to modern C++-dominated development.
    If nothing else, learning C teaches the developer why C++ is often considered an improvement on its predecessor.

    In the typical industry applications of C/C++ programming you can usually get away with having learned C++ from the start, but some day you might just encounter a niche area for which being able to understand lower-level C-specific structures and methodologies is very useful, especially if you're expected to integrate your work with an existing C-only codebase. Audio programming, for instance, seems to be 50/50 between C and C++ in terms of existing libraries and applications.
     
  9. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Just a quick note here that I learned programming using QB, VB, Java, then C++, and I avoid OOP in my code like the plague. For some reason I prefer to program in C++ like I'm using C :)
     
  10. Agosen

    Agosen What's a Dremel?

    Joined:
    31 Jan 2011
    Posts:
    41
    Likes Received:
    0
    Hi there mate,
    I'd argue that in programming once you know one language and understand the logic of it all, it's fairly easy to go on and learn more given time. As such I'd recommend starting with Visual Basic or Java as they are both useful and easy to learn, I study both of these and enjoy it immensely.

    Best of luck.
     
  11. GeorgeStorm

    GeorgeStorm Aggressive PC Builder

    Joined:
    16 Dec 2008
    Posts:
    7,024
    Likes Received:
    565
    We are starting C at uni
    From what I've been told, if you want to do it jobwise, don't do java, as most people can do it and so it's not gonna earn you anything.
    F# on the other hand...
     
  12. faugusztin

    faugusztin I *am* the guy with two left hands

    Joined:
    11 Aug 2008
    Posts:
    6,953
    Likes Received:
    270
    I think we missed the OP's question by a lot. The question was - best programming language to start off with. Personaly, i started with Pascal, then C, PHP and Java. If i have to suggest any of them for start, then i say Java for one simple reason - no need to bother with memory management for start. He can learn all thing about programming itself, while skipping one of the worst things for beginngers, the memory management (allocating and deallocating memory parts, pointers etc). When he feels brave enough, then he can start looking at C/C++, he will have the basics and will not make as much pointer errors as if he would be doing it hard way (learning C from scratch).

    And to that guy at uni, he is funny. Finding a good Java programmer is a hard task, they don't grow on trees like he is trying to say.
     
  13. j44

    j44 What's a Dremel?

    Joined:
    9 Feb 2011
    Posts:
    31
    Likes Received:
    1
    JavaScript is the present and the future. It is already by far the most popular language in the world. With node.js & Co it will soon destroy RoR, .NET, Java, etc.
     
  14. AshT

    AshT Custom User Title

    Joined:
    9 Jul 2009
    Posts:
    996
    Likes Received:
    31
    Is Java THE best programming or one good programming language for a particular type of programming?

    ie. boxed retail PC games aren't programmed in Java are they? And console games aren't Java?

    The Steam engine, Unity, Unreal etc, they aren't Java?

    I've heard of Jagex and do they do Runescape in Java?

    So on a sliding-scale of languages is Java at the top?

    (disclaimer: you guys are the experts, I'm just asking out of interest)

    Added: I just finished reading the Absolute Beginner's Guide to C by Sams publishing. I thought it was excellent, easy to understand, slow entry, the pointers and memory address section was a bit of a head-panner ...
     
    Last edited: 10 Feb 2011
  15. deadsea

    deadsea What's a Dremel?

    Joined:
    9 Oct 2009
    Posts:
    197
    Likes Received:
    6
    My Uni course made C a pre-requisite module to C++. That appears to be a good place to start. And yes, pointers really will make your head spin if you're not careful.

    *Is suddenly reminded of that game with coloured spots on the floor with a spinning arrow but just can't rem the name*
     
  16. faugusztin

    faugusztin I *am* the guy with two left hands

    Joined:
    11 Aug 2008
    Posts:
    6,953
    Likes Received:
    270
    And that is why Java is a good beginners language. Because it lets you think and learn about programming constructs, OO design and good practices instead of wasting time with "from where in the hell this invalid memory access error comes".

    When you have the basics of programming covered, then you can freely move to any other language, including C and C++, as you will now know the basics of programming.
     
  17. AshT

    AshT Custom User Title

    Joined:
    9 Jul 2009
    Posts:
    996
    Likes Received:
    31
    Ahhh I get it now. So Java is a good beginners language and can lead to the others. I thought j44 meant the be all and end all of programming.

    So instead of going:

    C
    C++
    c# and/or Objective C

    Start with Java then C etc?

    Or start with Java then C++?
     
  18. faugusztin

    faugusztin I *am* the guy with two left hands

    Joined:
    11 Aug 2008
    Posts:
    6,953
    Likes Received:
    270
    Yes. My opinion is that you should start with the managed languages (C# and/or Java), where you can learn OO paradigms, how to create algorithms for your specific tasks, in short - simply learn how to program, while not bothering with memory allocation & deallocation + pointers.

    And when you have the basics, then you can simply jump to any language and learn the specifics of that language easily, because you are thinking as a programmer after you got the basics.
     
  19. Elledan

    Elledan What's a Dremel?

    Joined:
    4 Feb 2009
    Posts:
    947
    Likes Received:
    34
    Twister :)

    I think that C++ is the best language because it allows one to first learn procedural programming and then move on to advanced object oriented programming. Since Java and many other OO-ish languages do not support multiple-inheritance with classes while C++ does support it, C++ is more universal and capable.

    I'm currently programming in Java as well for Android applications, and the main thing I notice compared to C++ (my #1 programming language) is that it's so extremely limited and requires a lot of extra steps to accomplish basic things like references (not supported in Java).
     
  20. faugusztin

    faugusztin I *am* the guy with two left hands

    Joined:
    11 Aug 2008
    Posts:
    6,953
    Likes Received:
    270
    And again, we come back to the original question. Not which is the best language, which is most versatile, which has the most uses... The question is "what is the best programming language to start off with". C++ is anything but simple to start with. Compared to C/C++ it is limited - but that is a exactly good thing for starters, they will not end up having pointers of pointers of pointers, and thinking at which * character they lost the track of pointers.

    Instead of that they can concentrate exactly on what beginners need to learn first - what are basic constructs of a programming language, how to divide algorithm in smaller, more maintainable parts, how to modularize your code, things like recursion etc etc.

    C and C++ is one of the hardest languages to start with.
     

Share This Page