Re[12]: Вопросы на собеседовании
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.12.03 15:29
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>identity — это не атрибут, это свойство объекта. Вот множество значений доменов отношения для определенной записи и определяют это свойство.

идентити — это возможность различить два объекта независимо от их состояния и поведения. Вот само отношение — это объект. А кортежи, которые в него входят — не объекты. Потому что у них этого идентити нету. Ежели я неправ, то ткните мне во что-нибудь, у чего нет идентити. А то мы так дойдем до того, что кроме объектов ничего и нету. Где тогда граница между ООП и неООП?
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: Вопросы на собеседовании
От: dad  
Дата: 01.12.03 15:49
Оценка:
AS>>identity — это не атрибут, это свойство объекта. Вот множество значений доменов отношения для определенной записи и определяют это свойство.
S>идентити — это возможность различить два объекта независимо от их состояния и поведения. Вот само отношение — это объект. А кортежи, которые в него входят — не объекты. Потому что у них этого идентити нету. Ежели я неправ, то ткните мне во что-нибудь, у чего нет идентити. А то мы так дойдем до того, что кроме объектов ничего и нету. Где тогда граница между ООП и неООП?


ну что вы как дети малые? уцепились за термин identity. Кортежи приплели.
граница проходит на рубеже анализа функциональная декомпозиция и объектная декомпозиция. почувтсвуйте разницу.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[13]: Вопросы на собеседовании
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 02.12.03 05:51
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Alexey Shirshov, Вы писали:


AS>>identity — это не атрибут, это свойство объекта. Вот множество значений доменов отношения для определенной записи и определяют это свойство.

S>идентити — это возможность различить два объекта независимо от их состояния и поведения. Вот само отношение — это объект. А кортежи, которые в него входят — не объекты. Потому что у них этого идентити нету. Ежели я неправ, то ткните мне во что-нибудь, у чего нет идентити. А то мы так дойдем до того, что кроме объектов ничего и нету. Где тогда граница между ООП и неООП?

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

З.Ы. А что кортежи не являются объектами, это ты сильно ошибаешься.

З.Ы.Ы. Здесь уже речь идет не столько об ОО Программировании, сколько о филосифии. ООП — это просто способ декомпозиции предметной области.
... << RSDN@Home 1.1.0 stable >>
Re[14]: Вопросы на собеседовании
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.12.03 06:09
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

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

Этого не может быть. Когда мы вводим какое-то определение, то научный подход требует сформулировать какие-то признаки, присущие тому чему-то, что мы определяем. И надо провести границу между тем, что мы определяем, и тем, что им не является. Ну сказали мы "индивидуальность, поведение, состояние". Зашибись!
Если все — суть это, то это всего лишь мантра, а мы — брахманы. Ерунда! Никакой пользы из этого ивлечь не удастся.
Должна же быть какая-то наука! У любого программера есть интуитивное понятие о том, где примерно проходит граница ООП. Формальная теория должна уточнить пролегание этой границы. А ты предлагаешь сесть в позу лотоса и сказать "ООП — это всё! Вы, ребята, всегда им пользовались, только не знали об этом!", расширяя эту границу до размеров вселенной.
Так что я жду примеров того, что не является объектом, или давайте выкинем слово "объект" как не несущее семантической нагрузки и оставим только "Ориентированное программирование"
... << RSDN@Home 1.1.0 stable >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Вопросы на собеседовании
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 02.12.03 06:51
Оценка:
Здравствуйте, Sinclair, Вы писали:

хъ

S>Должна же быть какая-то наука! У любого программера есть интуитивное понятие о том, где примерно проходит граница ООП. Формальная теория должна уточнить пролегание этой границы. А ты предлагаешь сесть в позу лотоса и сказать "ООП — это всё! Вы, ребята, всегда им пользовались, только не знали об этом!", расширяя эту границу до размеров вселенной.


Все правильно, просто попробуй взглянуть на жизнь глазами простого человека. Вокруг нас объекты — что есть некая материальная сущьность внешнего мира. Все что мы видим, ощущаем, чуствуем (физически) есть объекты.
Объекты обладают поведением (например, письмо от недовольных клиентов на моем столе может изгибаться и гореть), состоянием — мой телефон сломался, и ... и идивидуальностью! Ты отличаешь две абсолютно одинаковые кнопки alt хотя бы только потому, что они имеют различные пространственные координаты.
Именно в этом ключе я пытался с тобой разговаривать, ты же меня склоняешь к программированию. Ок.

S>Так что я жду примеров того, что не является объектом, или давайте выкинем слово "объект" как не несущее семантической нагрузки и оставим только "Ориентированное программирование"


Как я понял, ты хочешь примеров касательно программирования? Пожалуйста.
int main(void){printf("Hello, world!\n");}


В это программе, нет ни одного объекта с точки зрения ООП, так как налицо процедурный подход. На первом месте — метод, затем объект, над которым совершается действие. В данном случае, объектом является выходной поток, а методом printf. Здесь не прослеживается никаких зависимостей между самим объектом, его данными и действиями, которые над ним можно совершать. Нету той самой тройки. Т.е. программа не очевидна даже человеку, который знает о существовании объекта "выходной поток" и что в него можно что-то вывести.
Теперь пример ООП
include <iostream>
int main(void){std::cout << "Hello, world!" << std::endl;}

Здесь уже появляется объект. У него имеется конкретный набор свойств, определяющих его состояние, методов (в данном случае используется оператор) и индивидуальность (вообще в С++ нет экземпляров классов, которые бы не абсолютно не отличались от других экземпляров хотя бы потому, что у каждый экземпляр имеет свой адрес в памяти).
Возможно, на С++ объектная ориентированность выглядит не так явно — вот пример на vb.net
Module m
    Sub Main()
        Console.WriteLine("Hello, world!")
    End Sub
End Module


Приводить пример на ассемблере или так понятно, что никаких объектов ты там не встретишь?
... << RSDN@Home 1.1.0 stable >>
Re[3]: Вопросы на собеседовании
От: DMach Россия http://www.1Gb.ru
Дата: 06.12.03 16:50
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Здравствуйте, Аноним, Вы писали:


А>>Некая структура (не программистский термин в данном случае, а термин "общенормативной лексики"), с которой определены различные действия. Круто завернул, а?))


А>>Но это, видимо, единственно верное определение "объекта". Это тот минимум, который точно присутствует и отражает суть того зачем нужно это понятие.


_O_>Ваше определение объекта сродни такому: "Объект есть некая штука с рядом прибамбасов."


БАРМАГЛОТ

Варкалось. Хливкие шорьки
Пырялись по наве,
И хрюкотали зелюки,
Как мюмзики в мове.
...
(с) Чарльз Лютвидж Доджсон (Льюис Кэрролл)

Артур Стэнли Эддингтон в книге "Природа физического мира" (The Nature of the Physical World) пишет:

"Наблюдая восемь электронов в одном атоме и семь в другом, мы начинаем постигать разницу меду кислородом и азотом. Восемь "хливких шорьков" "пыряются" в кислородной "наве" и семь — в азотной. Если ввести несколько чисел, то даже "Jabberwocky" станет научным. Теперь можно отважиться и на предсказание: если один из "шорьков" сбежит, кислород замаскируется под азот. В звездах и туманностях мы, действительно, находим таких волков в овечьих шкурах, которые иначе могли бы привести нас в замешательство. Если перевести основные понятия физики на язык "Jabberwocky", сохранив все числа — все метрические атрибуты, ничего не изменится; это было бы неплохим напоминанием принципиальной непознаваемости природы основных объектов".

... << RSDN@Home 1.1 beta 2 >>
Re[14]: Аналогичный случай был в городе Кутаисси
От: Enox Россия http://yuryskaletskiy.blogspot.com/
Дата: 30.12.03 12:52
Оценка:
BH>Сомнительно! А если человек выучил наизусть Кнутта, Рихтера, помнит все определения и т.п. то это показатель профессионализма??? Очень сомнительно! Возьмем для примера многих преподавателей вузов.

Ммм... поэтому-то на собеседовании не имеет смысла задавать интервьюеру вопросы _только_ на знание теории. Или только на умение программировать. Хороший баланс — несколько задач на логику, несколько вопросов по методологиям, небольшой пример на проектирование/рефакторинг, вопрос-другой на каждую упомянутую в резюме аббривеатуру...
--
[R], Enox
Re: Вопросы на собеседовании
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 19.01.04 13:22
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Недавно мой сослуживец ходил на собеседование в одну Новосибирскую контору устраиваться программистом (в резюме написал, что имеет достаточно больщой опыт программирования на Си).

O>Как только он пришел, ему задали всего 2 вопроса:
O> 1. Что такое обьект в понятии программиста?
O> 2. Чем структура отличается от класса?
O>После чего ему дали испытательный срок.

Некоторые работодатели любят задавать слишком общие вопросы. Часть их не очень хорошо разбирается, а ругая часть наоборот, очень неплохо. Те, кто не разбираются, ждут определенной комбинации слов.
ругие ждут от человека каких то мыслей, рассуждений и тд.

Первый вопрос предполагает развернутый ответ, на который можно задать много вопросов, и можно сразу оценить уровени программиста.

Чем структура отличается от класса. Если человек сразу отвечает, что это одно и то же, но отличаются видимостью членов (по умолчанию и при наседовании), то он крут ! Этот вопрос на самом деле очень мало кто знает. Новичек может ответить на него, если начитался книг. Но от новичка можно подстраховаться первым вопросом.
Re: Вопросы на собеседовании
От: Tirm  
Дата: 19.01.04 18:27
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Недавно мой сослуживец ходил на собеседование в одну Новосибирскую контору устраиваться программистом (в резюме написал, что имеет достаточно больщой опыт программирования на Си).

O>Как только он пришел, ему задали всего 2 вопроса:
O> 1. Что такое обьект в понятии программиста?
O> 2. Чем структура отличается от класса?
O>После чего ему дали испытательный срок.

O>Мне интерестно, как бы Вы, профессионалы, ответили бы на эти вопросы?


1. Объект в понятии программиста — это представление предмета реального мира со всеми свойствами, связами и функциями в программной среде. Криво, но примерно так
2. Ну а насчет класса и структуры уже ответили. Класс — по умолчанию с закрытими полями, структура — с открытыми
В конечном счете все люди одинаковы — но не всегда, и не везде, и не во всём.
Re[3]: Вопросы на собеседовании
От: mister-AK Россия  
Дата: 20.01.04 10:29
Оценка:
Здравствуйте, Dr_Sh0ck, Вы писали:

T>>Если не ошибаюсь структура передается по значению, а класс по ссылке (c#)


D_S> Так, а при чем здесь, позвольте, С#


как при чём? собеседование(пройдено) = C + #
Re[4]: Вопросы на собеседовании
От: mister-AK Россия  
Дата: 20.01.04 10:35
Оценка:
Здравствуйте, mister-AK, Вы писали:

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


T>>>Если не ошибаюсь структура передается по значению, а класс по ссылке (c#)


D_S>> Так, а при чем здесь, позвольте, С#


MA>как при чём? собеседование(пройдено) = C + #


ну, соответственно, доказательство:

С -= собеседование(пройдено)

# (ч.т.д.)
Re[2]: Вопросы на собеседовании
От: Tirm  
Дата: 20.01.04 10:51
Оценка:
Здравствуйте, trolik, Вы писали:

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



O>> 2. Чем структура отличается от класса?


T>Если не ошибаюсь структура передается по значению, а класс по ссылке (c#)


Ну если брать С#, то структура — это тип по значению, а класс — тип по ссылке. и по-моему мое высказывание несколько от вашего отличается. или я не прав
В конечном счете все люди одинаковы — но не всегда, и не везде, и не во всём.
Re[5]: Вопросы на собеседовании
От: AsIs  
Дата: 26.01.04 14:08
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

dad>>понеслась.. ответы
dad>>1:
dad>>- в понятии программсита объект это структура данных, ок?
S>Ну конечно. Объект — это сущность, обладающая идентифицируемостью, состоянием, и поведением.

мне кажется это по понятиям философа. я думаю надо из слов "инкапсуляция", "наследование" и "полиморфизм" ответное предложение строить.
Re[6]: Вопросы на собеседовании
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.01.04 15:14
Оценка:
Здравствуйте, AsIs, Вы писали:
S>>Ну конечно. Объект — это сущность, обладающая идентифицируемостью, состоянием, и поведением.

AI>мне кажется это по понятиям философа. я думаю надо из слов "инкапсуляция", "наследование" и "полиморфизм" ответное предложение строить.

Видишь ли в чем дело. Проблема вся в том, что надо определиться с целью. Успешное прохождение интервью — это всего лишь соответствие ожиданиям интервьюеров. Если спрашивающий изучал ООП по чему-то типа книжки "Turbo Pascal за 30 часов", то тех трех слов необходимо и достаточно. Если человек изучал ООП в университете, то у него такое определение вызовет в лучшем случае улыбку и искушение задать еще пару вопросов типа после которых кандидат сам поймет, что про ООП он ни черта не знает.
А если все, что экзаменатор читал — это MSDN по VB, то он будет ждать отзыва "An object is a combination of code and data that can be treated as a unit" на пароль "What Is an Object?" и ничто другое его не удовлетворит.
... << RSDN@Home 1.1.3 beta 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Вопросы на собеседовании
От: dad  
Дата: 26.01.04 15:28
Оценка:
S>Если человек изучал ООП в университете, то у него такое определение вызовет в лучшем случае улыбку и искушение задать еще пару вопросов типа после которых кандидат сам поймет, что про ООП он ни черта не знает.


Приведи, пожалуйста, пример доп. вопросов и само определение которого устроило бы человека из универа.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[7]: Вопросы на собеседовании
От: AsIs  
Дата: 27.01.04 00:15
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

S>>>Ну конечно. Объект — это сущность, обладающая идентифицируемостью, состоянием, и поведением.

AI>>мне кажется это по понятиям философа. я думаю надо из слов "инкапсуляция", "наследование" и "полиморфизм" ответное предложение строить.

S>Видишь ли в чем дело. Проблема вся в том, что надо определиться с целью. Успешное прохождение интервью — это всего лишь соответствие ожиданиям интервьюеров. Если спрашивающий изучал ООП по чему-то типа книжки "Turbo Pascal за 30 часов", то тех трех слов необходимо и достаточно. Если человек изучал ООП в университете, то у него такое определение вызовет в лучшем случае улыбку и искушение задать еще пару вопросов типа после которых кандидат сам поймет, что про ООП он ни черта не знает.
S>А если все, что экзаменатор читал — это MSDN по VB, то он будет ждать отзыва "An object is a combination of code and data that can be treated as a unit" на пароль "What Is an Object?" и ничто другое его не удовлетворит.

да все мы из универа и кроме ООП того аспиранта который принимает тебя на собеседовании с такими глубокими вопросами обязательно учили философии, не той философии которая на rsdn.phylosophy а той философии которая к программированию еще не добралась. Ну нет "сущности" в программировании. А в философии это целая категория. у спинозы субстанция, у макркса материя. бла-бла-бла... а в программировании экземпляр класса. вот мое определение. других не предлагал.
Re[8]: Вопросы на собеседовании
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.01.04 11:42
Оценка:
Здравствуйте, dad, Вы писали:
dad>Приведи, пожалуйста, пример доп. вопросов
1. Все ли три слова в определении являются необходимыми для ООП?
2. Считаете ли вы, что COM (JScript, ...) — ООП?
3. И как это согласуется с ответом на предыдущий вопрос?
dad>и само определение которого устроило бы человека из универа.
см. выше по дискуссии.
... << RSDN@Home 1.1.3 beta 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Вопросы на собеседовании
От: dad  
Дата: 28.01.04 05:43
Оценка:
S>1. Все ли три слова в определении являются необходимыми для ООП?

Ты о полим. инкапс. и наследовании?

S>2. Считаете ли вы, что COM (JScript, ...) — ООП?


javascript это не com

S>3. И как это согласуется с ответом на предыдущий вопрос?

Что это?

Твои дополнительные вопросы не вызвали у меня никакой ассоциации с университетским образованием.

dad>>и само определение которого устроило бы человека из универа.

S>см. выше по дискуссии.

Дискусия очень большая и я ее обчитался , хотел от тебя услышать определение ООП как человека с университетским образованием.
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[10]: Вопросы на собеседовании
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.01.04 06:33
Оценка:
Здравствуйте, dad, Вы писали:

dad>Ты о полим. инкапс. и наследовании?

Да.

dad>javascript это не com

Я и не спрашивю, COM ли Jscript. Я спрашиваю, COM — это ООП? Jscript — это ООП?

S>>3. И как это согласуется с ответом на предыдущий вопрос?

dad>Что это?
dad>Дискусия очень большая и я ее обчитался , хотел от тебя услышать определение ООП как человека с университетским образованием.
Re[4]: Вопросы на собеседовании
Автор: Sinclair
Дата: 01.12.03
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Вопросы на собеседовании
От: dad  
Дата: 28.01.04 08:37
Оценка:
dad>>Ты о полим. инкапс. и наследовании?
S>Да.

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

dad>>javascript это не com

S>Я и не спрашивю, COM ли Jscript. Я спрашиваю, COM — это ООП? Jscript — это ООП?

com это модель многокомпонетных объектов, технология основанная на описании интерфейсов и генерации
заглушек для конкретного языка.

javascript это язык программирования с поддержкой объектной модели, давай не будем углубляться в классификацию оооп и объектных языков.


S>>>3. И как это согласуется с ответом на предыдущий вопрос?

это не согласуется никак. Как твои вопросы согласуются?
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.