Pull to refresh
298
0.5
Дмитрий Кашицын @Halt

Программист, линуксоид, паяльник-железячник

Send message
К сожалению, сейчас под рукой нету фотоаппарата. Попробовал снять соткой — качество совсем паршивое получается. Когда будет чем снять — обязательно выложу :)
В сборе или по частям? =) У друга ноут на базе 75го пня, даже работает :) Он работал местным промоутером в Intel, рассказывал про эту штуку, так ему не поверили :) Говорят, не было таких процов %)
Ага =) И весит с килограмм. А еще это единственная в мире клава, на которой был четвертый светодиод «Power On» :)
она не выдержала твоей измены. и умерла от разрыва своего железного сердца :'( :)
А у меня был КОМПАН (Компьютеры Академии Наук %)

Совместная сборка наших и еще кого-то. На базе 286го проца. Это был один из первых подобных компьютеров в Алма-ате :) А год тогда был какой то 9х. После динозавров ЕС1840/41 он казался машиной с другой планеты =) Надо сказать, черный корпус и нестандартный дизайн намного опередили свое время. Проработал лет 8, а потом в нем сгорела какая-то микросхема на мамке. И винт на нем был аж 40Мб %) А цветная графика казалась чем-то заоблачным. Помню, как часами гоняли в Dune2 %)

Эх, найти бы такой сейчас… Но зато, до сих пор валяется клава от него =)
Последняя обалденная :) Красиво
Потому что определение класса закрыто и переопределению не подлежит. Иногда хочется добавить поля данных «на лету» (в CL это, кстати, тоже возможно), но гораздо чаще — те или иные методы.


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

В качестве банального примера:
extend int {
    public const function times(block b) {
        for (var n = 0; n < this; n++)
            b(n);
    }
}
 
export function main() {
    3.times() { |i| puts(i as string); };
}


Если кто не понял: в рамках текущего модуля мы расширяем класс класс int, объявленный в стандартной библиотеке, методом times() который выполняет некоторый код N раз. Далее этот метод вызывается у экземпляра класса, в данном случае числовой константы 3.

P. S.: Наиболее эффективен этот подход при работе со сторонними модулями.

Как правило, существует некоторый интерфейс модуля, методы которого оперируют с объектами — инстанциями классов объявляемых в рамках этого стороннего модуля. Соответственно, изменять их напрямую мы не имеем возможности. Иногда бывает потребность дополнить такие классы своими методами для удобства обработки или взаимодействия. Проблема заключается в том, что в традиционных языках (С++), для этого потребовалось бы писать классы обертки, реализующие нужные методы и далее оборачивать весь интерфейс так, чтобы он работал с обертками. Естественно, это не относится к полностью динамическим языкам, где это можно сделать.

В случае К++, достаточно расширить класс своими методами и можно тут же применять их, что называется, на практике :)

P. P. S.: Интересно мнение товарища khim :)
А мне это напомнило Кепочку из «Лабиринта отражений» :)
Какой, нафиг, dolby на 2х динамиках? Тем более на лаптопной звуковухе и хреновых наушниках Такого качества звука и эффекта присутствия мне не дала ни одна система из тех что я имел возможность оценить.
Я бы еще отметил различия в строении ушей. Смысл в том, что звук от источника приходит в уши немного по разному, с некоторым запаздыванием одного относительно другого. Это учитывается мозгом и на основании этой информации, мы определяем положение источника «вверху-внизу» и вроде как еще «спереди-сзади». А «лево-право» определяется обычным образом, засчет стерео.

Видимо эти товарищи эмулируют запаздывание чтобы создать соответствующий эффект.
Мне кажется, что Кнут это лучшее что можно предложить в таком варианте. Он потому и ценится, что практически «на пальцах» объясняет азы. Кнут не учит программировать, он учит думать как программист. А программировать человек учится сам. Как-то так :)

Вы не смотрите на объемы книг :) Во-первых, никто не заставляет читать книгу «от корки до корки» (кстати, это распространенное заблуждение; как правило, книги по IT пишутся так, что их можно читать с любого места и сколько надо). Во-вторых, чем больше информации, тем больше вероятность что там найдется что-то понятное для вас :)
Ну вот так всегда. Человек понятия не имеет о предмете обсуждения, а уже имеет свое мнение. Уроки физики вы вероятно проспали.

Вот она, природа человека. Достаточно послушать «сокрушительные материалы» и все, можно считать себя разбирающимся в области.
Электромагнитное излучение — это тоже форма материи. Радиоволны так же как и свет, инфракрасное, ультрафиолетовое, гамма излучение и все части спектра — электромагнитные волны.

Корпускулярную природу света подтверждают опыты Лебедева (другого), которые экспериментально доказывают явление светового давления.
Вы неправильно понимаете суть этого утверждения. Он имел в виду невозможность движения материального тела (фотона) со скоростью выше скорости света. В данном случае, материя не переносится.
Да, наверное вы правы. Вот то что меня точно доставало, так это вопрос полезности… Лично для меня сложнее всего был именно психологический аспект обучения (а не собственно материал).
Ну вы как дети малые :) Как будто кто то серьезно говорит о промышленном использовании. Это уже занудство имхо. В то время как автор привел всего лишь очередной пример нестандартного применения инструментов.
Не сравнивайте. Разные ВУЗ-ы — разные программы. В СПбГУ тоже было фактически свободное посещение (хотя и не рекомендовалось), однако объем даваемого материала такой, что пропуск даже нескольких занятий чреват полным неврубанием в суть. Пара примеров:

1) Лекция по матану. Заходит препод, начинается пара. Препод идет к доске и начинает писать. Непрерывно. До конца пары. За это время дается около десятка теорем (с доказательствами). Даже если не отвлекаться, то все равно практически не реально следить за мыслью.

2) Коллоквиум по АТЧ (алгебра и теория чисел). Одна единственная тема: определители и матрицы. Для сдачи необходимо взять одноименную книжку Зенона Иваныча Боревича и выучить ее. Наизусть %) 100 с лишним страниц формул.

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

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

P. S: Чуть выше я писал про АИЭС — местный институт в который я пошел учиться после того как. Вот там да, та самая картина что вы описали. В результате: в зачетке только 2 удовл, да и то, по семейным обстоятельствам и в силу дубовости преподов. Остальные — хор и отл. К экзаменам не готовился в принципе (ну может пару часиков накануне полистать); посещение лекций — эпизодическое (пару раз в неделю). Хотя там за непосещение дрючат. Если получается. Такие дела…
«Кроме того, веб-страници или другие изображения...»

Опечатка :) А так да, концепт интересный.
Я не говорил что «твердолобость» это идеал и ни в коем случае не утверждаю, что теория никому не нужна. Перечитайте мой пост пожалуйста. Я утверждаю лишь, что конретное практическое знание лучше, чем [обширные] теоретические знания, без умения их применять.

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

Теория должна идти бок о бок с практикой. Иначе это будет просто информационный мусор.

Information

Rating
2,032-nd
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity