[Из песочницы] Безболезненная прививка объектного мышления

Или как можно проще об основных принципах ООП в Lazarus и FreePascal

Часть I

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

Во всех книгах, посвященных паскалю, delphi и lazarus (я нашел аж целых две о последнем), очень схожая часть, посвященная ООП. По этим книгам можно много узнать о том, насколько круче ООП устаревшего структурного подхода, но так и не получить достаточных навыков применения этого на практике. Конечно, любой программист, использующий визуальные IDE, уже по умолчанию использует ООП, так как все компоненты и структурные элементы визуального приложения представляют собой объекты, однако свои собственные структуры и абстракции перенести в парадигму ООП бывает очень сложно. Чтобы понять всю прелесть и оценить открывающиеся перспективы, я решил сделать небольшое приложение, которое в конечном итоге превратилось в простенький screensaver. Заодно вспомнил о существовании тригонометрии.


Приложение будет рисовать на экране в случайных местах пятьдесят полярных роз с разными характеристиками: размер, цвет, количество лепестков. Потом их же затирать и рисовать новые, и т.д. Используя принципы структурного программирования, можно, конечно, сделать обычный многомерный массив объемом на 50 и в нем сохранять все уникальные характеристики. Однако стоит вспомнить, что паскаль подразумевает строгую типизацию данных, а, следовательно, массив не может состоять их элементов с разными типами. Можно сделать массив из записей (record), но чего уж мелочиться, от записи до класса — один шаг. Вот его мы и сделаем.

Читать дальше →
[Из песочницы] Безболезненная прививка объектного мышления
Source: habrahabr

Пробуем делать web-frontend на Rust (WebAssembly)

Недавно вышла новость про то, что webassembly теперь включен в firefox 52 из коробки. А потом еще и chrome 57 подтянулся (правда, там вроде бы были какие-то баги с запуском). Я решил, что обязательно надо попробовать.

Для тех, кто не знает, что такое webassembly краткая информация: webassembly (или wasm) — это низкоуровневый язык, который понимают браузеры, и в который можно будет скомпилировать программы, написанные на популярных языках. Это гораздо более выгодно по скорости парсинга и выполнения, чем компилировать эти языки в чистый javascript или какой-нибудь asm.js.

Wasm задумывался в основном для c/c++, но, на удивление, уже все готово, чтобы скомпилировать программу на rust. Давайте сделаем небольшое приложение и посмотрим, что получится. Все это будем компилировать на Ubuntu. Без теоретических деталей, просто «пощупаем».

Читать дальше →
Пробуем делать web-frontend на Rust (WebAssembly)
Source: habrahabr

Цитата #444140

комментарий на трекере:
xxx:
админ, поправь описание, там ошибка.
не «популярная пиксельная графика» а «убогая»
Цитата #444140
Source: bash

Основы программирования: Лекция #10. Безопасность в Интернете. Обработка естественных языков, II [CS50-2015, Гарвард]


Представляем уже 21-ую (из 24-х) лекцию легендарного Гарвардского курса CS50, который мы переводим и озвучиваем специально для JavaRush.

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


Совсем скоро мы закончим перевод всего курса из 24-х лекций. Если вы ещё не посмотрели предыдущие лекции – самое время начать знакомиться с ними. Список предыдущих лекций вот тут.
Основы программирования: Лекция #10. Безопасность в Интернете. Обработка естественных языков, II [CS50-2015, Гарвард]
Source: geektimes

Имплантат из сверхвысокомолекулярного полиэтилена заменил костную ткань или «Железный» полимер

Всем привет!


У нас новость — российские ученые успешно испытали имплантаты губчатых костей на основе сверхвысокомолекулярного полиэтилена (СВМПЭ*): 100% вживленных образцов успешно прижились. Исследователи из НИТУ «МИСиС» при помощи коллег из Российского онкоцентра имени Блохина и Государственного завода медицинских препаратов научились создавать высокоточные имитации структуры костной ткани, что дало возможность обеспечивать полную замену костного дефекта, инициировать процессы регенерации костей и сохранить функциональные возможности конечностей. Статья с результатами исследования опубликована в журнале «Materials Science and Engineering». Ознакомиться с ней можно здесь.

image

Нет, это не Гамлет. Это руководитель проекта к.т.н. Фёдор Сенатов с теми самыми имплантами.
Читать дальше →
Имплантат из сверхвысокомолекулярного полиэтилена заменил костную ткань или «Железный» полимер
Source: geektimes

Пост №3044561

Автор: keFF

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3044561″ }, «headline»: «mysilenthorror :: NSFW :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/mysilenthorror-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-NSFW-3749598.png», «height»: 14709, «width»: 898 }, «datePublished»: «2017-03-28T10:49:56+03:00», «dateModified»: «2017-03-28T10:49:56+03:00», «author»: { «@type»: «Person», «name»: «keFF» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3044561
Source: Joyreactor

С помощью программы ServoStudio 12 и платы Arduino можно создать своего робота, не написав единой строчки кода


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

При необходимости, созданную последовательность движений можно экспортировать как скетч Arduino IDE, для автономной работы, без ПК. Либо просто как массив значений ключевых точек для дальнейшего использования в своей программе. ServoStudio 12 обладает интуитивно понятным интерфейсом и разобраться в ней может даже новичок. А использование платы Arduino в качестве исполнительного устройства управления – сделало данную систему легко доступной в повторении и изготовлении.
Читать дальше →
С помощью программы ServoStudio 12 и платы Arduino можно создать своего робота, не написав единой строчки кода
Source: geektimes

Пост №3044559

Автор: Царь этого сайта

Развернуть &epicComment_3044559& { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3044559″ }, «headline»: «2016 года 11 ИЛЯ РАБОТА * «Фобототсхничсскис системы для имитации патового акта мере« анальное о / дипломная работа», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC%D0%BD%D0%B0%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-3749596.jpeg», «height»: 600, «width»: 600 }, «datePublished»: «2017-03-28T10:47:56+03:00», «dateModified»: «2017-03-28T10:47:56+03:00», «author»: { «@type»: «Person», «name»: «Царь этого сайта» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «2016 года </**А ВЫ11У( киля КВЛЛИФИК ЛШК >11 ИЛЯ РАБОТА * «Фобототсхничсскис системы для имитации патового акта мере« анальное отверстие»» }
Комментировать 
Пост №3044559
Source: Joyreactor