• Lucid Dreaming - Dream Views




    Page 1 of 2 1 2 LastLast
    Results 1 to 25 of 26
    1. #1
      Opethian Wrathful's Avatar
      Join Date
      Mar 2008
      Gender
      Location
      Queensland
      Posts
      162
      Likes
      0

      Tell me about C++ Programming

      I made quite a number of attempts to learn the language on my own but I found it far too immense to learn it (or I just didn't have patience to stick with it because there are other things I'm focused on right now.)

      I would just like to know if it's worth my time. That was another thing that held me back from trying to go back to learning it.

      If I learn it, would it guarantee getting a job in the IT field? And also do you have to be good at math to learn it?

      Thanks in advance.
      And if I had wheels, I'd be a wagon.

    2. #2
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Quote Originally Posted by Underenigma View Post
      If I learn it, would it guarantee getting a job in the IT field? And also do you have to be good at math to learn it?

      Thanks in advance.
      does knowing how to drive guarantee you a job as a race car driver?...

    3. #3
      Your cat ate my baby Pyrofan1's Avatar
      Join Date
      Nov 2006
      Gender
      Posts
      720
      Likes
      3
      If I learn it, would it guarantee getting a job in the IT field?
      It wouldn't guarantee, but it would help

      And also do you have to be good at math to learn it?
      Just having knowledge of basic algebra is fine.

      but I found it far too immense to learn it
      the actual language only has about 40 keywords and even then you will only use half of them regularly. Learning APIs is what will take the most time.

    4. #4
      The Blue dreamer bluefinger's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      UK
      Posts
      1,629
      Likes
      0
      For graphics programming, maths is needed. If you can't get your head around vector maths, matrices, and all sorts of mathematical goodness... you are boned in that area.

      For most programming, basic maths and algebra will suit you just fine. For a programming job, you'll need to have a good knowledge of several languages, depending on which area you wish to go in. Know your target...
      -Bluefinger v1.25- Enter the madness that are my dreams (DJ Update, non-LD)

      "When you reject the scientific method in order to believe what you want, you know that you have failed at life. Sorry, but there is no justification, no matter how wordy you make it."

      - Xei

      DILD: 6, WILD: 1

    5. #5
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      No one I know uses C++ for graphics. In graphics speed is everything and even the best C++ compiler can't beat real C. Luckily for programmers, C++ can read most C libraries

      I would recommend learning C first, C++ is a superset (mostly) of C. C is procedurally oriented, which I think is easy to learn at first than OOP.

    6. #6
      Emotionally unsatisfied. Sandform's Avatar
      Join Date
      Jul 2007
      Gender
      Location
      Texas
      Posts
      4,298
      Likes
      24
      Quote Originally Posted by Underenigma View Post

      If I learn it, would it guarantee getting a job in the IT field? And also do you have to be good at math to learn it?

      Thanks in advance.
      Depends on what you want to do. Apparantly the best method is to get in where you can (whatever field that may be) as any job, Customer Service etc...and work your way up. I have heard that they like to promote from within. I actually made a thread similiar to this...

      I've since decided to play around with visual basic first since when I downloaded it came with free and easy to understand tutorials. I'll work my way up to other languages later.

    7. #7
      The Blue dreamer bluefinger's Avatar
      Join Date
      Apr 2007
      Gender
      Location
      UK
      Posts
      1,629
      Likes
      0
      Quote Originally Posted by ninja9578 View Post
      No one I know uses C++ for graphics. In graphics speed is everything and even the best C++ compiler can't beat real C. Luckily for programmers, C++ can read most C libraries

      I would recommend learning C first, C++ is a superset (mostly) of C. C is procedurally oriented, which I think is easy to learn at first than OOP.
      I did graphics programming in C/C++ with an OpenGL API, so there you go. It was mostly for learning how to do rendering properly, though I also went as far as debugging the code so to work on both Nvidia and ATI graphics card (The university only had systems with Nvidia cards, so a bug slipped by which prevented the program from running on systems with ATI graphics cards).
      -Bluefinger v1.25- Enter the madness that are my dreams (DJ Update, non-LD)

      "When you reject the scientific method in order to believe what you want, you know that you have failed at life. Sorry, but there is no justification, no matter how wordy you make it."

      - Xei

      DILD: 6, WILD: 1

    8. #8
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Historically, C ruled up on high for games
      reason being, while C++ was good, as a language
      the compilers weren't quite as good as their C counterparts
      and programming in C gave you better (more optimised) binaries

      This is not the case today
      today, C & C++ compilers generate equally good binaries

      C, however, still has the edge on program memory footprints
      but this is not a concern for anything outside of embedded systems

      Game engines (or anything needing raw speed) written in either language are equally viable

    9. #9
      Explorer of the Mind SuperSmashcz's Avatar
      Join Date
      Jul 2008
      Gender
      Location
      MD
      Posts
      51
      Likes
      0
      If you have no programing expierence, i would suggest learning a easier language first like C# or java (C# for games, java for w/e else, they are about the same) C# is almost just as good as C++ now without all the niky syntax. First language i learned that was OPP was java and it was fairly easy. Id suggest that or C# if you don't know how to program and want to learn OOP.
      From every time we meet, to every time we part, i will add another memory to my shattered heart, and for every dream we chase, another memory will take its place, so we can remember it one day.

      LD's 15
      DILDs 14
      WILDS 1

    10. #10
      Banned
      Join Date
      Apr 2007
      Location
      Out Chasing Rabbits
      Posts
      15,193
      Likes
      935
      Quote Originally Posted by bluefinger View Post
      I did graphics programming in C/C++ with an OpenGL API, so there you go. It was mostly for learning how to do rendering properly, though I also went as far as debugging the code so to work on both Nvidia and ATI graphics card (The university only had systems with Nvidia cards, so a bug slipped by which prevented the program from running on systems with ATI graphics cards).
      OpenGL can be used in C++, I didn't say that it can't. Remember, C++ can read C libraries (OpenGL is written in C and asm.) Doing extensions in C++ is what is rarely done.

      Games usually require that specialized extensions be written, those are done in C almost exclusively.

    11. #11
      Member
      Join Date
      Apr 2007
      Location
      Norway
      Posts
      8
      Likes
      0
      Hi. A verbose post from me here. What I'm trying to do here is give you some perspective over why learning multiple languages is a wise move. I'm also partially arguing for C++.

      No single language will guaranty you a job. What you need to learn is the techniques required to handle most problems in any language. Most of these can be learned in any of C++, Python, Ruby, Haskell or what have you. If you know how to do object orientation (A common way to structure programs), for instance, it doesn't matter if you do it in C++ or Python. Or if you know how a map/hash table (A common way to store data) works in C++, figuring out how it works in Java is trivial. (But what might seem like a contradiction, is that to gain the ability to see the language independent features of programming, you will have to learn more than one language.)

      This really applies to specific APIs too. For instance OpenGL contra Java 3D. This summer I've been working for a research institute where they develop tools for control room designing. They use Java 3D. I've used Java in the past, but I've never done any Java 3D programming before. My only 3D programming experience has been using OpenGL in C++. But it took me less than three days to get up to speed in Java 3D to the point where I could start doing stuff that was useful for my employer.

      The advantage of learning C++, contra a lot of other languages, is that the spectra of different ways to program a c++ program is large. Bigger than for instance Java, where you are (dead) locked to object orientation. In C++ you can do low level code and fiddle with pointers (direct access to the computer memory). Learning the object oriented approach gives you a basic mind-tool-kit, to handle the programs. This is just the same as in Java. Templates gives you a whole new way to think about many things. (Generics in Java just isn't strong enough for my needs.) All this might be be both a source for headache and moments of true euphoria (which is what I get when I realize a cool way of programming something. Guess I am a programming junkie.).

      Another thing I would like to point out is that if you would like to make Graphical User Interfaces (GUI), TrollTech's Qt is the way to go. Qt is an open source, cross platform library for GUI in C++ that has everything. It's not really difficult to learn once you've grasped object orientation. Qt is also ported to other languages. A bit of googling will give you a list. None of the GUI libraries for Java come close in my mind.

      (The following is really the important part)

      For me, learning C++ really elevated my understanding of programming. I cannot guaranty the same for you, since I don't know you. But if you decide it worth your while, I really recommend buying A BOOK. Every online tutorials I've seen, has been been inadequate to raise your C++ skills to what they need to be to be able to get a job. Reading a book (or even better, reading several books), gives you more in depth knowledge. It will also tell you about, and guide you around the traps and gotchas of the language.

      This goes for any programming language. Read a book, type off the examples, play with them and do the exercises! This way you will have some examples you can peek at, customize and improve when you make your own programs later.

      (The following section is more of an afterthought)

      I might sound a lot like the world is all C++ vs Java here, but it's not. That is, it is some times, some places. A lot of job requirements will say that Java or C++ knowledge is preferred. But there are a lot of other languages out there that will give you new ways to look at programming. If you learn a new language, you'll learn things that you can take advantage of even when coding C++ or Java.

      My favorite language is Haskell, it really takes programming to a whole other level of abstraction. But learning it took patience. At times I felt that all my years of doing C++, Perl, PHP, Java and BASIC didn't help me at all when I was to code a Haskell program. But now that I've got the hang of it, I really don't want to program in neither Java or C++ any more. They seem too verbose and rigid. The ideas and the mathematical foundation (Yes, programming has a lot to do with maths. But often it is very simple math.), for Haskell are really new and very innovative. So learning Haskell I really felt that I learned programming for the 21th century.

      Another cool language is Python. It is more like C++ and Java, with object orientation and all, but it works on a higher level. Giving you more time to figure out how you want to solve the problem at hand, not struggling with getting every index variable bounds etc correct.

      Hope this is of some help.


      Ichor

    12. #12
      Member Achievements:
      1 year registered Veteran First Class 5000 Hall Points

      Join Date
      Sep 2004
      Gender
      Location
      Seattle, WA
      Posts
      2,503
      Likes
      217
      There's always been a lot of discussion about what to learn first. Where I went to school, the CS students started out on Java, and we computer engineering students started out on C/C++. A few years in, the difference was very clear: Most of the people that started out on Java did not seem to be able to wrap their heads around the notion of pointers and memory management. To them, "references" are a magic thing that you don't need to worry about, and it really shows in job interviews. If you're thinking about your career, my advice is this:

      Make sure you understand the concepts, and don't fall into the trap of being bound to just one technology. We're in an ever-changing world, and it'll only change faster. People who know C++ have a much easier time picking up Java than people in the reverse situation. You can start with either, just understand what's going on under the hood, and what goes on under the hood on other systems.

      Through experience, I've found that the worst job candidates are the self-proclaimed "Java Developers". They seem to be very narrowly-trained and completely unadaptable if the discussion doesn't involve technologies related to caffeinated beverages or musical fruits. If I ask you what a hash table is, and you tell me "it's a serializable collection in java.util", even after I clarify that I'm interested in the CS concept of a hash table, you WILL get shot down like a nice guy at a dance club.

      Once again, I'm not trying to tell you what technology to choose. Just be careful not to shoot yourself in the foot by seeing the whole world through the filter of that technology.

    13. #13
      Member Serith's Avatar
      Join Date
      Feb 2007
      Gender
      Location
      Minnesota
      Posts
      435
      Likes
      1
      Very interesting post, Ichor.

      Quote Originally Posted by ichor View Post
      I really recommend buying A BOOK. Every online tutorials I've seen, has been been inadequate to raise your C++ skills to what they need to be to be able to get a job.
      I did not know this, I had thought online would be enough, but it does make sense a book would be better. Is there any one in particular you recommend for starting out?

    14. #14
      What's up <span class='glow_006400'>[SomeGuy]</span>'s Avatar
      Join Date
      Nov 2007
      LD Count
      About 1
      Gender
      Location
      Tmux on Debian
      Posts
      2,862
      Likes
      130
      DJ Entries
      4
      Well, CProgramming.com is what I use, and it works fine. It has C/C++ tutorials. It actually teaches the language too. I suggest C first, because, well look at the diference:
      Code:
      #include <stdio.h>
      int main()
      {
        printf("Hello World!");
        getchar();
        return 0;
      }
      ^^C
      Compared to:
      Code:
      #include <iostream>
      
      using namespace std;
      
      int main()
      {
        cout<<"Hello World!";
        cin.get();
      
        return 1;
      }
      ^^C++
      C is more, well, in ENGLISH. Try that first.

      Hey guys, I'm back. Feels good man
      ---------------------------------------------------
      WTF|Jesus lul
      spam removed

    15. #15
      The Nihilist MrDoom's Avatar
      Join Date
      Apr 2008
      Gender
      Location
      U$A
      Posts
      187
      Likes
      0
      Quote Originally Posted by Serith View Post
      Very interesting post, Ichor.



      I did not know this, I had thought online would be enough, but it does make sense a book would be better. Is there any one in particular you recommend for starting out?
      One that includes a primer on Object-Oriented Analysis and Design would be good. While any book will teach you the syntax of C++, very few will touch on OOA/D, which is arguably more important than any programming language.

      Knowing OOA/D makes the difference between being a code monkey who can write what he's told to write, and being a competent software designer who knows why the syntax is being used in such a way and can design functional and extendable (not to mention aesthetically pleasing) code.

      Here is someone who puts it all into perspective.
      Truths are material, like vegetables and weeds; as to whether vegetable or weed, the decision lies in me.
      --Max Stirner

    16. #16
      Member Achievements:
      1 year registered Veteran First Class 5000 Hall Points

      Join Date
      Sep 2004
      Gender
      Location
      Seattle, WA
      Posts
      2,503
      Likes
      217
      Quote Originally Posted by xXSomeGuyXx View Post
      Well, CProgramming.com is what I use, and it works fine. It has C/C++ tutorials. It actually teaches the language too. I suggest C first, because, well look at the diference:
      Code:
      #include <stdio.h>
      int main()
      {
        printf("Hello World!");
        getchar();
        return 0;
      }
      ^^C
      Compared to:
      Code:
      #include <iostream>
      
      using namespace std;
      
      int main()
      {
        cout<<"Hello World!";
        cin.get();
      
        return 1;
      }
      ^^C++
      C is more, well, in ENGLISH. Try that first.
      Um... it's not the englishness of it that makes it more complex. It's the OO/templates stuff, which is a whole separate competency, taught in separate classes, etc.

      If that's what you're worried about, I suggest you go ahead and learn the basics in C++... if you're learning the procedural stuff, then use C++, which lets you do things like declare variables just as they're about to be used:

      Code:
      for(int i = 0; i < n; ++i) { ... }
      That's illegal in C, because you aren't allowed to declare i there... have to declare it at the top of the scope. But then when you get into classes and stuff, you'll know what all that "<<" stuff is all about.

      Also, the STL makes a lot more sense than the libraries that do some similar stuff that you have in C.

    17. #17
      FBI agent Ynot's Avatar
      Join Date
      Oct 2005
      Gender
      Location
      Southend, Essex
      Posts
      4,337
      Likes
      14
      Quote Originally Posted by Replicon View Post
      But then when you get into classes and stuff, you'll know what all that "<<" stuff is all about.
      Syntactical Sugar


      I forget who said that, but I've always liked it as a description

    18. #18
      Member Achievements:
      1 year registered Veteran First Class 5000 Hall Points

      Join Date
      Sep 2004
      Gender
      Location
      Seattle, WA
      Posts
      2,503
      Likes
      217
      Heh yeah, that's basicaly it. This ain't lisp after all

    19. #19
      Opethian Wrathful's Avatar
      Join Date
      Mar 2008
      Gender
      Location
      Queensland
      Posts
      162
      Likes
      0

      Thanks people

      All your advices are very helpful actually. Another thing I was not sure what programming language I should go with but you narrowed it down.
      And if I had wheels, I'd be a wagon.

    20. #20
      !DIREKTOR! Adam's Avatar
      Join Date
      Jan 2007
      Gender
      Location
      Aquanina's closet
      Posts
      5,195
      Likes
      34
      Thank god I'm just an Analyst lol HTML is about the limit to my language skills!

    21. #21
      What's up <span class='glow_006400'>[SomeGuy]</span>'s Avatar
      Join Date
      Nov 2007
      LD Count
      About 1
      Gender
      Location
      Tmux on Debian
      Posts
      2,862
      Likes
      130
      DJ Entries
      4
      lolz

      Hey guys, I'm back. Feels good man
      ---------------------------------------------------
      WTF|Jesus lul
      spam removed

    22. #22
      Banned
      Join Date
      May 2007
      LD Count
      Loads
      Gender
      Location
      Digital Forest.
      Posts
      6,864
      Likes
      386
      Quote Originally Posted by xXSomeGuyXx View Post
      Well, CProgramming.com is what I use, and it works fine. It has C/C++ tutorials. It actually teaches the language too. I suggest C first, because, well look at the diference:
      Code:
      #include <stdio.h>
      int main()
      {
        printf("Hello World!");
        getchar();
        return 0;
      }
      ^^C
      Compared to:
      Code:
      #include <iostream>
      int main()
      {
        std::cout<<"Hello World!";
        std::cin.get();
        return 0;
      }
      ^^C++
      C is more, well, in ENGLISH. Try that first.
      ??

    23. #23
      What's up <span class='glow_006400'>[SomeGuy]</span>'s Avatar
      Join Date
      Nov 2007
      LD Count
      About 1
      Gender
      Location
      Tmux on Debian
      Posts
      2,862
      Likes
      130
      DJ Entries
      4
      Those are programms.

      Hey guys, I'm back. Feels good man
      ---------------------------------------------------
      WTF|Jesus lul
      spam removed

    24. #24
      Banned
      Join Date
      May 2007
      LD Count
      Loads
      Gender
      Location
      Digital Forest.
      Posts
      6,864
      Likes
      386
      ...

      That hardly shows a difference.

      C++ can use Printf.

    25. #25
      What's up <span class='glow_006400'>[SomeGuy]</span>'s Avatar
      Join Date
      Nov 2007
      LD Count
      About 1
      Gender
      Location
      Tmux on Debian
      Posts
      2,862
      Likes
      130
      DJ Entries
      4
      Oh, really? I didn't know that. Shows how much I know...

      Hey guys, I'm back. Feels good man
      ---------------------------------------------------
      WTF|Jesus lul
      spam removed

    Page 1 of 2 1 2 LastLast

    Bookmarks

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •