M
M
Matt Fawkes2018-08-08 00:46:15
C++ / C#
Matt Fawkes, 2018-08-08 00:46:15

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

4 answer(s)
A
ApeCoder, 2018-08-08
@MattewA

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.

S
stratosmi, 2018-08-08
@stratosmi

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.

Perhaps, yes, it was 20 years ago.
Simply because there were no alternatives.
Now "true developers" can use both Go and Rust, and C ++, as well as the already developed C #, Java, etc. etc.

C
CityCat4, 2018-08-08
@CityCat4

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 ++ ...

R
res2001, 2018-08-08
@res2001

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 question

Ask a Question

731 491 924 answers to any question