Can I start programming with C? [closed]
I want to begin programming i have no previous programming experience so can is start programming with C ?..Some people told me to start with perl or python .. So can i start learnning it without learnning python or perl first ?..And if so is the "Programming in c" book by 开发者_JAVA技巧steve kochan good to start with ?..http://goo.gl/Jh6bE
I'd like to contradict all the other answers given by my fellows: before you go off using OOP stuff or higher level languages, you have to know what's going on under the hood of all the fancy garbage-collection-template-multiple-inheritance-whatever-voodoo or you will get into trouble sooner or later.
It is absolutely essential to know that every single memory allocation is expensive and that you have to take care of your memory, for example.
I started programming using C and find it quite easy to learn new languages with my C background. Programming isn't about creating fancy user interfaces by dragging-and-dropping controls from a toolbox: that is just the topping. But before applying topping, you need some cake to put it on. If you don't know how to bake the cake, you'll never create a fancy one.
C is a simple language where you learn how to code some loops, conditionals and so on. It has – aside from pointers and sick #defines
– almost no weird language constructs. Once you know how to set up the basic stuff, it'll be easy for you to transfer that knowledge to any other language.
I think, learning C is the first step to become the Duct Tape Programmer. If you're not interested in that, then it would be perfect to start programming with BF, Whitespace, FALSE or any other language...
I would not recommend starting with C. C wasn't designed to be a teaching language, and some aspects of it aren't very intuitive. It introduces a lot of complexity up front, and you'll be spending more time asking why something isn't working the way you want it to than actually getting things done.
As introductory programming languages go, Python is much friendlier and easier to get started in.
Entire generations of programmers started with C, no reason you can't either. Python is an overall easier language to learn however than is C, so you might be able to learn the basic principles more quickly than you would starting with C.
As to the book you mention, I've never read it so can't comment on it.
I would recommend learning to program in a higher-level intepreted language such as Perl, PHP, Python... if you then want to go lower-level and learn C, you'll have a good basis, and won't have been "thrown in the deep end" so much. You'll also likely find more junior development positions for those languages, if you're looking to start a career.
Having said that, knowing some C can be helpful to give you an understanding of what's going on "under the hood".
You can start programming with C, although C isn't perhaps the best choice for learning. I personally recommend Python since it was designed in part for novices. Perl is probably a bad choice for novices given its interesting syntax. If you need to get close to the machine, or you're going to programming in micro controller space then you will likely need to learn C, but its probably not a good first choice.
I can't comment on Programming in C, but I can recommend The C Programming Language if you're a motivated self learner.
You could do, but I really wouldn't recommend it. Most active software development occurs in vastly, vastly different languages like C++, Java and C#. You'd be learning a language whose heyday is many years past, and whose best practices are decades out of date.
You can start programming in C. However, if you've never programmed before, it's almost certainly going to be much easier to learn a higher-level language to begin with. And unless your interest in programming lies in a few narrow areas like operating systems, it's unlikely you'll want to use C in the future.
The answer is of course "Yes", but C may not be the best choice as a first language.
You've to master some fairly advanced concepts before you can do the most basic things.
There are other laguages that are much friendlier such as C# and Java. If you know folks with Perl and/or Python experience that will help you, then go with either of those (I'd pick Python as a first language, if I had to choose between Perl, Python or C.
Personally, if I had to help someone get started with Programming I'd get them started with C#, but that's because I work with it everyday, and you can make it as simple or as complex as you like.
Short answer: yes.
Since you have no previous experience, when you learn your first language you are learning two things actually:
1) The syntax of the language, where it wants its commas, curly braces, and stuff like that
2) General programming principles
The reason people tell you to try something simpler, like Python (or PHP would be my suggestion) is that some languages make you type in a lot of stuff that has nothing to do with the problem at hand or what you are trying to learn. In other words, you spend too much time with some languages learning things that are specific to that language, making it hard to learn general programming.
Anyway, my suggestion would be PHP because they have great tutorials, you can get some programs going that do things, and learn the basics fast.
Also remember: all committed programmers know multiple languages and learn new languages fairly regularly, so the first one you pick will not determine your destiny. Pick the one that is appealing to you for your own reasons.
...and enjoy! Welcome to programming!
精彩评论