I’m starting to learn back end programming now, but following freecodecamps guide it only shows node ecmascript for the back end part and mongodb. I don’t want to learn mongodb because I’ve heard that mysql is more popular so I’m going to use that instead, and I’ve heard that php and c is a lot more popular than node so I want to learn those languages for the back end instead of using node ecmascript. I want to use the more popular languages because theres probably a lot more helpful guides written for them. Beside syntax differences, will I be limited in what I can make if I choose php and c for the back end of my websites? What are the advantages of using node js compared to php and c, and why choose mongodb over an sql language?
Different tools are good for different uses. I suspect that you’re not going to find a lot of information on writing the backend of web applications using C. The industry is moving away from php, but there are still a lot of existing websites that are using php. Different database solutions also have strengths and weaknesses that make them better suited for different situations. If you google things like “mongodb vs sql” or “why use nodejs” you can find full articles answering your questions.
I know PHP, MySQL, and i can say if you’re going that route, learn how to install a simple LAMP stack, and then begin reading through PHP Documentation, it is thorough enough to learn from.
But if you already have JS and frontend experience you might want to pick up Node and MongoDB. It’s not as popular because it’s new, but it is quickly growing. I am slowly picking it up more and more, knowing JS helps me work on backend with node and it’s many frameworks more than other languages. I commonly struggle switching between JS and PHP because of their differences.
I think you have to be careful about “popular”. First of all, the most popular restaurant on the planet is McDonald’s. Is it the best? If you want to be a chef, is it where you want your career to end up? I’m not trying to put down those languages, just pointing out the danger of thinking popular means better. And popular doesn’t mean more hire-able. Many of those popular languages are flooded with coders because they’re popular. And keep in mind that one of the reasons for the popularity of php is its use in Wordpress.
As far as “helpful guides”, there are plenty of those for any major language.
Odds are, you are going to have to learn more than one language at one point so I wouldn’t worry about it too much. And as said, they all have different strengths and weaknesses. Fwiw, Node has been booming and is on an ascendancy. But there are other fine choices.
You mention C. While it is possible to write a backend in C, I don’t think it is that common. The great thing about C is that it is an amazing Swiss army knife. You can do just about anything with it. But of I need to work on my car, I’m going to grab and actual screwdriver. And with a backend, I’d want a language specifically made for that. When people use C on the backend, I suspect it is for little programs and microservices that the main server needs, things where memory and speed are vital. That’s my guess anyway. As I search for web dev jobs, I don’t see C or C++ come up that often.
SQL or NoSQL? Again, each have their strengths and weaknesses. Why not plan on learning both? I see many job postings for SQL and plenty for NoSQL. And I see plenty wanting both.
I would suggest worrying less about finding the perfect path and just find a good path. Pick an important stack and learn it. That being said, FCC focuses on the MERN stack so if you are dead set against learning Node or Mongo, then this is probably not the best place for you to learn backend. You can still enjoy the frontend stuff though.
C isn’t used for web backends like Node/PHP/etc are (unless you are masochistic). It’s very old, still useful in some sectors (Linux stuff for example, or embedded), but you’d find it 1000× easier to get a job as a junior JS dev than you would a junior C dev. PHP is an example of an interface built on top of C to make it usable in a web context.
PHP is good in the sense that you have everything in one place (frontend, backend, database interface, etc). Makes it very easy to prototype and get things running. Historically it has a bad reputation, and improvements to the language are maybe too late to save it from slow death. Note a huge % of PHP usage is tied into stuff like WordPress: there are lots of jobs, but the number of them is gradually but noticeably dropping.
Mongo is pretty useful in the context of learning backend with FCC because of the JavaScript interface and the accessible, user friendly free online service providing access to it. But it’s IMO very reasonable to want to learn a relational database instead, the knowledge is likely more generally useful than Mongo, and SQL is used almost everywhere.
If you’re basing your entire decision on what someone has told you is popular, then learn Java (I am only half joking here, there are always Java jobs).
It doesn’t really matter a huge amount as long as you pick something that is beginner-friendly, has a large, active community where you can find answers quickly and easily, and with which you can build things straightaway.