Об вещах, исправляющих мозг программистам
Apr. 1st, 2009 01:50 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
По опыту общения с программистами всяких клиентов, НИИ и сторонних систем появилось мнение, ЧТО им всем нужно преподавать и спрашивать на экзаменах до тех пор, пока не поймут, для вправления мозгов.
Нужны всего лишь две вещи: реляционная теория и основы функционального программирования. Причем желательно как можно более обобщенно,а не на частных случаях.
Первое хорошо вправляет мозг в плане использования некошерных данных (типа "а вот тут у нас число в виде строки" или "поля должны адресоваться по номеру или позиции в файле")
А второе вправит мозг в плане нормальной реализации систем в виде слабо связанных модулей, а не "все в одном" и приучит не делать тупые неявные зависимости. А если язык со строгой типизацией - то еще и приучит не хранить в одном поле дату/время/пол домашнего животного/фазу луны/возраст бабушки.
Нужны всего лишь две вещи: реляционная теория и основы функционального программирования. Причем желательно как можно более обобщенно,а не на частных случаях.
Первое хорошо вправляет мозг в плане использования некошерных данных (типа "а вот тут у нас число в виде строки" или "поля должны адресоваться по номеру или позиции в файле")
А второе вправит мозг в плане нормальной реализации систем в виде слабо связанных модулей, а не "все в одном" и приучит не делать тупые неявные зависимости. А если язык со строгой типизацией - то еще и приучит не хранить в одном поле дату/время/пол домашнего животного/фазу луны/возраст бабушки.
no subject
Date: 2009-04-01 11:21 am (UTC)no subject
Date: 2009-04-01 11:26 am (UTC)Ну и программы пишут соответственного качества.
no subject
Date: 2009-04-01 11:30 am (UTC)Смысла в этой деятельности с гулькин нос, оптимизация ничего ценного не даёт.
А вот от пессимизации проектов и отношений возникают интересные теории. Теория хаоса например.
no subject
Date: 2009-04-01 12:04 pm (UTC)no subject
Date: 2009-04-01 01:53 pm (UTC)трабла в деградации программеров не в том что они деградируют, а в том что окружающая среда требует от них деградации
no subject
Date: 2009-04-01 11:32 am (UTC)no subject
Date: 2009-04-01 06:15 pm (UTC)no subject
Date: 2009-04-01 09:33 pm (UTC)А CSV без имен полей некошерен, ибо не соответствует определению отношения в реляционной модели. Поэтому я и говорю, что нужно всех заставить ее учить до просветления.
no subject
Date: 2009-04-02 04:28 am (UTC)no subject
Date: 2009-04-02 06:43 am (UTC)no subject
Date: 2009-04-02 11:25 am (UTC)то есть описание последовательности полей в начале любого файла в котором данные адресуются по последовательности делает файл кошерным?
no subject
Date: 2009-06-03 04:19 pm (UTC)Видео, например. Различные естественно иерархические структуры вроде программного кода, модулей и т.д.
Кроме того, почему-то строго нормализованные БД выливаются в десяток-другой вложенных подзапросов на построение репорта.
А еще реляционную модель тяжко эволюционировать, NOT NULL и ключи со временем (с приходом сторонних датасетов) отмирают, и база превращается в графоподобную ересь вроде RDF, что есть еще большее уродство.
Единственный выход - это обьектно-ориентированные БД, кластеризованные на манер map-reduce семантики. И кэши, кэши, кэши. И универсальные скоростные сериализаторы, компилирующиеся из описаний данных в какой-нибудь C#, а лучше в C.
Потому что всё хорошо до тех пор, пока система является активной, а не реактивной.
Особенный маразм - это те самые научные датасеты, обьем огромный, а качество никакое.
---
А вот функциональное программирование - это есть хорошо. И дискретная математика, и теория графов.
no subject
Date: 2009-06-03 07:49 pm (UTC)