How many languages ​​should a software engineer know?

How many languages ​​should a software engineer know? I am a student of B Tech 2, and I only have knowledge of C. Please tell me about other languages ​​and courses that a software developer needs.

+9
programming-languages
source share
11 answers

Try to learn languages ​​with different paradigms, this will improve your skills in all languages ​​(one language for each paradigm is in order, I list preferences in my order):

  • Structured Programming: C, possibly Fortran, if you intend to work with numbers
  • General Programming and OO: C ++
  • Script Language: Python, Ruby or Perl; Matlab if you need numbers
  • VM-oriented heavy object: C #, Java or Smalltalk
  • Functional Programming: Ocaml, Haskell, Scala
  • Engineering: build i686.
  • Logical declarative programming: Prolog
  • Database Query Language: SQL

But do not rush ... learn one language at a time ... maybe a new language every year ... with this you will have very convenient tools for any problem that you may need to solve;)

+16
source share

The key is not the number of languages, but the depth of knowledge.

+6
source share

Not less than 17

+4
source share

As always, 42 .


The ban on what I suggest you take a look at languages ​​that are as different as possible, for example:

  • Learning C? Take Ruby by the back;
  • An upscale Python hacker? Take a look at C # and see what it does.
  • Java know-how? Take a deep breath and dive into Haskell.
+4
source share

I always say that number 1 is the main language that you use daily.

It helps to be familiar in others, but it’s good to be less experienced in them - you only need to understand what is happening and know when to ask an expert in this language / setting.

+1
source share

There are things that are more important than the number of languages.

For example, basic knowledge, basic architecture, programming paradigms, etc.

IMO, instead of learning two OOP languages, you better learn one structured, one OO, and one functional language.

+1
source share

You might want to look at the popularity index . But remember, popularity is not everything.

Choose a programming language to get you started - and, C is pretty good .
Continue to improve in programming over the years . Track tutorials and practice.

Focus on algorithms and efficient programming in whatever language you use.

+1
source share

If you understand the concepts that underlie a language (which can be any language), then you can choose other languages ​​as needed and relatively easily. Here I am talking about basic principles, such as loops, arrays, etc., as well as the orientation of objects, orientation aspect and procedural programming.

There will be certain aspects of any language that only someone with deep knowledge will know, but they are relatively rare and open up.

0
source share

You should know enough languages ​​to be able to get a reasonable assumption that would be most suitable for use for any given problem that needs to be resolved.

0
source share

There is no specific answer to your question. Some people may succeed with some, while some people prefer to be a “walking” person who knows almost everything.

In my opinion, for the same student as for you, knowing as many languages ​​as possible will not be productive, and by the time you finish your studies, perhaps what you have learned will no longer have advanced experience. One thing you can do if you are a practical person is to look at the list of jobs and their descriptions to find out what skills you need to do this job.

Not completely connected, but someone once told me that good programmers succeed no matter what language / programming environment they use. It’s easier to work in some environments than others.

I would recommend knowing at least a scripting language (like PHP) and another managed language (Java or C #) before you finish.

In terms of skills, you just need to program more to gain experience. In my opinion, the more you train, the better you will be in it. At the very least, you should know some OOP programs and data structures. As a rule, try to learn things that will make you useful (for the whole world or for employers).

Hope this helps. =)

0
source share

A software developer does not need to know any programming languages ​​at all. The developer needs programming languages. The goal of a software engineer is the software model as a whole (for example: how many levels? SOA? Etc.) - for this you do not need to program ...

If you need to engage in software development, it is most important to understand basic concepts (for example, object-oriented or procedural, imperative and functional, compiled languages ​​and scripting languages, etc.).

In addition, you must understand the algorithms and their complexity (but again, this does not depend on the language).

0
source share

All Articles