metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-03-24 10:28 pm

Как Остаться Программистом в 40 и Больше Лет

Все, что должен знать программист, чтобы его после 40 лет не выбросили на Помойку, Где Бомжи.

[personal profile] ex0_planet 2011-03-24 10:19 pm (UTC)(link)
Скажите, вы так троллите, да?
Иначе я не могу представить, зачем вы весь этот рататуй намешали.

[identity profile] sharpc.livejournal.com 2011-03-24 10:27 pm (UTC)(link)
Если вы напишете конкретнее (я внимательнее слежу за постом в своем ЖЖ), я постараюсь ответить как можно подробнее.

[identity profile] kong-en-ge.livejournal.com 2011-03-24 10:35 pm (UTC)(link)
Простите, а что, случилась уже и программистская фукусима, что этот список стал минимумом для выживания?

[personal profile] ex0_planet 2011-03-24 10:52 pm (UTC)(link)
ну так, навскидку:

пункт 2: linkage бывает не только статической и динамической, манглинг тесно с ней связан, так что нет смысла выделять его отдельно, да и вообще это деталь реализации. Single compilation unit - это чево? Тогда уж стадии компиляции надо было описывать. Ну static inline туда же, если уж мы заговорили об темных углах C++.

пункт 3: livelock, priority inversion, сети Петри.

пункт 4: как бы на x86 свет клином не сошелся, как минимум надо RISC и DSP.

пункт 5: NOR, NAND и транзисторы - это хорошо, а вот должен ли кандидат на теорминимум знать какие вообще типы логики бывают? Ардуина вообще там в хуй не уперлась, pardon my Klatch. Нет ни одного упоминания про параллельные и последовательные шины: ISA, PCI, PCI-e, HyperTransport, FC... чего там еще бывает...

в пункте 6 за каким-то хером упомянуты u/v pipe, но не упомянуты модели памяти, параллельные топологии (SMP, SMT, NUMA и другие), упомянуты тайминги памяти, но не написано какие вообще интерфейсы памяти бывают (просто для размышлений - должен ли отличаться интерфейс NAND flash от DDR-3 или нет?), и откуда там вообще берутся эти самые тайминги.

[identity profile] sharpc.livejournal.com 2011-03-24 11:12 pm (UTC)(link)
Некоторые слова выделены из категорий и книг, потому что они интересны в отдельности или просто хорошо звучат, кое-где указаны не все виды чего-либо, SCU это википедия, все темные углы знать не обязательно, в рамках теормина, на мой взгляд, достаточно знакомства с указанной литературой. Но я бы не отказался составить список темных углов C++, особенно если мне кто-нибудь поможет :)

Сети Петри есть ниже, я перечислил только те проблемы мультитредности, которые иллюстрируются "обедающими философами".

Есть какая-то принципиальная новизна в освоении DSP-процессоров после x86?

Arduino я привел в качестве платформы с открытой архитектурой, что делает ее весьма ценной для образования, увы, не знаю аналогов. В целом же я не особо близок к устройству аппаратного обеспечения, так что дополнения приветствуются.

Можете раскрыть пункт 6 подробнее (куда, что и в каком порядке добавить)?

[personal profile] ex0_planet 2011-03-24 11:12 pm (UTC)(link)
еще в пункт про языки я бы добавил forth и RPN.

общая же претензия - отсутствие системности (внутри параграфов, а не между ними), неочевидна связь между отдельными понятиями.

впечатление такое, как будто пост писал марковский алгоритм, насосавшийся популярных статей по предмету :-)

в "сетях" вообще абзац: "роутинг" - это вообще ни о чем, один только BGP гарантированно вынесет мозг кандидату, не говоря уж об остальном. в кучу смешаны глобальные, локальные и персональные сети с технологиями доступа, тогда уж и зигби вместе со всем 802.15 надо было упоминать. Алгоритмы congestion control кстати где? VPN где? ipv6 где? sctp? rtp? upnp? udp hole punching? p2p - о чем это? kerberos? ipsec?

[personal profile] ex0_planet 2011-03-24 11:31 pm (UTC)(link)
> Некоторые слова выделены из категорий и книг, потому что они интересны в отдельности или просто хорошо звучат
Замечательно выглядящая в отрыве от контекста фраза :-)

Я-то в курсе что такое SCU, непонятно что должен делать кандидат, которому предлагается этот вопрос на изучение. А список темных углов это вообще отдельная схоластика ;-) забиватор вон давеча попробовал - чуть не подрался ;-)

> Есть какая-то принципиальная новизна в освоении DSP-процессоров после x86?
Попробуйте ;-) Как минимум из нового - атипичная арифметика, X/Y data pointers, MACs, hardware loops. Это если экзотику не брать вроде gennum, у которого пара десятков тупых-тупых ядер, заточенных на одну задачу, и программа больше напоминает шейдер для видеокарты.

Arduino - кроме того, что у меня к ней идиосинкразия, - она вообще не про транзисторы, она про удобный софт и IDE, транзисторы там как раз не обязательны. Вы просто схватили очередной buzzword не разобравшись.

п6. расскажите сначала, зачем вы про u/v pipe написали :-)))))

[identity profile] avnik.livejournal.com 2011-03-24 11:34 pm (UTC)(link)
Кстати устройство шейдеров в GPU какого нибудь r300 хорошо иллюстрирует ;) Я где-то с полгода назад полюбопытствовал

[identity profile] sharpc.livejournal.com 2011-03-24 11:37 pm (UTC)(link)
Совершенно другое дело, а то народ плачется, что слишком много и нафиг никому не нужно :) Фрагментированность и несистемность — меры вынужденные, поскольку по любой теме более-менее системная программа превратится в оглавление здоровенного талмуда. В таком случае лучше как раз и указывать название такого талмуда. Например, по тому же сетевому программированию я не знаю ничего достойного, кроме Стивенса.

[identity profile] sharpc.livejournal.com 2011-03-24 11:47 pm (UTC)(link)
Повикипедить? :)
Ознакомлению с новыми аппаратными платформами очень мешает отсутствие этих аппаратных платформ :(
Не вся программа составлена мной, но те, кто помогал, клялись-божились, что без Arduino и u/v pipe ну никак :)

[identity profile] anatoly borodin (from livejournal.com) 2011-03-25 01:07 am (UTC)(link)
Та Ви шё??? Это ш классика!

[identity profile] w00dy.livejournal.com 2011-03-25 01:10 am (UTC)(link)
та я кагто не ф курсе был. Вот теперь буду :)

[identity profile] anatoly borodin (from livejournal.com) 2011-03-25 01:15 am (UTC)(link)
Ладно, бывает. Я в своё время тоже был не в курсе про http://en.wikipedia.org/wiki/Dual_number , например.

Есть среди вас хотя бы один, кому место не на Помойке, г

[identity profile] pingback-bot.livejournal.com 2011-03-25 03:09 am (UTC)(link)
User [livejournal.com profile] schegloff referenced to your post from Есть среди вас хотя бы один, кому место не на Помойке, где Бомжи (с)? (http://schegloff.livejournal.com/414440.html) saying: [...] Все, что должен знать программист, чтобы его после 40 лет не выбросили на Помойку, Где Бомжи. [...]

Нерелевано

[identity profile] kmmbvnr.livejournal.com 2011-03-25 03:51 am (UTC)(link)
Автору опросника уже больше 40ка лет?

[identity profile] kmmbvnr.livejournal.com 2011-03-25 03:54 am (UTC)(link)
Наоборот, мало и очень непоследовательно.

После столь детализированных пунктов про С++ и системные вещи, остальные выглядят куцыми и недоделанными.

[identity profile] olebedew.livejournal.com 2011-03-25 04:23 am (UTC)(link)
Напоминает список того, что должен уметь делать токарь шестого разрада.
Молодец, хороший будещь инж... сори, пролетарий.

[identity profile] sharpc.livejournal.com 2011-03-25 05:23 am (UTC)(link)
Не боги горшки обжигают, помогайте :)

[identity profile] metaclass.livejournal.com 2011-03-25 05:53 am (UTC)(link)
Задачка по программированию известная, с параллельными вычислениями и ресурсами.

[identity profile] metaclass.livejournal.com 2011-03-25 05:56 am (UTC)(link)
Вот и я удивляюсь, вроде ж еще массовых ИТ катаклизмов не наблюдается.

[identity profile] slonopotamus.livejournal.com 2011-03-25 05:59 am (UTC)(link)
А какая проблема в 100к?

[identity profile] metaclass.livejournal.com 2011-03-25 06:00 am (UTC)(link)
У всякого не-x86 могут быть не фон-неймановские архитектуры, или хуже того - вообще реализовать на FPGA алгоритмы.

[identity profile] metaclass.livejournal.com 2011-03-25 06:08 am (UTC)(link)
Когда уже разряды для программистов введут, что ли :)
Но там есть некоторые вещи, которые программисту-кодеру, аналогу того токаря, совсем не нужны и даже вредны, потому что он начнет с проектировщиками за архитектуру спорить.

[identity profile] raydac.livejournal.com 2011-03-25 06:14 am (UTC)(link)
проблема в списке навыков и опыте работы, ну да глянем как тестовое сделает

[identity profile] blackyblack.livejournal.com 2011-03-25 06:17 am (UTC)(link)
Список хороший, но это собственно 30 разных человек. :) Ещё у автора прослеживается особая любовь к C++ и ООП. Я ему скажу так: к 40 годам очень рекомендуется это забыть как страшный сон. Очень надеюсь, что и то и другое к его (нашему) 40 летию, благополучно помрет.

Page 2 of 5