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/C++ - что выбрать?

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

Автор Тема:   Для начинающих. C/C++ - что выбрать?
dvorobjov опубликован 11-02-2002 20:46 MSK   Click Here to See the Profile for dvorobjov   Click Here to Email dvorobjov  
В пятницу попал на этот форум. Честно скажу, приглянулся он мне здорово. Удобный, быстрый, но самое главное - живой.
Полазил, посмотрел, поискал, почитал, попытался что-то ответить и даже поспорить с кем то. Но все к одному сводится, к тем, кто приличный опыт имеет вопросов у меня нет. А вот новички... Я не про новичков на сайте, я про новичков в мире С/С++ ...

Ребята, сочувствую я вам. Вы по поводу и без повода все на плюсах ваяете. А меж тем, в большинстве задач значительная часть кода выглядела б куда проще и лаконичнее, ежели б была на С написана. И исполняемый модуль покороче получится (как правило), и исходник, а самое главное - читабельнее.
Это я к тому, что есть такое понятие "золотая середина", не надо в крайности бросаться, т.е. писать либо на сях либо в плюсах. От их совмещения пользы больше.
Я тут ни в коей мере обидеть никого не хочу, просто высказываю свою точку зрения, пищу для ума даю.
Лично мой принцип таков:
если не нужно более одного экземпляра какого-то объекта, то и нечего для него отдельный класс создавать (по крайней мере сразу), а перед использованием библиотеки MFC вообще нужно семь раз объективно все за и против взвесить.
И еще одно. Основная ошибка встречающаяся у начинающих - то что человек не поняв механизмов работы ОС сразу лезет в глубь, в сложности. Винды это не дос, тут с таким пробелом в знаниях очень долго можно топтаться на месте, MFC это не libc, с такой библой без знания C++ тяжко.
В общем, совет один - не зная в совершенстве С (я не имею в виду библиотеку (библиотечные функции), я имею в виду элементарные вещи, такие как область действия переменных например), не надейтесь что вы быстро и легко освоите C++. Не зная менизмов работы ОС постоянно будете на грабли наступать. Не поленитесь, потратьте недельку на какую нить книгу хорошую (для познания ОС Windows например Рихтер хорош). Потом сотню раз время окупится.

Все.
Удачи всем.

SUnteXx опубликован 12-02-2002 01:48 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
2purpe:
Топик не трогай, видишь человек только в пятницу пришел! Пущай поживет, он же не знал правил:(

2dvorobjob:
Согласен, я тоже с C начинал, потом C++, ...

2purpe:
Может подымишь вверх топик "Общие сведения конфы" или как там его! Просто много народу прибавилось, интересно будет узнать кто здесь с кем базарит/спорит/консультируются, ... Подыми, а то времени у меня нет искать. Плз! Думаю все будут ЗА!)

2dvorobjob:
В этом форуме не принято обсуждать то, что не связано с С/С++. Для этого есть "Основной" форум. Иначе один человек ака purpe убивает топики или, если он будет в хорошем настроении, перекинет сам в "Основной"! Это я так, на будущее!)

ADK опубликован 12-02-2002 06:13 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Почему же, топик вполне уместен. 2dvorobjov: не вполне с тобой согласен. С++ код, возможно, будет более объёмным в плане числа строк... Однако, сперва узнай, много ли людей создют СОБСТВЕННЫЕ классы? Да, MFC навязывает свою структуру, но обычно дальше применения / расширения классов MFC мало кто идёт. Исключение - когда прямо глаза мозолит, что нужен класс (типа массивов и т.д.). Но ведь классы можно применять гораздо шире, действительно ИНТЕЛЛЕКТУАЛЬНО объединяя данные и методы для работы с чем-либо. Хотя это утверждает любое руководство для начинающих, на практике увидеть, как сделать хороший класс не всегда просто. А если он действительно получится хорошим, то работают основные концепции ООП, повторять их не буду... Ну короче, я согласен с тем, что С++ реально даёт преимущетва, описываемые в учебниках по нему. Любой сложный инструмент требует мастерского подхода. А если ты не умеешь писать нормальные классы, то понятно, что С для тебя лучше.
the_moon опубликован 12-02-2002 09:46 MSK     Click Here to See the Profile for the_moon  Click Here to Email the_moon     
Не правы те, кто думает, что Си есть попроще чем Си++ или как бы подмножество Си. Мне больше Си++ нравится. Тут не давно столько проблем было, и только из за того что нет деструкторов, а нерадивые программеры забыли чистить память за собой. Если кто знает очевидное решение динамическому массиву в структуре и как от него потом избавляться на Си, милости прошу. Просто Си++ долшо не был стандатизирован в отличие от Си, потому и программ на Си больше. А так, НУ ЕГО - БОЛОТО!
dvorobjov опубликован 12-02-2002 11:12 MSK     Click Here to See the Profile for dvorobjov  Click Here to Email dvorobjov     
Спасибо всем, кто откликнулся, ведь, как известно, в споре рождается истина.

2the_moon> Не правы те, кто думает, что Си есть попроще чем Си++ или как бы подмножество Си.
Здесь два утвержения, и я думаю одно из них верно, а другое нет. Си++ не поддмножество Си, он родился как более поздняя более мощная и развитая спецификация последнего. По-этому _Синтаксис_Си_ проще Си++, а по сути - _это_один_язык_. Не даром же Си++ довольно долгое время называли "Си с классами".
Итак, я логически привел вас к утверждению что Си и Си++ это один язык на разных стадиях своей эволюции. Теперь следущая логическая цепочка - Кто из вас пользуется компилятором который не поддерживает Си++? Я думаю - если таковые найдутся, то их будут единицы.
Выходит что все мы пишем на Си++, только не все и не всегда пользуются новыми возможностями предоставляемыми Си++. И я думаю что среди этих "не все и не всегда" есть матерые программеры в совершенстве знающие Си++.
Вот я и подвел вас к главному вопросу, задайте его себе - А всегда ли _оправдано_ создание какого-то класса, или все же есть резон реализовавать "это" глобальными функциями?

2ADK> А если ты не умеешь писать нормальные классы, то понятно, что С для тебя лучше.
А кто умеет писать нормальные классы, те кто MFC писал?

necer опубликован 12-02-2002 11:44 MSK     Click Here to See the Profile for necer  Click Here to Email necer     
>Си++, а по сути - _это_один_язык_. Не даром же Си++ довольно долгое время называли "Си с классами".
Большей частью лишь благодаря внешнему сходству в синтаксисе и привычке.

>Итак, я логически привел вас к утверждению >что Си и Си++ это один язык на разных >стадиях своей эволюции. Теперь следущая >логическая цепочка - Кто из вас пользуется >компилятором который не поддерживает Си++? >Я думаю - если таковые найдутся, то их >будут единицы.
>Выходит что все мы пишем на Си++, только не >все и не всегда пользуются новыми >возможностями предоставляемыми Си++. И я >думаю что среди этих "не все и не всегда" >есть матерые программеры в совершенстве >знающие Си++.
Несколько странная логика, имхо. Давно известно, что C и C++ разные языки. Также для того, чтобы изучить C++ с нуля, совершенно необязательно знать C! Более того, знание C при этом никаких особых преимуществ не дает, за исключением всегда полезного опыта программирования. Почитайте хотя бы того же Страуструпа, все станет понятно.

>Вот я и подвел вас к главному вопросу, >задайте его себе - А всегда ли _оправдано_ >создание какого-то класса, или все же есть >резон реализовавать "это" глобальными ?>функциями?
Создание классов действительно не всегда оправдано, однако C++ - это не одни лишь классы. Вы что, считаете, что программа, написанная без использованием классов автоматически не является C++ программой?

server_mouse опубликован 12-02-2002 00:59 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
2dvorobjov :
Я не знаю где и кем ты работаешь, но у нас на фирме разработка любого проекта идёт примерно так:

for(;;){
Приходит начальник(Н)
(Н) - Так, бросайте вашу работу, есть небольшой проектик. Тут буквально три дня работы...
(МЫ) - Тут ещё чуток доделать...
(Н) - Потом!
Уходит.
Мы вламываем как лошади неделю. :)

for(int i=0;i<100;i++)
{
Снова приходит начальник:
(Н) - Так, надо в вашу програмулю добавить ещё вот это, это и это...
Проходит ещё 3 дня...
}

В итоге через пол года маленькая програмулька вырастет маленький такой монстер. Ещё чуть-чуть и это будет нормальный законченый продукт....
}//for(;;)

В итоге, что я хочу сказать. Если бы я в начале под ту маленькую програмульку выбрал бы C,(нет MFC, нет WTL, нет своих классов) то до конца я бы никогда не дошёл. И зарплату врядли получал бы. C++ тем и хорош, что на нём легко поддерживать и дорабатывать большие и растущие проекты.

frostbitten опубликован 12-02-2002 15:08 MSK     Click Here to See the Profile for frostbitten  Click Here to Email frostbitten     
2server_mouse: Большие растущие проекты? Напр. ядро (и не только оно) Linux на ц написано.... Главное грамотно зазработать.

Другое дело, что я-то с вами согласен :), но мне кажется дело не столько в преимуществе C над С++, а в том, что мы покаление кодером наглухо промытых ОО (Object Orient stuff)... и, при всех равных условиях, проекты на С++ у нас получаться более грамотно структурированными (слово-то какое большое, оказывается :). Я не стану тут приводить эпитеты, кот. мой начальник - инженер действительно заслуженный - одаривал С++, когда его изучал, а были они весьма красочными :)... Структурное Про(ект-/грамм-)ирование дает о себе знать.

server_mouse опубликован 12-02-2002 15:50 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Если мне не изменяет память, то строчка
for(int i=0;i<10;i++)

это уже C++.
Чего уж тут дальше ходить

rivitna опубликован 12-02-2002 22:26 MSK     Click Here to See the Profile for rivitna  Click Here to Email rivitna     
Очередной бредовый топик! Каждый изощряется в риторике!

Я тоже пишу на C по многим причинам (не хочу уточнять по каким, чтоб дров в огонь не подбрасывать).

Итак, когда мы пили пиво с Flex Ferrum'ом на Дне программиста, пришли к общему мнению:
у грамотного программиста есть инструментарий (C, C++, С++ w MFC, Delphi, ASM etc), в зависимости от поставленной задачи он выбирает чем пользоваться, на то он и грамотный программист.

А молоток с плоскозубцами сравнить нельзя... Что-то хвалить или хаить глупо и непрофессионально

ADK опубликован 13-02-2002 06:44 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Согласен с rivitna. И ещё согласен с тем, что на C++ легче поддерживать большие проекты. После 10000 строк это становится заметно. А про ядро Линукс вообще разговор отдельный... В принципе, не хочется и продолжать. Топик тупиковый!
2dvorobjov: я согласен, что на С, конечно, можно сделать то же самое, но с большими усилиями и побольше попарившись (я про большие проекты). Вот и всё!
SUnteXx опубликован 14-02-2002 02:21 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Топик бред, не в обиду будет сказано!

Изучал когда-то С, но уже не помню когда - было давно, + сразу же (через неделю-две) перешел на С++! Разницы не помню (это вам не переход с VB на VC++!).

Щаз посмотрел сорсы прог, которые все-таки я написал на С! Мало чем отличаются от Ц++!

Собственно, вопрос, ВАМ ЧТО, ЗАПРЕЩАЕТ ПЛЮСЫ ЮЗАТЬ ИЛИ ЗАЧЕМ ЭТА НИКЧЕМНАЯ ДИСКУССИЯ?

ЗЫ
Нормальные вопросы и фразы формулировать не могу (уже почти сплю)

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


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.