Thread: Just Beginning

  1. #1
    Registered User gamblingman's Avatar
    Join Date
    Oct 2012
    Location
    Huffman, Texas
    Posts
    2

    Just Beginning

    Ok so I just started learning C about a week ago. Not C++, just C. I cant believe it, so easy! I really cant believe how easy its been so far. I'm not super deep yet, but its just a lot like basic algebra how its structured, very mathematical and logical. I love it! I had heard from other people that its nearly impossible to learn C, that it takes forever, and that it would make my brain melt. They couldn't be more wrong, I don't know why I listened to others for so long. I was up nearly all night a few days ago just reading and writing script and compiling. Finally went to bed when I noticed the sun coming up!

    I'm learning it on my own and looking forward to adding this to my already strong knowledge of computers. And if you recognize my name, then by all means, drop me a line.

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Just know that due to its low level nature, any code that you produce using thus language will most likely have more bugs than using another high level language such as C++, Java, C#, etc.
    Don't stop learning just C. Learn as many languages as you can. It will certainly add to your attractiveness.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #3
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by gamblingman View Post
    ...impossible to learn C, that it takes forever, and that it would make my brain melt.
    while quite possible, truly learning C, to the point where you can code as proficiently as the big boys (and girls) who implement the linux kernel or gcc, takes many many years. be prepared to eventually (probably sooner rather than later) run into a problem that will make your brain melt, and just know that the regulars on this forum will be here to help you.

  4. #4
    Registered User
    Join Date
    Jul 2012
    Location
    Australia
    Posts
    242
    Quote Originally Posted by gamblingman View Post

    I'm learning it on my own...
    I'll give you a like for this.
    IDE: Code::Blocks | Compiler Suite for Windows: TDM-GCC (MingW, gdb)

  5. #5
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by gamblingman View Post
    and that it would make my brain melt
    It melted my brain.

  6. #6
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    I've never heard C described as "impossible to learn". It's actually an extremely simple language. The fact that you're having no trouble with the easy parts simply means you're not an idiot. People usually begin to have trouble when they hit pointers. But if your "already strong knowledge of computers" includes an assembly language or two, you'll have no problems.
    The cost of software maintenance increases with the square of the programmer's creativity. - Robert D. Bliss

  7. #7
    Registered User
    Join Date
    Jul 2012
    Location
    Australia
    Posts
    242
    @gamblingman: I would suggest learning how to use a debugger. I am only just starting to learn it now, about 2 months after I started learning C. If I had learnt how to use it earlier, I would have been able to solve a lot of problems on my own, instead of relying on help from this forum(which is absolutely terrific).
    IDE: Code::Blocks | Compiler Suite for Windows: TDM-GCC (MingW, gdb)

  8. #8
    Registered User gamblingman's Avatar
    Join Date
    Oct 2012
    Location
    Huffman, Texas
    Posts
    2
    Using Codeblocks for writing and compiling. Its pretty easy to use and sure is nice to have a debugger. I haven't done any programming before, spare a little perl. Doing some perl gave me an introduction to some of the basic C commands so I wasn't completely in the dark. Plus I had a lot of Excel work in college, and some of the commands like the IF's seemed similar so I guess I'm not really at the beginning.

    I usually do things like virus removal, data recovery, OS repair work, and other comp repair in my free time. I'm learning it because I want to, it has nothing to do with my work. I love computers.

  9. #9
    Registered User
    Join Date
    Sep 2008
    Location
    Toronto, Canada
    Posts
    1,834
    C hasn't made my brain melt yet. Precisely because it is logical and structured. I have a different opinion about C++ or any OOP nightmare - they do not appear to follow logic and use way too many weasel words like 'method' and 'instance', which imply programming should be like casting magic spells. So please continue to increase your proficiency in plain C as long as you can.

  10. #10
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    May I suggest that we just ignore nonoob's flamebait?

    I somewhat agree with the recommendation "to increase your proficiency in plain C as long as you can", but for a non-"weasel words" reason: by becoming proficient in one language first, you concentrate on building your programming skills, rather than continuously learning the syntax and semantics of new languages without actually putting them to good use. Later, adding different languages to your arsenal gives you a broader perspective (and perhaps you will then see that nonoob's perspective is just one narrow viewpoint), but you need to go deep somewhere to be good.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  11. #11
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by nonoob View Post
    I have a different opinion about C++ or any OOP nightmare
    sounds like someone who had a bad experience with an early version of C++.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Sounds like someone is trying to steer away people from some language openly because he/she cannot wrap his/her mind around it...
    It is silly to ignore other programming languages, and being close-minded just makes things worse.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  13. #13
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Quote Originally Posted by nonoob View Post
    use way too many weasel words like 'method' and 'instance', which imply programming should be like casting magic spells.
    I'm also confused by the term 'method'. I've looked up it's etymology before, trying to find it's origin in OOP, but to no avail. If anyone else knows, please divulge.

    But as for "instance", the word is so basic, it simply refers to an effectual entity, that originated from a specific abstract entity. For example, we're "human instances", and Earth is a "planetary instance".
    This makes the term very fitting for how it's used in OOP. And, it's broadly used in computing. For example, as you may or may not already know, processes or threads are often referred to as "running instances".

  14. #14
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    Well, I don't know etymology, but the usage certainly does make sense. Consider the following:
    What is a method? In OO programming, we don't think of operating on data directly from outside an object; rather, objects have some understanding of how to operate on themselves (when asked nicely to do so). You might say we pass messages to an object, and those messages will generally elicit some kind of an action or meaningful reply. This ought to happen without our necessarily knowing or caring how the object really works inside. The tasks we are allowed to ask an object to perform (or equivalently, the messages it understands) are that object's methods.
    Methods

    The way I think of it, we all have methods, or ways of doing things people ask us to do.

    I have to admit, I found this browsing wikipedia. Wikipedia is a great way to find the random blogs it is frequently sourced with.
    Last edited by whiteflags; 10-09-2012 at 09:56 PM.

  15. #15
    - - - - - - - - oogabooga's Avatar
    Join Date
    Jan 2008
    Posts
    2,808
    Quote Originally Posted by Yarin View Post
    I'm also confused by the term 'method'. I've looked up it's etymology before, trying to find it's origin in OOP, but to no avail. If anyone else knows, please divulge.
    method
    Greek: methodos, "systematic course"
    from meta- "after, along with, beyond"
    and hodos "way, road"

    A "method" is an action that an object knows how to do to itself.

    A "function" is an action that knows how to do something to an object.

    I think the term "method" was first used in SmallTalk. It's not a weasel word, but simply another word for a subprogram chosen to distinguish it from functions.
    The cost of software maintenance increases with the square of the programmer's creativity. - Robert D. Bliss

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. beginning C#
    By DennChooch in forum C# Programming
    Replies: 7
    Last Post: 11-21-2012, 05:52 AM
  2. Beginning Tutorials
    By Sugar in forum C++ Programming
    Replies: 7
    Last Post: 12-28-2011, 10:37 PM
  3. Beginning ASM.
    By Krak in forum C++ Programming
    Replies: 4
    Last Post: 12-06-2004, 06:27 PM
  4. beginning C++
    By datainjector in forum C++ Programming
    Replies: 2
    Last Post: 12-12-2002, 02:27 AM
  5. In the beginning...
    By CAP in forum Game Programming
    Replies: 21
    Last Post: 05-29-2002, 01:40 PM