Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> с чего начать?С или С++? 
:(
    Опции темы
Vyacheslav
Дата 21.5.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59




Цитата(JackYF @  17.5.2007,  15:09 Найти цитируемый пост)
По моему реальному опыту (чему меня пытались/ются учить в моем "любимом" универе) мы учили вначале Pascal, затем С/С++, затем Ассемблер

У Вас очень грамотные преподаватели.  Виртовский паскаль являясь весьма строгим языком приучает к дисциплине программирования. После него голова уже не пойдет пойдет кругом от свободы С и этой свободой будут пользоваться достаточно обоснованно, не превращая  код в кашу .
Поэтому, если бы я составлял программы обучения, то при необходимости изучить процедурыные языки я бы предложил именно таку последовательность Pascal ->C
Что касается С++, то он сам по себе довольно строго типизированный язык и вполне самодостаточен.
Поэтому ООП можно начинать с него. И если нет других подводов для изучения С, то его просто можно пропустить. И я соглашусь с Страструпом, что предварительное хорошее знание С  при изучении С++  это скорее помеха, чем преимущество.



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
JackYF
Дата 21.5.2007, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(Vyacheslav @  21.5.2007,  12:54 Найти цитируемый пост)
У Вас очень грамотные преподаватели. 

На эту фразу могу только улыбнуться smile.

Цитата(Vyacheslav @  21.5.2007,  12:54 Найти цитируемый пост)
Виртовский паскаль являясь весьма строгим языком приучает к дисциплине программирования. После него голова уже не пойдет пойдет кругом от свободы С и этой свободой будут пользоваться достаточно обоснованно, не превращая  код в кашу .


Мне паскаль ничего не дал, кроме отвращения. Что после Бейсика, что после С/С++. Так что мое имхо с этой фразой несогласно.





--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
dizzy1984
Дата 21.5.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 15.2.2007

Репутация: 3
Всего: 25



Цитата(Artemios @  21.5.2007,  13:44 Найти цитируемый пост)
Под синтаксисом же формального языка обычно понимают не корректное множество терминальных цепочек (лексем), а саму "структуру" языка -- нетерминалы и правила вывода. 

О чем и речь. 
Как я сказал вначале - синтаксис и ключевые слова не связанные вещи.
Цитата(Artemios @  21.5.2007,  13:44 Найти цитируемый пост)
 Легко заметить, что эти языки хоть и представлены, как различные множества терминальных цепочек, но сами цепочки строятся по одним и тем же правилам, то есть синтаксис (структура) один и тот же (с точностью до изоморфности).

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

PM MAIL   Вверх
Vyacheslav
Дата 21.5.2007, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(JackYF @  21.5.2007,  16:17 Найти цитируемый пост)
Мне паскаль ничего не дал, кроме отвращения. Что после Бейсика, что после С/С++. Так что мое имхо с этой фразой несогласно.

Да ради бога smile   
 Бейсик? smile  Язык, цель которого была только в одном - привлечь к программированию непрофессионалов. Это если вы это о VB.  

Ну а  если Ваша фраза касается классического Бейсика, то делаю вывод, что Вы в программировании так ничего и не поняли smile Либо не писали на этом Бейсике. Вариант выбирайте сами.
Во-всяком случае упоминание Бейсика в данном контексте выглядит весьма забавно.

Кстати о С/C++. Нет такого языка smile Есть процедурный язык С  и есть язык ООП С++.   И про фразу классика о С как подмножества С++ лишний упоминать на данный момент не имеет смысла. Да было время, когда С++ был   "С with classes", "классная" надстройка в котором реализовывалось с помощью препроцессора, но это время давно прошло. Возможно оно придет опять:поговаривают же о необходимости вернуть C/C++ compatibility на уровне стандартов. Но пока этого нет.  
И Страструп о "языке С/C++" высказался весьма однозначно. Вернее высказался о тех, кто считает, что существует такой язык
Цитата

There is no language called "C/C++". The phrase is usually used by people who don't have a clue about programming (e.g. HR personnel and poor managers). Alternatively, it's used by people who simple do not know C++ (and often not C either). 

smile

Так что еще раз повторюсь. Если Вы не собираетесь заниматься процедурным  программированием, то можно смело начинать с С++.
Если же знания о процедурном программировании Вам необходимы( а они необходимы в любом случае), то лучше начинать обучение  с Pascal. 
Начинать изучение процедурного языка с "С" глупо. Слишком много там сделано для того, чтобы нарушать правила, а не соблюдать.  Плата за полную свободу. Следовательно для начала эти правила должны сформироваться в голове. Вот Pascal как раз и предназначался для этого: учиться  программировать правильно. 

Цитата(JackYF @  21.5.2007,  16:17 Найти цитируемый пост)
На эту фразу могу только улыбнуться 

Снисходительно?  Над Виртом тоже.?   Если Вы не в курсе, Вирт создавал Pascal исключительно  в целях обучения  студентов программированию. Но язык оказался настолько хорошим, что получил довольно широкое распространение.  И не  вина языка, что сменилась мода и на смену процедурному програмированию  пришел ООП. 




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Samotnik
Дата 21.5.2007, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



гы
тема интересная, ну что я могу сказать по этому поводу.  Каг я считаю:
Если хош быть си програмерам, то нуна начинать с простого си, затем как подучил нуна передвигаться(обязятельно) на обьектно-ориентированное программирование т.е. си++. Т.к. практика показывает, када устраиваешся на работу, то на собеседовании спрашивают именно по этому виду прогр-ния(популярностью пользуются вопросы типа: наследование, вирт. наследование, вирт функции, подсчитать колво байт при обьявлении в классе  переменных, методов, ну и тд)
Вод.
Затем если хош программировать под винду то нуна переходить на  MFC а лучше всего на .NET, C#, там идет чистое программирование под виндос.
Вод.
Популярностью пользуется так же джава, но это как говориться совсем другая история.....

PM MAIL   Вверх
zkv
Дата 21.5.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Samotnik @  21.5.2007,  20:30 Найти цитируемый пост)
Если хош быть си програмерам,

Цитата(Samotnik @  21.5.2007,  20:30 Найти цитируемый пост)
нуна передвигаться(обязятельно) на обьектно-ориентированное программирование т.е. си++.

??
или я недопонял что то в вашем "сленге"?

Цитата(Samotnik @  21.5.2007,  20:30 Найти цитируемый пост)
MFC а лучше всего на .NET, C#, там идет чистое программирование под виндос

задумался что же такое "чистое программирование под виндос". 
Цитата(Samotnik @  21.5.2007,  20:30 Найти цитируемый пост)
Популярностью пользуется так же джава, но это как говориться совсем другая история.....

Спасибо, что не стали рассказывать другую историю smile

Поддерживаю точку зрения, что начинать нужно с Паскаля.  smile
PM MAIL   Вверх
Xenon
Дата 21.5.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



zkv, а почему с Паскаля-то? Я, видимо, вообще не разбираюсь, раз мне кажется, что все равно ... Просто, на мой взгляд, начав с С/С++ перед тобой другие горизонты открываются, ибо много С-подобных языков, на которые попроще будет переходить человеку знающему С/С++, а не Паскаль ... А по-сути одно и тоже smile По крайней мере я не считаю себя ущербным программистом только потому, что я сразу начал с С++. Единственное, до этого был VB, который помог привлечь к программированию в те далекие года (лет 15 было), правда я быстро забросил. Но если бы даже и не было VB в моей жизни, то ничего бы не случилось ... все было бы также smile


--------------------
user posted image  
PM MAIL   Вверх
zkv
Дата 21.5.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Xenon @  21.5.2007,  21:19 Найти цитируемый пост)
zkv, а почему с Паскаля-то? 

во-первых он не такой "страшный" синтаксисом для новичка как С/ С++ smile
во-вторых:
Цитата(Vyacheslav @  21.5.2007,  12:54 Найти цитируемый пост)
Виртовский паскаль являясь весьма строгим языком приучает к дисциплине программирования.


Vyacheslav, упоминал, что изучение следует начинать с процедурного программирования, и я с этим согласен, так как раз для этого Паскаль подходит больше чем Си, в силу изложенных выше причин. 

Еще хуже, по моему, обучаться процедурному программированию на С++ (такое бывает smile, судя по тому же Центру Помощи), когда чел использует конструкции типа cout<<"Hello world!"; и когда его спрашиваешь, а что такое cout, он резонно заявляет, что это оператор вывода, а на начальном этапе, ты ему при всем желании не сможешь объяснить, что cout - это глобальный объект класса ostream, а в этом классе перегружен оператор побитового сдвига влево и  т.д. 

Потом, когда человек будет готов к изучению ООП,  думаю не столь важно, какой именно язык изучать - C++/C#/Java/Delphi и пр.

Это сообщение отредактировал(а) zkv - 21.5.2007, 21:42
PM MAIL   Вверх
Xenon
Дата 21.5.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



zkv, просто, сужу по себе, у меня таких вопросов не возникает и я себя не считаю гением, конечно же ... Просто нужно брать хороший учебник и учить, перечитывая главу 2-3 раза. Тогда уже точно не будешь считать cout << одним большим оператором вывода smile Везде стараться надо.
А ты сам с чего начинал и вообще какая хронология изучения языков у тебя?


--------------------
user posted image  
PM MAIL   Вверх
skyboy
Дата 21.5.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



у меня дорога лежала так: Бейсик "Микроша"(комп такой был советский) -> Паскаль -> Delphi. Потом уже был С++ и Java. Исходя из своего опыта, полностью согласен с мнением "для обучения Паскаль - лучше" smile
PM MAIL   Вверх
zkv
Дата 21.5.2007, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Xenon @  21.5.2007,  21:40 Найти цитируемый пост)
А ты сам с чего начинал и вообще какая хронология изучения языков у тебя? 

smile 
самая первая вычислительная машина, попавшая в мои руки - советский калькулятор МК51 (вроде эта модель, хотел в инете фото найти - не получилось), ограничение в 100 шагов и рассчет таких операций как sin и cos по нескольку секунд давали неплохой стимул к оптимизации, с Бейсиком после этого не составило труда разобраться, потом Паскаль, изучил до уровня написания "тетриса" под ДОС, вскользь прошелся по Асму (мог написать простейшую программку для реального режима процессора на masm), чуть чуть Фортрана (77-й вроде) - помогал товарищу сдавать экзамен smile, сейчас изучаю С++ (попутно пытаясь применять знания на практике), естественно "за компанию" знакомишься с С smile
PM MAIL   Вверх
Xenon
Дата 21.5.2007, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



zkv, а если бы начал сразу с паскаля что-нибудь изменилось бы? smile


--------------------
user posted image  
PM MAIL   Вверх
Anikmar
Дата 21.5.2007, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(zkv @  21.5.2007,  22:24 Найти цитируемый пост)
самая первая вычислительная машина, попавшая в мои руки - советский калькулятор МК51 

Вам повезло - с современной техники начинали. Я начинал с Б3-21. 60 команд, регистры только в стеке (вернее даже не в стеке а по кольцу крутятся).  smile 
PM MAIL ICQ   Вверх
Artemios
Дата 21.5.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: нет
Всего: 50



Цитата(dizzy1984 @  21.5.2007,  17:47 Найти цитируемый пост)
Т.е могут быть 2 одинаковых синтаксиса работающих с разными лексемами, чего не может быть если бы лексемы были частью синтаксиса.
Но ведь г-н Daevaorn никогда не ошибается.
Модераторы не умеют ошибаться, а если и делают это - тут же признают свою ошибку.

dizzy1984, полегче на поворотах. Для математика это естественно: отождествлять изоморфные элементы, абстрагироваться от частностей. Но не все же математики. А программист-нематематик видит перед собой синтаксис языка, заданный в конкретной БНФ. И видит всё те же "конкретные до невозможности" терминалы, как элементы БНФ. И что ему еще остается думать?

Цитата(zkv @  21.5.2007,  22:38 Найти цитируемый пост)
изучение следует начинать с процедурного программирования, и я с этим согласен

Последнее время все чаще посещает мысль: а так ли верно начинать обучение программированию с процедурного, или более общё, с императивного языка программирования? И все больше смещаю свои предпочтения в сторону функциональных ЯП...



--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Xenon
Дата 21.5.2007, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



А может лучше все учить поступательно? smile Хотя ООП, все-таки, наверное, лучше потом ... Ну в нормальных учебниках по С++ примерно так и идет - сначала базовые понятия, процедурное программирование, а затем только ООП


--------------------
user posted image  
PM MAIL   Вверх
Страницы: (9) Все « Первая ... 5 6 [7] 8 9 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0963 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.