LINUX.ORG.RU
ФорумTalks

Настоящий теорминимум программиста.

 ,


4

4

Добрый вечер.

Что должен знать и уметь программист? Как-то видел один весьма объемный список в ЖЖ, но там рак и петросянщина типа «конечный автомат, клеточный автомат, автомат Калашникова».

Так вот. Что же должно войти в этот список? Ответы типа «английский язык», «ну там уметь быстро разобраться в чем-то новом», «пользоваться гуглом» не принимаются, как и личностные качества.

UPD. IMHO, необходимый минимум описан в SICP. Любой программист, даже не читавший эту книгу, рано или поздно получает знания, записанные в ней.



Последнее исправление: power (всего исправлений: 2)

Что должен знать и уметь программист?

Должен уметь сидеть 8 часов за компьютером и изображать бурную деятельность.

Redrum
()

Интересна мотивация задавать подобные вопросы (если изначально принять, что это не троллинг).

note173 ★★★★★
()

Код писать должен уметь нормально. Всё.

Sadler ★★★
()

там рак и петросянщина типа «конечный автомат, клеточный автомат, автомат Калашникова»

Какое из этих знаний ты счел бесполезным, интересно-вот?

metar ★★★
()

Программа первого-второго курса нормального технического университета это и есть теорминимум программиста.

Tark ★★
()

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

CrossFire ★★★★★
()
Ответ на: комментарий от power

Абсолютно. Минимума для этого занятия нет. Есть набор знаний, которые с опытом приходят к большинству программистов, но каким-то образом выделить из них более важные нельзя.

note173 ★★★★★
()

Умение читать и писать. Более не нужно.

Solace ★★
()

Что должен знать и уметь строитель? Как-то видел один весьма объемный список в ЖЖ, но там рак и петросянщина типа типа «мат, сопромат и автомат».

У верстальщика HTML, специалиста по HPC и писателя прошивок для рентгеновских аппаратов общих знаний не больше, чем у архитектора, маляра и электрика.

anonymfus ★★★★
()

Прочитать все тома Кнута и прорешать все задачи из них.

x-signal ★★
()
Ответ на: комментарий от note173

Я не согласен. Есть же такие вещи, без знания которых невозможно обойтись: циклы, ветвления, простые структуры данных? Должен существовать набор хотя бы таких примитивных вещей.

power
() автор топика

Базовое знание дискретки(автоматы, графы), алгебры логики, структур данных и алгоритмов (какие есть и как оценивается сложность).

Norgat ★★★★★
()
Ответ на: комментарий от power

Дык, ты говори, что за программист-то. А то у тебя какой-то «сферический в вакууме» получается.

// пыхпыхеры себя тоже программистами называют

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Зачем вся эта белиберда нужна программисту? К программированию всё это имеет опосредованное отношение.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Зачем вся эта белиберда нужна программисту? К программированию всё это имеет опосредованное отношение.

Прокачает мозги.

x-signal ★★
()
Ответ на: комментарий от Eddy_Em

Да любой программист. Независимо от предметной области. И «специалист по HPC», и «писатель прошивок для рентгеновских аппаратов», как отметили выше. HTML-верстальщики к программистам не относятся.

power
() автор топика

Да, с т.з. работодателя программист должен знать фразу «инкапсуляция, наследование, полиморфизм» и ООП. Причём они искренне верят, что ООП — это «объектно ориентированное проектирование» и без него жить нельзя.

Sadler ★★★
()

Написал собственное скромное мнение в UPD.

power
() автор топика
Ответ на: комментарий от power

Да любой программист. Независимо от предметной области.

Так мы и приходим к

циклы, ветвления, простые структуры данных

Почти как таблица умножения.

note173 ★★★★★
()

1. Уметь формулировать задачу
2. Уметь составить алгоритм задачи, любой задачи, в любом виде, но четкий и однозначный. Предполагает структурность мышления.
3. Умень нормально форматировать программу и писать коментарии
4. Уметь отлаживать программы.
5. Быть в состоянии написать программу минимум на 2 языках программирования. Знать достоинства и недостатки каждого из языков и знать облать применения одного и второго. Лучше, чтобы языки были разнородными, ну там C/Java, PHP, LISP, ASM, BASH, JavaScript...
6. Понимать устройство компьютера и принцип работы ОС - ну хотябы на базовом уровне.

Kroz ★★★★★
()
Ответ на: комментарий от true_admin

нда, пойду я лучше заборы строить.

mono ★★★★★
()
Ответ на: комментарий от Norgat

Чтобы научиться программировать надо программировать, а не мозги качать.

Это всё-равно, что «чтобы научиться исполнять классические симфонии нужно играть симфонии, а не изучать нотную грамоту».

x-signal ★★
()
Ответ на: комментарий от Eddy_Em

То, что ты написал программисту может вообще никогда не понадобится. Почему? Д а потому что не все занимаются физикой или математикой. А в написании сервера для сайта или DE та же мат. физика или линейка нафиг никому не сдались.

Norgat ★★★★★
()
Ответ на: комментарий от x-signal

От того, что человек научится читать ноты он не научится играть. Научиться играть можно только играя и никакая нотная грамота тут не поможет. Тут как с плаванием или велосипедом, можно долго и упорно учить теорию, но без практики ты ничерта не сможешь и утонуть/свалиться с велосипеда - это всё, что получится у такого теоретика.

Именно поэтому из университетов частенько выходят девочки краснодипломницы(со специальностей с упром на программирование), которые программировать не умеют толком. А почему? Потому что они не программировали, хотя исправно учили лекции, вот только это не даёт эффекта.

Norgat ★★★★★
()
Ответ на: комментарий от Eddy_Em

...гомологическая алгебра, алгебраическая геометрия, гомотопическая топология

x4DA ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.