• Объясните на простом примере разницу между ООП и ФП?

    DollyPapper
    @DollyPapper
    Разница ИМХО в моделировании задачи. Парадигма у языка может быть не одна, но одна из тех которые язык поддерживает всегда превалирующая. Например в Java можно писать и в функциональном стиле, но большинство проектов это ООП подход.
    Сама парадигма дает вам подход для моделирования и декомпозиции задачи. В ООП обьект декомпозиции это обьект, уж простите за тавтологию, в ФП обьект декомпозиции это фукнция. В ООП вы создаете обьект, возможно мутируете его состояние, вызываете у обьекта методы и вот это вот всё. В ФП у вас есть изначальные данные и они должны пройти через цепочку преобразований (вызовов функций) чтобы вычислить конечный результат, при этом изначальные данные не мутируются, и функция (в чистом ФП) всегда идемподентна, т.е. подавая на вход одни и те же данные мы получаем один и тот же результат, что в ООП и других подходах не всегда возможно, поскольку состояние обьекта например может поменять другая часть кода, например в другом потоке.
    Когда говорят про функциональный стиль в JS это чаще всего вые**ны говорящего, потому что в жс просто понадергали фишек из ФП: декларативный подход к написанию кода, каррирование (которое чаще является частичным применением, а не каррированием), иммутабельность. А чисто ФПшный подход я ни разу в жизни если честно не встречал. Да и надо ли оно...
    Ответ написан
    Комментировать
  • Объясните на простом примере разницу между ООП и ФП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На чистом ФП программировать достаточно тяжело. Нужно сильно изменить подход к задаче. Чистое ФП предполагает что когда вы вызываете функцию то "вся вселенная замерла". И второй вызов функции с такими-же параметрами будет видеть эту-же мертвую версию вселенной. Это если вобщем.

    Наш мир состоит из постоянно менающихся объектов. Файлы. Сетевые соединения. Объекты в БД. Это грязный мир. И натянуть на него ФП парадигму довольно сложно. В хаскель довольно жёстко порешали с этим. Сказали что есть монада IO. И если функция ее возвращает - то она работает с таким грязным миром. Всё остальное - чистое. Тоесть провели границу.

    Как тебе конфигурить твой роутер в ФП - я честно говоря не знаю. Мы должны сначала договориться об абстракциях. И понять где проходят границы чистого и грязного миров. Что делает get users from DB. Изменяет ли он мир? Или может вернуть внезамно другой результат при тех-же аргументах. Это все - сложные вопросы которые просто выходят за рамки твоего.

    Поэтому лучше не парь себе мозги именно таким вопросом. Кстати функциональщики тоже не могут сойтись на мнении например считать ли Sheme функциональным или мультипарадигменным языком. Вообще строгого деления на такие классы не существует. Можно просто сказать что когда мы программируем - то мы тяготеем к чему-то больше или меньше. Например форма Бекуса-Науэра (БНФ) - это чистое функциональное описание грамматики. А язык XPath - чистый функциональный. При этом и одно и второе могут быть инкапсулированы в проект на языке Java например который вобщем грязно-императивный. Тоесть в каких-то частях проекта мы сами исповедуем ФП.
    Ответ написан
    Комментировать
  • Как прижать к краю (docking) окно приложения на десктопе?

    AxisPod
    @AxisPod
    Про .NET не скажу, а вот в WinAPI используется функция SystemParametersInfo с параметром SPI_SETWORKAREA для установки и SPI_GETWORKAREA для получения.
    Ответ написан
    1 комментарий
  • Теория категорий для чайника

    youngmysteriouslight
    @youngmysteriouslight
    ТК, ТТ, JS, FP, WM
    Розеттский камень — это путь самурая, без подготовки не осилить. К тому же, Баез, как теорфизик, склонен постоянно сравнивать категорные понятия с понятиями из реального мира. Это не для IT.
    Если что-то наглядное и в картинках, то можно почитать Голдблат «Топосы. Категорный анализ логики».
    А вообще, русской литературы маловато. Но английской довольно много. Взять, например, «Joy of cat» — многим нравится.

    Ещё, just for fun, можно посмотреть на youtube канал catsters. В частности, там очень наглядно объясняются пределы.
    Ответ написан
    Комментировать
  • Совместное редактирование документов MS Office

    AnViar
    @AnViar
    SharePoint если не ошибаюсь имеет этот функционал…
    Ответ написан
    4 комментария
  • Лучший тренажер по английской грамматике?

    @magda
    Не поручусь, что прямо вот так и лучшие, но из тех, что пробовала сама:
    www.study.ru/lessons/
    Здесь именно системно грамматика тренируется. Можно учить «экспресс», а можно зарегистрироваться, и тогда система не будет пускать дальше, пока не пройдешь предыдущий материал.

    Есть еще Ливмокка и Бузу — социальные сети с уроками, там тоже есть тренажеры, но систематизированы по темам, а не по грамматическим правилам.
    Ответ написан
    4 комментария
  • Откуда берутся аналитики?

    zzr
    @zzr
    Что до коммьюнити, есть uml2.ru. Там же более-менее активная семинаро-обучающая тусовка. Там же можно и многотомные дискуссии про аналитиков и требования к ним и всё такое почитать.

    Из книжек. Коберна выше уже посоветовали, отличная книга.
    Классикой по управлению требованиями ещё вроде как считается Вигерс: Разработка требований к программному обеспечению.
    Ответ написан
    Комментировать
  • Как препятствовать угону номера ICQ? Уже вторую неделю брутят пароль?

    epic45
    @epic45
    Господа, объясните как вы ставите сложные пароли, если у аськи ограничение на длину пароля 8 символов?
    Ответ написан
    4 комментария