WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  С или C++ (кто прав?)

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   С или C++ (кто прав?)
JoeUser опубликован 06-10-2001 17:25 MSK   Click Here to See the Profile for JoeUser   Click Here to Email JoeUser  
Уважаемые господа!
Увы я никогда профессионально не программироал на С/С++, хотя править чужие коды приходилось. Чаще пользовался Pascal, последнее время только Perl. В любом случае ползовался ООП. Однако, сейчас прочел пару статей и был весьма озадачен.
Не поленитесь - прочтите и выскажите свое мнение. Для меня это важно. Ссылочки по сл. адресам:
(в документации в самом начале)http://www.cs.virginia.edu/~lcc-win32/
(статья на сайте) http://www.softcraft.ru/paradigm/process/pr01.shtml
Буду признателен, если продублируете Ваши ответы на мой и-мэйл (o.melnikov@urs.nsys.by)
Спасибо.
Flex Ferrum опубликован 08-10-2001 10:27 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Тема - хорошее начало для флэйма. Приступим? :)))
purpe опубликован 08-10-2001 11:11 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
Погнали ! я за MSVC ! без комментариев ...
Flex Ferrum опубликован 08-10-2001 13:28 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Чтож так? Комментарии были бы весьма кстати. По скольку явных приемуществ у этой оболчки я не заметил. :)) На мой взгляд, если бы ребята из борланда не загубили бы ветвь BC++ 5.0 (не путать с билдером), он бы составил достойную альтернативу MSVC.
JoeUser опубликован 08-10-2001 13:39 MSK     Click Here to See the Profile for JoeUser  Click Here to Email JoeUser     
Согласен. Очень "флеймовая" тема. Тем не менее. Хотел бы получить увидеть Ваши аргументы на два маленьких утверждения:
1. Используя ООП получается экономия кода в теории, на практике - очень "толстые" программы (порой в раз 10).
2. Скорость работы программы, написанной c использованием ООП значительно уступает возможной реализации того же, но без ООП
3. Удобство "объектного" мышления и сопутствующие "приятности" при работе с кодом оправдывает недостатки п.1-2?

Ваше мнение?

Flex Ferrum опубликован 08-10-2001 14:02 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Чтож, по порядку:
1. Хотелось бы конкретный пример (если это возможно). Я бы еще согласился с разницей в 1.5-2 раза, но не как не на порядок.
2. Спорный вопрос. В обоих случаях все зависит от программиста. Нет никаких объективных предпосылок для того, чтобы объектно-ориентированный код значительно уступал по скорости не-ООП. Как я уже сказал, все зависит от программиста, компилятора, и библиотек. Кончено, если сравнивать с gcc, который изначально заточен под оптимизацию pure C кода - то можно согласится, ведь только в последных версиях этого компилятора появилась достаточно грамотная реализация объектно-ориентированных конструкций С++. Для остальных компиляторов хотелось бы видеть результаты тестов с примерами, по которым велось тестирвоание.
3. На мой взгляд "объектное мышление" не зависит от применяемого инструмента - оно либо есть, либо его нет. А С или С++ будет использоваться для реализации - это уже другой вопрос.
JoeUser опубликован 08-10-2001 14:59 MSK     Click Here to See the Profile for JoeUser  Click Here to Email JoeUser     
ну и я по порядку:

1.При использовании визуальных ОО библиотек почти на порядок. Где-то слышал нечто подобное: "...хочу стать программером, э-а где кликать?!" :). Понимаю, что ручками делается гораздо компактнее, но где же теоретическое повторное использование кода и неиспользование "лишнего" кода?
2. Массовая обработка объектов. Примерный :) пример. Вызов на создание и обработку объектов-строк (которые умеют сами себя форматировать) и заргузка строк в память и последующая обработка их по фоматированию процедурой. Сам наступал на эти грабли. Когда речь идет о 200-1000, все как бы хорошо, но, когда 100000-900000 уже становиться "интересно". И все как бы (по теории) правильно, но результат на порядок или даже два. Понимаю, от массовой обработки объектов лучше уходить и первый вариант этого примера - "пример умственной лени" :). Тем не менее.
3. А объектная реализация?

Flex Ferrum опубликован 08-10-2001 16:18 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
1. Не твоя правда. Это беда не только ОО проектов - в задачу программиста входит выбор способа линковки (статический/динамический). И в не-ОО проектах можно ТАК библиотеку спроектировать, что готовый экзешник по размеру ни в какие ворота не влезет. К тому-же за все приходится платить. За 10-20 строк клиентского кода (в итоге) - 1.5 - 2 МБ служебных библиотек, в которых лежит все остальное. Это можно отнести и к pure-C проектам.
2. Микроскопом тоже можно гвозди забивать, но он для этого не предназначен. Каждым инструментом надо уметь пользоваться и использовать его по назначению. Это я к тому, что имея за плечами большой опыт программирования на С нельзя сразу же научится писать эффективные программы на С++ - подход другой. И те приемы, которые оправдывали себя в С не всегда применимы в С++. И наоборот. В любом случае, надо знать особенности того или иного языка, того или иного подхода. Везде есть свои тонкости.
3. И объектная реализация тоже. Возьми для примера Windows 3.1 - типичная ОО система, но написана без применения С++, или любого другого ОО языка.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.