Computer Programming Question

Discussion in 'Off Topic Discussion' started by Japan-Games.com, Feb 27, 2007.

  1. the_steadster

    the_steadster Site Soldier

    Joined:
    Apr 4, 2004
    Messages:
    2,593
    Likes Received:
    2
  2. subbie

    subbie Guardian of the Forum

    Joined:
    Feb 25, 2005
    Messages:
    4,749
    Likes Received:
    94
    Actualy most NA/Euro developers have moved on to C++. C development is becomming rare with a few exceptions.

    Hell I was even writing GBA games in C++.
     
  3. babu

    babu Mamihlapinatapai

    Joined:
    Apr 15, 2005
    Messages:
    2,945
    Likes Received:
    3
    heh. well it is pretty fun ^^
    but if you just design dialogs and add as resources it's a bit simpler at least :)
     
  4. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    GBA games in C++? what kind of impact did that overhead have on the GBA? ;-)

    I know for fact the for GBA development, RAREware required the coders to be fluent in assembly and C. Working on lower level on weaker hardware lets you cram more power out of it - but then again , rareware are not your average studio when it comes to technical work. You have to be a proven scientist to work for them xD

    Factor5 and their GC titles are also rich in asm and C
     
    Last edited: Mar 3, 2007
  5. babu

    babu Mamihlapinatapai

    Joined:
    Apr 15, 2005
    Messages:
    2,945
    Likes Received:
    3
    well I and some friends made a platformer for the gba as a school project using lots of OOP and it worked perfectly. We had the plan to release the engine as opensource to the gba community as soon as we had fixed a bug, but the code was lost and now all I have is the rom. :-(
     
  6. Japan-Games.com

    Japan-Games.com Well Known Member

    Joined:
    Sep 12, 2005
    Messages:
    1,806
    Likes Received:
    9
    Hey

    I've downloaded the free Express editions of VB (both Windows and Web) as well as C++. I see what you mean about VB being easier to start with. In the end I want the program that's going to give me the most amount of freedom to create, or the most amount of options. Should I start at the bottom of C++ and work my way up or hit the ground a little faster with VB? It looks like I'm going to have to crack open a book or two on VB so I was wondering if the time is better spent on C++ if that's where I'm going to end up.

    Arigats.
     
  7. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    you should look at it in terms of an investment.

    VB is ok for a quick-bang, but in the long-run C and moreso C++ will pay off and make you a better programmer.
     
  8. mairsil

    mairsil Officer at Arms

    Joined:
    Apr 20, 2005
    Messages:
    3,425
    Likes Received:
    153
    Honestly, if you want something flexible and able to effective do anything that you want, then you want C++ plain and simple. Since it sounds like you have little to no programming experience, then you might as well start with (arguably) the best.

    Having some experience teaching programming in C++ and Java, here is my advice to you. First, while you can certainly learn to program from online tutorials and example code, I would highly recommend a programming course worthy textbook. Of course, if you learn better by example, then don't waste the money. The thing is, most people cannot learn proper programming without structure. Here are a couple of introductory texts that I have used and would recommend:

    "Programming and Problem Solving with C++" - Dale
    "C++: How to Program" - Deitel & Deitel

    Be warned, you will not do any sophisticated GUI's with either of these texts. They will, however, teach you the fundamentals of structured and object-oriented programming. You NEED to know how these concepts work in order to do more than a simple one screen program. Both books are well organized and start with simple introductions ("Hello World") and progressively build on the concepts until you are working with templates, pointers and other advanced topics. The key with these books is that the fundamentals can apply to almost any programming language.

    Why not C: C is definitely a flexible language, but it lacks the object oriented capabilities of C++. The two languages are very similar in style, with only some differences in snytax and structure. If you are going to learn either, it would be more prudent to learn C++. (Yes, I know there are more differences and subtleties, but I am trying to keep this simple)

    Why not Java: One of the local universities here recently changed their introductory programming course (i.e. the first course any computer science student would take) from C++ to Java. At the end of the first semester of that course, they saw over a 40% increase in the dropout rate. Why? The majority of students apparently could not grasp object oriented programming concepts quickly enough. Java is almost as flexible as C++, but it comes at the cost of being forcibly object oriented. Now, I do not think that this is a bad thing, but having learned Java after C++, I would say that it is much easier to pick it up when you have at least a good grasp of classes, inheritence and polymorphism. The same could be said for C#.

    Any questions? :lol:
     
  9. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    yea, stay away from Microsoft's J++ too :p forever:p

    mairsil, what's your opinion on Object Oriented C? it's a very 'thin' layer at apparently no extra cost for the experienced C coder, what are the draw-backs except for code portability and popularity ? Any difference in overhead ? Are the compilers as efficient?
     
    Last edited: Mar 5, 2007
  10. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Do you mean Objective C? ("The Mac language")

    A good programmer can examine object code and use profiling tools to determine for themselves how to write good code in any language with whatever design paradigms they know for any platform.

    Honestly to really "understand" programming, you also also need to understand hardware. To become a good programmer IMO the bare minimum you need to know:

    digital - understand boolean/combinatorial logic, latches and flipflops, basic arithmetic like two's complement, sequential logic/state machines, binary/hex <-> dec number system
    computers - understand assembly with the few RISC type instructions (load/store, arithmetic, branch), addressing modes (relative and indirect especially)

    From there anyone can understand how C is like easy assembly and won't have a problem understanding concepts such as pointers (which are very important!)
     
  11. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    implimenting stacks in asm can be a pain in the ass, even for simple FIFO. I still love asm though xD
     
  12. GaijinPunch

    GaijinPunch Lemon Party Organizer and Promoter

    Joined:
    Mar 13, 2004
    Messages:
    10,999
    Likes Received:
    75
    But you do not need to understand programming to effectively program. Obviously the more you have the better, but you can never substitute good old experience with knowledge. What's far, far more important to understand than any of the above, is the idea behind the code. How often will you code something for yourself for a living? Rarely, if ever. You're always someone's bitch, so getting in their head is something not to be overlooked.
     
  13. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Stacks are LIFOs. Does your target processor not have indexed AM? heh

    edited to reflect Intel:

    push: mov [stack_ptr], register
    sub stack_ptr, wordsize
    return void

    pop: mov register, [stack_ptr]
    add stack_ptr, wordsize
    return with register


    to do a FIFO: pushing would inc, popping would dec.

    Very true, but if you aren't coding for yourself then good programming is rarely an issue.
     
    Last edited: Mar 5, 2007
  14. mairsil

    mairsil Officer at Arms

    Joined:
    Apr 20, 2005
    Messages:
    3,425
    Likes Received:
    153
    I don't think that the OO extensions to C, aside from C++, are really worthwhile. Sure, you get to use C-like syntax with them as opposed to C++ syntax, but the differences are minor. I also don't think that the compilers will ever mature enough to make comparable to C++. The reason for this being that there is little to no competition for the compiler writers to improve. C++ has several high profile writers trying to capture the programming audience.

    For an "introduction" to programming, you do not need to learn the intricacies of the underlying architecture, though digital/discrete logic is a must. I certainly will not say that learning hardware design issues, such as Amdahl's Law or the performance characteristics of different hardware branching schemes, will not make you a better programmer. However, you don't need those when you are just starting out. It's ok if your first "Hello World" program uses 50 MB of RAM, even if that is laughable to a long time programmer.
     
    Last edited: Mar 5, 2007
  15. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    Calpis, in greece they actually included FIFO and LIFO , both in the stacks category.
     
    Last edited: Mar 5, 2007
  16. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    ...and in the third and fourth year of tech high school here too!
     
  17. macwest

    macwest Resolute Member

    Joined:
    Jan 10, 2005
    Messages:
    923
    Likes Received:
    8

    Borland.....useful..Sorry mate not here in the Bay Area, San Francisco region CA USA that is. Maybe there is a different overseas but I know from my experience the only time i have used borland was in school. after that it was all Microsoft or a gcc compiler for C/C++ apps.

    On C++ If you are planning on learning it I would recommend a class on pointers and references. It is one of the concepts most people get very confused on.
     
  18. Barc0de

    Barc0de Mythical Member from Time Immemorial

    Joined:
    Oct 29, 2005
    Messages:
    11,205
    Likes Received:
    23
    useful was refferring to C++ versus C :)

    Borland is just personal preference:D
     
  19. macwest

    macwest Resolute Member

    Joined:
    Jan 10, 2005
    Messages:
    923
    Likes Received:
    8
    oops Sorry. my bad. :)

    Borland is a nice enviroment but unfortuently no business in my neck of the woods even uses it.
     
  20. GaijinPunch

    GaijinPunch Lemon Party Organizer and Promoter

    Joined:
    Mar 13, 2004
    Messages:
    10,999
    Likes Received:
    75
    Is that to say all professional programmers are good? I would beg to differ if that's the case. There are PLENTY of shitty programmers getting paid good dough. :)
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page