русский
Germany.ruForen → Архив Досок→ Programmierung

Чего они все же хотят?

1316  1 2 3 4 5 6 alle
  Chipolino местный житель23.11.07 16:12
NEW 23.11.07 16:12 
in Antwort Simple 22.11.07 10:22
В ответ на:
Ну, у тебя еще есть вопросы к этому гэнию практическава инжиниринга?

Много , но я воздержусь , а то впаду в немилость к величайшему разуму .
#61 
Simple Nothing is f*cked23.11.07 16:15
Simple
NEW 23.11.07 16:15 
in Antwort Chipolino 23.11.07 16:10
У нас гайдлайн - брать все из Qt, а не из STL. Зло вымещаю :) В остальном вроде все ок.
#62 
kashej постоялец23.11.07 22:28
kashej
NEW 23.11.07 22:28 
in Antwort Murr 17.11.07 15:49
В ответ на:
С этим у меня прокол - привык с универских времен в крайнем случае делить с кем-нибудь первое место... а обычно - брать 29 из 28 возможных...

Вот с такой чертой характера в Германии было бы сложно. Тут очень любят "средняк". Не знаю правда как в Ирландии.
http://denis-aristov.ucoz.com
#63 
AlexNek старожил23.11.07 23:38
AlexNek
NEW 23.11.07 23:38 
in Antwort Simple 22.11.07 10:20
Вообще-то мне мне это больше интересно с "научно познавательской" целью. Если надо писать на С то ничего другого просто нельзя использовать. А если можно, то лучше плюсы к готовому С коду прицепить, где имеет смысл.
#64 
Murr коренной житель24.11.07 00:03
Murr
NEW 24.11.07 00:03 
in Antwort kashej 23.11.07 22:28
Тут очень любят "средняк".
------
"Середняк" - проще в управлении, но с ним сложнее в нестандартных разработках - шаг влево, шаг вправо - надо переобучать... а для этого нужен уже не "середняк"...
#65 
  scorpi_ скептик24.11.07 06:58
NEW 24.11.07 06:58 
in Antwort kashej 23.11.07 22:28
Я бы не сказал, что в Германии любят "средняк". Здесь, как и везде, не любят умников, которые много балаболят, но мало делают.
Что же касается интервью, то я лично согласен с Джоелом -
В ответ на:
"OK, I didn▓t tell you the most important part≈how do you know whether to hire someone?
In principle, it▓s simple. You▓re looking for people who are
1. Smart, and
2. Get things done."


Что же касается Мурра, то по его постингам на форуме у меня есть определённые сомнения насчёт "Get things done"...
#66 
Murr коренной житель24.11.07 12:44
Murr
24.11.07 12:44 
in Antwort scorpi_ 24.11.07 06:58
Murr get things done... and in time.
Ну если не сделает - никто в компании не сделает за приемлемое время.
#67 
Клим Иствудко прохожий28.11.07 20:33
Клим Иствудко
NEW 28.11.07 20:33 
in Antwort Murr 21.11.07 00:51
>>В живых проектах с объемом кода более 15-20Мб в любом случае будет иметь место ООП концепция, а различия будут определятся доступным инструментарием.
пять балов.
Для тех кто вс╦ ещ╦ сомневается: ваще язык програмирования не играет роли. ооп концепт не имеет с языком ничего общего. в литературе эта тема широко освещена.
#68 
Клим Иствудко прохожий28.11.07 20:39
Клим Иствудко
NEW 28.11.07 20:39 
in Antwort Simple 23.11.07 16:15
>> У нас гайдлайн - брать все из Qt, а не из STL. Зло вымещаю :) В остальном вроде все ок.
вправду гадлайн.
#69 
AlexNek старожил28.11.07 21:22
AlexNek
NEW 28.11.07 21:22 
in Antwort Клим Иствудко 28.11.07 20:33
....ооп концепт не имеет с языком ничего общего.
Концепт да, а вот реализация...
#70 
Murr коренной житель29.11.07 00:10
Murr
NEW 29.11.07 00:10 
in Antwort AlexNek 28.11.07 21:22
....ооп концепт не имеет с языком ничего общего.
Концепт да, а вот реализация...
------
А что с реализацией? На чем надо - на том и реализуется, в соответствии с имеющимися возможностями.
К примеру, годике этак в 1999, когда меня сильно прижало по срокам, использовал ООП-концепцию при...
только не падать... программировании на ASP... и ничего - все работало как должно... все 5 Мб активного
кода написанные за неполные три месяца... Разумеется, никаких виртуальностей и прямого наследования
не имелось, но это уже детали реализации...
#71 
AlexNek старожил29.11.07 20:49
AlexNek
NEW 29.11.07 20:49 
in Antwort Murr 29.11.07 00:10
На всем чем попало мне кажется не получится. И думаю мы еще немного по разному термины трактуем.
Ну допустим сделал я дизайнчик, тама полно классов. Надо их реализовывать. А в реализации ни наследования ни полиморфизма. Че тогда делать? Кастрировать дизайн или делать все через жопу?
Можно конечно, найти какой-то компромисс, который назвать объектным, но у меня просто не повернется язык это сделать.
#72 
Murr коренной житель29.11.07 23:37
Murr
NEW 29.11.07 23:37 
in Antwort AlexNek 29.11.07 20:49
А в реализации ни наследования ни полиморфизма.
------
Ну нету. Так что, и реализовать невозможно? Жили же как-то несколько десятков лет без наследования и полиморфизма... :)
Кастрировать дизайн или делать все через жопу?
------
Ну если написание и поддержка ап-то-дэйт одного "метода" через примитивный набор switch-case-case (при отсутствии указателей на функции) есть "делать через жопу", то - "тады ой...". :)
#73 
AlexNek старожил30.11.07 22:13
AlexNek
NEW 30.11.07 22:13 
in Antwort Murr 29.11.07 23:37, Zuletzt geändert 30.11.07 22:17 (AlexNek)
\Жили же как-то несколько десятков лет без....
Да и без Интернета жили тоже поболе, А забери его счас от тебя....
Реализовать то можно, а зачем?
\Ну если написание и поддержка ап-то-дэйт одного "метода" через примитивный набор switch-case-case
Я тута по быстрому примерчик набросал, может и с ошибками, но как тест пойдет. Не знаю как это на С красиво сделать. Не только что бы работало, но и что бы любая обезъяна могла править и добавлять.
Может покажешь как твой волшебный свитч это все сдеалает. И что бы компайлер ругался когда четкую херню порешь. Типа b.Store в майне вызвать. И строки хочу прибавлять а += "Тест".
И "стреам" куда хочу. Да много еще чего . Правда виртуального наследования не прошу у золотой рыбки, тъфу котика.

class A
{
public:
A(string Name) {m_Name = Name}
virtual bool Compare(const a& Cmp) const = 0;
virtual string GetName() const {return m_Name; }
StoreToFile(string FileName)
{
...
Store(FileStream);
}

protected:
virtual stream& Store(stream& DataStream)
{
DataStream << m_Name;
return DataStream;
}

private:
string m_Name;
};
class B: public A
{
public:
B(string Name, int Code): A(Name), m_Code(Code) {}
static bool operator==(const B& Cmp1, const B& Cmp2 ) const
{
...
Ret = Cmp1.Compare(Cmp2);
...
}
virtual bool Compare(const a& Cmp) const
{
...
}
int GetCode() const {return m_Code; }
protected:
virtual stream& Store(stream& DataStream)
{
A::Store(DataStream);
DataStream << m_Code;
return DataStream;
}
public;
int m_Code;
};
class C: public B
{
....
virtual string GetName() const {... }
}
main()
{
A* pa = NULL;
B b("Test",1);
C c("Test","125");
pa = &c;
if(b == c)
{
....
x = pa->GetName();
}
}


#74 
Murr коренной житель30.11.07 22:56
Murr
NEW 30.11.07 22:56 
in Antwort AlexNek 30.11.07 22:13
Может покажешь как твой волшебный свитч это все сдеалает.
------
В чистом Си это сделается точно так же, как и в С++ - передачей методу дополнительного параметра.
Единственное отличие - параметр передается явно, а не скрыто как в С++. Т.е. вместо
b->GetName() будет GetName(b).
Даже Switch-Case не нужен.
Выше Я (вроде) писал, что Switch-Case нужен там, где нет укзателей на функции.
Не знаю как это на С красиво сделать.
Не только что бы работало, но и что бы любая обезъяна могла править и добавлять.
-----
Реализуешь пару раз подобное на чем-нибудь - помешь что не намного сложнее, чем на плюсах.
И Я говорю вполне серьезно - для реализации в Си там всего то один дополнительный массив указателей на функции,
ну а где указатели недоступны - Switch-Case.
И что бы компайлер ругался когда четкую херню порешь.
Типа b.Store в майне вызвать.
И строки хочу прибавлять а += "Тест".
И "стреам" куда хочу.
Да много еще чего
------
Спроектируй, плс, одну простую и полезную вещь - пусть выдает 6 чисел... которые выпадут в следующем розыгрыше... :)
Ну а то что ты хочешь - реализуемо средствами Си и дисциплиной программирования.
#75 
Murr коренной житель30.11.07 23:16
Murr
NEW 30.11.07 23:16 
in Antwort AlexNek 30.11.07 22:13
З.Ы. В другой раз попробуй не подменять релизацию ООП-концепта в каком-то языке требованиями выполнить копирование реализации концепта в другом языке.
#76 
AlexNek старожил01.12.07 20:45
AlexNek
NEW 01.12.07 20:45 
in Antwort Murr 30.11.07 23:16
Ну это я для примера конкретику взял. Можно и более абстрактно оформить.
Ну вот раньше было: структкрный анализ, дизайн, программирование. Ориентировались на процедурную линию. Потом объектно- ориентированный анализ, дизайн и программирование. Ориентируемся на объекты. Вся линейка фактически связанная между собой. Если операции с объектами подменять чем то другим то получится бардак.
Если опять перейти на конкретику. Берем простой случай передачу "this" в Сишную функцию. Передавать надо будет любой "объект" из иерархии, значит тип прийдется два раза \туда и обратно\ принудительно преобразовывать. Как при этом обеспечить безопасность я пока не знаю. При этом вся работа по контролю типов переходит от компилятора к программисту, ну может в лучшем случае на рантайм. То бишь в любом случае мы должны что то потерять при преоразовании и то что получится, я бы в лучшем случае назвал моделью объекта, но никак не объектом.
#77 
Murr коренной житель01.12.07 21:12
Murr
NEW 01.12.07 21:12 
in Antwort AlexNek 01.12.07 20:45
Если операции с объектами подменять чем то другим то получится бардак.
-----
Получится не бардак, а имплементация ООП-концепта имеющимися средствами используемого языка.
Передавать надо будет любой "объект" из иерархии, значит тип прийдется два раза \туда и обратно\ принудительно преобразовывать.
-----
И это так трудно? VOID укзатель "кастировать" к какому то типу... Ну или добавить небольшой оверхед к реализации каждого объекта и получить хоть RTTY & dinamic_cast...
То бишь в любом случае мы должны что то потерять при преоразовании и то что получится
------
Будешь удивлен, но в С++, который ты позиционируешь на место ООП-концепта, ты имеешь тоже самое. Для примера - реализуй концепцию C#-интерфейсов на С++ или наоборот - множественное наследование в С#...
я бы в лучшем случае назвал моделью объекта, но никак не объектом.
-----
См. п.1. и говори - реализация объекта.
#78 
AlexNek старожил02.12.07 11:32
AlexNek
NEW 02.12.07 11:32 
in Antwort Murr 01.12.07 21:12
\а имплементация ООП-концепта имеющимися средствами используемого языка.
кому как, при "неподходящем" языке для меня будет именно бардак.
\И это так трудно? VOID укзатель "кастировать" к какому то типу..
Опять таки, с какой стороны посмотреть. Любая дополнительная операция преобразования увеличивает уровень потенциальных ошибок. Да и проверить соответствие указатель-функуция можно будет в лучшем случае на этапе выполнения программы, что совсем не хорошо. Ты просто рассматриваешь проблемы с точки зрения возможности реализации, а меня еще интересует возможность использования в долгом теам проекте.
\Будешь удивлен, но в С++, который ты позиционируешь на место ООП-концепта, ты имеешь тоже самое.
Ну не совсем. Важно что есть база а все остальное просто полезные вкусности. Всегда будет чего то не хватать.
Кстати, шарп я люблю больше чем плюсы.
\См. п.1. и говори - реализация объекта.
Максксмум - моделирование объекта.
#79 
Murr коренной житель02.12.07 15:36
Murr
NEW 02.12.07 15:36 
in Antwort AlexNek 02.12.07 11:32
кому как, при "неподходящем" языке для меня будет именно бардак.
------
Бардак это не от языка. Бардак это от программера. Я вполне в состоянии устроить бардак в С++, Жабе, C# и писать нормально в Сях, VB, JS и полусотне реликтовых языков... все - от программиста.
дополнительная операция преобразования увеличивает уровень потенциальных ошибок
------
Разумеется. Потому 100% этих операций и доверили строить компилятору.
Да и проверить соответствие указатель-функуция можно будет в лучшем случае на этапе выполнения программы
------
Если забираться в дебри Сей, то там есть возможность указать, что функция доступна в пределах компилируемой единицы. Так что вывалится на этапе линковки. Но опять - ты подменяешь концеп реализацией в конкретном языке.
Ты просто рассматриваешь проблемы с точки зрения возможности реализации, а меня еще интересует возможность использования в долгом теам проекте
------
Это - без разницы, при наличии квалифицированного персонала. Проблема будет при низкой квалификации, но в этом случае проблеммы всеравно будут. :) Недели три назад был на интервью в небольшой конторе. Тамошний шеф честно признался - его людям проще писать на VB6, чем на VB/С#.NET... но в коде у них - полный бардак - спагетти в стиле Аксесса...
Важно что есть база а все остальное просто полезные вкусности.
------
Резервируешь в каждой реализации объекта пару специфических методов - Конструктор и Деструктор и отсутствие базы тебя более не беспокоит.
Всегда будет чего то не хватать.
------
Ну хоть с этим проблем нет - реализация всегда ограничена используемым языком.
#80 
1 2 3 4 5 6 alle