Answer the question
In order to leave comments, you need to log in
Should I switch to C?
Hello)
Although my question does not have a direct answer, I would like to hear at least a hint from people who have more experience in the field of programming.
At the age of 17, I have been studying programming for about 2 years, the last year - C #, before that - C ++.
I like C#, it's nice to develop on it (as far as I can judge from not the most complex programs), and the demand is at a good level.
But still .. it feels like it’s a little not for me, I want to write at a lower level, almost in ASM, in addition to this, I have a strong feeling that C / C ++ are languages \u200b\u200bfor "true developers", and In general, writing on them is very cool. It's not that I want to learn what's cool, it's just that I'm drawn to C, while others incline me to C# and higher-level languages like Python.
I understand that it is necessary to learn not the language, but first of all to program, but, nevertheless, should I switch to C, what are the prospects for such a choice?
Answer the question
In order to leave comments, you need to log in
If rushing from low-level development - C is it. Now there are new languages like Rust, which are also targeting approximately this niche, but most of the code base has been developed in C, probably. C++ is, in principle, very similar to C with an object framework, but is not identical to it. Although you can roughly assume that it includes C.
There are quite a lot of low-level things in C # (see unsafe, stackalloc, pointers)
True development is a relative concept. You may know by heart all the processor flags, but not how to design an object model, for example.
in addition to this, I have a strong feeling that C / C ++ are languages \u200b\u200bfor "true developers", and in general it is very cool to write in them.
Well, here's the situation...
If you plan to ever deal with UNIX at a level more than "set up LAMP on localhost on ubuntu, doing actions from mana" - then you need to know C. Knowledge With - it all completely constantly passes through adminstvo and in general it is clear why.
And what about coolness... Language is a tool ;) Programming language as well :) It is needed for solving problems. And not vice versa! If you have a task and you need to solve it, you yourself must choose in which language to implement it. One is written in C, another is written in C ++ ...
I agree with previous speakers that the language is for the task, and not vice versa.
If you want a low level, then focus on C ++. C itself is a very compact and simple language. When studying C++ to understand the internal mechanisms, pay attention to pointers, address arithmetic, working with native arrays and strings (not std::valarray and std::string) - the same will happen in C.
When you write in C, you really lack classes and sometimes templates from C ++ - there is no sensible alternative in C.
All this I mean is that there is no need to study C separately - having mastered C ++ at a good level, you can start writing in C when necessary. But vice versa, it won't work.
If you ever have to participate in a project in C, then switching from C ++ will be quite simple. Adapting to the nuances and getting used to the standard C library can be done quickly.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question