Дневник

Понимание ООП на примере Паскаля

В продолжении предыдущей темы, что база программирования важнее самого языка, покажу на примере Turbo Pascal 7.0, что такое объекты в объектно-ориентированном программировании. (Чтобы было понятно, ООП в Паскале появился в 1989 году в версии TP 5.5.)

Если начинать изучать объекты, например с PHP, то не будет понимания, что это вообще такое. Зачем, например оператор new, что такое поля или методы? Такие вещи воспринимаются как часть языка, а всё что внутри — чёрный ящик, где происходят какие-то скрытые процессы. Вообще ООП — это парадигма, то есть описывает вроде как только общие принципы, а конкретная реализация зависит от языка. Но, на самом деле ООП в итоге всё равно превращается в обычный исполняемый код. На мой взгляд важно понимать откуда он берётся.

Тут ещё проблема в том, что изучение ООП обычно начинают с размусоливания про иерархию объектов на примере уточек, птичек и прочей живности. В итоге вместо технического описания, получается невероятная абстракция, которую нужно ещё как-то перенести в реальный код.

Читать дальше...

Какой язык программирования учить новичку

Для новичков, которые только задумываются об IT, вопрос выбора первого языка программирования (ЯП) стоит достаточно остро. И это понятно — ведь языков очень много, а критерии выбора не такие очевидные.

Эта тема, безусловно, холиварная, поскольку опытные программисты дают советы через призму собственного жизненного опыта. Масла в огонь подливают менеджеры и маркетологи многочисленных контор, которые занимаются обучением. Такие давно уже не стесняются давать объявления, где обещают сделать востребованным супер-пупер программиста за 1, 2, 3 (подставьте любое число) месяцев. В качестве первого языка предлагают что угодно, приводя в качестве аргументов некий рейтинг популярности или даже количество меток на StackOverflow.

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

Читать дальше...

Обновление сайта

Подумал и решил сменить дизайн сайта. Шаблон достаточно своеобразный, да ещё и в пастельных тонах, но почему-то мне он понравился. Наверное из-за своей «лёгкости» и «чистоты». Главное — это выделить блок контента удобным для чтения: сейчас многие сайты используют подобный подход. Именно поэтому я решил отказаться от сайдбара для большинства страниц, чтобы не мозолил глаза.

Обновление ещё было нужно, чтобы получить возможность будущего расширения — есть масса новых задумок, которые потом я подумываю внедрить в MF. А здесь вроде как экспериментальная площадка получается. :-)

Проблема View в MVC

Я уже рассказывал, что в свободное время занимаюсь своим микрофреймворком и хочу поделиться некоторыми мыслями по этому поводу. Речь пойдёт о представлениях (view) в концепции MVC, точнее о том, что они на самом деле представляют.

Это скорее мысли вслух, а не готовые решения. Я даже буду рассуждать больше абстрактно, чтобы можно было примерить идеи под любой php-фреймворк.

Читать дальше...

Создание telegram-бота

Запустил telegram-бот MaxSiteOrg_bot для своего (этого) сайта. Бот в общем-то больше призван показать возможности ботов как таковых, а также возможную интеграцию с сайтом. Например доступен вывод последних записей, рубрик и меток.

Ботами я заинтересовался недавно, поэтому текущая версия базовая. В планах реализовать ещё несколько возможностей для организации диалогов. Это нестандартная возможность для API Telegram'а, но, как мне кажется интересная и может быть востребована.

Так же я решил принимать заказы на создание ботов для сайтов. Главное условие чтобы ваш сайт работал по https и на PHP 7.1 и выше.

Читать дальше...

Немного о своём PHP-фреймворке

Где-то с нового года я занимаюсь разработкой своего PHP-фреймворка. Без каких-либо обязательств, просто для себя. Во что это выльется я не знаю, да и цели сделать его публичным пока не стоит. Изначальный посыл был несколько лет назад: я серьёзно подумывал отказаться от CodeIgniter в качестве основы MaxSite CMS. Продумывал новую структуру и всё что с этим связано. Постепенно я понял, что затея тупиковая, поэтому решил сосредоточиться на более простой вещи — микрофреймворке, который даст основу уже полноценной разработке.

За это время фреймворк я переписывал с нуля раз 100. Вначале делал как мне казалось верно, после пытался применить на практике, натыкался на проблему, пытался её решить, понимал, что нужно сделать проще поэтому менял основу и дальше новая итерация цикла.

Возможно сказывается ещё тот факт, что за много лет работы со своей системой у меня накопился не просто большой опыт решения сложных задач, но и понимание тех самых «тупиков», которые приходится обходить нестандартными способами. Так что хочется сразу сделать правильно. Поделюсь некоторыми мыслями на этот счёт.

Читать дальше...

Шаблон MAX Bootes (MF)

MAX Bootes — ещё один новый шаблон, построенный на базе MF. Шаблон рассчитан на сайты, где активно используются изображения, поэтому сам шаблон выполнен в минималистическом дизайне.

Посмотреть шаблон можно на демо-сайте. Шаблон имеет ряд интересных особенностей.

Читать дальше...

Перейти к странице: