Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Want to learn C. Newbie. Where to start?

Want to learn C. Newbie. Where to start?

Scheduled Pinned Locked Moved C / C++ / MFC
learningvisual-studiotutorialquestion
30 Posts 8 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L leon de boer

    As I said your personal experience doesn't and shouldn't come into it, the OP asked what is the best way. The best way is the one that is most familiar to the person learning and with the easiest method and that is usually the O/S they are comfortable. Everything outside that slows the learning process down as they are also learning O/S stuff unrelated to actual programming itself. An IDE does nothing either way it's simply a front to the compiler and doesn't change a single thing with the C code you write. All I suggest he does is stay on the O/S they normally use and see if an IDE makes it easier. I don't take your claim seriously that a programmer would be get so stuck to an IDE they couldn't work without it. It sounds more like a story by those who don't have an IDE and trying to justify why they don't. Given that opensource IDE's like Visual Studio Code are available for every platform it is now also a dead argument as you can run those sort of IDE's on every platform and they look and work the same on every platform and are free. Where the really new IDE's are great these days is many have what Microsoft trademarked as intellisense that is they predict the function as you start typing so you don't make typos and they show you the function parameters as you type them in and then they will even show you after you type if you have an error before you even attempt to compile. Again I suspect you are adding personal bias into a very complicated answer. I personally think IDE use is down to does it make it easier for the person learning.

    In vino veritas

    D Offline
    D Offline
    Dave Kreskowiak
    wrote on last edited by
    #18

    You are correct that the best way is the one that makes sense to the OP. What I've found, working with other people, a GOOD way is to force them to read documentation and experiment. That's all I was saying.

    leon de boer wrote:

    I don't take your claim seriously that a programmer would be get so stuck to an IDE they couldn't work without it.

    HAHAHA! We have definitely work/worked with different people. I've work with both people who could easily work without an IDE and those who couldn't wipe their ass without the aid of a tour guide. There are plenty of situations where you don't get the aid of an IDE or Intellisense, so how is your newb going to get by if he's completely reliant on it, aka the tour guide? The IDE, and Intellisense, is no replacement for the development of research skills. THAT is the most important skill you can develop as developer. No IDE or Intellisense is going to help you with that. Putting the cursor on a keyword and hitting F1 is not research. There plenty of evidence to this right here on CP. You need only to look at the questions in QA.

    Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
    Dave Kreskowiak

    L 1 Reply Last reply
    0
    • D Dave Kreskowiak

      You are correct that the best way is the one that makes sense to the OP. What I've found, working with other people, a GOOD way is to force them to read documentation and experiment. That's all I was saying.

      leon de boer wrote:

      I don't take your claim seriously that a programmer would be get so stuck to an IDE they couldn't work without it.

      HAHAHA! We have definitely work/worked with different people. I've work with both people who could easily work without an IDE and those who couldn't wipe their ass without the aid of a tour guide. There are plenty of situations where you don't get the aid of an IDE or Intellisense, so how is your newb going to get by if he's completely reliant on it, aka the tour guide? The IDE, and Intellisense, is no replacement for the development of research skills. THAT is the most important skill you can develop as developer. No IDE or Intellisense is going to help you with that. Putting the cursor on a keyword and hitting F1 is not research. There plenty of evidence to this right here on CP. You need only to look at the questions in QA.

      Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
      Dave Kreskowiak

      L Offline
      L Offline
      leon de boer
      wrote on last edited by
      #19

      Even if I accepted your view there is such people, when or why would they not be able to use the IDE ??? I am fascinated what circumstance lead them to not being able to use the IDE? I actually can't think of a work situation it would ever occur and that is why even if someone was dependent you would never know because they would have it installed. Lets take CPallani who apparently loves his vi as his editor, but you can get vi for every O/S. So under what situation could you stop him using vi and that programming need become a problem? In his case it really is no different to any IDE he is dependent on an Editor which is just the same as an IDE. That is why I don't take you answer seriously because I actually can't think how you could ever get that problem to arise. You seem to be naking a mountain out of a molehill that basically could never happen.

      In vino veritas

      D 1 Reply Last reply
      0
      • L leon de boer

        Even if I accepted your view there is such people, when or why would they not be able to use the IDE ??? I am fascinated what circumstance lead them to not being able to use the IDE? I actually can't think of a work situation it would ever occur and that is why even if someone was dependent you would never know because they would have it installed. Lets take CPallani who apparently loves his vi as his editor, but you can get vi for every O/S. So under what situation could you stop him using vi and that programming need become a problem? In his case it really is no different to any IDE he is dependent on an Editor which is just the same as an IDE. That is why I don't take you answer seriously because I actually can't think how you could ever get that problem to arise. You seem to be naking a mountain out of a molehill that basically could never happen.

        In vino veritas

        D Offline
        D Offline
        Dave Kreskowiak
        wrote on last edited by
        #20

        Really? The first thing that came to mind when I read that was, "Wow, what a cute sandbox you work in." How about writing and debugging VBScript code in Notepad because you're not allowed to use certain tools in Government installations? You're also not allowed to use any other languages or scripting engines because they require some kind of runtime installation that's also not allowed. How about debugging SQL stored procedures that work perfectly fine in TEST and QA but fall flat in Production using nothing but command line tools? Oh, and you're not allowed to connect to Production with SSMS or anything else remotely. You actually have to stand in the datacenter on the console. How about writing Javascript code and debugging using nothing but Notepad and console.log statements. Not every situation is one where you're sitting at your desk with all of your tools. Sometimes you're even in situations where you can't even bring your cell phone with you let alone a laptop with your toolset to help you.

        Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
        Dave Kreskowiak

        L 1 Reply Last reply
        0
        • D Dave Kreskowiak

          Really? The first thing that came to mind when I read that was, "Wow, what a cute sandbox you work in." How about writing and debugging VBScript code in Notepad because you're not allowed to use certain tools in Government installations? You're also not allowed to use any other languages or scripting engines because they require some kind of runtime installation that's also not allowed. How about debugging SQL stored procedures that work perfectly fine in TEST and QA but fall flat in Production using nothing but command line tools? Oh, and you're not allowed to connect to Production with SSMS or anything else remotely. You actually have to stand in the datacenter on the console. How about writing Javascript code and debugging using nothing but Notepad and console.log statements. Not every situation is one where you're sitting at your desk with all of your tools. Sometimes you're even in situations where you can't even bring your cell phone with you let alone a laptop with your toolset to help you.

          Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
          Dave Kreskowiak

          L Offline
          L Offline
          leon de boer
          wrote on last edited by
          #21

          So you are on a secure installation, and they are going to allow you physical access to do debugging :-) So all I can see at the moment is some dramatic situations where one would question the value of what is being done (because you either forgot or they took your tools off you), that you can save the day while the poor IDE dependent pleb might have to think of another way around it, drive and get his tools or get proper authorized access. However in that moment on that workplace you will shine and save the day in less time and effort. As I said I can't think of any realistic situations but I am impressed by your abilities with notepad, mine are woeful.

          In vino veritas

          L 1 Reply Last reply
          0
          • CPalliniC CPallini

            To start get a Linux box, the gcc compiler and a text editor (real programmers use vi).

            D Offline
            D Offline
            Dar Brett 0
            wrote on last edited by
            #22

            I agree with this mostly, but since I'm not a real programmer I use vim.

            CPalliniC 1 Reply Last reply
            0
            • Q Quickbeam1213

              Hey guys. I don't know much about coding, but I'd like to be a software developer. Lofty goal for sure considering my lack of knowledge. I'm prepared to work at this however. I need to know where to start. I'll look at reviews for a given book. Some say it's great, some say it's terrible. Some folks say an IDE is fine, while others say that it on obfuscates aspects of programming that the coder should absolutely be familiar with. I haven't a clue! I like the idea of learning without an IDE holding my hand. Can someone recommend a book that teaches C using a text editor such as Gedit for example? Or any book that would be a good starting point. Thank you in advance.

              J Offline
              J Offline
              Joe Woodbury
              wrote on last edited by
              #23

              The first question is whether you have done ANY programming. If not, I suggest finding an "Fundamentals of Computers" class at your local community college or online (my kids took a class similar to the following: Free Online Course: Computer Science 101 from Stanford OpenEdx | Class Central[^]) FWIW, my youngest son scoffed at a class just like the above, went straight to CS 101 and was overwhelmed. He was getting his homework done, but not understanding any of it. Like me, just saying something was a variable wasn't good enough--what really was a variable? Unlike me, after the above class, he decided computer programming wasn't for him. To be honest, it probably isn't, but my youngest daughter aced that class and would be a good computer. Alas, she shows no interest. From there, I agree with leon; get Visual Studio Community Edition. Your intent is to learn programming. If you are on Linux, get CLion.

              Q 1 Reply Last reply
              0
              • J Joe Woodbury

                The first question is whether you have done ANY programming. If not, I suggest finding an "Fundamentals of Computers" class at your local community college or online (my kids took a class similar to the following: Free Online Course: Computer Science 101 from Stanford OpenEdx | Class Central[^]) FWIW, my youngest son scoffed at a class just like the above, went straight to CS 101 and was overwhelmed. He was getting his homework done, but not understanding any of it. Like me, just saying something was a variable wasn't good enough--what really was a variable? Unlike me, after the above class, he decided computer programming wasn't for him. To be honest, it probably isn't, but my youngest daughter aced that class and would be a good computer. Alas, she shows no interest. From there, I agree with leon; get Visual Studio Community Edition. Your intent is to learn programming. If you are on Linux, get CLion.

                Q Offline
                Q Offline
                Quickbeam1213
                wrote on last edited by
                #24

                I took and completed with a B an intro to programming course once. I think I have a good grasp of the very basics. Now I want to build on that knowledge and begin learning as much as possible.

                1 Reply Last reply
                0
                • D Dar Brett 0

                  I agree with this mostly, but since I'm not a real programmer I use vim.

                  CPalliniC Offline
                  CPalliniC Offline
                  CPallini
                  wrote on last edited by
                  #25

                  :thumbsup: I've to admit I use vim too. :)

                  In testa che avete, signor di Ceprano?

                  1 Reply Last reply
                  0
                  • Q Quickbeam1213

                    Hey guys. I don't know much about coding, but I'd like to be a software developer. Lofty goal for sure considering my lack of knowledge. I'm prepared to work at this however. I need to know where to start. I'll look at reviews for a given book. Some say it's great, some say it's terrible. Some folks say an IDE is fine, while others say that it on obfuscates aspects of programming that the coder should absolutely be familiar with. I haven't a clue! I like the idea of learning without an IDE holding my hand. Can someone recommend a book that teaches C using a text editor such as Gedit for example? Or any book that would be a good starting point. Thank you in advance.

                    D Offline
                    D Offline
                    Dar Brett 0
                    wrote on last edited by
                    #26

                    One thought that's just occurred to me is that you could learn C while programming an Arduino. It's technically a superset of C (it has a string type) but if you buy a starter kit[^] you'll have a set of tutorials to complete that may (or may not) help you to learn as you go. Some people say they find it easier to stay motivated when they have some tangible result. I can't really say how good the learning tutorials are though, because when I got my first Arduino I already knew a reasonable amount of C so I didn't really need to learn any language specific stuff from the documentation - just hardware specifics.

                    1 Reply Last reply
                    0
                    • L leon de boer

                      So you are on a secure installation, and they are going to allow you physical access to do debugging :-) So all I can see at the moment is some dramatic situations where one would question the value of what is being done (because you either forgot or they took your tools off you), that you can save the day while the poor IDE dependent pleb might have to think of another way around it, drive and get his tools or get proper authorized access. However in that moment on that workplace you will shine and save the day in less time and effort. As I said I can't think of any realistic situations but I am impressed by your abilities with notepad, mine are woeful.

                      In vino veritas

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #27

                      I am with Dave K on this. Having to write, build, test and debug code without all the fancy tools definitely teaches you some core skills. Most of my professional life I was working in the era of no IDEs so I had no choice. Now that I have Visual Studio, intellisense, project templates etc. it makes life easy. But I can still fall back on my knowledge of the basics when necessary.

                      L 1 Reply Last reply
                      0
                      • L Lost User

                        I am with Dave K on this. Having to write, build, test and debug code without all the fancy tools definitely teaches you some core skills. Most of my professional life I was working in the era of no IDEs so I had no choice. Now that I have Visual Studio, intellisense, project templates etc. it makes life easy. But I can still fall back on my knowledge of the basics when necessary.

                        L Offline
                        L Offline
                        leon de boer
                        wrote on last edited by
                        #28

                        It's the old calculator versus long division thing. Many schools in many countries don't teach long division basically because calculators exist. You will get people who will argue that you should learn long division because one day you will get caught without a calculator. You know the counter why waste so much time learning something that when caught in the situation you could easily fix. So we invent a drama but wait you have a plane crash on a deserted island and you need to solve the division to save yourself. If only I learned long division I could save myself. What we leave out is you probably didn't learn how to calculate sine and cosine from first principles so we better hope your escape doesn't need trig functions :-) Neither side will convince the other, it's answer simply becomes just our own personal bias on how we feel about the technological advance.

                        In vino veritas

                        L 1 Reply Last reply
                        0
                        • L leon de boer

                          It's the old calculator versus long division thing. Many schools in many countries don't teach long division basically because calculators exist. You will get people who will argue that you should learn long division because one day you will get caught without a calculator. You know the counter why waste so much time learning something that when caught in the situation you could easily fix. So we invent a drama but wait you have a plane crash on a deserted island and you need to solve the division to save yourself. If only I learned long division I could save myself. What we leave out is you probably didn't learn how to calculate sine and cosine from first principles so we better hope your escape doesn't need trig functions :-) Neither side will convince the other, it's answer simply becomes just our own personal bias on how we feel about the technological advance.

                          In vino veritas

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #29

                          I am not trying to make a case for one side better than the other. Merely that learning some basic skills can actually help you, and not just when you don't have access to all the fancy tools. It's like the people who post some code in QA and ask for a step by step explanation, or for us to debug and correct it. They are perfectly capable of downloading code from the internet, adding it to Visual Studio to build it, but have no clue as to what any of it is supposed to do or why. [edit] And having read (and benefitted from) many of your answers, I am pretty certain that you have those skills in spades. [/edit]

                          L 1 Reply Last reply
                          0
                          • L Lost User

                            I am not trying to make a case for one side better than the other. Merely that learning some basic skills can actually help you, and not just when you don't have access to all the fancy tools. It's like the people who post some code in QA and ask for a step by step explanation, or for us to debug and correct it. They are perfectly capable of downloading code from the internet, adding it to Visual Studio to build it, but have no clue as to what any of it is supposed to do or why. [edit] And having read (and benefitted from) many of your answers, I am pretty certain that you have those skills in spades. [/edit]

                            L Offline
                            L Offline
                            leon de boer
                            wrote on last edited by
                            #30

                            Yeah I understand, and yes willing to do the hard yards learning is much more important. I am so old I can do long division and work without an IDE but if I am honest I am just not sure it means much. Of the younger staff around me I am not sure how many can actually work without IDE (or do long division) not something I had ever found I needed to ponder.

                            In vino veritas

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups