Programming

Discussion in 'Techforge' started by you_may_be_right, May 18, 2009.

  1. you_may_be_right

    you_may_be_right Fresh Meat

    Joined:
    May 3, 2008
    Messages:
    95
    Ratings:
    +59
    I am taking a class over the summer called Computer Science I. It is in C++ and I don't know much about programming (yet). I'm taking this course to see if it would be something that I could make a career out of (or at least some part-time cash). So... my questions for you are:

    1. How many of you are programmers or know how?

    2. If yes, how long and what suggestions do you have for me?

    3. I looked at the C++ website, and the intro to the language is super boring. It was a bunch of adding number or getting the computer to say stuff like "hello world!". Is there a tutorial or resources on how to build an actual application or at least to see how it is done?
  2. Seth Rich

    Seth Rich R.I.P.

    Joined:
    Jan 9, 2005
    Messages:
    2,387
    Location:
    Hillary's Hit List
    Ratings:
    +1,417
    1. Me.

    2. 8 years (professionally). Learn binary, octal and hexadecimal notation. Learn how to count in each of them, and how to convert between them. Don't just use the Windows calculator either, do the conversion yourself.

    3. Define "actual application". Technically the two examples you cited, though simple, are full-fledged applications.

    Question for you: what do you hope to eventually use your future programming skills for? Making video games? Creating applications for businesses/schools/hospitals/laboratories? Making simple programs to make your life easier (e.g. recipe tracking, personal budgeting, etc.)?
  3. Azure

    Azure I could kick your ass

    Joined:
    Oct 24, 2007
    Messages:
    12,008
    Ratings:
    +4,416
    Practical knowledge of computers is always a good choice.

    I've been able to expand a lot of my responsibilities at work simply because I'm the only one who knows the ins and outs of computers.
    • Agree Agree x 3
  4. Powaqqatsi

    Powaqqatsi Haters gonna hate.

    Joined:
    Apr 15, 2004
    Messages:
    8,388
    Ratings:
    +1,341
    1: I'm a software developer.

    2: About 6 years total, but only a year and a half professionally.

    3: This is a really vague question... what do you mean by "an actual application"?


    My advice:

    First: don't pursue programming as a career unless you enjoy it.

    Second: I first learned to program "for real" with C++. I think it is a good language to learn so you understand pointers and garbage collection and all that good stuff. It's important to know this stuff if you want to be a software developer.

    However, if you are just "testing the waters" I don't recommend starting with C++. It takes an awful lot of work and understanding to make something very simple.

    Furthermore, if you just want to make simple programs for yourself, or you just want programming as an "extra" on your resume, C++ is really not that useful. A scripting language like Python is easier to pick up, faster to write, and is likely to be more useful for you in this situation.

    Finally, C++ is very unlikely to be what you use when you get a job. As I mentioned before, it's definitely a good language to learn, just so you get to know the details. But you'll likely be using Java or C# once you get a development job. If you are working on research/lab stuff, or just doing little "side programming" as a part of some other job, you are likely to be using some sort of scripting language.

    Third: Stuff you will almost definitely have to use that you should know: SQL, XML, HTML.

    Fourth: Be ready to learn new stuff all the time.

    Well, I don't think this is bad advice, but to be honest, it's not very likely to be very useful. I'm rock-solid on this stuff, but frankly I never once used it outside of school for anything besides RGB values, which doesn't really require any conversion or counting. It's something you should know as a professional developer, but if you go that route, you'll learn it in school anyway.
  5. you_may_be_right

    you_may_be_right Fresh Meat

    Joined:
    May 3, 2008
    Messages:
    95
    Ratings:
    +59
    Ok. By actual application, I suppose I mean something like you would use for businesses/schools/hospitals etc... Maybe an application that tracks personal info, for ex: when you register for classes online.

    I plan to use programming to make money, eventually. I just need to see if it is something I would be adept to do first.
  6. you_may_be_right

    you_may_be_right Fresh Meat

    Joined:
    May 3, 2008
    Messages:
    95
    Ratings:
    +59
    I'm taking this class at a community college and transferring the credit to the university that I currently attend. The thing is, I just changed my major to Web Programming and Development (which is really like a degree in graphic design with two programming classes and little to no math). If I didn't take this class this summer, then I would fall another year behind in this major (because my school only offers certain classes during the fall or spring.... and I need certain prereq's to take those classes). So... this class (Computer Science I) is in C++. Next semester I will be taking programming II which is in Java. I am told the languages are similar, but that C++ is harder to get into. So, I will have exposure to both languages and go from there I guess.
  7. Paladin

    Paladin Overjoyed Man of Liberty

    Joined:
    Mar 29, 2004
    Messages:
    50,154
    Location:
    Spacetime
    Ratings:
    +53,512
    1. I am not strictly a programmer, but I have held positions as a software engineer and I have developed a number of applications. I also work with programming embedded systems (computer systems that perform one particular function, "embedded" into some device).

    2. I've been writing programs since 1984. I started with Commodore 64 BASIC, moved on to 6510 assembly, C, C++, Visual Basic, Java, Visual C# (my current fave for Windows aps) and some others.

    3. Hoo-boy. I'm afraid you've got a long difficult road ahead of you if you aren't interested by this part. You've got to get a handle on the boring stuff before you can do anything of real consequence. You'll need to learn how to make loops, create program logic, and do all kinds of arithmetic before you can put these into algorithms and then put the algorithms into a program.

    If you're using Visual C++, you can make yourself a console ap pretty easily (select 'Console Ap') when you create your project. In the .CPP file, create a main() function, add the code for "Hello, World!" and you're done with your first program. Compile it, execute it. It only gets harder from there.

    You will be able to do quite a lot after your first class. You will probably be able to make very simple applications. It will take a year or two of study before you can make more ambitious aps with GUIs and databases and such.
    • Agree Agree x 1
  8. RickDeckard

    RickDeckard Socialist

    Joined:
    May 28, 2004
    Messages:
    37,911
    Location:
    Ireland
    Ratings:
    +32,524
    I studied programming to a fair extent. I think you need to learn to walk before you can run. You're going to write a lot of "Hello World" and other simple programs befoare you are in a position to write applications!
  9. NAHTMMM

    NAHTMMM Perpetually sondering

    Joined:
    Mar 29, 2004
    Messages:
    14,713
    Location:
    Wisconsin
    Ratings:
    +9,940
    :yes: And you will like it! ;)

    Really, it's an awful lot like a foreign language. They're going to start you off with counting to ten and grammar before you get anywhere near the "interesting" stuff. Good thing, too, if you want to actually use it in the future.


    CS I for me was plain old C. I guess somebody has ambitions for you. :D


    Don't let the website mislead you. The site for Python borders on impermeability and I've found that to be a nice language (although quite different from C).
    Last edited: May 18, 2009
    • Agree Agree x 1
  10. Nautica

    Nautica Probably a Dual

    Joined:
    Aug 10, 2005
    Messages:
    11,555
    Location:
    St. Louis
    Ratings:
    +6,504
    1) I'm a programmer.

    2) 20+ years in the industry, B.S. in Computer Science from a LONG time ago. Been a consultant for >15 years now. My advice is to get a good background in the fundamentals and techniques of computer systems and programming. Learn what goes on behind-the-scenes and you'll be better prepared to deal with all the other stuff in the future.

    3) Baby steps. Doesn't matter if it's C++, or BASIC (back in the Dark Ages), or Java or whatever. You need to learn the fundamentals first, and you do that be coding small, simple programs/applications. And then you build on those as you learn more. Don't worry, most programming language-type courses build up in complexity pretty quickly in their examples. But you've gotta crawl before you can walk, walk before you can run, etc....

    4) Like Powa said--Never stop learning new stuff. It's WAY too easy to become obsolete in a constantly changing industry.
    • Agree Agree x 3
  11. Spider

    Spider Splat

    Joined:
    Jun 4, 2004
    Messages:
    5,233
    Ratings:
    +447
    I'm not a programmer, but I do program as part of my job. I've done so on and off for about ten years.

    While I agree with the others that it's important to learn the basics, it also helps not to be bored out of your mind. You can also try googling for sample code to simple applications that you might find interesting. Say, an application to calculate someone's age on a certain date, to simulate a craps game or to pull specific information from a website. If you get stuck, you can always go back a step.

    Just make sure that--once you feel you've got a pretty good handle on things--you go back to those basic sites and skim them to make sure you haven't missed a subtlety.
    • Agree Agree x 1
  12. Talkahuano

    Talkahuano Second Flame Lieutenant

    Joined:
    Jun 27, 2006
    Messages:
    12,995
    Location:
    Ul'dah
    Ratings:
    +8,533
    I guess you could give that a shot after a whole semester. Programming is like learning another language. You don't just jump into Spanish 4 and start having conversations on the first day. The same applies for programs. Learn the basics and learn them well, or you'll be sorting through lines and lines of code wondering wtf everything means.

    This. ^
    • Agree Agree x 1
  13. oldfella1962

    oldfella1962 the only real finish line

    Joined:
    Nov 28, 2004
    Messages:
    81,024
    Location:
    front and center
    Ratings:
    +29,958
    "and he was found in a bathtub full of ice, missing a kidney.....
    he had a report card in his hand.....and the final grade he got for his Computer SCience Class
    .....was......C + +.........no shit." :unsure:

    Anyway, you guys are some smart individuals! Talk about feeling inferior listening to your computer lingo + credentials. :salute:
    • Agree Agree x 1
  14. Azure

    Azure I could kick your ass

    Joined:
    Oct 24, 2007
    Messages:
    12,008
    Ratings:
    +4,416
  15. e-qui-lib-ri-um

    e-qui-lib-ri-um Non-Pareto Optimal

    Joined:
    Apr 14, 2009
    Messages:
    127
    Location:
    In a state of non-unilateral change
    Ratings:
    +77
    It's very cool to see such a great knowledgeable base of programmers and programming info here! I've worked in all manner of design and graphics apps for years but recently was asked if I might like to apply at ILM (Industrial Light and Magic) because of my years of Creative Director and design experience at the design firm I worked at. I would very much like to expand my skills into the video game and cgi disciplines and am willing to put in the hours required to make the transition.

    To anybody that can answer:

    What are some useful/critical programming languages to know for basic video game level design and programming? I am fluent in many web design languages like HTML, Javascript, Cold Fusion, MySQL, some PHP, etc. and can learn new languages fairly quickly, however video game programming is a different animal all together so I need to really start from the beginning correct?

    Any info is appreciated!
    • Agree Agree x 1
  16. NAHTMMM

    NAHTMMM Perpetually sondering

    Joined:
    Mar 29, 2004
    Messages:
    14,713
    Location:
    Wisconsin
    Ratings:
    +9,940
    ^ Well, now, let's be fair. I only had one semester of C, and my grasp of Python is pretty much equivalent to a common garden snake at the moment ;)

    That said -- what sort of video game? Shooter, RPG, board game, . . . ? The kind of game might suggest which language to use.

    That said, I expect the programming language(s) you'd wind up using would be those which ILM uses already.


    Python has a library called Pygame, which seems to be geared towards shooters, platformers, that sort of thing. It can handle board games and the like as well, I'm sure.
  17. Powaqqatsi

    Powaqqatsi Haters gonna hate.

    Joined:
    Apr 15, 2004
    Messages:
    8,388
    Ratings:
    +1,341
    Those aren't going to be really useful for game programming, except to just help you get started on the languages. You are likely to be writing C++ (in a C style). C# is making a bit of an effort to enter into the gaming realm but won't likely catch on for a while with the big shops.

    If you are looking for something that is relatively easy to get started with, try C# with the XNA toolset.

    It really depends on what type of games you are trying to write though.
  18. e-qui-lib-ri-um

    e-qui-lib-ri-um Non-Pareto Optimal

    Joined:
    Apr 14, 2009
    Messages:
    127
    Location:
    In a state of non-unilateral change
    Ratings:
    +77
    Good point! I will have to ask my friend that works at ILM what programming languages are required for what they call level design or modeling which is building the environments or containers and all that that entails. I would eventually like to grow into character mechanics and movement which is where all the exciting stuff is being done in my opinion.

    Thanks for the info, this confirms what I thought, that basically all programming and development begins with C++ or a variant of C like C#?
  19. e-qui-lib-ri-um

    e-qui-lib-ri-um Non-Pareto Optimal

    Joined:
    Apr 14, 2009
    Messages:
    127
    Location:
    In a state of non-unilateral change
    Ratings:
    +77
    Good call...So I went to ILM and lo and behold:

    https://jobs.lucasfilm.com/how_to_apply.html

    In order to fulfill my job requirements as a Production Manager I don't necessarily need to be fluent in all those languages but a working knowledge would be really helpful in managing parts of a creative production process I would think! Quite a choplist!
    • Agree Agree x 1
  20. Powaqqatsi

    Powaqqatsi Haters gonna hate.

    Joined:
    Apr 15, 2004
    Messages:
    8,388
    Ratings:
    +1,341
    Most of those aren't languages, just programs that are in use. Also, I'm guessing that a single person doesn't work with all of those, as they range from drawing/art to low-level programming. Really, from that list only Python, C, and C++ are languages.
  21. e-qui-lib-ri-um

    e-qui-lib-ri-um Non-Pareto Optimal

    Joined:
    Apr 14, 2009
    Messages:
    127
    Location:
    In a state of non-unilateral change
    Ratings:
    +77
    Oh I know, that's why I posted the ILM ad, it's a combination of software and programming languages and in order to manage a digital production process that incorporates languages and software a basic knowledge of all would definitely be helpful, especially if you are a software fanatic.