3 961

Re: Тема для розмов

людям тре штучний інтелект, щоб робив все за них, а вони могли б тоді насолоджуватись життям, їсти смачненьке та трахатись

Подякували: 221VOLT1

3 962

Re: Тема для розмов

Подружка для Трусиків в крові

NFSW

https://s-media-cache-ak0.pinimg.com/564x/c5/93/22/c59322764a81579bab0ae964e3d752c6.jpg

3 963

Re: Тема для розмов

Invader написав:

Подружка для Трусиків в крові

NFSW

https://s-media-cache-ak0.pinimg.com/564x/c5/93/22/c59322764a81579bab0ae964e3d752c6.jpg

хто вам сказав, що я люблю жирних? в такому разі я злегкістю можу сказату якусь фігню про вас, тіпа - подружка для Invader'a

Прихований текст

http://thatgrapejuice.net/wp-content/uploads/2014/04/justin-bieber-2014.jpg

3 964

Re: Тема для розмов

Підберіть і мені подружку  :D

Подякували: leofun01, 221VOLT2

3 965

Re: Тема для розмов

P.Y. написав:

Підберіть і мені подружку  :D

гугліть bailey j, з нею сумувати не доведеться

3 966

Re: Тема для розмов

quez написав:

Може це у вас релігійні переконання принципи з приводу остаточної і невідворотної перемоги ООП, хто знає?

Мушу визнати свою упередженість щодо способів програмування і готовий визнати свою некомпетентність у ФП, серед функіональних мов я пробував лише Haskell і F#.
Я впевнений, що ООП не буде останньою стадією розвитку програмування, і вважаю, що ООП не є найкращим серед всіх можливих способів. Але це крок в правильному напрямку, до речі ФП - теж, тільки з іншої сторони. Думаю майбутні способи будуть створюватися таким чином, що повністю успадкують або поглинуть ООП.

quez написав:

І якщо вже на те пішло, перед обговоренням ООП непогано було б дати визначення, щоб знати, без чого не побудувати складну систему.

побудувати складну систему...
Якщо Ви про створення програми, то будь-яку програму можна створити без ООП (як і без ФП), питання тільки в тому, на скільки швидше вона може бути створена з ООП (або з ФП), і тут ООП виграє в більшості випадків.
Якщо Ви про створення архітектури (зв'язків між класами, структурами, інтерфейсами), то тут проблеми:
1) Множинне наслідування. Більшість строго типізованих мов не дозволяють множинне наслідування класів, дозволено множинне наслідування тільки інтерфейсів. Доводиться дописувати ієрархію інтерфейсів, щоб досягнути бажаного результату. Тут виглядає так, наче C++ найкращий варіант.
2) Дженеріки (в C#, Java) і темплейти (в C++). Темплейти взагалі нікуди не годяться, бо вони генерують купу класів, а мають бути одним класом. У дженеріків біда в реалізації (забагато обмежень на типи-параметри). Про це детальніше напишу, коли завершу свій проект (боюсь це буде не скоро).
3) Не достатньо продумані реалізації поліморфізму та інкапсуляції у мовах. Нащадок не може оголосити публічний (public) доступ до успадкованих захищених (protected) методів з тими ж іменем і сигнатурою. Найкращий варіант тут оголосити новий метод і зробити його публічним, а це іноді змушує створювати зайві класи.

Недоліків нині існуючих реалізацій ООП ще багато, але всіх я зараз не згадаю, дуже хочу спати.
Дідько, вигладає так, наче розкритикував ООП, народ подумає, що я тепер захищаю ФП *TIRED*

Подякували: ostap34PHP1

3 967

Re: Тема для розмов

221VOLT написав:

по-перше, правильна архітектура великого проекту не залежить від мов програмування ...

Воно то так, але коли діло доходить до програмування, то від обмежень мови програмування нікуди не дінетесь.

221VOLT написав:

це так як знайомий програміст, оперуючи застарілими 4 роки назад фактами про mysql - запевнює всіх що на mysql неможливо великий проект запустити ...

Запевняю Вас, я не з таких, і якщо побачу власну помилку, то привселюдно визнаю це.

221VOLT написав:

чому це фп нічим не краще?
краще - тому що прозоріше,

Під "прозоріше" мається на увазі легкість читання коду ?
На якій такій ФП-мові код зрозуміліший ніж на Java ? (проігноруйте це питання, якщо я щось не правильно зрозумів)

221VOLT написав:

краще - тому що швидше працює,

ну тут залежить від компілятора.

221VOLT написав:

краще - тому що не клепає мізки ні програмісту, ні серверу))

Під час вивчення Haskell'я я клепав собі мізки значно більше ніж при вивченні будь-якої мови ООП.


221VOLT написав:

по-друге, виходячи з вебсокетів та кількості з'єднань - ми плавно переходимо до того що нічого кращого за erlang ще не придумали
хтось може розкричатися що є node.js, але нода програє відразу по декількох параметрах - і меньша кількість зєднань, і проблеми з памяттю, і відсутність решти плюшок erlang-а
ще хтось може згадати про Go - втім erlang залишає позаду і його)

по-третє ми говоримо про майбутнє --- як тут не згадати про нейронки -- а у erlang вони з-коробки, як особливість мови програмування))

майбутнє за erlang-ом та його надбудовами - elixir, etc
(звісно, asm та c/c++ нікуди не подінуться)

Ви мене заінтригували, тепер ще й erlang доведеться вивчити.

221VOLT написав:

людям точно не потрібні ще більш гальмівні мови програмування зі ще більш гальмівними конструкціями))

Згідний, мова має дуже швидкою при обробці і достатньо легкою при вивченні, але і має давати великі можливості.

3 968

Re: Тема для розмов

leofun01 написав:

Дідько, вигладає так, наче розкритикував ООП, народ подумає, що я тепер захищаю ФП *TIRED*

Я якраз і хотів, щоб ви його захищали.

А ще мені здається, що у кожного, хто тут відписався, своє поняття про ООП. Добре було б якось дати визначення йому, чи що.

Подякували: 221VOLT1

3 969

Re: Тема для розмов

3) Не достатньо продумані реалізації поліморфізму та інкапсуляції у мовах. Нащадок не може оголосити публічний (public) доступ до успадкованих захищених (protected) методів з тими ж іменем і сигнатурою.

У Java можна зробити публічний метод на місці захищеного предківського і в ньому викликати предківський метод.

public class Unprotect
{
public static void main(String args[])
    {
    System.out.println(new unprotect.B().m());
    }
}
package unprotect;

public class A
{
protected String m()
    {
    return "Hello from A!";
    }
}
package unprotect;

public class B extends A
{
public String m()
    {
    return super.m();
    }
}

А от навпаки (зробити успадкований публічний метод приватним чи захищеним) — вже ні, що цілком логічно.

Подякували: leofun011

3 970

Re: Тема для розмов

P.Y. написав:

У Java можна зробити публічний метод на місці захищеного предківського і в ньому викликати предківський метод.

Винен, я не правильно висловився.
Нащадок не може оголосити публічний перевизначений (public override) доступ до успадкованих захищених віртуальних (protected virtual) методів з тими ж іменем і сигнатурою.

    public class C1
    {
        protected virtual int Method() { return 0; }
    }
    public class C2 : C1
    {
        public override int Method() { return base.Method(); }
    }
// Error: Override method cannot change access rights.

3 971

Re: Тема для розмов

HetmanNet написав:

ніби не дурні, а таку фігню несете..

мої думки, коли я читаю тему для розмов

Подякували: HetmanNet, 221VOLT, leofun013

3 972

Re: Тема для розмов

leofun01 написав:
221VOLT написав:

по-перше, правильна архітектура великого проекту не залежить від мов програмування ...

Воно то так, але коли діло доходить до програмування, то від обмежень мови програмування нікуди не дінетесь.

221VOLT написав:

це так як знайомий програміст, оперуючи застарілими 4 роки назад фактами про mysql - запевнює всіх що на mysql неможливо великий проект запустити ...

Запевняю Вас, я не з таких, і якщо побачу власну помилку, то привселюдно визнаю це.

221VOLT написав:

чому це фп нічим не краще?
краще - тому що прозоріше,

Під "прозоріше" мається на увазі легкість читання коду ?
На якій такій ФП-мові код зрозуміліший ніж на Java ? (проігноруйте це питання, якщо я щось не правильно зрозумів)

221VOLT написав:

краще - тому що швидше працює,

ну тут залежить від компілятора.

221VOLT написав:

краще - тому що не клепає мізки ні програмісту, ні серверу))

Під час вивчення Haskell'я я клепав собі мізки значно більше ніж при вивченні будь-якої мови ООП.


221VOLT написав:

по-друге, виходячи з вебсокетів та кількості з'єднань - ми плавно переходимо до того що нічого кращого за erlang ще не придумали
хтось може розкричатися що є node.js, але нода програє відразу по декількох параметрах - і меньша кількість зєднань, і проблеми з памяттю, і відсутність решти плюшок erlang-а
ще хтось може згадати про Go - втім erlang залишає позаду і його)

по-третє ми говоримо про майбутнє --- як тут не згадати про нейронки -- а у erlang вони з-коробки, як особливість мови програмування))

майбутнє за erlang-ом та його надбудовами - elixir, etc
(звісно, asm та c/c++ нікуди не подінуться)

Ви мене заінтригували, тепер ще й erlang доведеться вивчити.

221VOLT написав:

людям точно не потрібні ще більш гальмівні мови програмування зі ще більш гальмівними конструкціями))

Згідний, мова має дуже швидкою при обробці і достатньо легкою при вивченні, але і має давати великі можливості.

я не мав честі писати прогами на Haskell-і, хоча й чув про нього лише хороші речі)
можливо у майбутньому знайду час ознайомитись)
судячи по прикладах https://uk.wikipedia.org/wiki/Haskell ---
така ж лаконічна і прозора мова програмування як і erlang

я з вами згоден - вивчення erlang-а (як напевно і Haskell-а) - трошки клепає мізки,
клепає в силу того, що конструкції абсолютно незвичні, вони реально нові - заставляють мозок пробудити з лінивого сну - фізично відчутно що мозок починає працювати  :D

оця лаконічність - прозорість - зрозумілість коду erlang-a , haskell-a, ... --- як 9а симфонія Бетховена у порівнянні з ооп-жахом php, java, etc

http://theegeek.com/wp-content/uploads/2013/09/ObjectOrientedP.jpg

http://1.bp.blogspot.com/-HuOUtVqXEPk/VQmWLWWJ8OI/AAAAAAAAG78/J8lfDeXoZIw/s1600/structured-vs-object-oriented.PNG

надлишковість - evil
http://blog.cleancoder.com/uncle-bob/images/fpvsoo.jpg
oop - довше працює - отже - evil

---

приємно спілкуватися з людьми, які визнають що можуть помилятися)
це свідчить що ці люди не зупинили свій ріст, своє навчання))


у першу чергу шукаються переваги а не недоліки - у вас є задача і ви шукаєте набори інструментів, з якими можна цю задачу виконати, далі порівнюєте набори інструментів (аж тут порівнюються переваги і недоліки) які підходять для виконання поставленої задачі, вибираєте один і виконуєте задачу)

---

під прозорістю мається на увазі - маленький код(у порівнянні з ооп-спагетті інших мов програмування), код одним поглядом охоплюється і є повністю зрозумілим, не треба чухати два дні голову над питаннями "як це працює" і "чому це працює інколи отак, а інколи ще інакше"

Подякували: leofun01, P.Y.2

3 973 Востаннє редагувалося 221VOLT (14.02.2016 06:51:30)

Re: Тема для розмов

P.Y. написав:

3) Не достатньо продумані реалізації поліморфізму та інкапсуляції у мовах. Нащадок не може оголосити публічний (public) доступ до успадкованих захищених (protected) методів з тими ж іменем і сигнатурою.

У Java можна зробити публічний метод на місці захищеного предківського і в ньому викликати предківський метод.

public class Unprotect
{
public static void main(String args[])
    {
    System.out.println(new unprotect.B().m());
    }
}
package unprotect;

public class A
{
protected String m()
    {
    return "Hello from A!";
    }
}
package unprotect;

public class B extends A
{
public String m()
    {
    return super.m();
    }
}

А от навпаки (зробити успадкований публічний метод приватним чи захищеним) — вже ні, що цілком логічно.

як йдеться у одній пісні Скрябіна -
"нікому тооо не трееебаа, я був ще вчооора таакий малиий!"

серйозно - навіщо ці всі зайві громіздкі конструкції?

ооп у деяких програмістів виглядає як джип у деяких чоловіків (про них ще жартують що вони купили великий автомобіль бо у них дещо інше мааленьке)) а можливо і не жартують а правду говорять - хтозна...)))

function mzzza(){
    return "Hello from A!";
 }

цей ввесь зайвий спагетті-ооп-код виглядає імітацією роботи програміста і імітацією роботи програми)
навіть не просто виглядає, а імітацією і є)
спочатку програміст імітує роботу "йой я за день 2к строчок написав(з яких корисного - строчок 100-200, решта - сміттячко як вище), який я молодець", а далі програма з тим всім сміттячком імітує корисну роботу - пару мілісекунд на виконання корисної роботи, яка вміщається у маленьку частинку від сміттячка, і секунди обробки сміттячка-коду))

3 974 Востаннє редагувалося 221VOLT (14.02.2016 06:59:21)

Re: Тема для розмов

через оці ваші ооп ---
ігри і програми які не підвисали на нокії-симбіані 10 років назад ---
при 1х 200-400Мгц процесорі + 64-128Мб оперативки ---
їх аналоги зараз зависають і гальмують на мобілах з 2-4х 2.0+ГГц процесором і 1-4Гб оперативки

це просто позор і катастрофа
жаль що майкрософт купили нокію і знищили як компанію, жаль
симбіан була дуже перспективною ос, не до порівняння з глючними і підвисаючими андроїдами+віндофонами

Подякували: HetmanNet, leofun01, tim3

3 975

Re: Тема для розмов

для симбы теж був свій С++, треба ще вміти писати на ООП

3 976

Re: Тема для розмов

ніби не дурні, а таку фігню несете..

Все фігня.

Не на ООП а парадигмі ООП. І може у проблемах іграшок на сотових і розумних телефонах винна Java?

Подякували: leofun011

3 977 Востаннє редагувалося leofun01 (14.02.2016 13:46:11)

Re: Тема для розмов

221VOLT написав:

цей ввесь зайвий спагетті-ооп-код виглядає імітацією роботи програміста і імітацією роботи програми)

Якщо програміст зловживає конструкціями мови програмування, то роботодавець, побачивши його код, буде знати про низьку кваліфікацію такого програміста. І це стосується будь-якої мови (не тільки ОО).

221VOLT написав:

спочатку програміст імітує роботу "йой я за день 2к строчок написав(з яких корисного - строчок 100-200, решта - сміттячко як вище), який я молодець", а далі програма з тим всім сміттячком імітує корисну роботу - пару мілісекунд на виконання корисної роботи, яка вміщається у маленьку частинку від сміттячка, і секунди обробки сміттячка-коду))

Сподіваюсь роботодавці оцінюють програми не кількістю стрічок коду, бо така оцінка може бути не адекватною.
На скільки мені відомо, у більшості компаній (які займаються розробкою ПЗ) є люди, які перевіряють код, щоб він виконувався максимально швидко і використовував мінімум пам'яті, щоб модифікація програми вимагала мінімум часу і зусиль, і щоб доповнення програми займало мінімум часу і давало максимальні можливості.

Подякували: 221VOLT1

3 978

Re: Тема для розмов

Десь чув, шо індусам платять за кількість (об'єм) написаного коду :)
Х.з, мабуть жартують.

Прихований текст

а може й ні.

Подякували: 221VOLT1

3 979

Re: Тема для розмов

leofun01 написав:
221VOLT написав:

цей ввесь зайвий спагетті-ооп-код виглядає імітацією роботи програміста і імітацією роботи програми)

Якщо програміст зловживає конструкціями мови програмування, то роботодавець, побачивши його код, буде знати про низьку кваліфікацію такого програміста. І це стосується будь-якої мови (не тільки ОО).

221VOLT написав:

спочатку програміст імітує роботу "йой я за день 2к строчок написав(з яких корисного - строчок 100-200, решта - сміттячко як вище), який я молодець", а далі програма з тим всім сміттячком імітує корисну роботу - пару мілісекунд на виконання корисної роботи, яка вміщається у маленьку частинку від сміттячка, і секунди обробки сміттячка-коду))

Сподіваюсь роботодавці оцінюють програми не кількістю стрічок коду, бо така оцінка може бути не адекватною.
На скільки мені відомо, у більшості компаній (які займаються розробкою ПЗ) є люди, які перевіряють код, щоб він виконувався максимально швидко і використовував мінімум пам'яті, щоб модифікація програми вимагала мінімум часу і зусиль, і щоб доповнення програми займало мінімум часу і давало максимальні можливості.

В більшості компаній намагаються писати код в короткі терміни, тому активно юзають ООП бо менше строк коду. Контроль якості у більшості компаній через це так само низькоякісний, в більшості випадків просто вимагають дотримання стандартів які роблять код таким що читається, про ресурси згадують лиш тоді коли є жорсткі обмеження, наприклад коли пишуть гру на консоль. Тому на консолі гра може виглядати так само якісно і працювати так само швидко як на комп'ютері в четверо потужнішому.

Подякували: leofun01, 221VOLT2

3 980

Re: Тема для розмов

ця вся суперечка за ООП нагадало давню байку

Подякували: leofun01, P.Y., 221VOLT3