Какие дисциплины изучать программисту чтобы меньше зависеть от языков и технологий?

Добрый день.

Внезапно пришло осознание что за технологиями невозможно угнаться, постоянно появляются новые языки программирования, фреймворки, среды. Всю жизнь работать с определенным языком/фреймворком не хочется, поэтому решил перейти на уровень ниже, к более абстрактному.

Пока смотрю в сторону изучения математики, алгоритмизации и архитектуры программ.

Буду рад советам как в выборе литературы так и предметной области, правильный ли это путь в целом?

Заранее спасибо
  • Вопрос задан
  • 3157 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. Вопрос терминалогии - Вы все таки решили перейти на уровень выше. Чем выше - тем абстрактнее, чем ниже - тем ближе к железу.
2. Понимание общих алгоритмов всегда полезно. Литературы море - Кнут, Седжвик www.ozon.ru/context/detail/id/128304/, www.ozon.ru/context/detail/id/1317133 итд.
3. Самое главное: если вы хотите работать в IT - вам придется всю свою трудовую жизнь гнаться за технологиями и саморазвиваться. Это нормально. Постоянно будут выходить новые версии языков и надо будет уметь с ними работать. Язык это всего лишь инструмент для реализации задачи. Разные задачи оптимально реализовывать на разных языках. Знание общих алгоритмов (как кстати и паттернов ) полезно, разминает мозг - но без опыта реализации на конкретном языке нафиг не нужно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
vvpoloskin
@vvpoloskin
Инженер связи
Идите в грузчики - нет никакой зависимости от языков программирования, практически не надо изучать ничего нового, если только на погрузчик сдавать.
Ответ написан
Комментировать
@endemic
Как писали выше - боле абстракнтные понятия:
Алгоритмы, Паттерны, Какие-то межъязыковые вещи типа многопоточности, рефлексии, метапрограммирования (generic в C#/Java, template в C++).

Некоторые люди рекомендуют джентельменский набор:
1. Компилируемый язык (пока C++ без вариантов, но скоро будет Rust, надеюсь)
2. VM язык (Java или C#)
3. Скриптовый язык (Perl, Python)
4. SQL
5. Веб: HTML/CSS и JavaScript на базовом уровне

Средние знания всего вышеперечисленного позволяют быть более менее в курсе дел и даже если вылезет что-то новое - подстроиться. Нужно только правильно расставить акценты.
Ответ написан
@begemotv2718
Насчет литературы: Как уже указывали выше Кнут, не забывайте и SICP (есть русский перевод Структура и интерпретация компьютерных программ). Если одолеете EOPL (essentials of programming languages ) -- у вас будет законный повод гордиться: редкий программист долетит до середины.
Ответ написан
@codecity
Внезапно пришло осознание что за технологиями невозможно угнаться, постоянно появляются новые языки программирования, фреймворки, среды

Ошибаетесь, угнаться можно. В этом то, собственно, и состоит работа разработчика. Есть множество веяний, идей, технологий, систем -- а вам нужно быть на плаву, знать где чего и углубленно знать одно из направлений (стек).

Пока смотрю в сторону изучения математики, алгоритмизации и архитектуры программ.

А вы уже смотрели список вакансий? Сможете ли найти работу в вашей стране/городе? И если нет, готовы ли к переезду?

Это все важно и востребованно, но не везде. Знаете сколько хороший препод. математики (как правило, владеющий каким либо языком программирования) получает денег? Хотите столько получать?
Ответ написан
Комментировать
ali_aliev
@ali_aliev
Разработчик на Django/Python, JavaScript
Теория множеств (можно почитать Валенкина, Рассказы о множествах)
Дискретная математика и Комбинаторика (тот же Валенкин "Комбинаторика" или "Беседы о математике")
Алгоритмы и структуры данных (можно почитать Дасгупту - хорошая книжка. интерактивный учебник по алгоритмам: aliev.me/runestone/)

Из дополнительной литературы могу посоветовать

"Что такое математика?" Курант
SICP (тут на ваше усмотрение, не помешает. пугаться скима не надо. он очень простой и объясняется с самых первых глав. сразу скажу книга не о языке Scheme, а о программировании в общем)

Вы обязаны знать что такое Big-O notation (можно почитать серию статей тут habrahabr.ru/post/196226/)

А вообще внимательно перечитайте статью steve-yegge.blogspot.ch/2008/03/get-that-job-at-go... тут описано чего должен знать каждый инженер-программист
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект