Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (21)
  • Java vs C++. Что полезнее?

    @ProkletyiPirat
    смотря что считать "распространенными задачами" ...

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

    так например на Java в сравнении с C++ проще и быстрее писать кросс платформенные приложения или много поточные приложения и при этом они будут работать быстрее C++, но зато когда дело касается железок или объёмной работы над памятью то на С++ писать быстрее и проще и работать будет быстрее чем Java.

    а весь цимес в том что не надо говорить "Java" или "C++", надо говорить "Java" и "C++", за счёт того что есть JNI вы спокойно можете вынести все нагруженные вычисления в С\С++, а в Java оставить всё остальное, и получить лучшее из двух миров.
    Ответ написан
    Комментировать
  • Какой есть хороший учебник по C++?

    @ProkletyiPirat
    Единственный качественный и от того популярный GUI, в С++, это QT, всё остальное это переходные или устаревшие технологии. То есть если нужен GUI и строго С++ то только QT, альтернатива это C# или Java, где придётся учить новый язык.
    Ответ написан
    7 комментариев
  • Eclipse vs AndroidStudio: что выбрать?

    @ProkletyiPirat
    про AndroidStudio точнее intellij-idea можно говорить много и очень долго!

    сижу на ней пол года, ненарадуюсь! в прямом смысле не проходит недели что бы я не воскликнул "БОЖЕ, да ты и ЭТО, умеешь?!?!!" причин таких эмоций море достаточно зайти на хабр и почитать про линейку intellij от JetBrains или зайти на ютьюб и глянуть их TV, буквально вчера-позавчера опять статья про PhpStorm и её возможности....

    что касается Eclipse то в нём можно сделать тоже что и в intellij-idea но это нужно ставить 100500 плагинов, а с учётом того что есть бесплатная версия intellij-idea CE и что сама intellij-idea стоит для индивидуального лица 200$ а для фирмы 500$ то надобность в самом Eclipse и плагинов под него отпадает.
    Ответ написан
    Комментировать
  • ООП - Как понимать Интерфейсы в java?

    @ProkletyiPirat
    идея
    смотрите, вы создаёте объект "Кнопка" и этот объект может изменять своё состояние (нажата кнопка да\нет это и есть состояние). Другие программисты в других проектах будут использовать ваш объект "Кнопка", и эти программисты хотят что бы при изменение состояния что то происходило. При этом вы не знаете что именно должно происходить во всех этих проектах (это знают только их разработчики).

    как это можно сделать?
    убогая банальщина: вы делаете метод .получитьТекущееСостояние() и другие программисты в каком-то цикле опрашивают вашу кнопку через этот метод, да ещё и хранят предыдущее состояние (надо же с чем то сравнивать). Как видите довольно убого... пользователю-программисту нужно писать кучу кода с проверками и в добавок тратить впустую память и время процессора (то есть программа лагает и жрёт дохрена ресурсов...).

    нормальная реализация: пусть сама кнопка вызывает нужные действия, веть она же знает когда её состояние изменилось. Значит кнопка должна вызывать какую-то функцию но при этом не знать что именно эта функция должна делать. Вот тут и приходят на помощь интерфейсы и паттерны проектирования в данном случае Listeners (aka Observers). Вот как раз OnClickListener это и есть интерфейс. Что касается кнопки то она хранит список объектов которые нужно уведомить при изменении состояния, тип этих объектов "OnClickListener". Таким образом "Кнопке" плевать "что где и как" должно происходить при изменении состояния, но при этом она обеспечивает возможность выполнения этого "что где и как" и при этом гарантирует что не произойдёт ошибки из за отсутствия вызываемого метода.

    ru.wikibooks.org/wiki/Java/Listeners
    citforum.ru/SE/project/pattern
    Ответ написан
    3 комментария
  • Почему прямоугольник не является экземпляром класса квадрата?

    @ProkletyiPirat
    ПМСМ авторы привели ЖУТКО НЕПРАВИЛЬНЫЙ пример ООП
    Смотрите
    1)квадрат,
    1.1)имеет переменную A="длина сторон"
    1.2)Имеет функцию площади F=(A^2)

    2)прямоугольник
    2.1)имеет переменную A="длина"
    2.2)имеет переменную B="ширина"
    2.3)Имеет функцию площади F=(A*B)

    3)четырёхугольник
    3.1)имеет переменную A="длина стороны 1"
    3.2)имеет переменную B="длина стороны 2"
    3.3)имеет переменную C="длина стороны 3"
    3.4)имеет переменную D="длина стороны 4"
    3.5)имеет угол Q="угол между сторонами 1 и 2"
    3.6)имеет угол W="угол между сторонами 2 и 3"
    3.7)имеет угол E="угол между сторонами 3 и 4"
    3.8)имеет угол R="угол между сторонами 4 и 1"
    3.9)функция высчитывания площади самопересекающегося четырёхугольника(точнее функция высчитывающая площадь с учётом того что четырёхугольник может быть самопересекающимся)

    А вот теперь ВНИМАНИЕ: В каждом из этих объектов есть что-то что не нужно(излишне) другим объектам, ПОТОМУ данные объекты(классы) не могут быть "наследуемыми" друг от друга.

    А как правильно?
    А правильно сделать "интерфейс"("интерфейс" - это название шаблона(паттерна) проектирования) под названием "объект имеющий площадь" в котором объявить функцию "получить площадь" и сделать 2\3\4\N классов которые будут наследовать данный интерфейс и реализовывать данную функцию.

    p.s.Вообще мне в понимании ООП и того "нахрена это нужно" очень сильно помогли статьи на тему паттернов проектирования, и лично я считаю что одно без другого преподавать нельзя.
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (2)