LINUX.ORG.RU
ФорумTalks

[мнения] Теорминимум программиста


1

2

http://sharpc.livejournal.com/67583.html

У человека есть мнение, что должен знать каждый программист.

для Ъ:

Аппаратное обеспечение, Хоровиц-Хилл, полупроводниковая электроника/спинтроника/фотоника, транзистор, схемотехника, микрокод, технология создания процессоров, VID/PID, FPGA, Verilog/VHDL/SystemC, SISAL, Arduino, устройства памяти (ROM → EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86

Процессоры, конвейеризация, hyper-threading, out-of-order execution, спекулятивное исполнение, branch predict, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах (SMP/NUMA), тайминг памяти

Дискретная математика, K2, теорема Поста, схемы, конечные автоматы, клеточные автоматы, автомат Калашникова, ДКА и НДКА

Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем

Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА -> ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE/POSIX RE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL

Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос, структуры данных, алгоритмы, сложность и символы Ландау, классы сложности, NP-полные задачи, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика

всего 35 пунктов

Ответ на: комментарий от Xellos

>Ну что я могу сказать? Остался в Кирове - ССЗБ.

мало-ли какие у человека причины, зачем сразу говном в него?
мне вот тоже пришлось уехать в провинцию, так надо. Слава Богу, успел пару мелких предприятий построить в губернии, откуда и кушаю теперь...

Pacify, З/П в наших провинциях все-же чуть больше, но не на много. «Программисты» тут - это те, кто мышки умеют заменить, и знают где «Установка и удаление программ» находится... С соотв. окладом.

dib2 ★★★★★
()

> Brainfuck
Ок.
Не нужно, ибо имеет ценность лишь умение разобраться с нужным для выполнения работы за огртаниченное время.

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

>Программист должен иметь способность при необходимости выучить перечисленные пункты, необходимые для решения задачи.

+много. знать все - утопия и идиотизм.

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

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

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

По сравнению с ведром китайской лапши а-ля «обжирак», польза ведра икры очевидна - в ней хоть витамины есть

в ведре тоже, и что?

shty ★★★★★
()

конечные автоматы, клеточные автоматы, автомат Калашникова

Добавить в список Сунь Цзы, Шапошникова, Маркса, Кейнса с Хайеком, английский, японский и иврит — получим теороптимум лортролля :)

Xenesz ★★★★
()

Ну, был «список Вербицкого», о том, что должен знать математик. Такое же УГ, куча ненужного, куча пропущенного.

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

Там ниже в каментах сказано про преобразование стека в очередь, и что вроде как боян

slackwarrior ★★★★★
()

Arduinu выкинуть. Она не к месту.

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

>дополнить тем, что реально используется в работе

сока можно повторять: рабочие знания != общеобразовательные знания

jcd ★★★★★
()

И последнее. Хорошие навыки в поисках работодателя, готового платить за все эти знания $100500 в месяц.

Тогда все правильно. Иначе - не нужно.

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

PCRE, Adruino, формат jpeg и VHDL это такие сильно общеобразовательные знания что-ли?
А вот компьютерную графику и тот же http стоило бы подучить.

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

расшифровка
с доходом ниже 3422 руб. в месяц (т. е. в крайней нищете) живут 13,4% населения;
с доходом от 3422 до 7400 руб. в месяц (в нищете) живут 27,8% населения;
с доходом от 7400 до 17 000 руб. в месяц (в бедности) живут 38,8% населения;
10,9% населения с доходом от 17 000 до 25 000 руб. в месяц можно назвать «богатыми среди бедных»;
на уровне среднего достатка – с доходом от 25 000 до 50 000 руб. в месяц – живут 7,3% населения;
к числу состоятельных относятся граждане с доходом от 50 000 до 75 000 руб. в месяц. Их число составляет 1,1% населения России;
т. н. «богатые» составляют 0,7% населения. Их доходы оцениваются свыше 75 000 рублей в месяц.
Отсюда http://punkt-a.info/news/news/view/13208

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

>из-за особого склада ума, ориентированного на решение проблем, плюс хорошей эрудиции и кругозора

как у Лугофского.

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

>Специалист не может стоят перед острой нуждой

может, в рф может. цены на продукты и услуги типа «детсада» превышают зарплаты специалистов, сраные менеджеры и охранники супермаркетов получают сравнимые со специалистами зарплаты

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

нет, я понимаю что ещё Холмс представлял свою память пыльной забитой кладовкой, в которой есть место только для специфических вещей, связанных с конкретной работой. если ТС говорит о программисте как о человеке, выполняющем конкретные функции на конкретной работе - то так оно и есть. а вот при разработке архитектуры кода таких знаний может и не хватить - для этого может пригодится много другого. конечно можно свалить всё на гугл в каждом конкретном случае, но это ничто иное как отложенное изучение. чем шире охват знаний - тем лучше, если это конечно не вредит остальному времени.

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

Проблема в том, что для программиста не достаточно знать, важно уметь. А в данном списке, который подается как «минимум», есть много специализированных вещей, от которых не будет никакой пользы без осознания действительной потребности в них.
И вместо того, чтобы человек действительно учился делать ПЛИС, он будет учить VHDL.

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

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

jcd ★★★★★
()

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

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

> Это список всех умных слов, которые он когда-то слышал?

Наверное :-D

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

Допустим вы правы. Вы сейчас считаете оптимальным для себя тратить время, чтобы освоить DCOM RPC, WinForms/WPF/Silverlight, фотонику и стехиометрию? А ведь этот часть «минимума».

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

Этого теорминимума хватит лет десять обучения если учиться постоянно, одно маленькое слово «highload» уже добавляет не один месяц работы по освоению. Одно позерство, а не минимум тащемта.

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

>> Одно позерство, а не минимум тащемта.

«никто не говорил, что нам будет легко» (с) Егорка

Позерство - это как раз легко :)

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

> насколько я понимаю winodws-специфичные кольца защиты

таки x86-специфичные

Harald ★★★★★
()

для Ъ следовало бы уточнить, что цитата не полная, по ссылке гораздо больше пунктов

Harald ★★★★★
()

в пункте «Операционные системы» нет Таненбаума, закопать :)

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

Уточните пожалуйста, где именно это здесь написано.

Видимо, я его с кем-то другим спутал, перечитал жежешечку — очень странный товарищ. Соглашусь, что он не прав.

baverman ★★★
()

Таким образом, настоящих программистов не бывает.

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

>так я тут не про позерство, а про

не один месяц работы по освоению

Да? А вот это

Tark> Этого теорминимума хватит лет десять обучения если учиться постоянно

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

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

> А вот это ты не заметил?

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

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


однако вспоминать будет легче, и общее представление о теме + свои собственные выводы из изучения всё равно останутся; в противном случае в своё время тема была изучена недостаточно.

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

> уже прокомментировал: если изучать теорию с минимумом практики

...то это бесполезная трата времени // К.О.

очки сломались али линзы с чаем проглотил?

ПНХ

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

>...то это бесполезная трата времени // К.О.

довольно странный способ охарактеризовывать заделы на будущее :)

ПНХ


ась?

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

>с доходом ниже 3422 руб. в месяц (т. е. в крайней нищете) живут 13,4% населения;

4.0% с доходом < 3500

с доходом от 3422 до 7400 руб. в месяц (в нищете) живут 27,8% населения;

15.2% c доходом < 7000 (в т.ч. 5.7% - от 3к до 5к и 9.5% от 5к до 7к)

с доходом от 7400 до 17 000 руб. в месяц (в бедности) живут 38,8% населения;

от 7к до 10к - 14,7%

от 10к до 15к - 20,2%

10,9% населения с доходом от 17 000 до 25 000 руб. в месяц можно назвать «богатыми среди бедных»;

походу, писульку писал житель нерезиновска, да? %)

от 15к до 25к - 23%

на уровне среднего достатка – с доходом от 25 000 до 50 000 руб. в месяц – живут 7,3% населения;

от 25к до 35к - 10,7%

от 35к и выше - 11,8%

какой калькулятор нужен, чтобы получить тут 7.3% - я не знаю

«СМИ со ссылкой на Росстат опубликовали данные»

вот только на росстате цифры другие http://www.gks.ru/free_doc/new_site/population/urov/urov_31kv.htm . Отсюда вопрос - где «СМИ» и хомячки взяли цифры? Высосали?

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

>– на уровне среднего достатка – с доходом от 25 000 до 50 000 руб. в месяц – живут 7,3% населения;

ну, очевидно эти цифры взяты из другой статистики росстата а не из http://www.gks.ru/free_doc/new_site/population/urov/urov_31kv.htm или выковыряны из носа. скорее всего источник тут http://www.km.ru/biznes-i-finansy/ekonomika-rossii/statistika/14066

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

>ну, очевидно эти цифры взяты из другой статисnики росстата

на росстате нету «другой статистки»

скорее всего источник тут http://www.km.ru/biznes-i-finansy/ekonomika-rossii/statistika/14066

я тебе открою страшную тайну - эта ссылка к росстату не имеет отношения. Эта ссылка ведет на km.ru

так что вопрос остается открытым.

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

>знач брешут злые люди в интернетах

брешут. И будут дальше это делать, пока хомячки в интернетах будут любую какашку радостно жевать не глядя, вместо того, чтобы проверять - а не брешут ли авторы очередного вброса?

geek ★★★
()

Занятный списочек.

Если действительно изучать всё это - не просматривать/листать, а именно изучать с закреплением на практике, то нескольких жизней не хватит.

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

PS: Сильно сомневаюсь, действительно ли цитируемый гражданин досконально знает всё то, что он перечислил. Не позёрство ли это?

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