Другие языки программирования и технологии

Теоретические знания для программиста

Хочу спросить у опытных программистов. Какими знаниями должен по-вашему обладать профессиональный программист? Какой теоретический минимум должен быть? К примеру, должен знать алгоритмы, дискретную математику. Еще что?
1) Абслоютно согласна: алгоритмы наизусть знать нельзя, как выше уже заметили. Но некоторые типовые можно, но Вы их по любому запомните, в процессе работы.
2) Надо иметь математическую культуру: не конкретно выучить "дискретную математику", а уметь понять любой раздел. Множества, автоматы, и теория вероятностей: нужны очень часто, алгебра немного реже, но также часто. Действительно: в фондах алгоритмов можно найти много готовых, но Вы их никогда не найдете, если не знаете, какой математический метод нужен, и какие бывают. И + большая часть, там на Фортране, перевести на Ваш язык не получится, без понимания метода.
3) Что то знать: о структуре, и истории языков, и также по архитектурам процессоров, не только PC-шных.
5) Основы эргономики, и дизайна: чтоб юзера не тошнило, от Ваших интерфейсов.

Конечно все это НЕ требования, для начала работы, а то, что реально нужно программисту, в профессии, ИМХО Вы спрашиваете об этом.
Но можно также выбрать Великий Путь Быдлокодера, это в мэйнстриме. Тогда ничего не надо знать, вообще, ни в коем случае!
Олжас Ельмаганов
Олжас Ельмаганов
48 987
Лучший ответ
Точного списка никто не даст. Сама постановка вопроса ущербна. Кодинг - это опыт. Если хочется терминов, загляни в резюме на соответствующих сайтах или там же можно почитатьь требования для разных позиций. Отсюда и танцевать
Я за теорию множеств еще. Она довольно интересно соотносится с теорией СУБД.
Матан иногда весьма полезен, особенно при работе с процессами реального времени.
Илья Логвин
Илья Логвин
93 728
Ничего я не знал. "Специального". Просто почитал книгу "Руководство по НАИРИ-К" и начал писать. Потом Fortran IV - и тоже начал писать. Так и добрался до DB3, Fox, Clipper, Oracle и тому подобного.
megrabovich
megrabovich
67 264
"дискретную математику" использовать для создания бухучета
_S
_ Scar _
76 191
Как бы "теорминимум" никто не отменял:
http://!sharpc.livejournal.com!/67583.!html!(! убрать)
Задачи для Яндекса:
http://habrahabr.ru/company/yandex/blog/206234/
Алгоритмы пишут самостоятельно или берут готовые, а не знают наизусть.
Нужно учиться их писать, но не абы для чего, а для решения какой-то реальной задачи в разработке программы. Например, при разработке графического редактора типа Paint неплохо бы самому создать алгоритм FloodFill (заливка цветом замкнутой области произвольной формы)

Что такое "дискретная математика", даже не знаю толком, хотя писал очень разные вещи на очень разных языках - от C# и Java до ассемблера и машиного кода.
Если целью программы не являются сложные математические расчеты (как в лабах у студентов), то знания высшей математики в ней точно не нужны. К тому же, для многого сейчас можно найти готовые исходники алгоритмов, готовые функции в библиотеке языка и в сторонних библиотеках.
Слово "компьютер" означает "вычислитель", т. е. компьютеры избавляют людей от лишних вычислений вручную.
Михаил Гульдяев маленько ванильно.
да сколько бы ты ни знал, все равно отыщется такая задача, для которой надо будет получать дополнительные знания. так что начинать можно с нуля. НО по идее тебе должны вынести на блюдечке с голубой каемочкой мат. модель программы.
NN
No Name
22 439
Не надо знать, надо понимать. Все алгоритмы и структуры данных выучить наизусть невозможно, но если понимать как они работают, то их легко можно написать
знание языков програмирования и творчество чтобы красиво решать задачи
Программисты - слишком широко.
Если быть разработчиком на 1С \ веб-девелопером или просто решать тривиальные задачи каждый день, можно иметь теоретические знания в области прикладного программирования, каких-нибудь баз данных ну и знать архитектуру вычислительной техники.
Есть обширный круг задач, к которым нельзя подступиться без знания той же дискретной математики, мат. анализа, теории вероятностей и так далее. Говорю про большие данные, искусственный интеллект, машинное обучение и со он. Эти сферы ИТ сейчас только развиваются и очень и очень перспективны.
Ну и деньги, естественно, везде разные.
PS Не жди увидеть на ответах рекомендаций экспертов. Настоящие профессионалы тут не сидят

Похожие вопросы