Thread: Just wanted to make a first post and say hello world.

  1. #1
    Registered User
    Join Date
    Aug 2009
    Location
    USA
    Posts
    8

    Just wanted to make a first post and say hello world.

    my first post

    I have decided to study and use the C programming language for personal educational development and to pursue a game programming hobby. I work as a repair electronic technician but believe that programming will help me to develop problem solving skills i need to thrive in my career.

    I choose C because it is an elegant language that is small enough to facilitate grasping all the concepts fully. Also C will hopefully allow me to stay close to the machine so that my thoughts stay close to the hardware thereby sufficing my technological curiosity. I consider myself a beginner because i never really studied programming concepts to much depth therefore, my first focus is to work thru text books i aquired over the years and also purchased online. Currently i am studying "C Programming Guide" authored by Jack Purdum, and published by Que in 1983. It is an old text but i am enjoying it immensely as i enjoy Jack Purdum's writing style.

    In the '80s i programmed on the C64 as a teenager. But, to my fault i never accomplished anything but just continued to survey all that was availiable as far as code snippets but never completing anything of value to submit to society. I played alot of games so i did support many game companies.

    I have haunted this message board on and off many years but never participated. Hope i can at least get 10 posts of useful questions and opinions. But at least i have my first one here .. LOL

    My first question is this, my personality is that i like to see how things work and then move on so i don't have alot of perserverence to cultivate details in projects, what can i do as a game programmer that will will allow me to explore new concepts continously but at the same time be productive. My first thoughts was to work towards learning to program various game and other software engines. Anyone have any comments?

  2. #2
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    My first question is this, my personality is that i like to see how things work and then move on so i don't have alot of perserverence to cultivate details in projects, what can i do as a game programmer that will will allow me to explore new concepts continously but at the same time be productive.
    How can I make piles of money while doing no work?

    New concepts are only going to be new while you don't know them and unless you like tearing game engines apart you may find yourself quickly made bored. You might be most entertained by simply going out and developing different kinds of games I guess but it's a wonder if you can find solutions you haven't seen or used before.

  3. #3
    Registered User
    Join Date
    Aug 2009
    Location
    USA
    Posts
    8
    How can I make piles of money while doing no work?
    Hehe...just trying to be a lazy programmer like everyone else. Programmers are lazy aren't they ? (just jokin)

    New concepts are only going to be new while you don't know them and unless you like tearing game engines apart you may find yourself quickly made bored
    good point, it seems maybe i am aproaching my programming hobby with a wrong approach. I will definitely make sure to start small and build up to larger projects.

  4. #4
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by FrogFace View Post
    Currently i am studying "C Programming Guide" authored by Jack Purdum, and published by Que in 1983. It is an old text but i am enjoying it immensely as i enjoy Jack Purdum's writing style.
    IMO, most technical/textbook writers do not have a style worth appreciating even if they manage to communicate information clearly*, so I won't discourage you from reading a book that suits your fancy BUT please please please do yourself and everyone else a favour and ALSO get a recent C reference, eg. one with an edition in this century. You can find plenty to choose from, used on Amazon for less than $10 US, which is paltry considering the time you have to commit anyway. This will allow you to cross reference the information since I promise many things that were true in 1983 are no longer true today. The minimal standard used by all current compilers is the C89 (as in "1989") standard, but the C99 (as in "1999") standard is also important. Please please please do this.

    *which if you can't get that part right, then you just ain't worth reading at all

    my personality is that i like to see how things work and then move on so i don't have alot of perserverence to cultivate details in projects, what can i do as a game programmer
    I've spend the past year learning C and I think there is a lot to be said for pursing certain things and then abandoning them -- you still gain knowledge and get practice. Probably inevitably, you will probably come to "dislike" the code you write in the first six months, even tho there could be a lot of it. But your time is not wasted as a beginner "surveying", in depth, the various realms and sub-realms of C programming. I would bet a lot of people come to programming wanting to write games, then they end up liking programming more than games, then they find themselves getting into some non game related thing and never turn back.
    Last edited by MK27; 08-30-2009 at 09:48 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  5. #5
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by FrogFace View Post
    Hehe...just trying to be a lazy programmer like everyone else. Programmers are lazy aren't they ? (just jokin)
    Yeah that's the stereotype, because 'dem damned programmers are always sitting in their office staring out the window'. Obviously most people have a problem with the fact that 99% of programming takes place before you start typing code.

  6. #6
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Who said anything about being near a window? I can only stare at the walls of my cubicle.

  7. #7
    Registered User
    Join Date
    Aug 2009
    Location
    USA
    Posts
    8
    Quote Originally Posted by MK27 View Post
    please please please do yourself and everyone else a favour and ALSO get a recent C reference, eg. one with an edition in this century. ... This will allow you to cross reference the information since I promise many things that were true in 1983 are no longer true today. The minimal standard used by all current compilers is the C89 (as in "1989") standard, but the C99 (as in "1999") standard is also important. Please please please do this..
    I understand and agree entirely with your guidance. As I understand it, using obsolete information to learn with could begin to create bad habits in coding leading to frustrating code for other programmers to maintain later if by chance i get past all the compiler errors and happen upon creating a killer game that is world famous which gamers can't get enough of (dream big right). For example, the ancient text i am reading now touched lightly on functions and in the example code i noticed that in 1983 programers didn't declare function prototypes before main(), they just wrote all the functions after main() and let the compiler sort it out . Today, that practice may lead to bad formatting of code that some compilers allow and others do not. This obsolete method therefore is more difficult for programmers to maintain. Not to mention makes the program more difficult to read.

    But, also i noticed something interesting that by starting with older textbooks i felt closer to the the original soul of C when it first became popular. Now, here is what happened from reading the older textbook that may or may not be interesting. In the older text is listed all the C keywords that was availiable to compilers at that time and I wrote down all the keywords and researched them on the internet by comparing them to current ANSI lists naturally some keywords was missing in the older text. One was the keyword "entry". The text said this was a reserved word but was not used. after doing a little google work i then found out the story behind "entry ". It seems that ANSI never decided to use this keyword. This keyword would have caused a debacle in C possibly greater than the spaghetti "goto" in old line number BASIC days. Then i found out that "entry" was implemented at one time in FORTRAN and was the cause of maintenance horror. So, by that comparison i was able to feel more connected to the history of C. Thereby allowing me to expound this alternate opinion, when i should be pounding code into the computer from my ancient text and and watch my compiler complain and whine at me in response to the obsolete commands i am telling it to do !!

  8. #8
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by FrogFace View Post
    But, also i noticed something interesting that by starting with older textbooks i felt closer to the the original soul of C when it first became popular.
    Oh, I couldn't agree more -- not that I have actually done this, of course, since finding a C text from 1983 is probably a feat. C itself is a lesson in the history of computer science, methinks, and if you find that interesting then the history of C probably has lots of clues in it.

    I've never looked at anything by Mr. Donald E. Knuth, other than peering at his homepage, but apparently he intends to complete his 40 year saga (The Art of Computer Programming) at some near future point...
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  9. #9
    In my head happyclown's Avatar
    Join Date
    Dec 2008
    Location
    In my head
    Posts
    391
    As someone who started down the C road 9 months ago, may I suggest that you also take up Visual Basic, in parallel with C. You can concentrate on C, whilst playing around with VB. All you really need is 10 - 30 minutes a day.

    VB is very easy to learn(I am learning so far from the tutorials that came with Microsoft VB Express(free download)), and you will able to write programs for Windows by the time you are still learning about pointers in C.

    And if for some reason, you no longer want/need to learn C(like in my case), you will at least have the knowledge to be productive with VB in the Windows environment.

    I am making this suggestion because I learnt C for 9 months(and enjoyed it immensely), made use of it, then no longer required it, and then picked up VB. Had I learnt VB in parallel with C, I'd be 9 months ahead of the game, and hopefully you will be spared my "fate".

    Welcome to the forum and good luck with your C adventure.

  10. #10
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    I have heard bad things about VB, so I wouldn't recommend it myself. But I'm a Linux person anyway, so what do I know? I'd suggest not trying to learn more than one language at once, especially if it's you're first language. You'll only confuse yourself. You'll be writing away in one language and accidentally use syntax from another one.

    Who said anything about being near a window? I can only stare at the walls of my cubicle.
    Who said anything about it being light enough to see and stare at anything other than one's computer screen?
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

  11. #11
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Commodore BASIC is the most awesome first language ever...

  12. #12
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by abachler View Post
    Commodore BASIC is the most awesome first language ever...
    I only learned recently that Commodore == Amiga, which the only thing I thing I got for Christmas when I was 11 was a VIC20, and really the only thing to do with a VIC20 was program sprites in BASIC. I can remember flipping thru a spiral bound book (like a cookbook) that taught you how to do this. The next year I got a Commodore 64; I'm sure my dad was behind all this stuff since he did pay for it and was an engineer, altho he never seemed interested in computers to me. Eventually I must have given up with BASIC and something has lain dormant inside me ever since

    I am kind of flabbergasted because I cannot reconcile my current conception of what it is/was to be eleven with the idea of programming cartoon characters that bounced around the screen. Maybe that's because I don't have kids and see them as sort of 2 dimensional...I don't even believe I could read...
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  13. #13
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Commodore != Amiga in all cases. My first program was written on a Commodore 64 with a very nice sound and audio chipset and it was in BASIC or it's version of BASIC. The Amiga was actually much later down the road. Commodore was light years ahead of IBM in graphics and sound back in the day. I remember games like Aces and Test Drive that were 16 color and multiple voice (channel?)sounds on the Commodore but were 4 color and reduced to beeps and bleeps on the IBM. My old PCjr had a good sound chip (3 voices) and 16 color EGA but it was released after the Commodore 64.
    Last edited by VirtualAce; 08-31-2009 at 09:41 PM.

  14. #14
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by dwks View Post
    I have heard bad things about VB, so I wouldn't recommend it myself.
    The VB language for .Net has evolved considerably and is today just yet another way to write for the .Net platform offering all the functionality of C#. Suitable for anyone coming from a VB 6 background and wanting to stay that way.

    That said:

    Quote Originally Posted by dwks View Post
    I'd suggest not trying to learn more than one language at once, especially if it's you're first language.
    Indeed. Especially if the other language is C or C++. Makes no sense to try VB.Net, in my opinion. Might as well, if there is indeed such a strong desire to learn a 2nd language right away, to use C#. C/C++ and C# syntaxes and semantics are closer together then they are from VB.Net.

    Still the best approach is to go with one first and only much later consider studying the other. Personally I see no advantage or disadvantage in starting with either one.

    Meanwhile VB.Net can be completely ignored. No more the language offers a clear advantage over C based languages concerning development speed or code mantainability. VB, until 6, benefited from Rapid Application Development, a simple syntax and a very structured programming style that facilitated maintenance. Full applications were built fast and offered less bugs. There was a price to pay. No full OOP support and a loss in performance (which was really mostly due to the runtime). But for business-oriented applications this was a popular choice. However today VB.Net became more complex since it needs to support full OOP and fully integrate with the .Net Framework. There's no clear shortcuts that can be taken with VB.Net that can't be taken with C#. Conversely C# cleared many corners into windows development considerably speeding up the development time on this C-like syntax language.

    Finally, VB.Net -- for some reason. Probably Microsoft wanting to see it eventually disappear -- is not supported on some key emerging .Net technologies. XNA is one example where the developers didn't fully integrate VB.Net, nor it seems will ever do. You can use it but you will lose some important features like ability to write for other platforms like the XBox and from what I have been seeing the code becomes frankly too verbose and hard to follow. I seem to think you also loose some features of the platform. The fact you can actually use VB.Net in XNA shouldn't convince you. The alarm bells should ring still. As new emerging technologies keep arriving and new platforms developed based on the .Net framework, the question is how much suppo0rt can a VB programmer expect? Considering how quickly Microsoft dropped Visual Basic 6 support, I wouldn't trust my study on VB.Net.

    Another one to consider is the Mono project, if you ever wanted to bring your .net code onto Linux. Only now is the Mono team doing some serious work on VB.Net support. This look at VB.Net as a 2nd grade language (undeserving in my opinion) by all players, including Microsoft, should warn you of potential problems in the future.
    Last edited by Mario F.; 08-31-2009 at 09:51 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  15. #15
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Bubba View Post
    Commodore != Amiga in all cases. My first program was written on a Commodore 64 with a very nice sound and audio chipset and it was in BASIC or it's version of BASIC. The Amiga was actually much later down the road. Commodore was light years ahead of IBM in graphics and sound back in the day. I remember games like Aces and Test Drive that were 16 color and multiple voice (channel?)sounds on the Commodore but were 4 color and reduced to beeps and bleeps on the IBM.
    You know, thinking about that gives me a funny feeling that the reason I abandoned the C64 was because I had friends with Atari systems where the games seemed way better, but my parents would not go for buying a dedicated video game system (they would never buy me toy guns, either). I'm sure I can remember sleeping over and playing "Chopper Command" until dawn, then going home and feeling totally deprived.

    No doubt this same childhood drama is replaying itself today with the PC vs Xbox
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

Popular pages Recent additions subscribe to a feed