Кто и где лучший программист?Кто они лучшие и как их определить?
#61
Отправлено 05.10.2005, 22:02:51
Вот один из верных способов определить настоящего программиста. Надо посмотреть, как он/она ложится спать. Если программист настоящий, то ставит на тумбочку обязательно два стакана. Один стакан с водой, другой пустой.
- Зачем тебе стакан с водой?
- Это если ночью проснусь и захочется пить.
- А пустой зачем?
- А это если проснусь, но пить не захочется.
#63
Отправлено 16.08.2006, 18:12:38
Code:
--------------------------------------------------------------------------------
void get_tomorrow_date( struct timeval *date )
{
sleep( 86400 ); // 60 * 60 * 24
gettimeofday( date, 0 );
}
/пришло аськой/
#66
Отправлено 20.08.2006, 10:07:15
Лучшие программисты на мой взгляд(из тех кто известен в сети)Кто и где лучший программист?, Кто они лучшие и как их определить?
http://rst.void.ru
Наверное каждый админ бывал на их сайте,и знает что они пишут,вообщем таких есть еще несколько)
Лучший программист-это не тот кто закончил универ с красным дипломом по специальности программист,а тот, кто может написать,может найти баги в чем либо,и после их успешно пофиксить)
Сугубое имхо
Далее талантливые программисты,это команда www.freebsd.org, linux.org, вообщем никсовые
Билла Гейтса некоторые сравнивают с Линусом Торвальдсом,мол такой же гений,хотя ...небудет сравнивать одно место с пальцем
Сообщение отредактировал z0mb1e_c0mmad1ng: 20.08.2006, 10:10:17
#69
Отправлено 21.08.2006, 14:20:32
#71
Отправлено 21.08.2006, 22:29:15
Вот задачка, которую лучший программист решил бы за 5-10 минут:я лучший )))
http://vse.kz/index....c...t&p=2403732
#72
Отправлено 21.08.2006, 23:30:45
Имхо, это не совсем подходящая задачка - она адресована только тем, кто знает Java и PHP. Вот задачка, которую каждый может решать на своем любимом языке.Вот задачка, которую лучший программист решил бы за 5-10 минут:
http://vse.kz/index....c...t&p=2403732
Надеюсь, все согласны, что хороший программист, независимо от языка, обязательно знает основы ООП? Тогда вперед! Дано: квадрат и прямоугольник. Что из чего выводить - класс квадрата из класса прямоугольника или наоборот?
В математике, как известно, квадрат - это более простой, частный случай прямоугольника, у которого все стороны равны и углы прямые. А в ООП наоборот: производный класс выводится из более простого, базового класса. Производный класс наследует все открытые методы базового класса и плюс еще добавляет некоторые свои новые. Тогда вроде бы надо класс прямоугольника наследовать из класса квадрата...
#74
Отправлено 22.08.2006, 10:55:56
Согласен с вами, но я сторонник того, что лучшие должны знать мнооого.Имхо, это не совсем подходящая задачка - она адресована только тем, кто знает Java и PHP.
Вот задачка, которую лучший программист решил бы за 5-10 минут:
http://vse.kz/index....c...t&p=2403732
Предлагаю заточить задачку под определение площадей, путем взятия интеграла:Дано: квадрат и прямоугольник. Что из чего выводить - класс квадрата из класса прямоугольника или наоборот?
Дано:
Прямоугольник, Квадрат
Найти:
Написать консольную программу, которая выводит в результате своей работы площади данных фигур, используя только лишь ООП. Так же принимаются решения с использованием АОП . Учесть возможность добавление в программу таких фигур как ромб, треугольник, круг.
Языки:
любой
з.ы. При вычислении площадей не использовать формулы типа сторона*сторона.
То же самое, что "растения" от "кактусов" наследовать.класс прямоугольника наследовать из класса квадрата...
#75
Отправлено 22.08.2006, 11:50:34
Согласен - значит, согласен. Кстати, мнооого знать => мнооого ошибаться и мнооого забывать.Согласен с вами, но я сторонник того, что лучшие должны знать мнооого.
Имхо, это не совсем подходящая задачка - она адресована только тем, кто знает Java и PHP.
Я так понял, что для таких условий Вы уже готовы показать свое решение?Предлагаю заточить задачку под определение площадей, путем взятия интеграла:
Дано:
Прямоугольник, Квадрат
Найти:
Написать консольную программу, которая выводит в результате своей работы площади данных фигур, используя только лишь ООП. Так же принимаются решения с использованием АОП . Учесть возможность добавление в программу таких фигур как ромб, треугольник, круг.
Языки:
любой
з.ы. При вычислении площадей не использовать формулы типа сторона*сторона.
Во-первых, я не утверждал, что так делать будет правильно. Цитируйте собеседников без выдергивания текста из контекста, пожалуйста. А во-вторых, рано Вы начали покатываться со смеху. Если будете наследовать от прямоугольника, то будут лишние данные, больше работы при инициализации, больше расход памяти. Когда понадобится сетка квадратов размером хотя бы 100х100, тогда, может, задумаетесь.То же самое, что "растения" от "кактусов" наследовать.
класс прямоугольника наследовать из класса квадрата...
#76
Отправлено 22.08.2006, 14:14:03
площадь труегольника равна детерминанту матрицы
ax bx cx ay by cy 1 1 1так можно по циклу пересчитать площадь любого многоугольника
имхо на любой код можно придумать контрпример, при котором код будем чрезвычайно неоптимальным %)А во-вторых, рано Вы начали покатываться со смеху. Если будете наследовать от прямоугольника, то будут лишние данные, больше работы при инициализации, больше расход памяти. Когда понадобится сетка квадратов размером хотя бы 100х100, тогда, может, задумаетесь.
#77
Отправлено 22.08.2006, 15:51:09
Ну уж и на любой! Если уж делаете столь широкое (даже слишком) заявление, то почему без доказательства?имхо на любой код можно придумать контрпример, при котором код будем чрезвычайно неоптимальным %)
Вообще-то проблема состоит не только в оптимальности/неоптимальности кода. Да, это важно (дизайн какой-нибудь печатной платы в PCAD может потребовать прорисовки десятков или даже сотен тысяч квадратиков). Но оптимальность - это лишь то, что сразу бросается в глаза.
Мало того, что при наследовании квадрата от прямоугольника невозможно избежать наследования двух скрытых членов-данных, ширины и высоты (да еще и соответствующих раздельных методов работы с ними), хотя это совершенно не нужно. Здесь есть более тонкая проблема: в отличие от квадрата, при изменении ширины прямоугольника его высота не изменяется. Таким образом, прямоугольник, как программный объект, ведет себя принципиально иначе, чем квадрат. Тогда как же квадрат может быть наследником прямоугольника, если в программе он ведет себя иначе, чем его родитель?
А ведь это основная задача программирования - иметь дело с поведением программных объектов. Другими словами, обеспечивать правильное поведение объектов, абстрагируясь от их сущности. Вот и подумайте, как при таком наследовании обеспечить правильное поведение обоих объектов (Rectangle r; Square s) при передаче их как параметров в клиентские функции.
#78
Отправлено 22.08.2006, 18:57:34
опровергаю:
квадрат от прямоугольника может менять высоту одновременно с шириной. вопрос скрытости ширины и высоты не обоснован.
а вот прямоугольнику придётся переписывать почти все методы (может быть кроме деструктора) квадрата напрочь, потому, что нужно разорвать эквивалентность высоты и ширины в каждом методе. а это существенный гемор
#79
Отправлено 22.08.2006, 20:58:25
Конечно, могу, но эта задачка для лучших программистов, а я всего лишь студент.Я так понял, что для таких условий Вы уже готовы показать свое решение?
Предлагаю заточить задачку под определение площадей, путем взятия интеграла:
Дано:
Прямоугольник, Квадрат
Найти:
Написать консольную программу, которая выводит в результате своей работы площади данных фигур, используя только лишь ООП. Так же принимаются решения с использованием АОП . Учесть возможность добавление в программу таких фигур как ромб, треугольник, круг.
Языки:
любой
з.ы. При вычислении площадей не использовать формулы типа сторона*сторона.
Мы только, что говорили о наследовавании и теперь перешли к памяти? Как-то нелогично получается. Зачем мне бороться за каждый байт, если памяти уже гигабайты?Во-первых, я не утверждал, что так делать будет правильно. Цитируйте собеседников без выдергивания текста из контекста, пожалуйста. А во-вторых, рано Вы начали покатываться со смеху. Если будете наследовать от прямоугольника, то будут лишние данные, больше работы при инициализации, больше расход памяти. Когда понадобится сетка квадратов размером хотя бы 100х100, тогда, может, задумаетесь.
То же самое, что "растения" от "кактусов" наследовать.
класс прямоугольника наследовать из класса квадрата...
Сообщение отредактировал T. Anre: 22.08.2006, 21:06:47
#80
Отправлено 22.08.2006, 21:18:09
1. "Чудесны" или не очень - кому как нравится, дело личного вкуса.эти рассуждения чудесны и временами справедливы, но не универсальны.
2. "Временами" справедливы? А временами, значит, нет? Потрудитесь указать, где несправедливы и обосновать, почему.
3. Насчет универсальности - я на нее не претендовал и обеспечить ее не обещал.
Неужели такие простые вещи все еще нужно обосновывать? Ширина и высота - это данные каждого объекта (экземпляра класса) прямоугольника. Если их не скрывать, сделать открытыми (т.е. public - доступными для любых обращений к ним извне), тогда вообще о каком ООП можно говорить?опровергаю:
квадрат от прямоугольника может менять высоту одновременно с шириной. вопрос скрытости ширины и высоты не обоснован.
Гимор, причем существенный, обеспечен в любом случае. Оба способа (квадрат из прямоугольника или прямоугольник из квадрата) с точки зрения программиста вполне законны и имеют право на существование. Возможно, придется и в самом деле пойти привычным путем и создавать класс квадрата, наследуя его из класса прямоугольника. Но опять же, в таком случае придется принимать специальные меры, чтобы производный класс вел себя как базовый. Базовый класс всегда определяет свойства и поведение своих производных классов, разве не так? Соответственно, производный класс всегда должен наследовать все свойства и поведение своего базового класса и плюс добавлять к ним еще какие-то свои собственные, присущие только ему, свойства и методы. Другими словами, объекты производных классов всегда должны обеспечивать возможность их работы в качестве объектов своих базовых классов. В случае с квадратом и прямоугольником этого нет - мы не можем просто работать с квадратом, как с объектом его базового класса - прямоугольника.а вот прямоугольнику придётся переписывать почти все методы (может быть кроме деструктора) квадрата напрочь, потому, что нужно разорвать эквивалентность высоты и ширины в каждом методе. а это существенный гемор
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0