Re[9]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:25
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>Здравствуйте, creatman, Вы писали:


AS>>>Сделать из сложного простое задача нетривиальная и виртуальное наследование этому никак не способствует


C>>Пишите на чистом Си, никто о вас даже плохо не подумают, некоторые наоборот даже похвалят. Не используйте классы используйте структуры. Перенисите этот топик в ветку С vs C++


IS>назовите хотя бы три отличия структур от классов в С++ ?



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


Re[10]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:28
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, creatman, Вы писали:


C>>см. subj. ИМХО для некоторых BOOST и STL кажется достаточно сложными штуками в использовании, но это отнюдь не говорит о том, что профессионал не должен их использовать. Для некоторых разработка класса считается гораздо более сложной феничкой чем структурка и пара десятков глобальных функций, ну тогда давайте переведем это в тему C vs C++.


Д>да нет, я вообще не об этом писал. Просто для многих (слишком многих) "навороченный код" эквивалентно "хороший код", и служит для подтверждения их неимоверной крутизны и высокого статуса Вот и появляются монстры, в которых простейшая задача решается неимоверно бессмысленно сложными способами.


Это быстро лечится, когда работа идет в команде более 3-х человек

Д>В общем, здравый смысл рулит


Это факт, категорически согласен


Re: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 10:36
Оценка: +1 -1
Почитал ветку выборочно, у мня такое впечатление возникло, что россия это будущая индия. Мы превращаемся в индусов. Слежу за школьными и студенческими олимпиадами (тк сам все это прошел в свое время), уровень задач из года в год все ниже и ниже, на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.

Это все моё ИМХО и крик души...
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[2]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 10:40
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки, можно с инета "закопипастить". Что творится в университетах, это просто плакать хочется.


Таки, если верить моему голосованию — сортировки многие знают
Re[8]: Блин, ну откуда столько криворуких?
От: creatman Германия  
Дата: 03.07.06 10:41
Оценка:
Здравствуйте, kollega, Вы писали:

K>Здравствуйте, xtile, Вы писали:


X>>Здравствуйте, Дарней, Вы писали:


C>>>>Это их проблемы, я думаю кривых рук хватает и в ABBYY


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


X>>Это удивительно и сложно понять, но зачастую самые успешные проекты отвратительно выглядят изнутри.


K>В данном случае это не верно. Из всех исходников, которые я видела в жизни в Абби самый чистый, понятный и красивый код.


Неужели в Абби есть правила по оформлению кода?

K> Не считая грамотной архитектуры.


Я бы считал это в первую очередь.


Re[3]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 10:53
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>Таки, если верить моему голосованию — сортировки многие знают


Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше

ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками. А тут "инженера" получающие по 1000 баксов минимум не могут и не хотят этого знать Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[4]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 11:00
Оценка:
Здравствуйте, Kisloid, Вы писали:

J>>Таки, если верить моему голосованию — сортировки многие знают


K>Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше


Вариант
Re[8]: Блин, ну откуда столько криворуких?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.07.06 11:41
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>я обычно таки использую виртуальные функции. Но и без них можно строить вполне качественный код.

Д>Виртуальные функции в статике прекрасно заменяются шаблонами и/или кодогенерацией. Если реально нужен рантайм-полиморфизм, то можно использовать RTTI/reflection. (я не говорю, что так и надо делать. Но, тем не менее, это позволяет делать вполне терпимый по качеству код — тем более, что в большинстве случаев статического полиморфизма вполне достаточно)

Фигасе... А можно подробнее? Чую, что я со своей приверженностью к LSP начинаю устаревать.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Блин, ну откуда столько криворуких?
От: Miroff Россия  
Дата: 03.07.06 11:45
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>Здравствуйте, jhfrek, Вы писали:


J>>Таки, если верить моему голосованию — сортировки многие знают


K>Ага, и специально остальным орут, "да это знать не надо, можно с инета накачать", например чтобы конкурентов стало меньше


K>ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками. А тут "инженера" получающие по 1000 баксов минимум не могут и не хотят этого знать Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор


Если у тебя в восьмом классе получилось написать сортировку, то "у инженера за 1000 бакстов минимум" тоже наверняка получится.
Re[4]: Блин, ну откуда столько криворуких?
От: DmitryElj Россия  
Дата: 03.07.06 11:51
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>ЗЫ: помнится мне в классе 8м сказали отсортировать массив и дали полчаса, тогда я еще не знал ни одного алгоритма сортировки, за минут 20 я смог написать алгоритм со сложностью O(n^2). Как потом оказалось я написал стандартную сортировку вставками.


А я примерно в таком же возрасте сам "придумал" сортировку пузырьком

K>Это же база, это фундамент, это как обычному человеку знать таблицу умножения например, знаю большинство крикнут зачем, если есть калькулятор


Сейчас например, я по памяти вряд ли назову хотя бы 3-4 алгоритма сортировки, просто потому что не надо было, хотя дома том "Сортировка и поиск" валяется, даже пару раз его доставал как-то (когда нужна была большая книжка, под винт подложить чтоб не падал ).
Re[7]: Блин, ну откуда столько криворуких?
От: kittown  
Дата: 03.07.06 11:55
Оценка:
memorilik wrote:
>
> АК>Убиваться апстену не нужно. Но придется признать, что, если Вы не
> понимаете, как работают и как могут быть оптимизированы такие простые
> алгоритмы, как сортировка массива, то вряд ли следует ожидать от Вас
> качественной разработки более сложного кода.
>
> А часто вы оптимизируете сортировки в своих проектах ? Я лично не разу,
> хотя проектов хватало... Всегда использовали стандартные ф-ции и все
> работало нормально. Более того, сейчас провел опрос своих знакомых на
> предмет написания сортировок, но ни кто из них правильно на бумаге сразу
> написать не смог.

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

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

Mikhail
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 12:27
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Если у тебя в восьмом классе получилось написать сортировку, то "у инженера за 1000 бакстов минимум" тоже наверняка получится.


Если это инженер не в кавычках, то думаю да.
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[6]: вопрос по ООП
От: Sergey Philippov Россия www.azs.ru
Дата: 03.07.06 12:31
Оценка:
Kisloid пишет:
>
> ИМХО кажется ничего подобного, у квадрата и прямоугольника общее только
> то, что они есть класс геометрических фигур. Так что в принципе можно
> отнаследолвать их от общего абстрактного базового класса Shape. Квадрат
> не есть частный случай прямоугольника в терминах ООП, да и в математике
> насколько я помню тоже.
>
> Если бы мне дали такое задание, я бы написал что то вроде этого:
>
> class Square : public Shape
> {
> private:
> int left_;
> int top_;

> class Rectangle : public Shape

> {
> private:
> int left_;
> int top_;
>
>
> Интересно, меня бы с таким решением тоже отправили бы ?
Ничего общего не замечаешь? К тому же, sideSize и width&height можно
заменить на corner. И все отличие сведется к assert'у в установщике
corner у квадрата. Не придется по два раза писать area(), draw() etc...

--
С уважением, Сергей Филиппов.
ps-at-azs-ru
Posted via RSDN NNTP Server 2.0
Re[13]: Блин, ну откуда столько криворуких?
От: mik1  
Дата: 03.07.06 12:33
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Пробовалось в нескольких вариантах:

E>Вариант 1. Ребята, проект горит, прошу всех отнестись с пониманием, но придется месяц поработать без выходных. +40% к з/п за этот месяц. После сдачи — недельный отпуск за счет компании. Совершенно реальная и иногда случающаяся ситуация. Люди за месяц устают в крайней степени!

Извините. Выходные — это и есть СОРОК ПРОЦЕНТОВ от рабочего времени. Поэтому перефразирую: Ребята, нужно поработать месяц без выходных. Оплата за работу в выходные — в одиночном размере. Это, конечно, противоречит КЗОТу, но Вы потерпите, да?

E>Вариант 2. Обычная система компенсации за переработку. Т.е. если человек поработал в выходные (добровольно, о чем Вы говорите) — получи деньги за это время. Так вот это самое плохое, что может быть. Тут есть два негатива: 1. Некоторые начинают так работать постоянно, в результате через пару месяцев их производительность труда падает в разы. Были времена, когда приходилось категорически запрещать выходить в выходные. 2. Приходят в офис и занимаются своими делами.


ИМХО, кто-то платит мало? Иначе нет смысла сидеть на работе безвылазно...
Re[14]: Блин, ну откуда столько криворуких?
От: mik1  
Дата: 03.07.06 12:38
Оценка:
Здравствуйте, Eurispheus, Вы писали:

E>Допустим, есть 2 компании:

E>В одной предлагают $3500, работать в подвале, добираться два часа, все общаются на повышенных тонах, начальник хамит.
E>В другой предлагают $3000. Хороший офис с кондиционером, комнаты отдыха, теннис, доброжелательный коллектив.

E>В данном случае $500 уже ничего не решает.


Обычно цифры надо местами поменять.
А еще — покажите мне место в Москве, где офис снимают в подвале и платят программеру 3000$.
Поверю в 1500 максимум.
Re[10]: Блин, ну откуда столько криворуких?
От: Igor Sukhov  
Дата: 03.07.06 12:40
Оценка: +3
Здравствуйте, creatman, Вы писали:

C>Извиняюсь что поздно отвечаю.

C>Вобще-то я имел ввиду структуры в терминах Си. Я указал на то, что если вы считаете виртуальные функции или виртуальное наследование излишними фичами языка, которые вам не нужны, тогда пересмотрите вопрос о выборе языка для своего следущего проекта.

ничего ты не указал. когда ТЕБЕ ПОКАЗАЛИ что виртуальным наследованием не пользуются подавляющее большинство разработчиков, а добрая половина ВООБЩЕ НИКОГДА ничего виртуально не наследовала ты не нашел ничего лучшего чем попытаться увести разговор в сторону.

а теперь внимание вопрос: линейкой из какого железа следует бить по пальцам людей, которые используют этот тип наследования в большом проекте? Хинт — большой проект подразумевает:

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

2.большое время жизни проекта, только усугубляющее положение средних разработчиков из п.1, и как следствие положение самого проекта (большой проект — он ведь держится на средних разработчиках).
* thriving in a production environment *
Re[2]: Блин, ну откуда столько криворуких?
От: algol Россия about:blank
Дата: 03.07.06 12:48
Оценка:
Здравствуйте, Kisloid, Вы писали:

K>на форуме самого сильного в россии по программированию сообщества РСДН "инженера" начали кричать, что не надо знать алгоритм сортировки,


Да, 98 %-ам это не понадобится. Зачем изобретать очередной велосипед и потом искать в нем баги? Есть готовые реализации в .NET и STL. Давайте тогда еще выяснять знание алгоритмов поиска в строке например. Конечно бывают случаи, когда пишется новая библиотека или движок БД, и нужно знание алгоритмов.

K>можно с инета "закопипастить".


Так обычно быстрее. К примеру как-то понадобилась мне функция сравнения строки по wildcards, типа Like "*abc?d". Минут за 10 в инете отыскалось решение. Вы за 10 минут напишете такую функцию (там строчек 30)? Кстати, неплохой вариант для тестового задания, лучше чем предлагать изобретать велосипед.

K>Что творится в университетах, это просто плакать хочется.


Плакать хочется, когда читаешь о таком способе сортировки (где-то постили на РСДН с дельфового форума): создается скрытый List View, заполняется строками, вызывается Sort, считывается готовый результат. Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.
Re[3]: Блин, ну откуда столько криворуких?
От: jhfrek Россия  
Дата: 03.07.06 12:58
Оценка:
Здравствуйте, algol, Вы писали:

A>Плакать хочется, когда читаешь о таком способе сортировки (где-то постили на РСДН с дельфового форума): создается скрытый List View, заполняется строками, вызывается Sort, считывается готовый результат. Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.


И чем он плох? Это же супер тест на смекалку
Re[4]: Блин, ну откуда столько криворуких?
От: Sergey Philippov Россия www.azs.ru
Дата: 03.07.06 13:14
Оценка:
jhfrek пишет:
>
> A>Плакать хочется, когда читаешь о таком способе сортировки (где-то
> постили на РСДН с дельфового форума): создается скрытый List View,
> заполняется строками, вызывается Sort, считывается готовый результат.
> Кстати, такое еще придумать надо, этого у Кнута не прочитаешь.
>
> И чем он плох? Это же супер тест на смекалку
Ну отсортируй десять миллионов строк таким образом

--
С уважением, Сергей Филиппов.
ps-at-azs-ru
Posted via RSDN NNTP Server 2.0
Re[3]: Блин, ну откуда столько криворуких?
От: Kisloid Мухосранск  
Дата: 03.07.06 13:17
Оценка:
Здравствуйте, algol, Вы писали:

A>Да, 98 %-ам это не понадобится. Зачем изобретать очередной велосипед и потом искать в нем баги? Есть готовые реализации в .NET и STL. Давайте тогда еще выяснять знание алгоритмов поиска в строке например. Конечно бывают случаи, когда пишется новая библиотека или движок БД, и нужно знание алгоритмов.


Изобретать велосипед не надо, там где возможно надо использовать готовые проверенные временем надежные библиотеки, это да. Лично я в промышленном программировании в код идущий в продакшн ни разу свой алгоритм сортировки, поиска итд итп не писал. Просто эти алгоритмы надо знать. Хотя бы для того чтобы понять где что правильно использовать. В том же дотнете я помню есть метод у object'а GetHashCode(), думаете человек который незнает что такое хеш таблицы, хеш функции, поймет что это такое за 5 мин ? И более того он сможет эффективно написать свою реализацию ?
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.