powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему ООП так популярно?
25 сообщений из 435, страница 17 из 18
Почему ООП так популярно?
    #35896403
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
while (start < end)
{
...........
start++;
end--;
}


Огорчаешь ты меня.
Это моветон

Наплевать мне на моветон. Код был написан раз и без ошибок. Читабелен, переносим, очевидная функция Реверс в библиотеке.

автор
while (start < end)
{
...........
start++;
end--;
}


Красивый фрагмент где два индекса движутся друг другу на встречу, пока не встретятся.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896406
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2учимся мыслить функционально и не гавнокодить.


поучи меня функционально мыслить :)
говнокодить можно и с применением STL

В задаче было условие не использовать лишней памяти и не делать лишних перемещений.
А так STL конечно рулит, ага
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896417
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2учимся мыслить функционально и не гавнокодить.
Даже если бы не было функции Реверс, ее стоило бы придумать

Код: plaintext
1.
2.
3.
            Reverse(array, 0, array.Length);
            Reverse(array, 0, k);
            Reverse(array, k, l);

Но у вас тут получается 2 прохода... Вдруг автор задачи прибежит и скажет, что можно еще сэкономить на обращениях к массиву.
PC_2
Время линейно. Благодаря понятности и очевидности кода, баги исключаются.
Это еще не функциональное программирование,
но функциональная мысль ставит все на свои места красивого решения. ИМХО.
Точно.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896427
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
me_dved
Точно.

Задачка то была поставлена как олимпиадная, а не с целью лечь в продакт
И было явно подчеркнуто, что автора интересует экономия, а не только линейное время
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896428
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)PC_2учимся мыслить функционально и не гавнокодить.


поучи меня функционально мыслить :)
говнокодить можно и с применением STL

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

нашел кого слушатся, студентика, это парень свой гавнокод еще будет три дня сидеть и отлаживать потому что пожлобился на три бита,
и получил выиграш в производительности 0,0000001%
Модератор:
приподзабанен
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896435
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте вместо мутирующей функции создадим реверсный итератор. Даёш lazy computing. Поближе к ФП тык-скыть....
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896437
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2SQL_Lamer
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
while (start < end)
{
...........
start++;
end--;
}


Огорчаешь ты меня.
Это моветон

Наплевать мне на моветон. Код был написан раз и без ошибок. Читабелен, переносим, очевидная функция Реверс в библиотеке.

автор
while (start < end)
{
...........
start++;
end--;
}


Красивый фрагмент где два индекса движутся друг другу на встречу, пока не встретятся.

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

Код: plaintext
1.
2.
3.
do{
....
} while (++start < --end);
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896440
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2
нашел кого слушатся, студентика, это парень свой гавнокод еще будет три дня сидеть и отлаживать потому что пожлобился на три бита,
и получил выиграш в производительности 0,0000001%

если ты заметил, я стал решать задачку (как я ее понял) только после того как автора забанили :)
Так что я его НЕ слушался

А в целом, я с тобой согласен, читабельный код в 99% процентах случаев предпочтительнее оптимального
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896441
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer
Код: plaintext
1.
2.
3.
do{
....
} while (++start < --end);

А вдруг проскочим нужную остановку?
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896452
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSQL_Lamer
Код: plaintext
1.
2.
3.
do{
....
} while (++start < --end);

А вдруг проскочим нужную остановку?

Можно и в начале проверить

Код: plaintext
while (start++ < end--);
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896453
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer
Код: plaintext
1.
(++start < --end);


вотето кстате моветон и плохая сишная привычка ИМХО.
Лучше мух от котлет отделять, кода у тебя одна строчка кода в сишнем стиле "швец и кузнец и на игре дудец" читабельности ей это явно не добавляет.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896458
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2SQL_Lamer
Код: plaintext
1.
(++start < --end);


вотето кстате моветон и плохая сишная привычка ИМХО.
Лучше мух от котлет отделять, кода у тебя одна строчка кода в сишнем стиле "швец и кузнец и на игре дудец" читабельности ей это явно не добавляет.

Ну да, сишная привычка, все правильно :)
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896470
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSQL_Lamer
Код: plaintext
1.
2.
3.
do{
....
} while (++start < --end);

А вдруг проскочим нужную остановку?

+1,
ведь не понятно. Вайл должен начинаться с необходимого условия.
Если условие не такое как нужно - блок не выполнять.
Если вдруг в этого кузнеца передадут энд больше чем старт,
он же напорошет в массиве и потом черт голову сломит в запорошеном массиве.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896487
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А PC_2 то за что ???
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896490
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PC_2Gluk (Kazan)PC_2учимся мыслить функционально и не гавнокодить.


поучи меня функционально мыслить :)
говнокодить можно и с применением STL

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

нашел кого слушатся, студентика, это парень свой гавнокод еще будет три дня сидеть и отлаживать потому что пожлобился на три бита,
и получил выиграш в производительности 0,0000001%
Модератор:
приподзабанен
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896493
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
молод, горяч :)
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896507
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переприподзазабаненый PC_2,

Я просто к тому, что пишешь на сишном языке, придерживайся его правил(имхо)
while как таковой вообще там глаз режет(опять имхо)
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896809
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)me_dved
Точно.

Задачка то была поставлена как олимпиадная , а не с целью лечь в продакт
И было явно подчеркнуто, что автора интересует экономия, а не только линейное время

Хы, тогда можно попробовать посчитать композицию перестановок.
1) первая: "перевернуть" индексы массива,
т.е. "как бы" сделать ( (7,6,5,4) , (3, 2,1) ) из ( (1,2,3) , (4,5,6,7) )
(1 2 3 4 5 6 7)
(7 6 5 4 3 2 1)
2) вторая: "перевернуть" индексы в частях массива
из (7,6,5,4) получить (4, 5, 6, 7)
(1 2 3 4 5 6 7)
(4 3 2 1 7 6 5)

через композицию перестановок получить индексы элементов в исходном массиве, которые следует свопнуть.

Я прав? :о)
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896810
Гы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура! Членомерия :)

Код: plaintext
1.
2.
3.
xchange(N, List) ->
    {X, Y} = lists:split(N, List),
    Y ++ X.

Код: plaintext
1.
2.
 1 > xchange( 5 , [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]).
[ 6 ,  7 ,  1 ,  2 ,  3 ,  4 ,  5 ]
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896840
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яж о том и говорю. Это как умножение матриц. По теории, если мы умножаем матрицу А на B, то В необходимо развернуть. Но на практике, в процедуре умножения, разворот происходит "виртуально". На уровне индексов матриц.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896883
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
me_dvedGluk (Kazan)me_dved
Точно.

Задачка то была поставлена как олимпиадная , а не с целью лечь в продакт
И было явно подчеркнуто, что автора интересует экономия, а не только линейное время

Хы, тогда можно попробовать посчитать композицию перестановок.
1) первая: "перевернуть" индексы массива,
т.е. "как бы" сделать ( (7,6,5,4) , (3, 2,1) ) из ( (1,2,3) , (4,5,6,7) )
(1 2 3 4 5 6 7)
(7 6 5 4 3 2 1)
2) вторая: "перевернуть" индексы в частях массива
из (7,6,5,4) получить (4, 5, 6, 7)
(1 2 3 4 5 6 7)
(4 3 2 1 7 6 5)

через композицию перестановок получить индексы элементов в исходном массиве, которые следует свопнуть.

Я прав? :о)

Вычислить конечно можно, но само вычисление последовательности транспозиций это ЛИШНИЕ движения в RunTime,
хотелось сразу придумать универсальную последовательность с минимальным количеством транспозиций (в моем случае <= K+L-1 если опять нигде не напахал)

Правда вычисления, которые ты предлагаешь можно провести в CompileTime, но я морально к этому не готов :(

Если я тебя конечно правильно понял
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896886
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГыУра! Членомерия :)

Код: plaintext
1.
2.
3.
xchange(N, List) ->
    {X, Y} = lists:split(N, List),
    Y ++ X.

Код: plaintext
1.
2.
 1 > xchange( 5 , [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]).
[ 6 ,  7 ,  1 ,  2 ,  3 ,  4 ,  5 ]


Ты не уловил суть :) По задаче не размер исходного кода меряется :)
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896925
Гы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)ГыУра! Членомерия :)

Код: plaintext
1.
2.
3.
xchange(N, List) ->
    {X, Y} = lists:split(N, List),
    Y ++ X.

Код: plaintext
1.
2.
 1 > xchange( 5 , [ 1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]).
[ 6 ,  7 ,  1 ,  2 ,  3 ,  4 ,  5 ]


Ты не уловил суть :) По задаче не размер исходного кода меряется :)

А кого меряем? Время или память? Если время - то линейное, понятно. Если память, то мутабельный алгоритм будет экономнее, ФП тут мимо тазика.
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896953
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГыЕсли память, то мутабельный алгоритм будет экономнее, ФП тут мимо тазика.

Об том и речь. Автор настаивал на экономии памяти и количества транспозиций
...
Рейтинг: 0 / 0
Почему ООП так популярно?
    #35896968
maytonСюда - же можно добавить концепцию объекта в различных ЯП. Везде она своя.
Я бы сказал, что везде одна и та же концепция, поскольку объект он и в Африке объект. Его можно создать, удалить, передать (ссылку) другому и доступить.

Бардак возникает только при попытке отображить термины программирования в математические. Вон в реляционной модели сделали такое оборажение, но все равно реляционной СУБД так и не создали и полный бардак на уровне реализации. А в ООП нет (столь же успешной) формализации и все хорошо. Никаких (почти) проблем.

maytonА определений объекта - уж тем более существует несколько десятков, если не сотен.
Определять объект это все равно что определять понятие множество или элемент множетсва. Объект не нуждается в определении - это базовое понятие.
...
Рейтинг: 0 / 0
25 сообщений из 435, страница 17 из 18
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему ООП так популярно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]