Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: what are the Diffetences between all the Editions Of the C programming language?  (Read 20513 times)

0 Members and 1 Guest are viewing this topic.

m_ilad__

    Topic Starter


    Beginner

  • moderator locked one of my topics for no reason.
    • Certifications: List
    • Computer: Specs
    • Experience: Familiar
    • OS: BSD
    Hi.
    As I mentioned already, I'm studying the C programming language.
    Question:
    I'm really confused!
    i was reading the 2st Edition for several months.
    i googled and foundout that there are other Editions.
    I don't know perhaps 10 ! By other groups.
    What are the differences between them?!
    Oh god my brain got X up!
    Better i leave the 2st Edition Book?
    if Yes, what are the Advantages of this move?

    Thank you all.
    « Last Edit: January 03, 2014, 09:56:23 PM by m_ilad__ »
    a Moderator locked one of my topics for no reason.
    There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
    Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
    they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
    now i can't start new topics anymore and can't PM to any member.This is certainly criminal

    m_ilad__

      Topic Starter


      Beginner

    • moderator locked one of my topics for no reason.
      • Certifications: List
      • Computer: Specs
      • Experience: Familiar
      • OS: BSD
      Guys i checked and foundout somethings.
      C89 and C99.
      is the 2s-Edition Book the same C99?

      Come ooon. A foolish is asking you.
      « Last Edit: January 03, 2014, 09:56:51 PM by m_ilad__ »
      a Moderator locked one of my topics for no reason.
      There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
      Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
      they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
      now i can't start new topics anymore and can't PM to any member.This is certainly criminal

      Geek-9pm


        Mastermind
      • Geek After Dark
      • Thanked: 1026
        • Gekk9pm bnlog
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Windows 10
      What do you want to do?
      C has been made a standard programming tool.
      You should already have read this:
      http://en.wikipedia.org/wiki/C_%28programming_language%29

      Quote
      ...  design provides constructs that map efficiently to typical machine instructions   .. .   has found lasting use in applications that had formerly been coded in assembly language, most notably system software like the Unix computer operating system.

      C is one of the most widely used programming languages of all time... and C compilers are available for the majority of available computer architectures and operating systems.

      Many later languages have borrowed directly or indirectly from C, including C#, D, Go, Rust, Java, ...

      IMO, if you do not already have a strong desire to learn C, forget it. It is like trying to read literature of the 16th century. Out of date.

      Learn Java or Python instead.

      camerongray



        Expert
      • Thanked: 306
        • Yes
        • Cameron Gray - The Random Rambings of a Computer Geek
      • Certifications: List
      • Computer: Specs
      • Experience: Expert
      • OS: Mac OS
      IMO, if you do not already have a strong desire to learn C, forget it. It is like trying to read literature of the 16th century. Out of date.

      Learn Java or Python instead.

      I do have to agree with this above, C is not the best language to use nowadays, especially for a beginner as it is very easy to make mistakes (mostly related to memory management) that will not be detected until runtime (Or maybe not detected at all which could cause a major issue down the line).  As a first language (or a language to be used in the real world unless you are developing very low level system software) you would be much better off learning something like Python, Java or C# as the concepts used in them (such as proper object orientation and better handling of memory) are very useful to learn and make programming a lot easier.

      As far as your question goes, are you sure you aren't just seeing different versions of the book? - Textbooks are often re-released every year with minor modifications, not really a big deal unless you are working with others and need the page numbers to match up exactly.etc.

      m_ilad__

        Topic Starter


        Beginner

      • moderator locked one of my topics for no reason.
        • Certifications: List
        • Computer: Specs
        • Experience: Familiar
        • OS: BSD
        Quote
        What doyou want to do?
        Create an Operating System oneday
        Quote
        if you do not already havent strong desire to learn C, forget it. It is liketrying to read literature of the 16th century. Outof date.
        Learn JavaorPython instead.
        I have. I love C. Because it is almost a low level language and it is really fun to me to write
        Programs in as lower level language as I can.
        I got a lot to do with C.
        Quote
        C is not the best language to use nowadays, especially for a beginner as it is very easy to make mistakes
        :P
        What do you mean by "Best Language" ?
        For me, C is the best language ever created. Only low level languages are the Bests in my opinion.
        Quote
        .  As afirst language (or a language to be used in the real world unless you are developing very low-level system software)
        Yes. In the future. As I meantioned above.
        Quote
        As far as your question goes, are you sure you aren't just seeing different versions of the book?
        Heh. Yes I'm sure. And better we were discussed about the changes had been in C language.

        C is low level, mid level, or high level, I don't care. If you ask me, C is a high level language.
        I've already checked other languages people call "High-Level" they have everything ready for a programmer and
        Make programmers stupid.

        was my question just about the changes or C, and sweetching from edition to edition if it has any advantage.

        Thank you all.
        a Moderator locked one of my topics for no reason.
        There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
        Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
        they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
        now i can't start new topics anymore and can't PM to any member.This is certainly criminal

        camerongray



          Expert
        • Thanked: 306
          • Yes
          • Cameron Gray - The Random Rambings of a Computer Geek
        • Certifications: List
        • Computer: Specs
        • Experience: Expert
        • OS: Mac OS
        That's fine if you want to go down that route but:

        Programming languages that make life easier do not "make programmers stupid" they save a lot of time - Why would you, for example, write a system to manage users logging in when you could use one that is premade and already tested and known to be safe/secure.
        While developing stuff like this on your own is fun, if you go into industry you will be required to work to a tight schedule, a company will not want to pay extra hours while you write something from scratch when the work has already been done for you.
        You can also hardly call stuff like "object orientation" or automatic memory management a bad thing that makes programmers stupid - It just saves time.  Not only does it save time but it will prevent errors - You could easily write a program in C with a small memory leak or similar that could go unnoticed for a long time, however, down the line this could cause the entire system to fail causing serious issues to the organisation using it.


        Creating an operating system - This is a ridiculously huge goal that I hear all the time - The fact is that apart from maybe making a very small OS to play about with - You will never get anything practical or usable out of it.  There are much more useful and realistic projects you can work on.

        If you want, one day, to get a job in industry you will need to understand basic, modern, programming concepts such as object orientation - Modern systems are rarely developed in C, even some extremely complicated systems are built in a more modern language and use C for the low level operations.

        BC_Programmer


          Mastermind
        • Typing is no substitute for thinking.
        • Thanked: 1140
          • Yes
          • Yes
          • BC-Programming.com
        • Certifications: List
        • Computer: Specs
        • Experience: Beginner
        • OS: Windows 11
        Create an Operating System onedayI have. I love C. Because it is almost a low level language and it is really fun to me to write
        I've already checked other languages people call "High-Level" they have everything ready for a programmer and
        Make programmers stupid.

        No. They make them productive. Only a stupid programmer would claim productivity is stupid. The "ready-made" library code is available for a reason. Things like HashMaps/Dictionaries, HashSets, Lists, Queue's, Stacks, and innumerable other data structures are not entirely trivial to implement (despite first-appearances) and some of the best optimizations are not at all obvious.

        How long would it take a person to write a HashMap/Dictionary structure in C? More than 0 seconds that you have to spend writing it in Java or C#. It's good to understand the concepts, but it makes more sense to apply and use an implementation of those concepts by people who are smarter than you. You are not, for example, going to write a Dictionary implementation in C that is faster than Python's.

        And what about C's Standard library? does printf() make programmers stupid? should they be using syscall() directly... Oh wait, syscall is a library too! Where are you drawing this entirely arbitrary line where ready-made, common data structures and functions being made available somehow makes programmers stupid? Not only does it make them productive, it typically results in code actually runs faster. If you don't have those structures available or you need to import something you wrote to use them, you will avoid them. "maybe I can get away with this crappier algorithm that doesn't use that data structure". If it's available via the standard library, it's a no brainer.


        Quote
        If you ask me, C is a high level language
        Nobody is asking you because people prefer not to defer to inexperience. May as well ask a man born blind to explain what colours are.


        Quote
        was my question just about the changes or C, and sweetching from edition to edition if it has any advantage.
        Speaking of inexperience, you are talking about editions of a Book Not editions of the language. There are no "Editions" of the C Language. There are versions and Standards (as you've discovered, such as C90/C99/C11). If you want to know the reasons to use the newer editions, you could do the unthinkable and actually see what changes, rather than make cogently devoid statements that "C is the best language" based on nothing but your own inexperience with anything- including C.


        I was trying to dereference Null Pointers before it was cool.

        Geek-9pm


          Mastermind
        • Geek After Dark
        • Thanked: 1026
          • Gekk9pm bnlog
        • Certifications: List
        • Computer: Specs
        • Experience: Expert
        • OS: Windows 10
        I have to agree with everybody. Except the OP.
        Being able to write glean code is the the same thing a s doing a full Operating System. A OS beyond primitive input and putout methods gets to be thousands of lines of code. It is better when a group of people co elaborate on the project. Otherwise, you will have a project that will take a large part of you life to finish.

        Linux and its variations are written in C. Maybe a small part in Assembly.  I was, at first, based on the i386 Intel CPU instruction set. Because it was well done by a group of people, it can be ported to another CPU. And it can be scaled down to fit into a mobile device. So that saves time and money and delivers a useful product. In a word, it is practical.

        As for myself, I worked in  Silicon Valley a long, long time ago with the best tools from Intel where an assembler and linker under an OS that nobody remembers. Our job was to write very small programs for embedded test equipment that would test hard drive platters on a production line.  I had to work with many other people.

        We all had piratical projects relating to the manufacture of  hard drive media. Early on we all stepped away from the low-level code and started to use high level stuff. One was language called PL/M from Intel.  It was way too expensive and not all that great. Another group worked  with a variation of Forth. Our group used Tiny Basic on a ROM. It was put into production equipment and worked great. I had modified it extensively to work in real time.

        Back then, a good C compiler was not alienable to us. So we have to find our own answers with material  alienable at the time. At that time, several versions of BASIC where in public domain, and some other er things, like Forth. 

        As for an OS, we used CP/M 2, which was much lower priced that the Intel OS. It did the job. We had no need to re write it. Once we had a working program, we would put a simple console I/O in it and put in on the production line. No OS needed. The operators used teleprinters. The output was on paper.

        What I am saying is there is no practical need for another OS. What is needed is more applications for the things that people want and need to enrich  and improve  their lives in some way. Like an oven that will not burn your dinner.  On an pistol that can only be used by its owner.* Or a voice recognitions program that has 100 % accuracy.   :D

        * They already did it.


        briandams



          Beginner

          Thanked: 2
          • Experience: Guru
          • OS: Unknown
          Guys i checked and foundout somethings.
          C89 and C99.
          is the 2s-Edition Book the same C99?

          since yuo are just starting out, go for the c89 first. Nevermind about the rest. Just learn how to use C first.
          after that you can proceed on to other versions. There would be changes, but if you already know C by then, then its piece of cake to understand what the newer versions are.

          m_ilad__

            Topic Starter


            Beginner

          • moderator locked one of my topics for no reason.
            • Certifications: List
            • Computer: Specs
            • Experience: Familiar
            • OS: BSD
            I have to agree with everybody. Except the OP.
            Being able to write glean code is the the same thing a s doing a full Operating System. A OS beyond primitive input and putout methods gets to be thousands of lines of code. It is better when a group of people co elaborate on the project. Otherwise, you will have a project that will take a large part of you life to finish.

            Linux and its variations are written in C. Maybe a small part in Assembly.  I was, at first, based on the i386 Intel CPU instruction set. Because it was well done by a group of people, it can be ported to another CPU. And it can be scaled down to fit into a mobile device. So that saves time and money and delivers a useful product. In a word, it is practical.

            As for myself, I worked in  Silicon Valley a long, long time ago with the best tools from Intel where an assembler and linker under an OS that nobody remembers. Our job was to write very small programs for embedded test equipment that would test hard drive platters on a production line.  I had to work with many other people.

            We all had piratical projects relating to the manufacture of  hard drive media. Early on we all stepped away from the low-level code and started to use high level stuff. One was language called PL/M from Intel.  It was way too expensive and not all that great. Another group worked  with a variation of Forth. Our group used Tiny Basic on a ROM. It was put into production equipment and worked great. I had modified it extensively to work in real time.

            Back then, a good C compiler was not alienable to us. So we have to find our own answers with material  alienable at the time. At that time, several versions of BASIC where in public domain, and some other er things, like Forth. 

            As for an OS, we used CP/M 2, which was much lower priced that the Intel OS. It did the job. We had no need to re write it. Once we had a working program, we would put a simple console I/O in it and put in on the production line. No OS needed. The operators used teleprinters. The output was on paper.

            What I am saying is there is no practical need for another OS. What is needed is more applications for the things that people want and need to enrich  and improve  their lives in some way. Like an oven that will not burn your dinner.  On an pistol that can only be used by its owner.* Or a voice recognitions program that has 100 % accuracy.   :D

            * They already did it.

            Thank you for telling me part of your life story.
            I know there is no need to create another OS.
            i infact, wanna create a Mobile-OS, using C language and the Assembly language of the
            processor I would work with.
            For example the ARM assembly language or Qualcomm's.
            You know, choosing a phone, burning the current OS, working with processor and so On.
            If i finally could create a mobile OS with my team, i will ask companies like Samsung if they would
            Use my OS in there phones. And it will be an open-source , so every companies can use it if they want.
            And a great Food for the companies like Qualcomm or ARM.
            i haven't yet taken a look at their Architectures, but Intel. Intel ASM syntax looks great.
            But Intel has about 0% Market share in smartphones. (Although just for now. Who knows what would happen later?.)
            And my dear friend, i won't write all the codes just by my own. will make a team, later.

            Well... Android is Android. iOS is iOS. My OS, is Mine. (i don't mean Me).
            I will use C to create Applications for OS's like Windows, windows phone,
            iOS Mac OS, Linux, Unix and... To make money.
            there are lots of Innovations in my mind for creating apps. But the mobile-OS project has to be done finally.
            It's kinda crazy or anything anyone calls nowdays, will i fall down or not, i don't care

            Let's live and breathe while acting weird!

            Thank you All.
            « Last Edit: January 04, 2014, 09:37:12 PM by m_ilad__ »
            a Moderator locked one of my topics for no reason.
            There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
            Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
            they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
            now i can't start new topics anymore and can't PM to any member.This is certainly criminal

            m_ilad__

              Topic Starter


              Beginner

            • moderator locked one of my topics for no reason.
              • Certifications: List
              • Computer: Specs
              • Experience: Familiar
              • OS: BSD
              since yuo are just starting out, go for the c89 first. Nevermind about the rest. Just learn how to use C first.
              after that you can proceed on to other versions. There would be changes, but if you already know C by then, then its piece of cake to understand what the newer versions are.
              Thank you,.my dear friend.

              Thank you all.
              a Moderator locked one of my topics for no reason.
              There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
              Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
              they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
              now i can't start new topics anymore and can't PM to any member.This is certainly criminal

              m_ilad__

                Topic Starter


                Beginner

              • moderator locked one of my topics for no reason.
                • Certifications: List
                • Computer: Specs
                • Experience: Familiar
                • OS: BSD
                That's fine if you want to go down that route but:

                Programming languages that make life easier do not "make programmers stupid" they save a lot of time - Why would you, for example, write a system to manage users logging in when you could use one that is premade and already tested and known to be safe/secure.
                While developing stuff like this on your own is fun, if you go into industry you will be required to work to a tight schedule, a company will not want to pay extra hours while you write something from scratch when the work has already been done for you.
                You can also hardly call stuff like "object orientation" or automatic memory management a bad thing that makes programmers stupid - It just saves time.  Not only does it save time but it will prevent errors - You could easily write a program in C with a small memory leak or similar that could go unnoticed for a long time, however, down the line this could cause the entire system to fail causing serious issues to the organisation using it.


                Creating an operating system - This is a ridiculously huge goal that I hear all the time - The fact is that apart from maybe making a very small OS to play about with - You will never get anything practical or usable out of it.  There are much more useful and realistic projects you can work on.

                If you want, one day, to get a job in industry you will need to understand basic, modern, programming concepts such as object orientation - Modern systems are rarely developed in C, even some extremely complicated systems are built in a more modern language and use C for the low level operations.
                Thank you for your advice, my dear friend.

                Thank you all.
                a Moderator locked one of my topics for no reason.
                There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
                Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
                they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
                now i can't start new topics anymore and can't PM to any member.This is certainly criminal

                m_ilad__

                  Topic Starter


                  Beginner

                • moderator locked one of my topics for no reason.
                  • Certifications: List
                  • Computer: Specs
                  • Experience: Familiar
                  • OS: BSD
                  No. They make them productive. Only a stupid programmer would claim productivity is stupid. The "ready-made" library code is available for a reason. Things like HashMaps/Dictionaries, HashSets, Lists, Queue's, Stacks, and innumerable other data structures are not entirely trivial to implement (despite first-appearances) and some of the best optimizations are not at all obvious.

                  How long would it take a person to write a HashMap/Dictionary structure in C? More than 0 seconds that you have to spend writing it in Java or C#. It's good to understand the concepts, but it makes more sense to apply and use an implementation of those concepts by people who are smarter than you. You are not, for example, going to write a Dictionary implementation in C that is faster than Python's.

                  And what about C's Standard library? does printf() make programmers stupid? should they be using syscall() directly... Oh wait, syscall is a library too! Where are you drawing this entirely arbitrary line where ready-made, common data structures and functions being made available somehow makes programmers stupid? Not only does it make them productive, it typically results in code actually runs faster. If you don't have those structures available or you need to import something you wrote to use them, you will avoid them. "maybe I can get away with this crappier algorithm that doesn't use that data structure". If it's available via the standard library, it's a no brainer.

                  Nobody is asking you because people prefer not to defer to inexperience. May as well ask a man born blind to explain what colours are.

                  Speaking of inexperience, you are talking about editions of a Book Not editions of the language. There are no "Editions" of the C Language. There are versions and Standards (as you've discovered, such as C90/C99/C11). If you want to know the reasons to use the newer editions, you could do the unthinkable and actually see what changes, rather than make cogently devoid statements that "C is the best language" based on nothing but your own inexperience with anything- including C.
                  NoBody Asked you anything.

                  Thank you All.
                  a Moderator locked one of my topics for no reason.
                  There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
                  Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
                  they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
                  now i can't start new topics anymore and can't PM to any member.This is certainly criminal

                  Geek-9pm


                    Mastermind
                  • Geek After Dark
                  • Thanked: 1026
                    • Gekk9pm bnlog
                  • Certifications: List
                  • Computer: Specs
                  • Experience: Expert
                  • OS: Windows 10
                  Mobile OS? If you know C, fine. Go for it.   :)
                  As for Apple and Android, there are  lots of tools to develop apps.
                  Did you know FireFox is doing an Open Source OS for mobile devices?
                  The big companies do not like open source stuff unless it works to their advantage

                  Here is a link about the FireFox M bile OS project.
                  http://readwrite.com/2013/07/01/mozilla-releases-two-firefox-os-smartphones-to-spur-the-future-of-the-mobile-web#awesm=~os2GyaS9sakbGO
                  Two New Firefox OS Smartphones Spur The Future Of The Mobile Web
                  Very interesting8)

                  m_ilad__

                    Topic Starter


                    Beginner

                  • moderator locked one of my topics for no reason.
                    • Certifications: List
                    • Computer: Specs
                    • Experience: Familiar
                    • OS: BSD
                    Quote
                    As for Apple and Android, there are lots of tools to develop apps.
                    Yes, that's right.
                    Quote
                    Did you know FireFox is doing an Open Source OS for mobile devices?
                    Yes. I heard about it. But donno much.
                    Quote
                    The big companies do not like open source stuff unless it works to their advantage
                    Yes, that's right.
                    This sequence of characters make me think about the things are not created by others, Or
                    the current things that are not created Well, by others.
                    Quote
                    Here is a link about the FireFox Mobile OS project. http://readwrite.com/2013/07/01/mozilla-releases-two-firefox-os-smartphones-to-spur-the-future-of-the-mobile-web#awesm=~os2GyaS9sakbGO Two New Firefox OS Smartphones Spur The Future Of The Mobile Web
                    Oh thank you. I will check 'em out. i appreciate it.

                    Thank you All.
                    a Moderator locked one of my topics for no reason.
                    There are members here include bc programmer and comerongray answered some of my questions and thank them. but they did somethings bad to me too.
                    Comerongray and squashman warn me sometimes about what I do in forum while they are not actually moderators.
                    they ruined my topic as well as bc programmer that said something unrelated in it and so ruined it.
                    now i can't start new topics anymore and can't PM to any member.This is certainly criminal