double fn();
int main()
{
fn(3);
}
double fn(double x)
{
return x*2;
}
который C++
я установил и borland developer studio и visuial studio 2005,
в каком из них лучше работать:
я тут искал видео уроки и наткнулся на learnvisualstudio.net тут вообше на C# программируют, ну вот и я в заблуждении.
который C выбрать? который более современный, удобный и доступныи по книгам?
насчет vs 2005 : я за С#. Зайди на форум .NET Framework,
в полезных ссылках есть линк на e-library, в разделе книги
С/С++ есть хорошая книга для начала Шильд "С#. Учебный курс."
правда качество не ахти, но читать вроде можно
Я вообшето на данный момент изучаю С++ (тоже пользуюсь дейтелом) просто ситуация такова что не хочитса брасать этот язык и переходить на другой, и мне интересно было который из ни болше всего соответствует.
что захочешь).
Если сам учишься, да еще если это твой первый язык, лучше было
начать с С , а не С++, т.к. С++ это более сложный для
понимания язык.
Предки С#: С, С++
насчет Борланд ничего не скажу
Кто больше соответствует русскому языку Пушкин или Некрасов?
Для изучения С++ подойдет любой компилятор этого языка и любая среда разработки.
Для изучения конкретной библиотеки, в т.ч. оконной, подойдет только именно эта конкретная библиотека. :)
Если сам учишься, да еще если это твой первый язык, лучше было
начать с С 6.0, а не С++,
[/QUOTE]
C 6.0 - это что ещё за язык?
[QUOTE=OlgaKr]
т.к. С++ это более сложный для
понимания язык.
[/QUOTE]
Для понимания кого?
Того, кто учил С ?
Не вижу смысла учить С, чтоб потом переучиваться на С++.
Звучит примерно так: хочешь выучить немецкий, выучи сначала английский.
[QUOTE=OlgaKr]
Предки С#: С, С++
[/QUOTE]
... атакже Pascal, Basic и Logo :)
до сих пор не видела проблем с пониманием: имеется ввиду версия языка (или опять неправильно выражаюсь)? vs 6.0, звучит нормально?
вроде автор с Дейтелом дружит, его книга на это ориентирована.
Цитата:
Для понимания кого?
Того, кто учил С ?
Не вижу смысла учить С, чтоб потом переучиваться на С++.
Звучит примерно так: хочешь выучить немецкий, выучи сначала английский.
... атакже Pascal, Basic и Logo :)
Того, кто учил С ?
Не вижу смысла учить С, чтоб потом переучиваться на С++.
Звучит примерно так: хочешь выучить немецкий, выучи сначала английский.
... атакже Pascal, Basic и Logo :)
Знакомство с С и структурным программированием не такая уж бесмысленная вещь, хотя если ты с ооп начинал, Респект.
Хочешь использовать библиотеку - посмотри какой язык рекомендуют разработчики. Поправьте меня если не прав, ибо с Windows Forms не работал, но по-моему там рекомендуется Visual Basic.
Если же для себя, то лучше изучать С и С++ одновременно, важно видеть разницу. Часто встречаются люди(особенно молодые девушки) которые делают ОЧЕНЬ ДЛИННОЕ ЛИЦО когда им говоришь что С и С++ - разные языки. И не верят. Спасает только умение погладить бороду, авторитетное лицо и внушительные габариты.
P.S. приму на работу на 550$ в месяц(для поволжья весьма достойная зарплата) программистом на С++ любого, кто сможет грамотно объяснить разницу между С и С++. Это будет означать что ему известно и то и другое, ибо всё познаётся в сравнении.
2Olga: Многое хотел вам сказать, но вырезал всё из поста по соображениям такта. см. мою подпись - увы, это горькая правда.
Преймуществами C# является интегрированная поддержка .NET, которой нет в делфе. Как-то я писал на C# элементарный обработчик изображений на GDI+ - на С++ с .NET тогда ещё было не так просто сконтачиться - а мой товарищ делал то же самое на делфе. разница в скорости работы наших творений была раз 15-30 в зависимости от размера изображения.
Выводы: нечего там учить почти, в этом C#. Если ты знаешь С++ или делфу или яву - всё и так будет ясно.
1 - ну во первых до звания программист мне намного дальше,
чем тебе до звания невоспитанного человека.
2 - разницу между С и С++ осознаю даже на моем примитивном
уровне весьма четко, и в том что это 2 разных языка не сомневаюсь,
поэтому и сказала что лучше начинзть с С(структурного яз.) а не с С++(ОО языка).
А насчет свинки: старо, придумай что то поновее. А то даже
эмоций никаких не вызывает твоя подпись.
Преймуществами C# является интегрированная поддержка .NET, которой нет в делфе. Как-то я писал на C# элементарный обработчик изображений на GDI+ - на С++ с .NET тогда ещё было не так просто сконтачиться - а мой товарищ делал то же самое на делфе. разница в скорости работы наших творений была раз 15-30 в зависимости от размера изображения.
Выводы: нечего там учить почти, в этом C#. Если ты знаешь С++ или делфу или яву - всё и так будет ясно.[/quote]
до тебя видно еще не дошло что парень совсем новичек, какую яву он знает? прежде чем отвечать подумай для кого ты говоришь? если для
себя, так ты и так это знаешь, а если для автора - ответь на его уровне.
до сих пор не видела проблем с пониманием: имеется ввиду версия языка (или опять неправильно выражаюсь)? vs 6.0, звучит нормально?
[/QUOTE]
На самом деле неправильно, но не принимай это близко к сердцу.
Это версия среды разработки, а не языка.
[QUOTE=OlgaKr]
Знакомство с С и структурным программированием не такая уж бесмысленная вещь, хотя если ты с ооп начинал, Респект.
[/QUOTE]
Неоднократно на форуме возникали подобные обсуждения. И каждый раз я повторяюсь: не за чем в изучении повторять развитие языков программирования. Нет ничего сложного в том, что бы сразу начать изучение с ООП. Повторять обоснование такого суждения не буду, при желании это можно найти.
[QUOTE=Ireul]
Если же для себя, то лучше изучать С и С++ одновременно, важно видеть разницу. Часто встречаются люди(особенно молодые девушки) которые делают ОЧЕНЬ ДЛИННОЕ ЛИЦО когда им говоришь что С и С++ - разные языки. И не верят. Спасает только умение погладить бороду, авторитетное лицо и внушительные габариты.
[/QUOTE]
Ну вообще-то это вопрос спорный. Даже Страуструп говорит, что одно является подмножеством другого. Хотя меня несколько обескураживает запись "C/C++". Видимо имеется в виду соотношение... явно меньше единицы.
[QUOTE=Ireul]
Преймуществами C# является интегрированная поддержка .NET, которой нет в делфе.
[/QUOTE]
Неправда ваша. Есть Delphi.NET
[QUOTE=Ireul]
Как-то я писал на C# элементарный обработчик изображений на GDI+ - на С++ с .NET тогда ещё было не так просто сконтачиться - а мой товарищ делал то же самое на делфе. разница в скорости работы наших творений была раз 15-30 в зависимости от размера изображения.
[/QUOTE]
Ну вообще-то в теории скорость выполнения программы не зависит от языка, а лишь от реализации. Это вполне доказанная математически теория.
[QUOTE=Ireul]
Выводы: нечего там учить почти, в этом C#. Если ты знаешь С++ или делфу или яву - всё и так будет ясно.[/QUOTE]
Ну не совсем так. Поучиться есть чему. Например, маршалингу. Ну и концепция несколько отлична от C++, хотя бы те же самые ссылочные и нессылочные типы.
А вот что касаемо подписи, то я бы советовал (а может и настаиваю) её сменить, т.к. она унижает человеческое достоинство, а так же не красит её обладателя в глазах общественности.
Насчёт делфы: тогда не было, был порт нета на делфу, звался что-то вроде jedy project - не помню точно. Но все делфушники были тогда от него без ума. Их его "реализация" не волновала.
2OlgaKr: человек же не с нулём пришёл, в самом деле! Многие вебовцы переходили с яваскрипта на яву, а потом уже дальше. А ещё советую перечитать внимательнее, там слово "или" 2 раза.
Мне и самому моя подпись не нравится. "Не вызывает эмоций". Значит безвредна. И при этом истинна. Значит менять только если найдётся более значимая истина.
<Подпись заменил на старую.>
видимо вы мало знали программистов.
по поводу С/С++. мне вот всю жизнь интересно - а почему люди перед изучением Perl, PHP или Java С не изучают? там тоже одинаковые слова есть... и в bash присутствует С подобный синтаксис. смешно просто.
Green абсолютно прав. в изучении не надо повторять развитие языков. матчасть надо учить. а на каком языке вы эту самую матчасть будете реализовывать - дело сто пятдесят первое...
и это... раньше подписями не мерялись. больше другим. стыдно, хакеры из усть-урюпинска!
по поводу С/С++. мне вот всю жизнь интересно - а почему люди перед изучением Perl, PHP или Java С не изучают? там тоже одинаковые слова есть... и в bash присутствует С подобный синтаксис. смешно просто.
Green абсолютно прав. в изучении не надо повторять развитие языков. матчасть надо учить. а на каком языке вы эту самую матчасть будете реализовывать - дело сто пятдесят первое...
[/quote]
матчасть не только учить надо, но и быть готовым понять.
не так давно знакома с программированием, и еще помню свой
нулевой старт: не была способна самостоятельно читать книгу по С
(правда после 1-го семестра это прошло), а понять С++ труднее для
полного новичка, и потом неужели понимание разных методов программи-я вообще не нужно?
интересно то, что вряд ли кто то из здесь присутствующих начинал знакомство с программированием с ооп, или ошибаюсь?
не так давно знакома с программированием, и еще помню свой
нулевой старт: не была способна самостоятельно читать книгу по С
(правда после 1-го семестра это прошло), а понять С++ труднее для
полного новичка, и потом неужели понимание разных методов программи-я вообще не нужно?
интересно то, что вряд ли кто то из здесь присутствующих начинал знакомство с программированием с ооп, или ошибаюсь?[/quote]
ну я начинал. начинал с Object Pascal. Потом по собственной инициативе занялся С++, потом, трудясь на одной из кафедр родной академии писал на Java. Кернигана и Ричи прочитал уже позже, когда занялся никсами и разбирал исходники ядра. там - С.
А вот с C# зря вы так. Там довольно много подводных камней, концепций: например, аттрибуты (чем даже не пахнет в C++), паттерн матчинг, маршаллинг, синглтоны. С появлением C# 3.0 - это теперь вообще язык проектирования бизнес процессов с языковой интеграцией SQL/XML и он уже оооооочень далеко от C++ и JAVA ускакал (не говорю, что ускакал вперёд, просто по своему пути ушёл).
Изучать C++ надо безусловно. Но на примере .NET не совсем удачная идея, ведь там используется не C++ а MC++, т.е. Managed C++ (или C++ with Managed Extensions, кому как угодно), и есть такие фишки (типа оператора упаковки __box или приколов типа value struct или ref class) которые в стандарт ANSI/ISO языка чуток не вписываются. Также не рекомендую изучать C++ на примере Borland C++ Builder (там тоже всякой мути лишней, на мой взгляд). Знание C для программиста нужно также как для медика знание латыни.
Код:
сначала компилирую его gcc 3.4.3 как С, затем как С++. результат сам догадаешся?
НУ НЕ НАДО для изучения С++ сначала С учить. не надо! смысла нету.
НУ НЕ НАДО для изучения С++ сначала С учить. не надо! смысла нету.[/quote]
Надо, батенька, надо. Однажды мне пришлось программировать 8-ми разрядный ПЛИС класса AVR. Выбор был небольшой - Ассемблер и AVR Studio, который предоставлял язык C. Человек, который не знает ни того ни другого сел бы на зад и лишился бы очередного халявного заработка. Язык C, как ни странно, часто используется для создания программ для Программируемых Логических Интегральных Схем (тот же AVR или PIC), где очень критична высокая производительность, и если бы можно было использовать C++ со своим ООП, такая микросхема с программой на C++ два на два умножала бы неделю. А язык C - это ничего лишнего, и всегда точно знаешь, что компилер скомпилит именно то, что написано и не байта более (чем компилеры Pascal или C++ не похвастается).
эээ... вот тут не надо передергивать. из того что тебе попалась задача требующая знания С, не следует, что программист обязан изучение С++ начинать с С. с этого мы по-моему начали.
не знаю кто как, а я начала с того что посоветовала челу выучить хотя бы один язык нормально(прежде чем хвататься за другой, более прогресивный), а потом добавила что С считаю более легким для понимания и изучения язык, чем С++, если речь идет о человеке незнакомом с программированием. Рассматривая данный вопрос в конкретном топике, речь идет о совете конкретному человеку, а не о общем правиле.
Я начинал изучение C/C++, по сути, с C++. Очень поверхностно зная C, я купил книгу про C++. Никаких непреодолимых препятствий не пути совершенствования у меня не возникало.
Кесарь кесарево. Кому как.
Но желательно начинать с С. И затем хоть и поверхностно зная С переходить на С++.
И кстати хочу уточнить программировать на С++, это не то, чтобы взять компилятор С++ и начать писать сишный код. Нужно понять объектно-ориентированное программрование с его классами, наследованием, полиморфизмом, инкапсуляцией. И начать движение в сторону обобщенного программирования(ну это так если хочется).
С++ - это не С с классами(Хотя это его певое название)))).
Вобщем С++ потребует очень много времени, если все толком изучать.
У забыл С# ... ну, а это другая история.
[/QUOTE]
Это кто тебе такой бред сказал?
Т.е. до 1972 года языков не существовало вовсе? :D
[QUOTE=3A3-968M]
А C++ производный от него язык, поэтому он так и называется: Си с плюсиками, т.е. си с дополнением. Всё, что отличает C++ от C - это ООП.
[/QUOTE]
Я происхожу от своего отца, но это не значит, что я - это он.
[QUOTE=3A3-968M]
Поэтому прога, написанная на C скомпилится и на C++ (но не обратно). [/QUOTE]
Ну это тебе уже показали. Могу подкинуть ещё примерчиков.
[QUOTE=3A3-968M]
Производные от C: C++, C#, Java.
[/QUOTE]
А Java то тут каким боком. Ты будешь удивлен, но Java ничего однокоренного с C не имеет. Это потомок языка Oak.
А то, что у них синтаксис схож, так это лежит глубже и раньше, чем даже появление С.
[QUOTE=3A3-968M]
А вот с C# зря вы так. Там довольно много подводных камней, концепций: например, аттрибуты (чем даже не пахнет в C++), паттерн матчинг, маршаллинг, синглтоны.
[/QUOTE]
А при чем тут синглтоны? Это же патерн проектирования, а они вообще от языков не зависят.
[QUOTE=3A3-968M]
Изучать C++ надо безусловно. Но на примере .NET не совсем удачная идея, ведь там используется не C++ а MC++,
[/QUOTE]
Ну допустим не MC++, а уже CLI.
[QUOTE=3A3-968M]
Знание C для программиста нужно также как для медика знание латыни.[/QUOTE]
Да на кой? Я уж не говорю про тех, кто изучает Java, Perl и пр.
[QUOTE=3A3-968M]
Надо, батенька, надо. Однажды мне пришлось программировать 8-ми разрядный ПЛИС класса AVR. Выбор был небольшой - Ассемблер и AVR Studio, который предоставлял язык C.
[/QUOTE]
Однажды мне пришлось программировать под Web, поэтому всем надо знать Perl и PHP !
Не странноватая ли логика?
[QUOTE=3A3-968M]
где очень критична высокая производительность, и если бы можно было использовать C++ со своим ООП, такая микросхема с программой на C++ два на два умножала бы неделю.
[/QUOTE]
Ну это зависит от места произрастания рук.
[QUOTE=3A3-968M]
А язык C - это ничего лишнего, и всегда точно знаешь, что компилер скомпилит именно то, что написано и не байта более (чем компилеры Pascal или C++ не похвастается).
[/QUOTE]
Что-то у меня такое впечатление складывается, что С++ для тебя настолько неявен, что ты расцениваешь его, как культ Вуду, шаманство какое-то.
Т.е. до 1972 года языков не существовало вовсе? :D
[/quote]
Я имел ввиду не историю, а как начало для изучения современных языков программирования.
[quote=Green]
Ну допустим не MC++, а уже CLI.
[/quote]
Да ну??? CLI - это Common Language Infrastructure - это общеязыковая инфраструктура, соблюдение спецификации которой гарантирует языку программирования, что он может использоваться для написания .NET-совместимых приложений. Именно CLI позволяет писать под .NET на многих языках программирования и эти программы будут совместимы. В CLI входит CTS (Common Type System) и CLR (Common Language Runtime). А MC++ - это именно управляемые расширения языка C++ для написания .NET приложений.
[quote=Green]
Ну это зависит от места произрастания рук.
[/quote]
Покажи мне средства разработки под AVR и PIC, которые предоставляют C++.
[quote=Green]
Что-то у меня такое впечатление складывается, что С++ для тебя настолько неявен, что ты расцениваешь его, как культ Вуду, шаманство какое-то.
[/quote]
ООоо - програмирование это вообще шаманство:):) А C++ я уважаю, это очень мощный и популярный язык программирования среди системных языков, но ему тоже со временем конец придёт - прогресс на месте не стоит.
Я имел ввиду не историю, а как начало для изучения современных языков программирования.
[/QUOTE]
Зачем? Зачем программисту Java нужен С ?
Зачем программисту С++ нужен С ?
Зачем программисту C# нужен С ?
Зачем программисту PHP нужен С ?
Объясни, зачем?
[QUOTE=3A3-968M]
Да ну??? CLI - это Common Language Infrastructure - это общеязыковая инфраструктура, соблюдение спецификации которой гарантирует языку программирования, что он может использоваться для написания .NET-совместимых приложений. Именно CLI позволяет писать под .NET на многих языках программирования и эти программы будут совместимы. В CLI входит CTS (Common Type System) и CLR (Common Language Runtime). А MC++ - это именно управляемые расширения языка C++ для написания .NET приложений.
[/QUOTE]
C++/CLI (Common Language Infrastructure) is the newer language specification due to supersede Managed Extensions for C++. Completely reviewed to simplify the older Managed C++ syntax, it provides much more clarity over code readability than Managed C++. Like Microsoft .NET, C++/CLI is standardized by ECMA. It is currently only available on Visual C++ 2005.
[QUOTE=3A3-968M]
Покажи мне средства разработки под AVR и PIC, которые предоставляют C++.
[/QUOTE]
Покажи мне карманные калькуляторы, которые представляют С.
Что-то я твоей логики не понимаю.
[QUOTE=3A3-968M]
ООоо - програмирование это вообще шаманство:):)
[/QUOTE]
А... я то подхожу к программированию более системно и обосновано.
[QUOTE=3A3-968M]
А C++ я уважаю, это очень мощный и популярный язык программирования среди системных языков, но ему тоже со временем конец придёт - прогресс на месте не стоит.[/QUOTE]
Ага, и по этому надо изучать С ? Я угадал? :D
начинал я сам когдата с паскаля: этому, меня в школе учили.
ну всем и без меня известно что такое паскаль, потом
появился шанс выучить С и я этим воспользовался,
учил С гдето годик и могу сказать что чуть больше,
чем кое что знаю в нём.
изо того что программирование меня увлекло я решил
прогрессировать и изучение С++ было моим собственным желанием,
кроме, я немало слыхал нащёт того какой это прадвинутый язык.
знакомство с С++ было очень удачное, уже имел дела и с ООП,
практически сейчас я в процессе изучение этого всево.
это всё круто но работать толко в консоле по моему надайдает,
хочетса оформить программу круто и красиво, первый раз столкнулся с этим в
basic-е, научили меня как нужно ставить button, labe, textbox ... , но пришла
идея почемуж не сделать тоже самое на С++, кроме он же имеет больше возможностей.
С++ конечнож прямое продолжение С, то что сделаеш в С то без проблем сработает и в С.
вот и хотелось (так грубо говоря) найти продолжение для С++, работать с
windows forms на С++, на том который я изучал прежде. (это тоже грубо говоря)
конечно там надо будет изучать новые вещи но я говорю а базовых понятиях,
тоесть типо о той среде которая понялабы С++ и плюс конечнож работат с
windows forms aplication
Зачем программисту С++ нужен С ?
Зачем программисту C# нужен С ?
Зачем программисту PHP нужен С ?
Объясни, зачем?
C++/CLI (Common Language Infrastructure) is the newer language specification due to supersede Managed Extensions for C++. Completely reviewed to simplify the older Managed C++ syntax, it provides much more clarity over code readability than Managed C++. Like Microsoft .NET, C++/CLI is standardized by ECMA. It is currently only available on Visual C++ 2005.
Покажи мне карманные калькуляторы, которые представляют С.
Что-то я твоей логики не понимаю.
А... я то подхожу к программированию более системно и обосновано.
Ага, и по этому надо изучать С ? Я угадал? :D[/QUOTE]
Опять Green разбушевался! ;)
А вообще прикольный чес.
Мое ИМХО: С - пережиток старины. .NET - будущее. А мы застряли в настоящем.
[OFFTOP]
Мне еще до сих пор смешно, когда вспоминаю, как в этом году нам задали писать лабу: защита при помощи 3,5" дискеты. Теорию дали - 13 прерывание ДОС'а. Пример написали под С 4.0 for DOS. А показывать эти лабы нужно было на компе под управлением Win2K. Есс-но к ничему полезному это не привело, так как при попытке отформатить дискетку на 1 дорожку больше, чем стандарт не получилось - привилегированая инструкция, а в условии было написано, что надо форматить. И никто нам не заикнулся про API функции для работы с диском на низком уровне. Так что С еще живет, и будет жить пока есть уникалы.
[/OFFTOP]
Тов. pod! Никто не сказал что в С++ нельзя работать с Windows Forms. Я даже попробовал... но вот что я тебе скажу: Если ты только начинаешь изучение, и по крайней мере не чуствуешь себя уверенно садясь за С++, делать как я тебе не стоит, ибо за использованием WF через C++ стоит страшное слово ActiveX. Если всё-таки хочется - ты теперь знаешь что тебе нужно. Но задумайся, в поисках скорейших путей создания интерфейса не легче ли воспользоватся средствами самой среды? Я имею в виду MFC в мелкомягком случае или... ну не помню я как оно там у борланда, CLX кажись. На крайняк есть Win32Api на любом. Раз уж С/С++ так почему бы и нет?