Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

c++?

Options
  • 01-03-2009 1:29pm
    #1
    Closed Accounts Posts: 43


    where and how can i learn c++?


Comments

  • Subscribers Posts: 4,076 ✭✭✭IRLConor


    Have you ever programmed before?


  • Closed Accounts Posts: 43 ballyrick


    no. but i know HTML.


  • Registered Users Posts: 26,579 ✭✭✭✭Creamy Goodness




  • Moderators, Technology & Internet Moderators Posts: 11,016 Mod ✭✭✭✭yoyo


    ballyrick wrote: »
    no. but i know HTML.

    Very very different languages m8! HTML imo is far simpler than C++,

    Nick


  • Subscribers Posts: 4,076 ✭✭✭IRLConor


    ballyrick wrote: »
    no. but i know HTML.

    That's kinda the reason I asked. The first programming language you learn is the hardest, since you're learning the language and how to program (which is fairly independent of the language).

    Unless you have a particular need or desire to learn C++, I'd start with another language. C++ is extremely powerful, but it could be daunting for a beginner. You should definitely learn C++ at some stage, but maybe not at first.

    It's been a while since I learned how to program, but I like the look of How to Think Like a Computer Scientist. That uses Python as the language of instruction which means that some of the unfriendlier features of C++ aren't an issue. When you've learned the basics of programming and actually need those unfriendly features you'll be much better placed to pick them up.


  • Advertisement
  • Moderators, Technology & Internet Moderators Posts: 11,016 Mod ✭✭✭✭yoyo


    Afaik Java is a easier language (never coded in it so not sure so I know this from word of mouth), As has been stated C++ is quite a difficult language to learn, especially when dealing with pointers, constructers, classes etc... Its powerful, but very difficult to learn, am doing it in college atm and hate it :pac: :)

    Nick


  • Subscribers Posts: 4,076 ✭✭✭IRLConor


    yoyo wrote: »
    Its powerful, but very difficult to learn

    I wouldn't say it's necessarily difficult to learn; merely difficult to learn as a first language (or as a novice programmer).


  • Registered Users Posts: 26,579 ✭✭✭✭Creamy Goodness


    What easier is all relative tbh.

    Java is good that it gets away with pointers, memory allocation, garbage collection etc. but any programmer worth their weight need to know these things imo.

    i've programmed in C for 4 years, C++ for 2 years and Java for 2 years and tbqh i prefer C and C++, there's something i just don't like about java programming, perhaps it's that it takes a lot of control away from the programmer.

    there're are plenty of threads on here about what's great as a first language to learn, but in my opinion a structual programming language like C are a great intro into programming.


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    First of all HTML is a mark up language. This is much different mindset and much much simpler. There is no logic thinking, nothing to solve, just make something look a certain way.
    C,C++ may look daunting at first, but before doing C++, I would strongly suggest learning C like Creamy Goodness has mentioned there. It will give you a better appreciation of what goes on at a lower level. Pointers are beginner's main problems - make sure you know these before progressing to C++.
    The good thing about C is that, you don't have to worry about classes or anything. Some people recommend starting off with OOP, but I can see this really confusing the learner and in the end missing out in more important things. When you are happy at a procedural level, go to OOP. Java or C++, though C++'s can look a lot stranger with virtual polymorphism, virtual inheritance etc.


  • Registered Users Posts: 26,579 ✭✭✭✭Creamy Goodness


    see the way i look at it as well, i should have added this in my first post is having a look at the hello world programs of each language
    C - ANSI style
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      puts("Hello World!");
      return EXIT_SUCCESS;
    }
    

    C++ ISO
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!" << std::endl;
    }
    

    Java
    class HelloWorld{
      
         static public void main( String args[] ) {
                   System.out.println( "Hello World!" );
         }
    }
    

    code samples taken from here http://www.roesler-ac.de/wolfram/hello.htm

    java introduces keywords that imo would confuse the hell out of a newbie programmer.

    like if i went into my first programming lecture and was explained what a class was, what static was, what public was and what in gods name is String args[] i think i would have dropped out, purely because i'm the sort of person who would want to know why do we use this word here, why is there a bracket there etc.etc.

    some of you may argue well the lecturer can just skip over them bits until further on in the course but that just delaying the confusion tbh, it be better imo of course to get a good grounding in simplier programming rather than be bamboozled with strange terms.


  • Advertisement
  • Closed Accounts Posts: 43 ballyrick


    thanks... now im very confused....would i be better learning c,c++ or using a software to write programs?


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    How do you mean use software to write programs?
    I would first of all maybe have a look at PHP/Python to get a feel for what programming is about.

    Where abouts on the Cork/Kerry border are you, I'm probably not too far from you.


  • Registered Users Posts: 26,579 ✭✭✭✭Creamy Goodness


    php actually, forgot about that. would be great to learn and will complement the html skills you already have.


  • Closed Accounts Posts: 43 ballyrick


    as in write programs for windows...


  • Registered Users Posts: 9,579 ✭✭✭Webmonkey


    ballyrick wrote: »
    as in write programs for windows...
    I mean what software writes the programs for you? - You still need to know a programming language. Unless you mean the IDE's but you still need to know the programming language.


  • Closed Accounts Posts: 43 ballyrick


    o!!!!!!!!!


  • Closed Accounts Posts: 12,382 ✭✭✭✭AARRRGH


    If you want to write programs for Windows, something like Visual Basic would be good for a beginner, however writing Windows programs (i.e. programs with actual Windows and buttons and things like that) can be quite difficult.

    I've learnt both C and C++. I prefer C. Seems a bit cleaner and solid. Also, C is easier as it's not an "object oriented" language, although many would argue object oriented programming makes things easier in the long run.

    So, to answer your question: buy a beginners book on C++ and work through the examples. Expect a fairly long learning curve though.

    There aren't really any shortcuts when it comes to programming. You have to learn how to code. It takes time.


  • Registered Users Posts: 8,449 ✭✭✭Call Me Jimmy


    java introduces keywords that imo would confuse the hell out of a newbie programmer.

    like if i went into my first programming lecture and was explained what a class was, what static was, what public was and what in gods name is String args[] i think i would have dropped out, purely because i'm the sort of person who would want to know why do we use this word here, why is there a bracket there etc.etc.

    some of you may argue well the lecturer can just skip over them bits until further on in the course but that just delaying the confusion tbh, it be better imo of course to get a good grounding in simplier programming rather than be bamboozled with strange terms.


    When I started college the first thing we jumped into was java and while I learned it fine, i'm the same as you so it really annoyed the hell out of me because everything was glossed over while we learned. So it was months later I realised what String args was and why certain things were how they were.
    It made programming more difficult for me in the beginning because I felt like I just wanted to know how stuff worked rather than jumping straight into theory.


  • Registered Users Posts: 799 ✭✭✭eoinbn


    When I started college the first thing we jumped into was java and while I learned it fine, i'm the same as you so it really annoyed the hell out of me because everything was glossed over while we learned. So it was months later I realised what String args was and why certain things were how they were.
    It made programming more difficult for me in the beginning because I felt like I just wanted to know how stuff worked rather than jumping straight into theory.

    Well uni just introduces concepts, you are suppose to go into the detail yourself. Pity that didnt sink in when I was there!

    I also feel c++ was easier to get into. Maybe it was because I had a background in BASIC but I found C++ very easy to pick up. No need to worry about classes, constructors, initialization, just 1 include and main() and off you go! Now once you get into the real detail java has a lot of advantages but I think they hype that was around java at the start where people were saying that the programs would write themselves was probably coming from very experienced/talented c++ programmers that could jump right in and make use of the huge library.

    OP: Unless you are extremely bright then it will take months before you get anywhere with either language and even then you might not have even covered anything to do with creating applications! Something like Visual Basic is very user friendly and is all about creating window applications.


Advertisement