Главное Свежее Вакансии   Проекты
Продвинуть свой проект
😼
Выбор
редакции
1 096 3 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Нужно ли начинающему программисту учить алгоритмы?

Действительно в фундаменте алгоритмы и структуры данных. Но это примерно так, как обучать строителя, физике элементарных частиц. Потому что: «Вы знаете, цемент и кирпич, они, вообще-то, состоят из элементарных частиц». А про цемент и кирпич не рассказывают.

b_5d53d651a9244.jpg

Я двадцать лет пишу софт, немножко алгоритмов я знаю. Из того что я понимаю, откуда, вообще, берётся эта наша тяга к алгоритмам. У нас сейчас нету фундаментального образования по программированию. Мы не умеем обучать программистов. У нас нет теоретической базы. Мы пытаемся это сделать. Но тут у нас история Хогвартса. Мы не можем сделать школу волшебников, пока у нас нет ни одного волшебника. Что делает университет, к которому приходят и говорят: «Начните обучать программистов»? Программистов у них нет. Потому что все программисты работают в mail.ru, rambler, yandex. Им там хорошо. Они ещё не на пенсии и нескоро будут.

Университет думает:

- Ок, программирование.

- Давайте найдём какую-нибудь смежную область знаний и пригласим оттуда специалистов.

- Что у нас в программировании?

- Ну, они пишут тексты.

- Там есть немножко цифр.

- Есть плюс, минус, разделить, умножить.

- Ещё эти компы они электрические.

- Давайте пригласим журналистов, которые умеют писать текст.

- Давайте пригласим инженеров-электриков, которые умеют делать электрические схемы.

- Давайте пригласим математиков и физиков, которые умеют алгоритмы.

Получается, что они пытаются обучать алгоритмам и структурам данных. Которые, конечно, имеют отношение к программированию. Там действительно в фундаменте алгоритмы и структуры данных. Но это примерно так, как обучать строителя, физике элементарных частиц. Потому что: «Вы знаете, цемент и кирпич, они, вообще-то, состоят из элементарных частиц». А про цемент и кирпич не рассказывают. Физик, который пытается обучить строителя. Он дома та строить не умеет. Поэтому, выходит, такой строитель, который хорошо может расписать, как работает цемент, но ни разу его в руки не брал. Моё мнение алгоритмы и структуры данных это очень хорошо, но это маленькая прикладная область, которая нужна, если ты пишешь игровой движок, компилятор, сетевой протокол. А большинство программистов решают бизнес-задачи. Там не нужны алгоритмы и структуры данных. Самая сложная математика, это два раза сложить, а потом разделить.

b_5d530ab156597.jpg

Оригинал шутки: ProgrammerHumor

Нужно ли понимать, как работает пузырьковая сортировка, чтобы работать программистом?

Программирование, скорее о том, как с помощью языка программирования, который является клеем. Правильно и быстро собирать из готовых блоков некие фантомные инженерные конструкции. Знать, как их отлаживать. Как делать так, чтобы они не разваливались. Понимать, почему они разваливаются. Что происходит, когда идёт дождик, а дом начинает оседать на фундаменте. Что происходит, когда идут изменения требований и программа начинает оседать на фундаменте. Все вот эти прикладные штуки. То есть, как именно писать софт. А пузырьковая сортировка нет, не нужна. Потому что в контейнере у неё будет метод sort() и там у неё всё хорошо. А знать надо, например, что, кроме отладчика, у python, есть совершенно замечательный набор инструментов. Который покажет, где именно в программе тормозит. Программисту надо уметь запускать проверку(чекер) и она ему скажет: «Вот здесь ты плохой, вызвал это. Вызови вот это и всё будет хорошо».

Бизнесу нужен писатель. Бизнесу не нужен лингвист. Писателю совершенно не нужно знать, почему 1 тыс. лет назад вот это слово изменилось в это слово. Ему надо уметь применять эти слова.

Эта статья, пересказ прямой речи Григория Петрова:

Помните, что смотря видео в 1.5x, вы экономите 20 минут с часа.

Я проверял грамматику этой статьи, с помощью сайта orfogrammka. Откуда еще здесь могли появится буквы ё? А этот абзац я не проверял.

Смотрите ещё:

Какой язык программирования учить начинающему веб-разработчику?

b_5d530e4e3710e.jpg

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Первые Новые Популярные
Top Reader
Читалка книг с переводчиком. Приложение под Андроид.
Евгений Стоичков
современный прогер, это не прогер, это птушный оператор пк, в лучшем случае кодер. анекдот про фронта и обезьяну-тимлида не смешной, потому что правда. если алгоритмы и не нужны в сборке интерфейсов, то хотябы для работы мозга было бы полезно. чтобы мозг иногда говорил : "а не херню ли я порю"
Ответить
Potato
Мотивация для работы, это обычно, деньги или положительные эмоции(творчество). Людям, обычно, не интересно, что думают другие, если это не приносит им денег или положительных эмоций, или их не отнимает. Потому что работать без эмоций или денег, которые можно обменять на эмоции, очень тяжело. Безумно тяжело.

Я к тому, что, например, учить С++, нужно начинать с того как работает память(https://www.youtube.com/watch?v=Q3jDqSNpPDI&;;list=PLNMIACtpT9BfztU0P92qlw8Gd4vxvvfT1 или Ассемблер). Потом операционки (Operating systems principles and practice). После С++. И только потом алгоритмы. Это может занять у вас год-полтора. Будут ли у вас эмоции для занятия чистым Computer Science(Компьютерными Науками)? Сможете ли вы учить долгое время CS(КН) до результата без эмоций?

Абсолютизация это признак незнания. У того кто знает всегда есть границы.

Пока писал пост, все передумал, и ни с чем не согласен.
Ответить
Top Reader
Читалка книг с переводчиком. Приложение под Андроид.
Евгений Стоичков
Долбеж алгоритмами и теорией от незнания другого это одно. тем более что ООП и все дела, там другое мышление неиного. Но алгоритм нужен челу чтобы мозги его не превращались в понос в поисках "эмоции". Чтобы он порядок своих действий как-то соблюдал, а не кодил шо попало хде попало лишь бы было приятно и денежно. А в чем прикол дубля этого поста вообще, он же был на спарке полгода назад?
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать
Комментарии