S
S
Sazoks2019-01-20 20:38:55
IT education
Sazoks, 2019-01-20 20:38:55

C++ or C# newbie?

Hello. I'm not exactly a beginner who has never encountered programming at all.
A little bit about yourself. I'm 16, a year of web (half a year front, half a year back), I tried myself - not mine.
Then 3 months of C ++, for 3 months I studied only procedural programming, from OOP I only know about access modifiers, getters and setters =) In general, almost nothing.
I have a course (>300 lessons of 30 minutes) in C++. And then I found the same course on C # ..
And the question arose: mb stop learning the pros and start learning C #?
Please tell me what is more promising in the development of desktop applications?
Ps I have a weird obsession with anything and everything.. I've heard that C++ is a "bad swiss knife" that is pretty hard to master. Difficulties do not frighten me (mb because I'm still stupid and green in this) and the fact that you can write anything on the pluses inclines me towards them.
On the other hand, C#, which is lighter than pros and supported by the Unity engine.
In general, tell me what is better for DESKTOPS / ANDROID and what is MORE PROMISING in the next 10 years.
Thank you in advance.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
S
stratosmi, 2019-01-20
@Sazoks

A little bit about yourself

A little bit about yourself.
I have been programming for over 30 years. From school.
Of these, for money - more than 20 years.
The barrier to entry into software development is high.
To more or less begin to navigate, I think it takes about 2 years.
Functional is Erlang, Haskell, Clojure, F#.
Some of the functional programming, of course, is in C ++.
I have a course (>300 lessons of 30 minutes) in C++. And then I found the same course on C # ..
And the question arose: mb stop learning the pros and start learning C #?
C++ vs C#
Of the two, it's better to start with C#, there are fewer ways to shoot yourself in the foot.
The programming language is easy and fast to learn.
Algorithms, paradigms, principles, patterns are difficult to learn.
But! The same algorithms, paradigms, principles, patterns are applicable to another general purpose programming language.
This often happens in our field.
Sometimes, yes - the flow of information makes the brain get high.
They don’t always bring it to the end, they don’t always put it into practice, but study study study study - such behavior occurs.
Anything can be written in any general-purpose programming language.
The average good programmer knows more than one language .
Sometimes it is used several times .
Well, learning another language is not a problem.
You are too bother with the choice, from the fact that choose "wrong" nothing terrible will happen.
And even more so for 10 years.
Technology is turning over several times.
I would suggest C#,
more slender, more logical than C++.
With convenient development tools.
Good for developing desktop applications for Windows.
Learning in addition to it C ++ will not be a big problem.
For Android - Kotlin, Java.
For Windows desktop - C#.
Games on Unity on any platform, including Android - C#
Algorithms, patterns, paradigms, principles of programming.
Learning another language is not difficult.

S
Saboteur, 2019-01-20
@saboteur_kiev

studied only functional programming for 3 months

Apparently everything is very bad if you do not distinguish between functional and procedural.
It is more promising, in principle, to learn how to use the search, because there are plenty of such questions and answers.
There is no such thing that C ++ is more difficult or C # is easier - both there and there are approximately the same level of entry, but different applications.
And for someone who has been learning the web for a whole YEAR, you can somehow guess that the point is not in the language, but in technology. After a year of learning a language, it would be nice to learn a specific framework, and not just a language.
If you want a unit, then learn C#.
If you want Android, learn Java. Although C# seems to appear there.
Desktop applications are different. You can even write in python.
You don't just teach. You write something. Specific. Well, yes, c# is probably more suitable for you.

R
Roman Mirilaczvili, 2019-01-20
@2ord

In C# on Xamarin Forms, you can write mobile applications for Android / iOS and under the same code base.
For desktop applications - WPF, for web services - .NET Core.

L
Legebocker, 2019-01-20
@EnDeRJaY

the fact that you can write anything on the pluses inclines me to them.

So what do you need? Write anything, or desktop / android?
To be honest, knowing both languages ​​is a good thing, I don’t advise you to quit C++, it’s better to finish courses in C++, and then start learning another language so that you don’t have a mess in your head

D
Drus_K, 2019-01-22
@Drus_K

I will also do my part.
About me: I have been programming for 8 years, mainly in c++/qt. It’s no more difficult than c#, feature-rich, cross-platform, many of those who have programmed it for many years haven’t tried pure pluses, it allows you to strongly abstract from everything low-level.
As correctly noted in other answers, knowledge of algorithms, templates and other things, understanding of the overhead costs for operations, networking, knowledge of sql, operating systems, including poppy and Linux ... in general, everything that is abstracted from the language itself decides.
As for what to steal - my opinion is that C ++ requires more practice, just pure, or in the std / boost variant. If in the evening you prefer instead of watching TV / cinema / taking a walk - staring at the monitor and coding, then learn C ++.
Z.Y. A special joy of a plus programmer is multi-threaded applications. If you are lucky and encounter a particularly elusive bug, then in parallel study the hardware and which families of processes work, and how the msvc compile differs from mingv in behavior. In general, a bunch of everything related that c# programmers are deprived of and don’t worry about.

A
Alexander, 2019-01-20
@alexr64

which is better for desktop

Any language capable of gui.
Java.
Algorithms, boolean algebra. Available in any language.
Learn and, most importantly, practice what works.

S
sorokinfil, 2019-01-20
@sorokinfil

More versatile and older than C++, better than it in the first place.
For C# applications to work, you must have the .NET Framework installed, the so-called. extra dependency. And it comes in different versions, which is important for applications to work, and is not supported by all operating systems. I only know about support on Windows. The scope, respectively, is also limited. As long as .NET is not a must-have, C# can be dispensed with.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question