A
A
azex2502014-10-24 08:43:28
Programming
azex250, 2014-10-24 08:43:28

What disciplines should a programmer study in order to be less dependent on languages ​​and technologies?

Good afternoon.
Suddenly, the realization came that it is impossible to keep up with technologies, new programming languages, frameworks, and environments are constantly appearing. I don’t want to work with a certain language / framework all my life, so I decided to move to a lower level, to a more abstract one.
While I look towards the study of mathematics, algorithmization and program architecture.
I would be glad for advice both in choosing literature and in the subject area, is this the right way in general?
Thanks in advance

Answer the question

In order to leave comments, you need to log in

6 answer(s)
D
Dmitry Entelis, 2014-10-24
@azex250

1. A question of terminology - you still decided to move to a higher level . The higher - the more abstract, the lower - the closer to the iron.
2. Understanding common algorithms is always helpful. Literature sea - Whip, Sedgwick www.ozon.ru/context/detail/id/128304/, www.ozon.ru/context/detail/id/1317133 etc.
3. The most important thing: if you want to work in IT, you will have to chase technologies and develop yourself all your working life. This is fine. New versions of languages ​​​​will constantly be released and you will need to be able to work with them. Language is just a tool to accomplish a task. Different tasks can be optimally implemented in different languages. Knowledge of general algorithms (as well as patterns, by the way) is useful, it stretches the brain - but without experience in implementing it in a specific language, you don’t need it.

V
Valentine, 2014-10-24
@vvpoloskin

Go to the loaders - there is no dependence on programming languages, you practically do not need to learn anything new, if only to hand over the loader.

C
Cyril, 2014-10-24
@endemic

As mentioned above - more abstract concepts:
Algorithms, Patterns, Some cross-language things like multithreading, reflection, metaprogramming (generic in C#/Java, template in C++).
Some people recommend a gentleman's set:
1. Compiled language (no C++ options yet, but soon Rust, I hope)
2. VM language (Java or C#)
3. Scripting language (Perl, Python)
4. SQL
5. Web: HTML/ CSS and JavaScript at a basic level
An average knowledge of all of the above allows you to be more or less in the know and even if something new comes out - adjust. It is only necessary to correctly place the accents.

B
begemotv2718, 2014-10-24
@begemotv2718

As for the literature: As Knuth already pointed out above, do not forget the SICP (there is a Russian translation of the Structure and Interpretation of Computer Programs). If you overcome EOPL (essentials of programming languages) - you will have a legitimate reason to be proud: a rare programmer will reach the middle.

C
codecity, 2014-11-05
@codecity

Suddenly, the realization came that it is impossible to keep up with technologies, new programming languages, frameworks, environments are constantly appearing.

Make a mistake, you can catch up. This, in fact, is the work of the developer. There are many trends, ideas, technologies, systems - and you need to be afloat, know where what is and know in depth one of the directions (stack).
Have you already looked at the list of vacancies? Can you find a job in your country/city? And if not, are you ready to move?
This is all important and in demand, but not everywhere. Do you know how good a teacher is? mathematicians (as a rule, owning any programming language) receives money? Do you want to receive so much?

A
Ali Aliyev, 2014-11-06
@ali_aliev

Set Theory (you can read Valenkin, Stories about Sets)
Discrete Mathematics and Combinatorics (the same Valenkin "Combinatorics" or "Conversations about Mathematics")
Algorithms and Data Structures (you can read Dasgupta - a good book. Interactive tutorial on algorithms: aliev.me/ runestone/)
From additional literature I can advise
"What is mathematics?" SICP
chime (here it’s up to you, it won’t hurt. You don’t need to be afraid of the skim. It’s very simple and explained from the very first chapters. I’ll tell you right away the book is not about the Scheme language, but about programming in general)
You must know what Big-O notation is ( you can read a series of articles here habrahabr.ru/post/196226/)
In general, carefully re-read the articlesteve-yegge.blogspot.ch/2008/03/get-that-job-at-go... this is what every software engineer should know

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question