V
V
Valera2014-04-27 22:05:46
C++ / C#
Valera, 2014-04-27 22:05:46

What language from the C family to learn?

Briefly the situation:
To be promoted, you need to learn a programming language. The future boss "advised" to learn a language from the C family (C, C++, C#) or another "in-demand language" (???). I'm "ZERO" in programming... that's why it's hard for me to decide...
PS Work in the field of industrial automation, industrial robots and CNC machines.
Advise what language to take ... (time until autumn; the level of knowledge that is needed is average, or thereabouts)

Answer the question

In order to leave comments, you need to log in

14 answer(s)
N
nesterione, 2014-04-27
@nesterione

To work with machine tools, it is better to learn C or C ++, but they are not the easiest to learn. Usually problems arise with pointers and memory allocation. It is easier to learn C, but writing real projects, especially large ones, is more convenient in C ++ (OOP, etc.). C# is simpler in this regard, you don’t need to worry about memory, you don’t need pointers + good help on MSDN, but you need to understand OOP.
If you take what is better to learn in a short time, you won’t answer either, you can learn the basics of C ++ quickly, but good knowledge only with experience, this also applies to other languages.
And yet, you said that the scope of production is "automation of production, industrial robots and CNC machines", if the task is programming for hardware, then the choice is obvious C / C ++. If you need to do automation, write software for the desktop (forms, database ...), then you should probably choose C #.
It is difficult to suggest another "language in demand"; not languages ​​are in demand, but good specialists. And choose the language for the task.

1
1001001 111, 2014-04-28
@IgorO2

Learn English, it is very much in demand now =)

K
killla, 2014-04-27
@killla

C++ definitely.
C# is a hard hitch for one Windows OS and one VisualStudio development environment. What is not good for your profile.

A
Ali Aliyev, 2014-04-27
@ali_aliev

Oh, how difficult it will be for you to learn C ++ without having experience in writing code. Learn better C#, it's easier. C++ is a lower level language.

M
Max Medar, 2014-04-28
@MedVedar

If CNC, then only C.

L
Luba, 2014-04-28
@lubba

Start unconditionally with C. Then, having understood the basic principles - try yourself in OOP, i.e. in C++.
The OS only matters because there will be slight differences between *nix and windows programs, but it doesn't really matter where you start.
It is advisable to take not an IDE, but a text editor, but compile and run through the console. This is a slightly unusual way to work under Windows, but it will definitely teach you a lot
. In general, you can put ubuntu on another disk and work in it.

A
AxisPod, 2014-04-28
@AxisPod

Well, I still understand to combine C and C ++, but to put C # here, these are completely different languages, with different capabilities, with different syntax, etc.
It's the same as putting Java and JavaScript together.

K
Konstantin, 2014-04-28
@CheeseMaster

If only for promotion - you can not learn any, I think. Say that you have mastered C # and demonstrate a couple of hellowords.

A
Artem, 2014-04-28
@Properrr

There is NO difference: С++\С\C#\ObjecC...
They just solve different tasks. Unknowing people are afraid of "pointers" and manual memory management. NOT 1 sish developer will say that this is a problem for him xD
You can dive into C for 3 months, then jump into C ++, saddle OOP and go on free swimming. It will be very easy to jump to C # later (a week to learn the intricacies and the garbage collector).
If you want to become a polymorphic si-monster, jump for another month in ObjC (mainly MAC OS, iOS development ;)

A
afiskon, 2014-04-28
@afiskon

Run Si. Here is a small series of posts that will help you with this.

O
OnYourLips, 2014-04-27
@OnYourLips

Choice of C++, C and Objective-C? C# is not from this family at all.
Definitely C, but rarely used in its pure form.

D
Dmitry, 2014-05-03
@EvilsInterrupt

Learn English. The better you read, write, think on it, the better in mastering anything related to computers. In my opinion, it is better to spend time improving your English skills than learning another programming language.

S
svd71, 2014-04-27
@svd71

"C" I would call a language a little higher from assembler. Or an assembler extension. There is little use now. But its niche is also quite large - almost all embedded devices, *nix systems, programming languages ​​of some controller systems (for example, WinCC). In addition, the language itself gave the syntax and organization used in a bunch of other languages, including C#.
C++ would be called an extension of standard "C" to be able to work with the layout of object orientation. But there is already so much heaped up in it, so many technologies have appeared that it is already possible to talk not about one language, but about a group.
C# is Chamberlain's answer to Java's ability to work. Mono is taken as a basis, but it didn’t find something of great popularity, except for the implementation of a branch in C # of one well-known office. His prospects are also more related to this well-known office.
Conclusions: I would choose C++. This language is based on C. If you need to understand how to create programs in something like C#, it does not take much time. But from the point of view of a specialist, qualifications in C ++ are higher, in demand, but there are more requirements.

Q
quizzer, 2014-04-29
@quizzer

Start with C. and then you can switch to other languages ​​\u200b\u200bwith a similar syntax

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question