Is C a good language to start out learning programming?

How do I understand when is it time for me to start learning a new programming language, and put the current one on hold for some time? Please help.

  • For example, I have coded a cool website using php. Consequently, I'm confident enough about the basic stuff related to it. Now, should I still stick to php and try to learn its advanced stuff, or should I switch to some new programming language and then come back to php when some need arises? In other words, how do I understand that I'm now "good" in one language and should move on to the other?

  • Answer:

    It doesn't really work like that.  A programming career is like a mechanic's toolbox.  You keep adding tools to it over the years, and never stop using any of them. So go ahead and do a project in a different language. You can always go back to PHP if your next gig needs to be in PHP, but for now, learn something new.

Jeff Nelson at Quora Visit the source

Was this solution helpful to you?

Other answers

You know you're confident or good enough in a language when you can make a sufficiently complex software in it. I'm not the biggest fan of php, so I'd probably tell you to drop it and learn something else, but I'll leave that up to you. If you like php, then stick with it, learn more of it, and build lots of stuff to improve your skills. Now, when is it time to learn a new language? for me, it's when I hear about some programming concepts that I don't know or I've never even heard of. For example, you'll hear programmers talking about functional programming, logic programming, higher order functions, etc. If you don't know what those things (or any other terimilogy) are, then it's a good idea to learn what the heck those words mean, and in the process you'll probably have to learn a new programming language that contains those things (Haskell, Lisp, Prolog, etc).  You must understand that it's pretty useless to learn a programming language that is very similar to a language you already know, unless of course if said language is in high demand, and will help you career wise. Otherwise, it won't teach you any new concepts, or new ways of thinking. Bottom line, focus on learning new concepts, not new syntax. My personal opinion, stick with php for now, build lots of cool stuff with it, it could help you get a job faster, and on the side, learn another language.

Mostafa Hany Gomaa

It really depends on your requirements as a developer. If you're looking for new jobs, it's good to check what languages are growing in popularity quickly, such as node for example. One thing I think is important however, is for example if you learnt an object oriented language first, try to learn a functional language such as Erlang or Haskell, or a prototype language such as JavaScript. Learning different types of languages puts you main language into more context as well.

Ewan Valentine

If you are awake, you should be working on learning two languages (as different as possible) *right now*. You won't progress very far in any language unless you are also actively trying to learn other, very different, languages because the language-agnostic aspects of programming (the deep, important, core concepts and competencies and modes of thinking) are so easy to get entangled with a single language unless you switch often enough. Don't switch once. Switch five or ten times a day. Switch between lisp and befunge. Switch between prolog and verilog. Switch between haskell and javascript. You won't really know one language until you really know six, so be aggressive.

John Ohno

See, the important thing is not the number of languages you know but it is how you easily you can get stuff done. Once you are good in any language you'll learn the next one fairly easily. You are confident with basics of PHP, so in my opinion you should explore PHP further, take yourself to next level and once you are confident that you are a PRO in PHP then you can learn other languages maybe Python, Puby or perhaps Java.

Omkar Joshi

It is not about learning a different language, it is about learning a different way to solve a problem. By learning different languages, you learn different idioms. For e.g. - Java teaches you how to play with Objects, Haskell shows the functional way of solving a problem, Javascript works on event based programming, etc If you know more ways to solve a problem, then you can compare the solutions and choose for the right one with more context and confidence. Learning more languages gives you context about various paradigms of programming. So learning new languages is always good as far as you are choosing the new language wisely (A different paradigm)

Vivek Mittal

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.