LINUX.ORG.RU
ФорумTalks

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

 ,


4

4

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

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

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

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


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

думать

Skolotovich ★★★ ()

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

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

Redrum ()

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

note173 ★★★★★ ()

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

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

Обычное любопытство. Или ты считаешь, что вопрос некорректен?

power ()

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

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

metar ★★★ ()

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

Tark ★★ ()

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

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

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

note173 ★★★★★ ()

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

Solace ★★ ()

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

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

anonymfus ★★★★ ()

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

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

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

power ()

Мат. анализ, численные методы, мат. физика, линейная алгебра, ТФКП…

Eddy_Em ☆☆☆☆☆ ()

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

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

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

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

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

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

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

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

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

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

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

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

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

Norgat ★★★★★ ()

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

Sadler ★★★ ()

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

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

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

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

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

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

note173 ★★★★★ ()

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

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

4. Уметь отлаживать программы.

Я умею откладывать программы, это считается?

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

Если это — белиберда, значит, кроме знания русского и английского программисту ничего не надо знать.

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

кроме знания русского и английского программисту ничего не надо знать.

Китайцам тут не повезло.

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

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

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

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

Лорчую. АК- простейший механизм, преобразующий стек в очередь

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

Лорчую. АК- простейший механизм, преобразующий стек в очередь

фигасе :) а наган тогда что?

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

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

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

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

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

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

ТФКП…

Это-то накой хер программисту? Ты еще кватернионы и алгебры Клиффорда посоветуй.

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

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

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

симуляторы электрических схем чтоб писать. А кватернионы в 3д графике применяются

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

кватернионы в компьютерной графике вполне нашли применение.

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