Архив 5 августа 2011

Валим из этой страны

Все пропало, средний чек в московском макдаке составляет 8,92 $, а в американском – всего лишь 6,50.

http://www.nytimes.com/2011/08/04/business/global/russia-becomes-a-magnet-for-american-fast-food-chains.html?_r=3&pagewanted=1&ref=business

Пока наши СМИ в один голос твердят, что бизнес в России невозможен, к нам лезут американские сети быстрого питания. Почему-то они СЭС не боятся.

Джойстик от Денди

Кстати, нашел схему джойстика Dendy. Оказывается, это всего лишь восьмибитный статический регистр (микросхема 4021) с соответствующим количеством кнопок, а схему вполне можно вписать в габариты отсека для клавиатуры Playstation. В общем, можно попробовать превратить вогоплеер в гибрид плеера и Dendy. Ничуть не хуже Playstation :)

Необходимые пояснения

Запись про обучение программированию на мехмате МГУ почему-то сегодня привлекла внимание общественности. Так как запись, в общем-то, провокационная, необходимо дать некоторые разъяснения.

Во-первых, по поводу того, что на “профильных” кафедрах (вычислительной математики, математической теории интеллектуальных систем и т. п.) читается несколько более полный курс. Если заметите, то основные претензии я предъявляю к “Программированию и работе на ЭВМ”. Этот курс растянут на четыре семестра и читается на первом и втором курсах, еще до распределения на кафедры. Соответственно, он и представляет (должен представлять) собой то, что требуется знать математику, этакое “введение в Computer Science”. Даже некий “идеальный” курс программирования для мехмата (я его не буду озвучивать, чтобы не вызывать холиваров – у меня есть некие предположения, что там должно было бы быть, но я считаю себя не вполне компетентным, чтобы выдавть своих личных “тараканов в голове” за ту необходимую часть CS) будет содержать лишь некоторые из пунктов, озвученных [info]sharpc под заголовком “Теоретический минимум для программиста“.

“Практикум на ЭВМ” третьего и четвертого курсов, на мой взгляд – вполне разумное дополнение к курсу “Численные методы”, а его растягивание на четыре семестра связано исключительно с тем, как (плохо и медленно) умеют писать программы студенты, успешно сдавшие “Программирование и работу на ЭВМ”.

Во-вторых, к вопросу о том, нужно ли программирование на мехмате вообще. Здесь я солидарен с человеком, подписывающимся ником Гастрит ([info]__gastrit), который на старом-престаром форуме мехмата написал следующее в ответ на аналогичную по содержанию реплику (по поводу второй части можно с Гастритом и поспорить, но делать это в отсутствии оппонента как-то глупо):

Смотрю на календарь. Вижу там число: 2 сентября 2005 года. Отвечающее этой дате основное вычислительное (т.е. математическое) средство – электронно-вычислительная машина. Следовательно, человек, получающий в обсуждаемую эпоху квалификацию “математик” (тем паче – “математик-прикладник”) обязан иметь элементарные навыки работы с ЭВМ. Не имеете таковых – вперёд за записью “философ, философ-трепач”

Сегодня – 5 августа 2011, но актуальность эта фраза не потеряла. К сожалению, для математика “элементарные навыки работы с ЭВМ” оказываются довольно обширными. Универсальных средств, позволяющих в произвольной форме, допустим, преобразовывать к нужной форме любые выражения или же доказывать теоремы, на сегодняшний день не существует. Следовательно, математик должен уметь заставлять ЭВМ делать то, что ему нужно, то есть писать программы. Это требует некоторых знаний в области Computer Science.

Есть и другое соображение. Разработка информационных систем в терминах отечественных ГОСТов подразумевает разработку так называемого “математического обеспечения” – в современном понимании это алгоритмы, которые реализуются в программном обеспечении. Например, должностная инструкция математика, опубликованная в одном из ходящих в интернете “справочников кадровика” содержит следующие пункты:

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

< … >

Разрабатывает системы математического обеспечения решения научно-технических и производственных задач. Изучает и анализирует информацию по решаемой задаче, формулирует ее сущность, дает математическое описание. Осуществляет приведение задачи к математической форме. Разрабатывает технические условия и задания на программу и подпрограммы, входящие в состав общей программы. На основе математического анализа определяет возможность и методы решения задачи наиболее рациональным способом. Составляет алгоритм задачи и отдельных ее этапов, логическую схему программы. Осуществляет разработку математической модели и выбор численного метода решения задачи. Определяет возможность использования готовых алгоритмов решения задач, разработанных другими организациями. Выполняет работы по унификации вычислительных процессов. Принимает участие в проектных работах по расширению области применения вычислительной техники, а также по совершенствованию методов математического обеспечения решения задач.

Если посмотреть на выделенные формулировки – то можно понять, что математик (в понимании составителя сборника), пусть даже и не выполняя непосредственно обязанностей программиста, должен все же иметь некоторые знания об использовании вычислительной техники и разработке алгоритмов.

Следующее. По поводу того, что программа мехмата сравнивается с программами факультетов Computer Science. Последние намного шире, чем та “идеальная” программа мехмата, которую мне хотелось бы видеть. Более того, я говорю о той области CS, которая незаслуженно “обходится” на мехмате. Вычислительная геометрия все-таки для математика важнее, чем теория операционных систем (которая излагается в трех словах: “Ядра – чистый изумруд!”). На мехмате вместо, допустим, изучения важных алгоритмов из этой области, студентов учат рисовать картинки в Wolfram Mathematica. Дело тоже полезное, но на “Практикум по компьютерной геометрии” не тянет.

Наконец, последнее. Говорят, что выпускники непрограммистских факультетов американских университетов “умеют писать только на фортране и знать не знают про ООП”. Американских университетов существует довольно много, наряду с MIT или Беркли есть и “университеты штатов” – какой-нибудь Michigan State University. Там действительно программы – на уровне МГУшной. Вообще, в красивом дипломе, который с 2010 года выдает Московский Университет, большими латинскими буквами написано Moscow State University – как перевел бы американец, “Университет штата Москва”. Как ни странно, во всяких международных рейтингах ВУЗов МГУ находится среди всех этих “Nord Wyoming State University”, так что название вполне соответствует.

Кстати, недавние выпускники мехмата назвали ту запись “чересчур мягкой” :)