IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   В чем лучше начать обучение программированию на С++ (http://www.imho.ws/showthread.php?t=91552)

Rassini 25.08.2005 16:22

В чем лучше начать обучение программированию на С++
 
Плюсы и минусы, конечно же.
Borland C Builder против Visual C++ 6.0

BorLase 25.08.2005 16:31

gcc :)

если серьезно, первые 2 курса я читал _только_ консольные приложения (в VC), и лишь третий, когда люди твердо отличали класс от переменной ;) - переходил к GUI.

ВСВ в этом отношении легче - но VC дает бОльшую гибкость.

По крайней мере, мне лично показалось так.

_Shurik_ 25.08.2005 16:35

Лучше Visual C++ 6.0 это полезнее будет, и лучше с консольных приложений начать. А потом к классам и графическому интерфейсу переходить.

PSyton 25.08.2005 18:17

Обучение лучше начинать не с IDE а с книжки хорошей про язык. В данном случае это С++. Можно почитать Страуструпа "Введение в язык С++". И как уже заметили предшественники, сначала играться лучше с консольными приложениями. И разобраться в таких вещах как классы, шаблоны, STL...
К BC, ИМХО, лучше не привыкать, т.к. некоторые вещи в нем слишком специфичны.

BorLase 25.08.2005 18:42

Цитата:

Сообщение от pvs
Можно почитать Страуструпа "Введение в язык С++".

Не знаю, не советовал бы. Может, это она мне "не пошла" - но я ее смог внятно прочитать только через годик после того, как начал работать в плюсах. Уж слишком она завернутой мне показалась.

Эх, жаль, вылетело из головы - чудесный учебник я своим студентам рекомендовал - толковый, отличный с точки зрения методики, доступный... Увы, не вспомнить ни называние (хотя толку от него мало - что-то типа "Учебник по С++" :)), ни автора, что хуже. Помню только, что авторов было два... :(

Вертится в голове фамилия Дейтель, но на 100% поручиться не могу...

Trotil 25.08.2005 19:19

Я бы посоветовал бы книгу Подбельского В.В. Видел несколько книг по языку, но Подбельский понравился больше всего.

Цитата:

Сообщение от BorLase
Вертится в голове фамилия Дейтель, но на 100% поручиться не могу...

Харви Дейтел, Пол Дейтел. "Как программировать на С++"

PVitaliy 25.08.2005 19:39

Харви Дейтел, Пол Дейтел. "Как программировать на С++"
очень толковая книжка, кроме С++ учит програмированию в принципе также.

а билдер вообще не стоит изучать, там ведь все програмирование вокруг VCL вертится, который на жаль уступил микрософтовским Windows.Forms

А если без VCL а с помощю апи то лучше уже С++ 6. Также смело можно ставить 7й, визуалстудию 2003, там есть возможность тоже писать консольные или на чистом апи, а ИДЕ ИМХО удобнее

blink 27.08.2005 11:45

Очень толковая книга "Липман - С++ для начинающих" с нее я бы и посоветовал начинать, простым языком описываются сложные вещи. И уж точно надо начинать не с Б.Страуструпа. Это книга для уже продвинутых, которым необходимо углубиться.
А обучение лучше сразу начинать в VC++ т.к. это уже стандарт.

Rundll 28.08.2005 00:02

Ну во-первых что ты собираешься кодить?! Если енто базы данных или простые оконный приложения ИМХО Borland моно юзать! Если же тебя тянет на сурьозные проекты, думаю MSVS рулит! Я допустим пошёл по графическому пути :) VC для меня просто супер, т.к. exe-шник гораздо меньше весит после компиляции нежели в Borland C++ вместе с его VCL :)) Хотя если руки растут из хорошего места Borland тоже может пригодится! ИМХО не важна среда, важно знание C++!!!

arcman 28.08.2005 17:23

Как правильно заметили - учить язык надо сначало в консоли. Из IDE лучше сразу начать привыкать к MS VC - под "виндавз" ((C) училка информатики :biggrin: ) это стандарт дэфакто. Борланд лучше даже не пробовать - помимо того что он загнулся, у него ещё и компилятор посредственный. Возможно тебе будет более актуально начать сразу с C#, что бы потом не "переучиваться", да и C++ сложнее в изначальном понимании - им лучше заняться когда уже знаешь что к чему. Если собираешься стать прикладником под винду - то однозначно учи C# - за ним будущее. Но с выбором среды под винду - однозначно от MS и наверно даже не VC6, а .NET
PS: мне правда фиолетово это всё - я щас под линух пишу :)
:imho:

blink 28.08.2005 19:14

Цитата:

arcman:
Возможно тебе будет более актуально начать сразу с C#, что бы потом не "переучиваться"
C# и C++ абсолютно разные языки. С# был создан Микрософтом в ответ на Java.
Цитата:

arcman:
Если собираешься стать прикладником под винду - то однозначно учи C# - за ним будущее.
:) Тут вобще без коментариев :ржать:

/7y3uK 28.08.2005 21:40

Цитата:

arcman:
Если собираешься стать прикладником под винду - то однозначно учи C# - за ним будущее.
:ржать: :ржать:

не, ну не знаю как там в Vista будет, но системного на шарпе написать что-то очень сложно :) вот на джаве еще можно - но ОЧЕНЬ много мороки - свою виртуальную машину делать под свой процесс, интерфейс на свингах рисовать и т.д....

Все очень просто - берем сначала просто C - учим синтаксис и основые паттерны программирования, потом берем C++, но опять же в варианте под дос - учим ООП, основные принципы и известные паттерны проектирования, авот после этого - решаем "под что будем писать", т.к. сейчас направлений кодинга очень много, кстати не советую учиться в одиночку, т.к. программисты одиночки - уже редкость, особенно в свете набирающей популярность методике кодинга под названием ХР... Таки продолжаем - выбираешь область в которой будешь кодить, т.к. знать и уметь все невозможно - можно, конечно, нахвататься всего поверхам, но в конечном счете если захочешь стать профессионалом такой выбор придется сделать рано или поздно... А вот после этого среда разработки тебя сама найдет :)
ИМХО интерфейсы это конечно хорошо, но это не так важно...

ПыПыСы
Кстати кто не в курсе советую про ХР почитать - если интересно - обсудим 4 правила и 12 основных практик этой методики - дельно там все придумано, я кстати сторонник того, что и обучаться кодингу надо также по ней...

sorm 29.08.2005 22:31

Не претендуя на истину в последней инстанции позвольте высказать свое мнение. Мне кажется наряду с книгами по С++ полезно сразу читать книги объясняющие архитектуру построения приложения, например классический труд Буча, в качестве начальной книги по С++ могу порекомендовать Философию программирования на С++, очень хорошо грамотно и удобочитаемо написано, чем мне кажется немного страдает Страуструп, читал его по моему трижды, но не уверен что понял на 100 % то что он хотел сказать :) да и как первая книга по С++ она не подойдет, даже как вторая тоже не подойдет, слишком сложная для восприятия. Согласен что начинать надо с консольных приложений, а вот для графики наверное лучше пользовать Qt, основой плюс независимость от операционки.

sorm 30.08.2005 08:13

маленькое уточнение "Брюс Эккель Философия С++" она издана в двух томах, первый введение в С++ а вторая уже всякие интересности, но думаю стоит проситать обе книги. Читается как хороший роман.

YaHooka 30.08.2005 19:16

Если цель - действительно научиться писать хорший код на С++ - то только Visual C++. Поначалу конечно же тяжеловато будет, но зато когда разберешься, быдешь понимать откуда ноги растут!

KapMaH 31.08.2005 11:26

Цитата:

YaHooka:
научиться писать хорший код на С++
Здесь.. именно в этом месте я заплакал..
VC несовсем отвечает стандарту на С++. Большенство кода написанного для него вообще невозможно портировать.
А что до "действительно хорошего кода"- Страуступ сам признался, что хорошее программирование так же легко и одновременно почти невозможно изучить как невозможно изучить английскую лирику. Менять надо компилеры, и среды разработки с ними. Использовать лишь то, что действительно отвечает стандартам.
Срок разработки продукта - 2-3 года (минимум), принимая во внимание срок поддержки (3-5-лет) получаем 5-8 лет!! 3а последние 8 лет много чего поменялось - вот только С++-стандарт как был, так и остался!
A ограничивать себя ОДНИМ компилером или ОДНО осью - по крайней мере недальновидно.

blink 31.08.2005 14:23

Цитата:

KapMaH:
A ограничивать себя ОДНИМ компилером или ОДНО осью - по крайней мере недальновидно.
Согласен, давайте все переходим на Java! ;)
Цитата:

KapMaH:
VC несовсем отвечает стандарту на С++
Насколько я слышал полностью отвечает.
Цитата:

KapMaH:
Большенство кода написанного для него вообще невозможно портировать.
Это не от компилятора зависит, а от программиста.

/7y3uK 31.08.2005 14:53

Цитата:

blink:
Это не от компилятора зависит, а от программиста.
временные затраты на портирование в любом случае довольно дороги... кстати без вариантов - портирование VС - это ухудшение читабельности кода, и как следствие - усложнение процесса разработки, усложнение поддержки - а это снова траты... По сему действительно встает вопрос о выгоде такого подхода... Хочешь быстро писать качественные проекты под винду - пожалуйста - используй VC :) А портирование в чистом виде - это фетиш... Хочешь кроссплатформенное приложение - проще и удобнее разрабатывать проекты на кроссплатформенных языках...

ПыСы
Java forever! :claps:

KapMaH 31.08.2005 16:29

Может ты не там слушал? 98% - Кажется так. (у лучших - 99,6) Они ведь так и пишут - "наиболее близкий к ISO C++".

Цитата:

Every version of Microsoft Visual C++ is more standards-compliant than the one before, and the current release, Visual C++ .NET 2003, is about 98% compliant with the ISO standard for C++.
M$.com

Примерно в дюжене случаев возникают некоторые трудности, и горе тем, кто об этих особенностях не знают - будут искать - убьются. Самое же неприятное, что используя STL в VC7 я должен был смириться с громадным количеством warning-ов, хотя ничего криминального там не было. Да и ктому же - очень своеобразная реализация map-шаблона дала мне жару.. :((
Думаю попробовать VC.NET - но честно говоря, мало надежд на улучшение, так как М$ предлагает нам свою собственную STL.NET которая к "нормальному" STL не очень, или лучше сказать "очень не". Они видите ли "улучшили" а мне что 50 % моего кода выбросить?
Но скорее всего, дело даже не в этом. М$, как и любой другой производитель программного обеспечения заинтерессован в том, что бы как можно больше людей использовало именно их продукт. Посему и предлогаются различные "удобства". НО!! Если использовать эти удобства в целях обучения, то выйдет всё наоборот. Для примера: более половины мои коллег не могут "собрать" библиотечку стороннего производителя, если к ней не приложен проектный фаил. Они просто не знают, что и как!!
Посему мой совет:
Не связывать конкретный язык с какой-то средой разработки - проблемы при смене среды будут просто неизбежны.

PS: М$ среда - imho - самая удобная под Windowsом

blink 31.08.2005 16:55

Цитата:

KapMaH:
Может ты не там слушал? 98% - Кажется так. (у лучших - 99,6) Они ведь так и пишут - "наиболее близкий к ISO C++".
Хорошо, согласен с формулировкой наиболее близок к стандарту.

sorm 01.09.2005 02:36

KapMaH:
Согласен на все 100 % :yees:
как то тоже (censored) c шаблонами и стандартной библиотекой шаблонов, правда в VC 6

quazion 06.09.2005 02:56

Лично я начал с машинных кодов, но т.к. шеснадцатиричная система исчисления чужда человеческому мозгу, то в итоге- Ассемблер. Это основа всех языков программирования. Общение напрямую с процессором, минуя всякие компиляторы и т.д. Выучить полностью его невозможно, но поняв его логику, легче перейти на языки верхнего уровня. На тот же С++, или Java. Тут кому что нравиться- у каждого языка есть свои плюсы и минусы.

/7y3uK 06.09.2005 10:48

Цитата:

quazion:
Лично я начал с машинных кодов, но т.к. шеснадцатиричная система исчисления чужда человеческому мозгу, то в итоге- Ассемблер.
почему бы не начать учиться программировать с машины Тьюринга? :ржать: :ржать:

Snaphook 10.09.2005 23:46

Начинать нужно в том, где тебе
Цитата:

Rassini:
В чем лучше начать обучение программированию на С++
А ты до этого в чем-нибудь программил?
Я бы VC посоветовал, для начала - консольные приложения, потом все остальное. После этого можешь борланд попробовать, если понравится - флаг в руки. А если серьезно заняться решишь, есть 2 дороги - программить кросплатформенные по стандартам, либо углубляться в дебри дотнет.
Кинижка для начала - Т.А.Павловская "С/С++ Программирование на языке высокого уровня". Очень грамотно все написано с интересными примерами и по стандарту все. Издательство "Питер", с золотой медалькой "рекоммедновано минобразования РФ".

VVit1 27.09.2005 08:27

Вообще изучать надо не просто так а с целью, только в этом случае толк будет. Иначе - как историю КПСС изучать.

Лучше всего как надо писать а как не надо можно научится в нормальной конторе, где цель и мотивация проявляются лучшим образом.
Ну это сильно потом, а начать можно с чего осязаемого, с игрушки какой. Садишся за комп и начинаешь, через полчаса встаёшь не написав ни строчки кода и понимаешь что надо что ещё сделать помимо присадки у компа. Вобщем нужно вырабатывать навык думать целеориентировано, а синтаксис любого нового языка потом по бумажке за денёк будет прицеплятся.

Кста во всех книжках на первой странице написано что плюсы - очень плохой выбор для первого языка програмирования. Я с этим полностью согласен.

Scary Zet 01.10.2005 14:23

Я бы посоветовал сначала определиться с задачами, возлагаемыми на изучение языка. Будут это простые вычислительные программы или трёхмерные игры... Далее я бы посоветовал особо не вникая прочитать небольшую книжку по Си. Хорошо, если прямо в ней будет вторая часть про Си++. А уже после этого хорошо пойдёт учебник из разряда "за 21 день".

grinkevitch 04.10.2005 00:23

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

Так что я бы посоветовал VS.Net 2003.

estetan 04.10.2005 22:54

вернемся к началу темы:
1. Какой компилятор?
2. Какая книжка для:
а) танкистов?
б) для тех, кто врубился, что такое объект-ориентированное- программирование?

Спасибо.

vova78 09.10.2005 08:55

1)В зависимости от поставленной задачи такой компилятор и использую.
Прикладные программы на Билдере, а системные или сервисы на визуале.
2) Д. Холингверт, Д.Баттерфилд и.т.д "С++Builder. Руководство разработчика'; Шамис "Энциклопедия С++ Builder"; Архангельский "Программ. в С+Builder", Джефри Рихтер "Создание эффективных WIN32-приложений"; Андрей Александреcky "Современное проектирование на С++" (очень интересная книга), а
также исходники программ (имхо самый лучший способ) и "безграничные" просторы интернета.

respy 11.10.2005 16:13

1. перешёл на 2003 студию, но разочаровался... привык к 5 :) а 6-ую просто не имею.. всё это net framework.. не для меня, программы весом в 20кб, а к ним ещё надо сам framework.. да и тормоза с запуском.. брр.. отталкивает.

2. начинал изучение с "Как программировать на С++".. действительно, всё грамотно расписано, а если что непонятно, то к "C++ за 21 день".. особенно проблемы были с указателями.. до сих пор ненавижу их :)
а для тех кто разобрался с ООП, хм.. не знаю.. но мне теперь помогает разве что MSDN Library.. жаль, что на инглише.. жаль.. ничего приходится учить язык :)

Soleen 27.10.2005 19:17

Visual Studio C++, Выкинуть надо. Если уж заниматся серъезно то или g++ из GNU пакета, а еще лучше Sun Studio 10. Их компелятор самый близкий к стандартам!

gscorp 02.11.2005 14:40

Цитата:

Soleen:
Visual Studio C++, Выкинуть надо
Защем так?.. полне вмeняемый компилятор/IDE. есть свои перегибы... Но...
GNU Пакеты хорошы в основном лицензией.
кста, GCC каацца под виндой тербует дополнительные библиотеки (cygwin и т..д)

PersonaGrata 07.11.2005 22:17

Цитата:

vova78:
1)В зависимости от поставленной задачи такой компилятор и использую.
Прикладные программы на Билдере, а системные или сервисы на визуале.
Билдер, конечно, штука полезная, особенно для быстрого проектирования графического интерфейса, но некоторая глюкавость может заставить перелопатить не один десяток страниц кода, например некоректная работа с типом Currency.

gscorp 08.11.2005 09:21

Цитата:

PersonaGrata:
Билдер, конечно, штука полезная,
В билдере есть VCL, в этом фенечка Borlond'а. И за счен этого обучаться на нем будет проще. А вот серьезные проекты на нем, правде, не напишешь..... глюковатс.... :biggrin:

sanam 17.11.2005 15:39

В Сбилдере и ламер может писать красивую програмулину, натыкать там всяких стандарных фиговин, совершенно не зная толком даже основ ООП, а вот VC++ вещица по-реальней, и возможностей (по-моему) больше.

ktulu 17.11.2005 22:43

Я начинал (и продолжаю :) ) на Билдере, VCL пусть и глюковат, но позволяет почти не думать о том как оформить визуальную часть, хотя, согласен, это не выход. Пользуюсь Билдером, по большому счету, по привычке :( Для начала советовал бы или VC++/Builder (для самого начала, по большому счету, без разницы, консоль и в Африке консоль ;) ) или какую-нибудь весчь без наворотов, типа Dev C++. Если компилится там - откомпилится везде, и бесплатно (ну ладно, сам знаю насколько это кого-то волнует ;) ).

Из книжек - Дейтелы и мой любимый Шилдт. Если не доходит то, как у Шилдта написано, пора бросать идею о программировании - очень все понятно, и достаточно компактно. :)

PVitaliy 17.11.2005 23:22

А если заказчику скажем и требуется программа, в которой есть только одна и единственная вещь -- юзеринтерфейс, и ничего больше. Зачем тратить время, програмируюя клики на кнопки через виндовспроцедуры, если это просто быстро и удобно соберется в том же билдере.

R4nd0m 20.11.2005 14:34

Вот 3 книги, которые нам в универе учитель советовал, для изучения С++:
1. Керниган Б. Язык программирования С 2001 г.
2. Подбельский Программирование на языке С 2002 г.
3. Кульгин Н. С++ в задачах и примерах 2001 г.

ЛеднеFF 14.12.2005 13:48

Я скачал уже десяток книг по С++ , для новичков , не для новичков, вообще для не новичков и т. д. и везде считают что новичек знает как скомпилировать программу "..ПРОСТО СКОМПИЛИРУЙТЕ И ЗАПУСТИТЕ.."программа сама заработает. Так вот тупой и дурацкий вопрос ? КАК написать программу в С++ , как ЕЁ скомпилировать, и КАК ее потом запустить....
у меня есть Visual С++ если можно на этом примере программы. Куда ЖАТЬ ТО

dyr_farot 14.12.2005 14:16

Debug->Start Debugging ( или просто F5 )


Часовой пояс GMT +4, время: 13:13.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.