Pull to refresh

ООП и всё такое: Тихо, про себя

Lumber room
Я стараюсь не спорить о преимуществах / недостатках ООП или процедурного подхода, безразлично где.

Хочешь — рассматривай программу как множество функций. Хочешь — как множество объектов. Хочешь — вообще заморочься на аспектах. А ещё есть товарищ Шалыто и его конечные автоматы. Дело-то хозяйское.

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

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

После определения, в любом случае, не стоит забывать про рефакторинг (тут выскакивает Мартин Фаулер, и кричит — Нюхай свой код! Определяй запахи!). Больше всего рефакторинга в ООП, но и функции тоже можно рефакторить.

Дальше — больше: вспоминаются паттерны, которые представляют собой шаблонные методы обхода насущных проблем языка и решения архитектурных заморочек. Где паттерны — там GOF и Фаулер с POEAA. Затем всплывает TDD, с его написанием тестов перед написанием кода. Дальше — ещё больше, там будут горы непонятных аббревиатур и леса методологий.

На подобные темы писалось, пишется и будет писаться много.

Но нет серебряной пули.
Total votes 19: ↑17 and ↓2 +15
Views 2K
Comments 30

«Серебро» на Киевском Международном Фестивале Рекламы

Self Promo
Сайт paradigma.ru, состряпаный у нас на кухне, несколько часов назад получил «серебро» на Киевском Международном Фестивале Рекламы.
Это прекрасно)). Мы тут все молодцы, «не зря мучились))»!



Творчество совмесное с нашимы друзьями из Парадигмы, так что им отдельное спасибо! В том числе и за слова благодарности «партнерам из Creative People, которые помогли реализовать наши идеи, добавили своих и сумели пережить наше неослабевающее стремление делать лучше, лучше и лучше))»!

Все результаты здесь.

Лучшая работа конкурса (best of contest) Интерактивной рекламы:

I-4-13 Гурманавты — Миссия на Марс, КСАН, Москва, Россия

Что касается других призеров конкурса Интерактивной рекламы, то вот они:
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Views 543
Comments 19

Программирование — это материализация идей

Programming *


Основной тезис этой статьи: Разработку программного обеспечения следует рассматривать как материализацию идей посредством трансформации ментальных моделей в программный код.
В статье описывается парадигма материализации идей в программной инженерии (engl.: RPSE: Reification as Paradigm of Software Engineering).
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 9.4K
Comments 30

Введение в v-agent ориентированное программирование

Abnormal programming *Perfect code *Algorithms *IT Terminology Visual programming *
Sandbox

v-agent ориентированное программирование (VAOP) - это методология программирования, основанная на представлении алгоритма в виде v-agent script, который позволяет программному агенту, получившему название v-agent, выполнять операции закодированные в модулях v-agent box.

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

Парадокс заключается в том, что мы должны меняться, чтобы все было по-прежнему, поэтому главная задача v-agent ориентированного программирования это обеспечить Бессмертие программного продукта при минимальных вложениях средств в его постоянную модернизацию.

Читать далее
Total votes 13: ↑4 and ↓9 -5
Views 11K
Comments 213

VAOP как low code инструмент для разработки telegram BOT и не только

Python *Programming *Perfect code *Game development *Visual programming *
Analytics
Recovery mode

Contact us: [t.me/evaclick]

Подробнее с "eco-programming & VAOP", можно познакомиться здесь https://vaop.notion.site/eco-programming-VAOP-106f8ec4418d42bdbb5ec371e8ddada9

Когда в апреле 2021 года я опубликовал статью на хабре: Введение в v-agent ориентированное программирование, в которой сформулировал идеологию и заложил основной понятийный аппарат новой методологии программирования: v-agent, va-script, va-box, action, direction и т.п., то напомнил себе изобретателя радио - Сделал Маркони радио, включил, а слушать то нечего. Наверное подобное происходит со всеми пионерами новых методологий программирования.

Еще веселее было с отсутствием тогда убойных примеров применения новой методологии. Тут я, еще раз улыбнулся, вспомнив анекдот про ученого, выступившего на симпозиуме и заявившего, что он изобрел чудо лекарство и осталось только выяснить - от чего же оно лечит?

Читать далее
Total votes 6: ↑4 and ↓2 +2
Views 1.3K
Comments 14

Я сделал это с помощью функционального программирования

Interfaces *ООP *Contextual advertising *The future is here
Sandbox

Это не про функции!

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

Нет. Функциональное — это не про функции. Функции есть почти в любых языках программирования: и в функциональных, и в императивных. Отличие функционального программирования от императивного — в общем подходе.

Метафора: инструкция или книга правил

Представьте, что вы открываете кафе-столовую. Сейчас у вас там два типа сотрудников: повара и администраторы.

Для поваров вы пишете чёткие пошаговые инструкции для каждого блюда.

Читать далее
Total votes 26: ↑7 and ↓19 -12
Views 18K
Comments 24

Чуть-чуть про резюме для программистов 1С

Community management *IT career 1C *
Sandbox

Поток сознания, вызванный мнением некоторых моих коллег программистов 1С на объект резюме и на его (объекта резюме) предназначение.

Возможно будет полезен не только для них (программистов 1С), но использовать я буду терминологию, понятную программистам 1С (true-программисты, если они реально true, могут вполне спокойно перенести все основные используемые мною в терминах 1С конструкции в свое понимание, согласно своим кусочкам мозаики - о них чуть позже).

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

Самый первый этап какой? Правильно… скинуть резюме представителю работодателя, все остальные телодвижения только после этого.

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

Я всем задал один и тот же вопрос: Почему так, как вы вообще так живете без резюме?

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

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

Не знаю, что тут должно быть = Похрен
Total votes 14: ↑10 and ↓4 +6
Views 6.1K
Comments 13