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

Поиск:

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


Шустрый
*


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

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



Много уважаемые программисты!!!у меня к вам небольшой вопрос,но сначала предисловие:я тока поступил в универ,есть такой предмет у нас "программирование"...хотел начать самостоятельно учить,нашел книжку,начал читать,читал ровно до того когда увидел приведенный пример какйто программы и увидел что у него мало схожести с тем что мы учим...кароче выяснилось что мы учим не  С++ а просто С.Теперь сам вопрос:что мне делать найти книжку по С и начать с него или забить на него и проосто начать самому С++ учить...
   Подскажите плиз,очень нужен ваш совет!!! smile 
 З.Ы.очень прошу чтобы вы приводили аргументы,а не просто писали в 3-х словах...  smile 
PM MAIL   Вверх
chaos
Дата 14.11.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


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

Репутация: 6
Всего: 44



Torrero, у нас в универе тоже читали Си, но мне было пофиг smile я все писал на С++ и препод всегда с интересом смотрел на различные 
Код

class
typename
cout << ..... << endl;
.....
 smile

Это сообщение отредактировал(а) chaos - 14.11.2006, 14:56
PM WWW   Вверх
Torrero
Дата 14.11.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(chaos @ 14.11.2006,  14:21)
Torrero, у нас в универе тоже читали Си, но мне было пофиг smile я все писал на С++ и препод всегда с интересом смотрел на различные 
Код

class
typename
.....
 smile

понимаеш меня интересует понадобиться ли он вообще?или лучще забить на Си как в свое время в школе на паскаль 
PM MAIL   Вверх
chaos
Дата 14.11.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


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

Репутация: 6
Всего: 44



С++ это же вроде как улучшеный Си так что.... делай выводы
PM WWW   Вверх
Romikgy
Дата 14.11.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(Torrero @  14.11.2006,  13:24 Найти цитируемый пост)
как в свое время в школе на паскаль

ну и зря , имхо настоящий программист должен знать не только С или С++ , но еще много чего!
имхо разница между С и С++ есть , но на начальных этапах освоения не сильно важна, и лучше идти от простого (С) к сложному (С++) и дальше, дальше, дальше


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
EvgenZ
Дата 14.11.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


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

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



Я начал сразу с С++ с нуля, тоесть первую прогу я написал в формате С++. Теперь я понимаю С++ и понимаю С, а тот кто пишет на С, не зная плюсов, нифига не понимает С++.


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
Romikgy
Дата 14.11.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(EvgenZ @  14.11.2006,  13:58 Найти цитируемый пост)
а тот кто пишет на С, не зная плюсов, нифига не понимает С++. 

не факт!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Frage
Дата 14.11.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На уровне "Hello world!" разницы нет практически никакой. Когда дойдет (на втором годе работы над большим проектом) вся мощь ООП, тогда и будет видна разница.   
PM MAIL   Вверх
Torrero
Дата 14.11.2006, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Народ а посоветуйте плиз хорошую книжку по С,для тех кто хочет начать с нуля!!!
PM MAIL   Вверх
Romikgy
Дата 14.11.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(Torrero @  14.11.2006,  14:55 Найти цитируемый пост)
Народ а посоветуйте плиз хорошую книжку по С,для тех кто хочет начать с нуля!!! 

С++, С и т.д.
Цитата(Frage @  14.11.2006,  14:23 Найти цитируемый пост)
Когда дойдет (на втором годе работы над большим проектом) вся мощь ООП, тогда и будет видна разница.    

имхо любой проект можно сделать и без ООП, но с ним проще 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Romikgy
Дата 14.11.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146





--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JUmPER
Дата 14.11.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



по словам Джоэля Спольски, начинать надо с Си без плюсов
--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
JackYF
Дата 14.11.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



JUmPER, ИМХО потом придется переучиваться многому...


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


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(JackYF @  14.11.2006,  17:02 Найти цитируемый пост)
переучиваться

не пере- , а до- , имхо smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
JackYF
Дата 14.11.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Нет, пере...
Например - объявление функций в стиле С:

Код

int func() int a, int b
{
 ...
}

Не помню точно, но что-то типа этого...

Абсолютно неприменимо в С++.

Я уверен, это не единственный пример...
В основном, конечно, доучиваться...

Но может кому-то не надо работать с потоками, файлами в старом стиле...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Любитель
Дата 14.11.2006, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



В C99 принято использовать объявления, типичные для плюсов (хотя совместимость со старыми вроде остаётся).


--------------------
PM MAIL ICQ Skype   Вверх
MAKCim
Дата 14.11.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 52
Всего: 207



Начинать надо с С++ - это факт, после С - трудно избавиться от С-ых привычек решения определенного круга задач, которые в С++ решаются по-другому (не скажу более эффективно, но нагляднее точно). В итоге получается и не С, и не С++, а что то среднее. Зная же С++, перейти на С не сложно, потому как С++-ые привычки не переносимы на С по объективным причинам  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Kuvaldis
Дата 14.11.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


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

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



MAKCim
Цитата

трудно избавиться от С-ых привычек решения определенного круга задач, которые в С++ решаются по-другому (не скажу более эффективно, но нагляднее точно).
Не мог бы ты вкратце сию мысль пояснить?


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
MAKCim
Дата 14.11.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 52
Всего: 207



Цитата

Не мог бы ты вкратце сию мысль пояснить? 

может быть не так выразился
Цитата

после С - трудно избавиться от С-ых привычек решения определенного круга задач, которые в С++ решаются по-другому (не скажу более эффективно, но нагляднее точно) 

EQU
После С избавится от С-ого стиля программирования сложно, из-за чего происходит смешение языков С и С++, что, имхо, нехорошо


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Rockie
Дата 14.11.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 8
Всего: 31



Цитата(JUmPER @  14.11.2006,  17:13 Найти цитируемый пост)
по словам Джоэля Спольски, начинать надо с Си без плюсов

А еще Джоэль Спольски сторонник венгерской нотации и ярый противник использования исключений в программах smile


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
Romikgy
Дата 14.11.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



Цитата(JackYF @  14.11.2006,  17:14 Найти цитируемый пост)
Например - объявление функций в стиле С:

знаешь , когда я учил си (чистый) уже такого вызова ф_ций не было , а я начинал еще на турбо си 2.0 , под дос.

Цитата(MAKCim @  14.11.2006,  17:38 Найти цитируемый пост)
не скажу более эффективно, но нагляднее точно)

Согласен с MAKCim , но с одним отклонением , есть задачи которые эффективнее пишутся на С++, но есть задачи которые эффективнее пишутся на С,
т.е. для каждой задачи имхо делать выбор , хотя 'na эффективность и невелика smile 
Цитата(Kuvaldis @  14.11.2006,  17:50 Найти цитируемый пост)
Не мог бы ты вкратце сию мысль пояснить?

имхо простой пример работы со строками в чистом си, имхо, это char *, и все ф_ции это "внешне" описаные,
в С++ это класс и (почти ) все что надо уже есть в классе!
Цитата(MAKCim @  14.11.2006,  18:04 Найти цитируемый пост)
з-за чего происходит смешение языков С и С++, что, имхо, нехорошо 

может ты и прав, но на мой взгляд симбиоз, это лучше чем что то одно 
Одна голова хорошо , а две лучше (с) фолковые пиплы smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FiMa1
  Дата 15.11.2006, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Г.Шилдт начинает одну из своих книг по С++ с фразы: Эта книга подразумевает что вы уже знаете С. Если нет, то, пожалуйста, сначала выучите этот язык, а потом переходите к чтению этой книги.... smile 
PM   Вверх
Rodman
Дата 15.11.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(FiMa1 @  15.11.2006,  11:11 Найти цитируемый пост)
Эта книга подразумевает что вы уже знаете С

Так точно... 

С++ можно начинать без С, но тогда а его изучение уйдет больше времени чем сначала выучить С а за ним С++..
PM MAIL WWW Skype GTalk YIM MSN   Вверх
FiMa1
Дата 15.11.2006, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Torrero, вы писали:
Цитата

понимаеш меня интересует понадобиться ли он вообще?или лучще забить на Си как в свое время в школе на паскаль  

Гради Буч отвечает: 
Цитата

«Объектно-ориентированный анализ и проектирование отражают ЭВОЛЮЦИОННОЕ, а не РЕВОЛЮЦИОННОЕ развитие проектирования; новая методология не порывает с прежними методами, а строится с учетом предшествующего опыта...
При попытках использовать такой язык, как С++, в качестве традиционного, алгоритмически ориентированного, мы не только теряем его внутренний потенциал — скорее всего результат будет даже хуже, чем при использовании обычного языка С...
Дать электродрель плотнику, который не слышал об электричестве, значит использовать ее в качестве молотка. Он согнет несколько гвоздей и разобьет себе пальцы, потому что электродрель мало пригодна для замены молотка». 

PM   Вверх
EvgenZ
Дата 16.11.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


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

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



Читая книжку "С++  для чайников" или "С++ с нуля" все равно дается структурное программирование, поэтому ИМХО учить по книге С незачем. 


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
JackYF
Дата 16.11.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(FiMa1 @  15.11.2006,  11:55 Найти цитируемый пост)

«Объектно-ориентированный анализ и проектирование отражают ЭВОЛЮЦИОННОЕ, а не РЕВОЛЮЦИОННОЕ развитие проектирования; новая методология не порывает с прежними методами, а строится с учетом предшествующего опыта...
При попытках использовать такой язык, как С++, в качестве традиционного, алгоритмически ориентированного, мы не только теряем его внутренний потенциал — скорее всего результат будет даже хуже, чем при использовании обычного языка С...
Дать электродрель плотнику, который не слышал об электричестве, значит использовать ее в качестве молотка. Он согнет несколько гвоздей и разобьет себе пальцы, потому что электродрель мало пригодна для замены молотка». 


Интересно мне, что он (Гради Буч) имеет в виду по поводу потери эффективности? Желательно более-менее конкретный пример...


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


Воін дZэна
****


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

Репутация: 52
Всего: 207



Цитата

есть задачи которые эффективнее пишутся на С++

Cкорее быстрее, имхо, а не эффективнее
Цитата

может ты и прав, но на мой взгляд симбиоз, это лучше чем что то одно 
Одна голова хорошо , а две лучше (с) фолковые пиплы

Не согласен
Я просто смысла не вижу выбирать, например, язык разработки - С++, а некоторые вещи писать на С. Если такая необходимость возникла, может не стоило выбирать С++?
Цитата

Г.Шилдт начинает одну из своих книг по С++ с фразы: Эта книга подразумевает что вы уже знаете С. Если нет, то, пожалуйста, сначала выучите этот язык, а потом переходите к чтению этой книги.... 

Тоже не согласен, но с условием: С++ нужно учить 1-ым если знаешь хотя бы основы ООП, иначе не будут полностью понятны классы и их применение для написания сложной программы, т. е зачем все это нужно. Если с ООП не знаком - тогда 1-ым должен идти С. Также думаю не стоит изучать ООП параллельно с С++ или ООП по С++. Думаю для начала лучше подойдет что-то не сильно связанное с языком


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
drLans
Дата 19.11.2006, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Советую читать книгу Х. Дейтела, П. Дейтела "Как программировать на C++".
Все ясно, понятно, структурировано.  smile 
PM MAIL   Вверх
Xenon
Дата 20.11.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Kuvaldis,  ну, например, после перехода сишника на С++ он с упорством маньяка продолжает использовать макросы вместо const smile


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


механик-вредитель
***


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

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



Xenon
Цитата

Kuvaldis,  ну, например, после перехода сишника на С++ он с упорством маньяка продолжает использовать макросы вместо const smile

Ага, подсматривал за мной!!!! smile  (я уже отучился) smile 

Страуструп (знаете такого?)
Код

Чем лучше программист знает С, тем труднее будет для него при программировании
на С++ отойти от стиля программирования на С.  Так он теряет потенциальные 
реимущества С++. Поэтому советуем просмотреть раздел "Отличия от С" в справочном 
уководстве ($$R.18).  Здесь мы только укажем на те места, в которых использование
дополнительных возможностей С++ приводит к лучшему решению, чем программирование
на чистом С. Макрокоманды практически не нужны в С++: используйте const ($$2.5) 
или enum ($$2.5.1), чтобы определить поименованные константы; используйте inline 
($$4.6.2), чтобы избежать расходов ресурсов, связанных с вызовом функций; используйте
шаблоны типа ($$8), чтобы задать семейство функций и типов. Не описывайте
переменную, пока она действительно вам не понадобится, а тогда ее можно сразу
инициализировать, ведь в С++ описание может появляться в любом месте, где допустим
оператор. Не используйте malloc(), эту операцию лучше реализует new ($$3.2.6).  ВМЕСТО
realloc() ИСПОЛЬЗУЙТЕ vector (это только в третьем специальном издании написано) 
бъединения нужны не столь часто, как в С, поскольку альтернативность в структурах 
еализуется с помощью производных классов. Старайтесь обойтись без объединений, но
если они все-таки нужны, не включайте их в основные интерфейсы; используйте 
безымянные объединения ($$2.6.2).  Старайтесь не использовать указателей типа void*,
арифметических операций с указателями, массивов в стиле С и операций приведения. 
Если все-таки вы используете эти конструкции, упрятывайте их достаточно надежно в
какую-нибудь функцию или класс.  

P.S. Воть незаметно и 500 постов пришло...

Это сообщение отредактировал(а) Kuvaldis - 20.11.2006, 01:06


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
Антоха
Дата 20.11.2006, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Torrero @  14.11.2006,  15:55 Найти цитируемый пост)
Народ а посоветуйте плиз хорошую книжку по С,для тех кто хочет начать с нуля!!! 

http://openlib.org.ua/ru/books/id/12/
Как программировать на C    Авторы: Х. М. Дейтел, П. Дж. Дейтел
45 мегов правда, но книжка хорошая! smile И понятнее, чем затёртый до дыр Брайан Керниган и Деннис Ритчи(Язык программирования C). Кстати там тоже есть.
Цитата(MAKCim @  14.11.2006,  19:04 Найти цитируемый пост)
После С избавится от С-ого стиля программирования сложно, из-за чего происходит смешение языков С и С++, что, имхо, нехорошо 

Учите стихи, как говорила моя учительница по литературе, они развивают память smile Будете лучше помнить и реже будете путаться что С, а что С++! smile
Цитата(FiMa1 @  15.11.2006,  11:11 Найти цитируемый пост)
Г.Шилдт начинает одну из своих книг по С++ с фразы: Эта книга подразумевает что вы уже знаете С. Если нет, то, пожалуйста, сначала выучите этот язык, а потом переходите к чтению этой книги....

Во-во, именно эта фраза меня сразу и толкунла к тому чтобы изучать я сначала начал всётаки С. Это разумнее как мне кажется! Ну конечно, как говорилось выше, смотря для каких целей Ва  это нужно.
Цитата(Rodman @  15.11.2006,  11:16 Найти цитируемый пост)
С++ можно начинать без С, но тогда а его изучение уйдет больше времени чем сначала выучить С а за ним С++.. 

В самую точку! smile

PM MAIL ICQ   Вверх
JackYF
Дата 20.11.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Антоха @  20.11.2006,  01:22 Найти цитируемый пост)
С++ можно начинать без С, но тогда а его изучение уйдет больше времени чем сначала выучить С а за ним С++.. 

В самую точку! smile


ИМХО не согласен.



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


Опытный
**


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

Репутация: 5
Всего: 6



Доброе всем времечко суток!
Приношу извинения, если поднял, по общему мнению уже решенно-бородатый топик... Преследуемая цель - избежать появления новых вопросов на данную тему. Ориентировано на новичков.
Все сказанное ниже, разумеется имхо, разумеется оспариваемое...
Вопрос, поставленный топикстартером в принципе производный от вопроса "посоветуйте какую лучше книгу читать по программированию - С или С++?". Ниже будет понятно почему.
Но прежде ответьте мне на один простой вопрос - что я НЕ БУДУ знать о языке Си, если начну с изучения руководства по С++? Ответ только один - НИЧЕГО, в смысле, фактически, вы будете знать и язык Си! Почему? Да потому что язык С++ полностью впитал в себя язык Си (здесь улюлюканья), ну или почти полностью. Да назовите мне хоть одну книгу по С++, которая начиналась бы сразу же, к примеру, с тем "Классы", "Инкапсуляция", "Шаблоны типа и производные классы"..? Думаю вы затруднитесь назвать таковые.
Вот вам хоть содержание небезызвестной книги "Язык Си" под авторством КР:
--------------------------------------------------------------------------------
Глава 1. Обзор языка
1.1 Начнем, пожалуй
1.2 Переменные и арифметические выражения
1.3 Инструкция for
1.4 Именованные константы
1.5 Ввод-вывод символов
1.5.1 Копирование файла
1.5.2 Подсчет символов
1.5.3 Подсчет строк
1.5.4 Подсчет слов
1.6 Массивы
1.7 Функции
1.8 Аргументы. Вызов по значению
1.9 Символьные массивы
1.10 Внешние переменные и область видимости
--------------------------------------------------------------------------------
Глава 2. Типы, операторы и выражения
2.1 Имена переменных
2.2 Типы и размеры данных
2.3 Константы
2.4 Объявления
2.5 Арифметические операторы
2.6 Операторы отношения и логические операторы
2.7 Преобразования типов
2.8 Операторы инкремента и декремента
2.9 Побитовые операторы
2.10 Операторы и выражения присваивания
2.11 Условные выражения
2.12 Приоритет и очередность вычислений
--------------------------------------------------------------------------------
Глава 3. Управление
3.1 Инструкции и блоки
3.2 Конструкция if-else
3.3 Конструкция else-if
3.4 Переключатель switch
3.5 Циклы while и for
3.6 Цикл do-while
3.7 Инструкции break и continue
3.8 Инструкция goto и метки
--------------------------------------------------------------------------------
Глава 4. Функции и структура программы
4.1 Основные сведения о функциях
4.2 Функции, возвращающие нецелые значения
4.3 Внешние переменные
4.4 Области видимости
4.5 Заголовочные файлы
4.6 Статические переменные
4.7 Регистровые переменные
4.8 Блочная структура
4.9 Инициализация
4.10 Рекурсия
4.11 Препроцессор языка Си
4.11.1 Включение файла
4.11.2 Макроподстановка
4.11.3 Условная компиляция
--------------------------------------------------------------------------------
Глава 5. Указатели и массивы
5.1 Указатели и адреса
5.2 Указатели и аргументы функций
5.3 Указатели и массивы
5.4 Адресная арифметика
5.5 Символьные указатели функции
5.6 Массивы указателей, указатели на указатели
5.7 Многомерные массивы
5.8 Инициализация массивов указателей
5.9 Указатели против многомерных массивов
5.10 Аргументы командной строки
5.11 Указатели на функции
5.12 Сложные объявления
--------------------------------------------------------------------------------
Глава 6. Структуры
6.1 Основные сведения о структурах
6.2 Структуры и функции
6.3 Массивы структур
6.4 Указатели на структуры
6.5 Структуры со ссылками на себя
6.6 Просмотр таблиц
6.7 Средство typedef
6.8 Объединения
6.9 Битовые поля
--------------------------------------------------------------------------------
Глава 7. Ввод и вывод
7.1 Стандартный ввод-вывод
7.2 Форматный вывод (printf)
7.3 Списки аргументов переменной длины
7.4 Форматный ввод (scanf)
7.5 Доступ к файлам
7.6 Управление ошибками (stderr и exit)
7.7 Ввод-вывод строк
7.8 Другие библиотечные функции
7.8.1 Операции со строками
7.8.2 Анализ класса символов и преобразование символов
7.8.3 Функция ungetc
7.8.4 Исполнение команд операционной системы
7.8.5 Управление памятью
7.8.6 Математические функции
7.8.7 Генератор случайных чисел


Что из этого я НЕ БУДУ знать, начав с руководства по Си++???
Подавляющее большинство книг по С++ начнется с ключевых понятий, включая понятия переменных, констант, типов и операций с ними, указателей и т.д. и т.п. А разве не это же Вы будете изучать открыв и книгу по "чистому" Си?
Будут ли хоть какие-то отличия если я начну с руководства по Си, а не по по Си++ (ООП не в счет)?
  • Объявление вида
    Код
    int f();

    вы будете понимать как
    Код
    int f(...);

    То есть о типах агрументов ничего не известно. А в C++ как
    Код
    int f(void);

    То есть функция не имеет аргументов.
  • Память, к примеру, под 10 целых переменных Вы будете выделять так
    Код
    int *ip = (int *) malloc( 10 * sizeof( int ) );

    или так (что проще – выбирать вам ;))
    Код
    int *ip = (int *) calloc( 10, sizeof( int ) );
  • Вместо
    Код
    int *pi  = new int[10];

  • Выводить в стандартный поток вывода Вы будете так
    Код
    printf( "One plus two is %d\n", 1 + 2 );

    Вместо
    Код
    cout << "One plus two is " << 1 + 2 << endl;
Что проще – выбирать вам ;) и т.д.....

Здесь я не хочу выступать в роли ярого противника языка Си, более того, в силу некоторых обстоятельств, я сам с него начинал, однако я хочу указать, что всю функциональность языка Си вы сможете иметь либо в том же, либо в еще более улучшенном виде в Си++. Не стоит также забывать, что и malloc и printf вы также сможете использовать и в Си++. Потому что язык С++ полностью впитал в себя язык Си... Встретив malloc или printf где-то в коде вы легко найдете описание для этих функций и будете использовать их без каких-либо затруднений. Ведь к тому времени вы уже будете знать из руководства по СИ++ что такое функция в Си и как с ней работать.
Есть ли преимущества С++ по сравнению с Си (ООП не в счет)? Здесь повторю уже вышеприведенное, сказанное когда-то господином Страустрапом:
  • Макрокоманды практически не нужны в С++: используйте const или enum;
  • Чтобы определить поименованные константы; используйте inline;
  • чтобы избежать расходов ресурсов, связанных с вызовом функций; используйте шаблоны типа, чтобы;
  • Задать семейство функций и типов;
  • Не описывайте переменную, пока она действительно вам не понадобится, а тогда ее можно сразу инициализировать, ведь в С++ описание может появляться в любом месте, где допустим оператор;
  • Не используйте malloc(), эту операцию лучше реализует new;
  • Объединения нужны не столь часто, как в С, поскольку альтернативность в структурах реализуется с помощью производных классов;
  • Старайтесь не использовать указателей типа void*, арифметических операций с указателями, массивов в стиле С и операций приведения. Если все-таки вы используете эти конструкции, упрятывайте их достаточно надежно в какую-нибудь функцию или класс;
  • связывание в стиле С возможно для функции на С++, если она описана со спецификацией extern "C";
Даже если Вы сейчас многого не понимаете из вышеприведенных терминов, не трудно заметить, что в Си++ многое предстает в более безопасном виде, а это значит, что меньше времени Вы будете проводить в отладке...
Таким образом, друзья, моё имхо в том, что начинать надо с хорошей книги по Си++, по-моему мнению для новичка одной из таковых можно считать Х. М. Дейтел, П. Дж. Дейтел "Как программировать на C++" (вы сможете её найти в сети ;) или Г. Шилдт "Теория и практика C++".

Уфф, ну и накатал. Жду комментариев. Всем большое спасибо!
PM   Вверх
Daevaorn
Дата 15.5.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(FiMa1 @  15.5.2007,  16:51 Найти цитируемый пост)
Что из этого я НЕ БУДУ знать, начав с руководства по Си++???

идеологию процедурного программирования.
PM MAIL WWW   Вверх
FiMa1
Дата 15.5.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(Daevaorn @ 15.5.2007,  15:55)
Цитата(FiMa1 @  15.5.2007,  16:51 Найти цитируемый пост)
Что из этого я НЕ БУДУ знать, начав с руководства по Си++???

идеологию процедурного программирования.

Материал из Википедии — свободной энциклопедии
Цитата
Процеду́рное программи́рование — это парадигма программирования, основанная на концепции вызова процедуры. Процедуры, также известны как подпрограммы, методы или функции (это не математические функции, но функции, подобные тем, которые используются в функциональном программировании). Процедуры просто содержат последовательность шагов для выполнения. В ходе выполнения программы любая процедура может быть вызвана из любой точки, включая саму данную процедуру.

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

Возможность повторного использования одного и того же кода из нескольких мест программы без его копирования. 
Легче отследить поток выполнения программы, чем в случае использования инструкций GOTO или JUMP, которые могут сделать из большой, сложной программы так называемый «спагетти-код». 
Возможность поддержки модульности и структурности. 

Процедурные языки программирования Ада (язык общего назначения), Бейсик, Си, C++...

В новой версии Си++ не стало функций? Больше нет возможности повторного использования одного и того же кода из нескольких мест программы без его копирования? Теперь в Си++ это реализовано через использование goto? В нем больше нет модульности? Пожалуйста, не говори да...

Это сообщение отредактировал(а) FiMa1 - 15.5.2007, 16:10
PM   Вверх
adLucem
Дата 15.5.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



FiMa1

Откройте Страуструп Язык программирования С++, специальное издание параграф 1.6 страница 49 и прочитайте действительно авторитетное мнение, в котором вам доходчиво объяснят зачем нужен С и почему его учат.

PM MAIL ICQ   Вверх
JackYF
Дата 15.5.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Лично я не понял цели этого длинного повествования.


FiMa1, кому ты и что хочешь доказать? Себе - пожалуйста.
С++-никам? Так они с тобой согласятся в большинстве.
С-никам? Так они будут дальше использовать только или почти С, потому что они к нему привыкли/он им больше нравится/личные предпочтения инструментов работы с консолью, файлами, памятью и т.п./нежелание переучиваться/они пишут ядро Линуха/ ит.д.


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


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(adLucem @ 15.5.2007,  16:38)
Откройте Страуструп Язык программирования С++, специальное издание параграф 1.6 страница 49 и прочитайте действительно авторитетное мнение, в котором вам доходчиво объяснят зачем нужен С и почему его учат.

adLucem, спасибо! Я не раз перечитал этот пункт книги, прежде чем создавать пост..

Цитирую, для тех у кого нет под рукой издания:
"В качестве базового языка для С++ был выбран С, потому что он:
[1] является многоцелевым, лаконичным и относительно низкоуровневым языком;
[2] подходит для решения большинства системных задач;
[3] исполняется везде и на всем;
[4] стыкуется со средой программирования UNIX.
Но эти же описания, можно отнести и к Си++, т.к. Си стал базой Си++!

Скажу следующее, я НЕ ПРИЗЫВАЮ НЕ УЧИТЬ СИ! Об этом и не говорит сам Страустрап когда пишет "Чем лучше вы знаете С, тем труднее вам будет избежать программирования на С++"
"Язык Си остается подмножеством языка Си++" - стр. 45 того же руководства Страустрапа. Поэтому "Знание Си не является обязательным для из изучения Си++" пишет он на означенной Вами стр. 49.
Всемогущий Биарне не счел нужным развивать дискуссии на эту тему более. Однако, сказав, ключевую фразу ЯЗЫК СИ ОСТАЕТСЯ ПОДМНОЖЕСТВО ЯЗЫКА СИ++.
Вам придется учить Си в любом случае, иначе никак. Но нужно уствоить, что ВЫ БУДЕТЕ ЗНАТЬ СИ, и ВЗЯВ РУКОВОДСТВО ПО СИ++ (можно одно из вышеперечисленных). Из любого из таких руководств Вы получите знание Си и плавно начнете изучение языка Си++.

Добавлено через 6 минут и 55 секунд
Цитата(JackYF @ 15.5.2007,  17:06)
FiMa1, кому ты и что хочешь доказать? Себе - пожалуйста. С++-никам? Так они с тобой согласятся в большинстве.

Да, JackYF, в этом ты прав. Одной из целей я преследую самому разобраться в сабжевом вопросе.
Цитата
С-никам? Так они будут дальше использовать только или почти С, потому что они к нему привыкли/он им больше нравится/личные предпочтения инструментов работы с консолью, файлами, памятью и т.п.

А вот здесь прошу отличия "чистого" С от Си++ от Сишников в студию. Все отличия языков сводятся по большому счету к разницам реализации по работе с файлами, консолью, памятью на уровне отдельных функций. Не забываем, что эти все функции Си можно использовать в Си++.
PM   Вверх
Hurricane
Дата 15.5.2007, 17:49 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

С-никам? Так они будут дальше использовать только или почти С, потому что они к нему привыкли/он им больше нравится/личные предпочтения инструментов работы с консолью, файлами, памятью и т.п.

Даже не в этом беда. Они будут и дальше _думать_ как в С. Передавать тип объекта в функцию и выполнять действия в зависимости от него. Их будет угнетать необходимость аксессоров и закрытых членов классов - ведь в С это все доступно. Они еще долго после перехода на С++ не будут пользоваться передачей по ссылке, заменяя ее передачей по указателю, проверяя его каждый раз на NULL и городя жуткие конструкции многоэтажных if'ов (хотел написать - элегантно решая их с помощью goto, но сейчас опять полетят гнилые помидоры  smile ), или плодить ненужные экземпляры объектов, передавая их копии. Прочитав чуть ли не в первый день изучения плюсов о перегруженных и виртуальных методах, они еще долго будут проектировать классы без их использования, или вставлять такие конструкции "просто так", "чтобы было". Спросите меня, откуда я это знаю.

Но несмотря на все это, если бы я еще раз проходил изучение языков с нуля, я бы опять начал с С  smile .
PM MAIL   Вверх
FiMa1
Дата 16.5.2007, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(Hurricane @ 15.5.2007,  17:49)
Но несмотря на все это, если бы я еще раз проходил изучение языков с нуля, я бы опять начал с С.

Моя позиция такова - да, безусловно, начинать надо с Си, но с подробной книгой по Си++ в руках. Что Вы выигрываете? Изучив Си, в первой половине книги, Вы плавно переходите к изучению Си++ из уст того же самого автора, а это значит, согласно изложению к которому Вы уже успели привыкнуть за время работы с книгой, т.е. изложению, по всей вероятности более уже для Вас понятному.
После того, как Вы осилите курс полностью, Вы можете открыть любое руководство по, так называемому "чистому" Си, и, перелистав его, ознакомиться с манерой работы с файлами, потоками вв/выв, памятью и т.д. в "чистом" Си. На этот момент времени Вы будете уже полностью подкованы и на знакомство с "чистым" Си у Вас уйдет не более недели. Т.о., по-моему мнению, такой подход позволит сэкономить уйму лишнего времени для новичка.
Спасибо всем и извините, если задел кого-то своими "умозаключениями".
PM   Вверх
adLucem
Дата 16.5.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(FiMa1 @  16.5.2007,  07:01 Найти цитируемый пост)
начинать надо с Си, но с подробной книгой по Си++ в руках


Корень всех зол - преждевременная оптимизация.
PM MAIL ICQ   Вверх
nerezus
Дата 16.5.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Моя позиция такова - да, безусловно, начинать надо с Си, но с подробной книгой по Си++ в руках. Что Вы выигрываете? Изучив Си, в первой половине книги
 Мм, а я бы не стал покупать книгу с названием "C/C++". И купил я себе книгу только по C++. Естественно никаких scanf и т.д. там не описывается(и считаю это правильным). И никакой C там не описывается. Примеры таких книг: та же книга Страуструпа, Джесс Либерти и т.д.

Да и собственно библиотеки C++ лишены таких недостатков библиотек C, типа статичных переменных в функциях и т.д.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
FiMa1
Дата 16.5.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(adLucem @ 16.5.2007,  09:38)
Корень всех зол - преждевременная оптимизация.

Ок, тогда почему надо начинать именно с "чистого" Си? Хотя бы для того, что бы двигаться последовательно, скажете Вы? Но ведь и сам Си нельзя считать основой основ. Си вырос от Би, но Би вырос от A (в смысле ассемблера ;) В свою очередь, язык А появился в тот момент, когда надоело писать "программы" в двоичных кодах......
Таким образом, чтобы придерживаться истории развития языков и отследить это самое развитие, не упустив ни одного момента новичку логичнее начать с написания программ, как минимум, на ассемблере...
Опять же НЕ ГОВОРЮ, ЧТО АССЕМБЛЕРА ЗНАТЬ НЕ НУЖНО! Наоборот, его знать просто необходимо, хотя бы для лучшего понимания архитектуры ЦПУ и еще по 100 и одной важной причине. Но переходить к изучению Ассемблера нужно на более поздних этапах, начав с высокого уровня. Т.о. я сторонник движения от простого к сложному.
PM   Вверх
dizzy1984
Дата 16.5.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Изучайте и то и другое! smile 

Это сообщение отредактировал(а) dizzy1984 - 16.5.2007, 12:46
PM MAIL   Вверх
Vyacheslav
Дата 16.5.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Rockie @  14.11.2006,  21:48 Найти цитируемый пост)
А еще Джоэль Спольски сторонник венгерской нотации и ярый противник использования исключений в программах 

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

Цитата(Антоха @  20.11.2006,  01:22 Найти цитируемый пост)
Во-во, именно эта фраза меня сразу и толкунла к тому чтобы изучать я сначала начал всётаки С. Это разумнее как мне кажется! Ну конечно, как говорилось выше, смотря для каких целей Ва  это нужно.

А я начинал с С ( С++ тогда  в СССР  был в ввиде экзотики типа С with classes) , а потом перешел на С++. И могу сказать, что если пред Вами нет задач, для которых нужен С, то ну его нафиг. Будет только мешать.




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


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


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

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



Цитата(dizzy1984 @  16.5.2007,  12:45 Найти цитируемый пост)
Изучайте и то и другое! smile 


Кстати, тоже верно.

И почему бы каждому изучать то, что он хочет? А то что-то религиозная война по ходу началась.



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


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(JackYF @ 16.5.2007,  15:03)
Цитата(dizzy1984 @  16.5.2007,  12:45 Найти цитируемый пост)
Изучайте и то и другое! smile 

И почему бы каждому изучать то, что он хочет? А то что-то религиозная война по ходу началась.

Если перечитать внимательно написанное мной, то будет понятно, что "Изучайте и то и другое" я подразумевал на протяжении всего своего повествования. ПОСТУПИТЬ ИНАЧЕ У ВАС И НЕ ПОЛУЧИТСЯ! Вы, по-любому должны изучить Си, но вопрос о последовательности, которую выбрать:
' "чистый" Си ' -> ' Си++ '
или
' Си как подмножество Си++ ' -> Си++.
Я за последний вариант. Кроме того, я указывал, что обязательно необходимо после этого перечитать и книгу по "чистому" Си, чтобы знать как некоторые из функциональностей реализованы в нём.
PM   Вверх
kirjanov
Дата 16.5.2007, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 22.1.2006
Где: Dark wood of erro r

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



если крутиться вокруг kernel development то С++ ваще нафиг не сдался. 
PM MAIL   Вверх
nerezus
Дата 16.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

если крутиться вокруг kernel development то С++ ваще нафиг не сдался. 
 А если вокруг прикладнухи, то C ваще нафиг не сдался. 

А все потому, что это разные языки.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
FiMa1
Дата 17.5.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(kirjanov @ 16.5.2007,  20:22)
если крутиться вокруг kernel development то С++ ваще нафиг не сдался.

Цитата
А если вокруг прикладнухи, то C ваще нафиг не сдался.

Учить только "чистый" Си или только Си++ - это уже совершенно другой вопрос. Мое мнение - нужно учить оба языка и, крайне желательно, также выучить ассемблер.
В целом же вышеприведенное изложение, как было указано, ориентированно на новичков. На данном этапе эти самые новички понятия не имеют с какой стороны подступиться к прикладнухе или, более того, kernel development. По-моему мнению, успешно пройдя весь курс ' Си как подмножество Си++ ' -> Си++ -> 'Чистый Си' -> Ассемблер, они смогут успешно справиться с любой из этих задач.
PM   Вверх
adLucem
Дата 17.5.2007, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



FiMa1А вы сами то выучили С или С++, вы кого-нибудь учили С или С++, вы вообще понимаете о чем говорите? Хватит разглагольствовать о путях и дорогах, в которых вы ничего не понимаете. любой академический план строится по схеме от простого к сложному и если академический план включает Ассемблер, С и С++, то изучаться они будут именно в таком порядке. Если академический план включает только С++, то только его и будут учить.

А если речь не об университетском образовании, а о практическом подходе, то это все отдельные курсы и их изучение определяется производственной необходимостью, а не пространными рассуждениями.

Вывод FiMa1, закончите университет, позанимайтесь преподавательской деятельностью, посмотрите на результаты, а потом рассуждайте, что и в каком порядке изучать.
PM MAIL ICQ   Вверх
FiMa1
Дата 17.5.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(adLucem @ 17.5.2007,  12:12)
FiMa1А вы сами то выучили С или С++, вы кого-нибудь учили С или С++, вы вообще понимаете о чем говорите? Хватит разглагольствовать о путях и дорогах, в которых вы ничего не понимаете.

Я еще раз дико извиняюсь, если молол ерунду и этим задел кого-то. Как я уже говорил выше я сам в сабжевом вопросе пока только пытался определиться, но не учить кого-то. Отселе молчу........
PM   Вверх
JackYF
Дата 17.5.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(adLucem @  17.5.2007,  12:12 Найти цитируемый пост)
А вы сами то выучили С или С++, вы кого-нибудь учили С или С++, вы вообще понимаете о чем говорите?

Слишком резко, не находишь?

Цитата(adLucem @  17.5.2007,  12:12 Найти цитируемый пост)
сли академический план включает Ассемблер, С и С++, то изучаться они будут именно в таком порядке.


Если академический план будет включать все три дисциплины, то ты утверждаешь, что они непременно будут учиться в порядке "Ассемблер", затем "С", затем "С++". Я правильно тебя понял?



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


Шустрый
*


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

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



Цитата(JackYF @  17.5.2007,  12:35 Найти цитируемый пост)
Слишком резко, не находишь?


Вежливые люди - трусы, которые готовы каждому Церберу дать подачку, а так как они видят Цербера в любом из людей, то вынуждены давать подачки всем (перефраз Ницше). Это не резко, просто мнение должно обосновываться источниками или опытом. Нет смысла строить эфемерные замки, в которых будут жить материальные создания. Но это отступ в сторону философии и не касается данного форума, поэтому дальнейшему развитию и обсуждению не подлежит.

Цитата(JackYF @  17.5.2007,  12:35 Найти цитируемый пост)

Если академический план будет включать все три дисциплины, то ты утверждаешь, что они непременно будут учиться в порядке "Ассемблер", затем "С", затем "С++". Я правильно тебя понял?


Да, если программа включает все три дисциплины (или более), при этом я основываюсь: во-первых на реальных академических планах с которыми знаком, во вторых на собственном опыте преподавания, несмотря на то что одно с другим не связано и несоизмеримо.

То же самое относительно аппаратуры (несколько утрировано):
1. Фундаментальные дисциплины
2. Архитектура
3. Периферия

Если быть более точным то программа идет следующим образом (касательно компьютерной инженерии):
1. Pascal
2. Assembler
3. C
4. C++
5. etc

Для программистов (связанные специальности изучают только С++ или VB, а на данный момент постепенно мигрируют в сторону .NET, в частности из-за преимуществ VB) программа зачастую не включает ни Ассемблера ни С (кроме системных программистов).
PM MAIL ICQ   Вверх
FiMa1
Дата 17.5.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(adLucem @ 17.5.2007,  14:56)
мнение должно обосновываться источниками или опытом.

Да, опыта, действительно маловато. За ним, собственно, и приходят порой на подобные форумы (и если мои посты выглядели порой заносчиво, опять же извиняйте..). И из-за недостатка последнего (то бишь опыта) оставалось ссылаться на авторитетных авторов. Мнение г-на Страустрапа было указано, по-моему, оно не расходится с моим (по крайней мере понял позицию Страустрапа именно так).
В универе учил языки в последовательности Paskal -> Assembler x51. Факультет "Радиотехнический", специальность "Приборы и методы контроля качества и диагностики". После этого самостоятельного учил Си, сейчас по-тихоньку изучаю Си++. Незавимо от этого, считаю, что этот путь целесообразней было бы проходить в том порядке, к которому нас подводит г-н Страустрап (описано выше).

Это сообщение отредактировал(а) FiMa1 - 17.5.2007, 15:34
PM   Вверх
JackYF
Дата 17.5.2007, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(adLucem @  17.5.2007,  14:56 Найти цитируемый пост)
Вежливые люди - трусы


Если тебя наступили на ногу в трамвае, то в таком случае ты предлагаешь на него/нее обязательно наорать?

Абсолютно не согласен. Хотя это тема для отдельного обсуждения, ты прав.



Цитата(adLucem @  17.5.2007,  14:56 Найти цитируемый пост)

1. Pascal
2. Assembler
3. C


Что-то я не понял закономерности... Pascal легче, чем Ассемблер? Или С легче, чем Ассемблер?



Цитата(adLucem @  17.5.2007,  14:56 Найти цитируемый пост)
Да, если программа включает все три дисциплины (или более)

Ну вот. По моему реальному опыту (чему меня пытались/ются учить в моем "любимом" универе) мы учили вначале Pascal, затем С/С++, затем Ассемблер. Нестыковка. Прошлые курсы учили так же само, академический план по этим дисциплинам был тот же.



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


Шустрый
*


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

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



Pascal дает азы программирования. Это чисто академический язык (из которого произвели коммерческого мутанта Delphi) и он дает возможность обучить теории программирования с минимальными затратами на изучение языка программирования, при этом давая очень широкие возможности в области написания программного обеспечения (опять же академического направления). Поэтому, например, в США Pascal является частью школьной программе и в университетах не используется. То есть он закладывает базовые понятия о программировании.


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

Какая у вас была специальность (полное название)? Какой университет не имеет значения.
PM MAIL ICQ   Вверх
JackYF
Дата 17.5.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(adLucem @  17.5.2007,  15:21 Найти цитируемый пост)
Какая у вас была специальность (полное название)

Почему была? И сейчас есть. В плане, что студент я.

Программное обеспечение автоматизированных систем.



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


Шустрый
*


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

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



Цитата(JackYF @  17.5.2007,  13:35 Найти цитируемый пост)
Программное обеспечение автоматизированных систем

Если вы учите С++ в рамках курса объектно-ориентированное программирование, а Ассемблер позднее как системное программирование, то ситуация таже что и с Pascal - многие полагают, что С++ - это лучший пример объектно-ориентированного языка (?) и дают его раньше. Если вы учите в обратном порядке то в рамках каких дисциплин.

Я давал пример относительно инженерии (и системных программистов), поэтому чтобы рассматривать другие специальность нужно учитывать уйму особенностей (вплоть до директив Министерства).
PM MAIL ICQ   Вверх
Hurricane
Дата 17.5.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(adLucem @  17.5.2007,  07:21 Найти цитируемый пост)
Pascal дает азы программирования. Это чисто академический язык (из которого произвели коммерческого мутанта Delphi) ... 

Это правда.
Цитата(adLucem @  17.5.2007,  07:21 Найти цитируемый пост)
...и он дает возможность обучить теории программирования с минимальными затратами на изучение языка программирования, при этом давая очень широкие возможности в области написания программного обеспечения (опять же академического направления). ... 

А это - спорный вопрос. Вы бы определились - либо "академический язык", либо "очень широкие возможности". Коммерческие продукты типа TurboPascal или Delphi эти широкие возможности имеют, академический вариант - скорее нет.
Цитата(adLucem @  17.5.2007,  07:21 Найти цитируемый пост)
...Поэтому, например, в США Pascal является частью школьной программе и в университетах не используется. То есть он закладывает базовые понятия о программировании.

А это - чушь. Я же вам не рассказываю, что изучают в школах и университетах Украины. Не рассказывайте и вы мне.  smile 

PM MAIL   Вверх
JackYF
Дата 17.5.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(adLucem @  17.5.2007,  15:54 Найти цитируемый пост)
С++ - это лучший пример объектно-ориентированного языка (?) и дают его раньше.


Как раз объектно-ориентированное программирование нам еще нам еще "не давали". Короче, наши академические планы составлены не знаю кем. ИМХО.



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


Опытный
**


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

Репутация: 5
Всего: 6



Мда, не понятно мне только причем тут академический план, директивы Министерства.... Была процитирована позиция конкретного человека - Страустрапа! Потом пришел adLucem, ему, похоже, не указ даже столь авторитетные люди, ведь он академик, перечитываюший Ницше и к тому же не трус! Он не "молол ерунду", но рассказал об эфемерные замках и философии.....
Возможно, я и уступаю adLucem в опыте программирования и, как результат, сморозил немало глупостей, но, уж извините за оффтоп, скажу просто по-человечески: adLucem, Вы бы не так заносчиво на поворотах.
PM   Вверх
Romikgy
Дата 17.5.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 8
Всего: 146



adLucem,  можно вопрос вы что преподавательв ВУЗе?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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


Эксперт
****


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

Репутация: 51
Всего: 70



А у нас в институте на первом курсе был pascal и то сквозь пальцы. И всё, больше ни программирования, ни компов вообще не было. Вот такsmile
PM MAIL WWW   Вверх
nickless
Дата 17.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


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

Репутация: 19
Всего: 181



У нас на первом курсе SML был (функциональный язык), на втором C++, но про ООП почти ничего не было (специализированные лекции правда есть), a те, кто сейчас на втором курсе, учат яву по книге "objects first" или что-то в этом роде и С/С++ у них в программе вообще не будет... это имхо просто неправильно, они же потом одного вида указателей боятся будут smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
nerezus
Дата 17.5.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

С++ - это лучший пример объектно-ориентированного языка
 Не факт ) В большинстве книг по ООП в качестве примера используют именно Java. Я даже специально открыл директорию с книгами по теории, чтобы в этом убедиться )

Цитата

Как раз объектно-ориентированное программирование нам еще нам еще "не давали".
 Если бы все знали только то, что им «давали», то никто бы нирена ничего не знал. То, что ты должен знать, ты выбираешь сам.
А препод наш в ООП имхо шарит примерно так же, как я в [придумать что-то невероятное]. Хотя системное он знает отлично.
P.S. А предыдущий препод на парах вообще читал что-то из серии «Java для чайников».

Это сообщение отредактировал(а) nerezus - 17.5.2007, 21:29


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Lomir
Дата 17.5.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 30.1.2007
Где: Lithuania::Kaunas

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



У нас в универе на 1 семестре С++ как подмножество С, в Biulder'e и с формами.
На 2 семесте С++ типо как обьектное програмирование, тока до обьектного там как до китая... За весь семестр прошли всякие списки, перегрузку операторов и "наследование" (Тоже Biulder).
На 2 курсе Java (еще незнаю что будет толком).
Далее, после 2 курса идет специлизация и в зависимости от направления бывают или асм или ООП или что-то другое...
Более тупой программы чем у нас - пока невидел smile

П.С. А за изучение в таком порядке: С как подмножество С++ -> C++. Потом если понадобится можно бегло прочитать пару книжек по чистоку С.
PM MAIL ICQ Skype   Вверх
Samotnik
Дата 17.5.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


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

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



Гы
А у нас так за 3 года прочитали лекции по C, C++, Visual C++, MFC, Java, SQL
Вод.
Но в итоге пришел к тому, что надо чтото одно выбирать, а все сразу учить не нужно. Просто не возможно афигенно шарить во всех языках!!!
PM MAIL   Вверх
JackYF
Дата 18.5.2007, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(nerezus @  17.5.2007,  21:26 Найти цитируемый пост)
Если бы все знали только то, что им «давали», то никто бы нирена ничего не знал. То, что ты должен знать, ты выбираешь сам.


Блин... Ну вроде же не зря я написал "не давали" в кавычках. Нет, таки нашелся человек smile Ну вроде бы я уже не первый раз на форуме, что-то писал, насчет чего-то мы спорили... Понятно, что 95% программистких знаний я добываю сам, вне универа. И уж тем более насчет ООП.

Я говорил насчет академических планов, что у нас, мягко говоря, плохая система преподавания. И все.

Цитата(Samotnik @  17.5.2007,  22:27 Найти цитируемый пост)
Просто не возможно афигенно шарить во всех языках!!! 


Ну офигенно шарить в одном языке тоже ой как нелегко smile



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


Опытный
**


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

Репутация: 5
Всего: 6



Цитата(nerezus @ 17.5.2007,  21:26)
А препод наш в ООП имхо шарит примерно так же, как я.

Вот именно, преподавателям (да и академикам), так же свойственно иногда ошибаться, ведь они тоже люди.
Сейчас прохожу курс Си++, разумеется, возникает много вопросов как у новичка. У преподавателя же не всегда находятся ответы (или нет времени на них, ведь время занятий ограниченно), и это нормально! (один дурак задаст столько вопрос, что ни один умный не ответит. Кто-то..). Тогда я прихожу сюда - на forum.vingrad.ru. И здесь в доходчивой и уважительной форме мне объяснят сложное на доступном языке. Здесь умные люди терпимы к глупостям новичков и стараются быть уважительны к ним и, поверьте, это отнюдь не признак трусости. Причем умный здесь не обязательно означает академик или проффессор, это может быть, к примеру, простой студент. Взять хоть и JackYF, который не раз давал новичкам очень полезные советы и при этом не спешил затоптать их.
Цитата
Lomir: П.С. Я за изучение в таком порядке: С как подмножество С++ -> C++. Потом если понадобится можно бегло прочитать пару книжек по чистоку С.

Вот именно так я и понял позицию Страустрапа (цитаты приведены), а adLucem обвинил меня, что я не привел ни одной ссылки на авторитетные источники.. Если я изначально нес пургу, почему никто из знающих не осек меня в самом начале. Наоборот, кажется, люди поняли о чем я говорю и даже подключились к беседе.

Это сообщение отредактировал(а) FiMa1 - 18.5.2007, 08:53
PM   Вверх
vinter
Дата 18.5.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(Samotnik @  17.5.2007,  22:27 Найти цитируемый пост)
 C, C++, Visual C++, MFC, Java, SQL

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


--------------------
Мой блог
PM MAIL WWW   Вверх
nerezus
  Дата 18.5.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

тем более что там их всего 4, три из которых похожи
 Ну и чем похожи Java и C?  smile   smile


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Daevaorn
Дата 18.5.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(nerezus @  18.5.2007,  18:14 Найти цитируемый пост)
Ну и чем похожи Java и C?

синтаксисом чуть-чуть
PM MAIL WWW   Вверх
nerezus
Дата 18.5.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Daevaorn, синтаксисом или все-таки кейвордами? )
А так синтаксисом все современные ООП языки похожи ) и тут я бы сказал, что джава намного больше даже на паскаль по синтаксису похожа, чем на C.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Daevaorn
Дата 18.5.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(nerezus @  18.5.2007,  19:55 Найти цитируемый пост)
 синтаксисом или все-таки кейвордами? )

они часть оного
PM MAIL WWW   Вверх
MAKCim
Дата 18.5.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


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

Репутация: 52
Всего: 207



каждой задаче свой язык
спор бесполезен


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
JackYF
Дата 19.5.2007, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(nerezus @  18.5.2007,  18:55 Найти цитируемый пост)
что джава намного больше даже на паскаль по синтаксису похожа, чем на C.


Не знаю, имхо на паскаль Java ничуть не похожа.



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


Опытный
**


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

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



Цитата(Daevaorn @  18.5.2007,  21:00 Найти цитируемый пост)
Цитата(nerezus @  18.5.2007,  19:55 )    
 синтаксисом или все-таки кейвордами? )    

они часть оного


Синтаксис и ключевые слова не связанные вещи.
Синтаксис - это набор правил написания, ключевые слова - зарезервированные слова, которые нельзя использовать в качестве идентификаторов.
PM MAIL   Вверх
Daevaorn
Дата 21.5.2007, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(dizzy1984 @  21.5.2007,  08:14 Найти цитируемый пост)
Синтаксис и ключевые слова не связанные вещи.Синтаксис - это набор правил написания, ключевые слова - зарезервированные слова, которые нельзя использовать в качестве идентификаторов.

ты хоть понял, что написал?smile
PM MAIL WWW   Вверх
dizzy1984
Дата 21.5.2007, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да, я понял.
Понял ли ты что ты писал? smile 

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


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(dizzy1984 @  21.5.2007,  08:58 Найти цитируемый пост)
Да, я понял.

трагично.
Цитата(dizzy1984 @  21.5.2007,  08:58 Найти цитируемый пост)
Понял ли ты что ты писал? 

абсолютно.
PM MAIL WWW   Вверх
dizzy1984
Дата 21.5.2007, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Daevaorn @  21.5.2007,  10:08 Найти цитируемый пост)
абсолютно.

Не слишком информативно, но ладно.

Поясню свою мысль.
Любой язык имеет алфавит, который состоит из символов.
Минимальный распозноваемый набор символов называется лексема.
Применимо к ЯП, лексема может быть ключевым словом.
Одновременно с алфавитом существуют также правила, в соответствии с которыми из символов строятся выражения.
Они формируют синтаксис языка.
Синтаксис не включает лексемы, следовательно синтаксис не включает ключевые слова...

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


Вселенский отказник
****


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

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



dizzy1984, мм, afaik, синтаксис включает в себя лексику и семантику и еще прочие радости )
т.е. тут не один смысл у слова )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
dizzy1984
Дата 21.5.2007, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(nerezus @  21.5.2007,  10:35 Найти цитируемый пост)
dizzy1984, мм, afaik, синтаксис включает в себя лексику и семантику и еще прочие радости )
т.е. тут не один смысл у слова )

Неа чувак, smile  лексика и семантика - понятия одного уровня с синтаксисом.
Лексика это набор лексем, семантика - это "логика" выражения.
Не стоит мешать все в одну кучу.smile 
Так, скажем, выражение 
Код

/*a=*/3+2;

1)корректно с точки зрения синтаксиса (для С/C++)
2)но хромает с точки зрения семантики (результат никуда не записывается)
3)и содержит 4 лексемы "3", "2", "+", [edit] ; [/edit]

P.S Вообще сказать что синтаксис включает лексемы значит выдать с головой свое непонимание.


Это сообщение отредактировал(а) dizzy1984 - 21.5.2007, 09:01
PM MAIL   Вверх
nerezus
Дата 21.5.2007, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

P.S Вообще сказать что синтаксис включает лексемы значит выдать с головой свое непонимание.
 почему ты так считаешь? ))
P.S. предвижу возможный вопрос. отвечу: Да, я писал транслятор. И интерпретатор тоже.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Daevaorn
Дата 21.5.2007, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(dizzy1984 @  21.5.2007,  09:22 Найти цитируемый пост)
Поясню свою мысль.Любой язык имеет алфавит, который состоит из символов.Минимальный распозноваемый набор символов называется лексема.Применимо к ЯП, лексема может быть ключевым словом.Одновременно с алфавитом существуют также правила, в соответствии с которыми из символов строятся выражения.Они формируют синтаксис языка.Синтаксис не включает лексемы, следовательно синтаксис не включает ключевые слова...

Ты пояснил так, что сам противоречишь себе. Символы и формируют лексемы, а следовательно и ключевые слова. И из этих слов строятся выражения. Они в свою очередь, по твоей же теории, подчиняются правилам, которые являются синтаксисом.
Ну  а если отойти от теории, то советую посмотреть стандарт языка С++, где во всех syntax notation'ах есть ключевые слова (было бы странно,если бы их там не было...smile )
PM MAIL WWW   Вверх
dizzy1984
Дата 21.5.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Противоречия нет.
Опять то же непонимание.
Моя мысль до тебя все же не дошла.
Если предложение на языке состоит из лексем и есть правила описывающие корректность использования лексем, то, несомненно, правила не могут быть описаны без использования лексем. Это так. Но вот утверждать что правила "включают" будет равносильно утверждению что ты, кушая утром кашу с помощью ложки эту ложку "включаешь". Вместо отношения "включения" здесь идет отношение "использование" и разница существенна.
Цитата(Daevaorn @  21.5.2007,  11:45 Найти цитируемый пост)
Ну  а если отойти от теории, то советую посмотреть стандарт языка С++, где во всех syntax notation'ах есть ключевые слова (было бы странно,если бы их там не было... )

То же самое. Они используются, но не содержатся.
PM MAIL   Вверх
Daevaorn
Дата 21.5.2007, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 51
Всего: 70



Цитата(dizzy1984 @  21.5.2007,  11:18 Найти цитируемый пост)
Противоречия нет.Опять то же непонимание.Моя мысль до тебя все же не дошла.

Цитата(dizzy1984 @  21.5.2007,  11:18 Найти цитируемый пост)
То же самое. Они используются, но не содержатся.

Спорить не буду. Биться о стену сомоуверенного заблуждения не люблю.
PM MAIL WWW   Вверх
dizzy1984
Дата 21.5.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Daevaorn @  21.5.2007,  12:32 Найти цитируемый пост)
Спорить не буду.

Не спорь, не стоит
Цитата(Daevaorn @  21.5.2007,  12:32 Найти цитируемый пост)
Биться о стену сомоуверенного заблуждения не люблю

Тогда и я биться не стану, поберегу голову.

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


Опытный
**


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

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



Цитата(adLucem @  17.5.2007,  13:12 Найти цитируемый пост)
FiMa1, А вы сами то выучили С или С++, вы кого-нибудь учили С или С++, вы вообще понимаете о чем говорите? Хватит разглагольствовать о путях и дорогах, в которых вы ничего не понимаете. любой академический план строится по схеме от простого к сложному и если академический план включает Ассемблер, С и С++, то изучаться они будут именно в таком порядке. Если академический план включает только С++, то только его и будут учить.

То, что спускает нам МинОбр в качестве плана -- зачастую такой бред...

Цитата(dizzy1984 @  21.5.2007,  09:22 Найти цитируемый пост)
Синтаксис не включает лексемы, следовательно синтаксис не включает ключевые слова...

Да.
любой ЯП -- это формальный язык.
Формальный язык определяется формальной грамматикой -- тройкой множеств -- терминальные "символы", нетерминальные, правила вывода.
Формальный язык -- это множество всех терминальных цепочек, выводимых из заданной грамматики.
Под синтаксисом же формального языка обычно понимают не корректное множество терминальных цепочек (лексем), а саму "структуру" языка -- нетерминалы и правила вывода. 
Два языка изоморфны при существовании изоморфизма (взаимнооднозначного соответствия) между соответствующими множествами терминалов, нетерминалов, правил. Легко заметить, что эти языки хоть и представлены, как различные множества терминальных цепочек, но сами цепочки строятся по одним и тем же правилам, то есть синтаксис (структура) один и тот же (с точностью до изоморфности). Как пример -- операторные скобки в различных ЯП -- могут представляться различными наборами терминальных символов, но синтаксически это одни и те же операторные скобки.
Для ЯП  в основном изоморфизмов не наблюдается, чаще всего пересечения и включения. Так, Pascal до появления в нем элементов ООП я бы назвал подмножеством C.



--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
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   Вверх
nerezus
  Дата 22.5.2007, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Хм, а почему не учить бы сразу то, что нужно? )

Я вот жадею, что начал с C, а не с C++ =\


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
JackYF
Дата 22.5.2007, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Vyacheslav @  21.5.2007,  19:41 Найти цитируемый пост)
Бейсик? smile  Язык, цель которого была только в одном - привлечь к программированию непрофессионалов. Это если вы это о VB.  

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


Под Бейсиком имелось в виду и QBasic 4.5, и VB 6.0.
Вывод о том, что в программировании я ничего не понял - вот это забавно. smile


Цитата(Vyacheslav @  21.5.2007,  19:41 Найти цитируемый пост)
Снисходительно?  Над Виртом тоже.?   Если Вы не в курсе, Вирт создавал Pascal исключительно  в целях обучения  студентов программированию. Но язык оказался настолько хорошим, что получил довольно широкое распространение.


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

Но это я от темы отвлекся, извините за оффтоп.


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


Воін дZэна
****


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

Репутация: 52
Всего: 207



Цитата(nerezus @  22.5.2007,  07:12 Найти цитируемый пост)
Хм, а почему не учить бы сразу то, что нужно? )

 smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
bsa
Дата 22.5.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 63
Всего: 196



Поддерживаю тех, кто считает, что начинать надо с Си, а не С++. Хотя, полностью согласен, что некоторое время работы на паскале (в школе, например) перед изучением Си только на пользу пойдет.
Но, хочу отметить, что большой опыт работы на языке Си вредит изучению С++. Поэтому считаю, что между изучением Си и С++ не должно быть большой паузы.

Кому интересно моя история такова: BASIC -> Z80 ASM -> PASCAL -> X86 ASM ->C -> C++ Builder -> C++

К сожалению, структура билдера так развращает, что назвать "это" C++, язык не поворачивается.

И еще раз повторяю. Имея большой опыт работы на Си (или на билдеровском С++), обучиться С++ очень тяжело. По себе знаю.
PM   Вверх
Rockie
Дата 22.5.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 8
Всего: 31



Цитата(nerezus @  22.5.2007,  07:12 Найти цитируемый пост)
Хм, а почему не учить бы сразу то, что нужно? )


nerezus, к сожалению не всегда знаешь, что тебе нужно)




--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
Hurricane
Дата 22.5.2007, 18:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Rockie @ 22.5.2007,  08:06)
Цитата(nerezus @  22.5.2007,  07:12 Найти цитируемый пост)
Хм, а почему не учить бы сразу то, что нужно? )


nerezus, к сожалению не всегда знаешь, что тебе нужно)

Да даже если и знаешь - жизнь иногда поворачивается совсем неожиданной стороной. Несколько лет назад для меня повернулась так, что имея хороший опыт в С и С++ пришлось программировать на Perl, подвернулась просто ну очень хорошая работа. Потом вернулся опять к плюсам, а вот следующая работа уже довольно хорошо обрисовалась и будет под дотнет (C#). Были еще всякие варианты с джавой, но я ее совсем не знаю (и большого желания учить нет), хотя, если бы приспичило - думаю, что справился бы.

Это я к чему? Начиная с какого-то времени (опыта), язык становится больше инструментом, а на первый план выходит проектирование, дизайн. Если он удачный - тогда и код писать легко, если нет - там и отличное знание языка мало помогает, приходится все по ходу переделывать или разные извраты городить.

Я совсем недавно на этом форуме, но уже вижу, что добрая половина вопросов в разных разделах - что-то типа "как с помощью средств языка бороться с плохим дизайном". Подход ИМХО изначально неправильный и почти никогда не дающий решение проблемы.

Поэтому выскажу крамольную мысль - может быть есть смысл фокусироваться не на изучении тонкостей языков, а на основах дизайна? А язык рассматривать как приложение к этому? Не знаю (и не берусь судить) насколько это осуществимо, я проходил свой путь начиная с языков, но мне кажется, что над этим (изучением принципов, способов, паттернов проектирования) стоит задуматься.

Это сообщение отредактировал(а) Hurricane - 22.5.2007, 18:07
PM MAIL   Вверх
nerezus
Дата 22.5.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

ришлось программировать на Perl, подвернулась просто ну очень хорошая работа.
 Подвернулась 1 раз — подвернется и еще, но в более радужных вариантах. Я бы не стал кодить на языке, к которому у меня отвращение.

Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Hurricane
Дата 22.5.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(nerezus @  22.5.2007,  13:16 Найти цитируемый пост)
Цитата

ришлось программировать на Perl, подвернулась просто ну очень хорошая работа.

 Подвернулась 1 раз — подвернется и еще, но в более радужных вариантах. Я бы не стал кодить на языке, к которому у меня отвращение.

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

Мне, например, было интересно открыть для себя что-то новое. И совсем не скажу, что это время было потрачено впустую. Я уж не говорю о том, что моя работа в том проекте была в основном проектирование и создание прототипа, самого кодирования было как раз немного.

Так что все зависит от того, как человек сам к этому относится. И (опять же ИМХО) "я не буду кодить на языке, потому что у меня к нему отвращение" - эта мысль мне не кажется удачной.

Цитата(nerezus @  22.5.2007,  13:16 Найти цитируемый пост)
В том то и прикол, что надо наметить цель и идти к ней. А не лишь пытаться это сделать.(фраза откуда-то из НЛП   )

Разницу улавливаешь? У тебя ключевое слово - "идти", а у меня - "наметить". Ничуть не умаляя важности слова "идти".  smile 
PM MAIL   Вверх
Vyacheslav
Дата 23.5.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(bsa @  22.5.2007,  15:05 Найти цитируемый пост)
Поддерживаю тех, кто считает, что начинать надо с Си, а не С++.

Цитата(bsa @  22.5.2007,  15:05 Найти цитируемый пост)
Имея большой опыт работы на Си , обучиться С++ очень тяжело. По себе знаю. 


И как первая фраза согласуется со второй?  smile Или Вы сами наступили на грабли и сейчас тяните других за собой?

Цитата(bsa @  22.5.2007,  15:05 Найти цитируемый пост)
К сожалению, структура билдера так развращает, что назвать "это" C++, язык не поворачивается.


smile А мне както совсем опыт работы на С++ Builder не мешал знать С++. Наоборот, помогал, освободить мозги от нудного создания интерфейса и сосредоточить  усилия непосредственно на функционале

Добавлено через 4 минуты и 44 секунды
Цитата(Hurricane @  22.5.2007,  18:04 Найти цитируемый пост)
Поэтому выскажу крамольную мысль - может быть есть смысл фокусироваться не на изучении тонкостей языков, а на основах дизайна?

Предлагаете плохой стиль программирования лечить дизайном? smile



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


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


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

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



Цитата(Vyacheslav @  23.5.2007,  18:38 Найти цитируемый пост)
Предлагаете плохой стиль программирования лечить дизайном? smile


Лучше сразу делать все в лучшем свете, и все.



Цитата(bsa @  22.5.2007,  15:05 Найти цитируемый пост)
К сожалению, структура билдера так развращает, что назвать "это" C++, язык не поворачивается.

Тут +1. Билдер развращает за счет того, что содержит кучу не ANSI-расширений и ключевых слов вне стандарта. Доками по тому же Билдеру явно приветствуется такой код, а потом оказывается, что ведь функционал, даже не имеющий к GUI никакого отношения, зависит от VCL. Чего только AnsiString стоит.

Цитата(Vyacheslav @  23.5.2007,  18:38 Найти цитируемый пост)
И как первая фраза согласуется со второй? 

Легко. В данном случае имелось (видимо) в виду то, что просто небольшой опыт программирования на Си полезен. А большой многолетний опыт работы только с Си - наоборот, чаще только хуже.

Цитата(Vyacheslav @  23.5.2007,  18:38 Найти цитируемый пост)
сосредоточить  усилия непосредственно на функционале

Кстати, а функционал пишете в зависимости от VCL или без оной?



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


Эксперт
****


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

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



Цитата(JackYF @  23.5.2007,  18:58 Найти цитируемый пост)
Кстати, а функционал пишете в зависимости от VCL или без оной?

Вы считаете, что в VCL не позволяет использовать STL и свои "чистые классы"? Для того чтобы написать программу у меня все есть: стандарт, который определяет, все то , что не касается расширений, и документация по VCL и расширениям, в которой кстати четко заявлено, что не следует путать С++ классы с VCL классами, ибо это совершенно разные вещи  и в некторых случаях они ведут себя по разному.

Цитата(JackYF @  23.5.2007,  18:58 Найти цитируемый пост)
Тут +1. Билдер развращает за счет того, что содержит кучу не ANSI-расширений и ключевых слов вне стандарта

Стандарт не запрещает  расширения smile . 
Беда не в том, что есть расширения, которые облегчают процесс программирования и предназначены для в основном поддержки парадигмы визуального программирования.. Беда в том, что есть люди, которые кроме  этого облегченного процесса не желают ничего знать глубже. Но причем тут Билдер? Не виноваты же автомобили, за то, что некоторые  из нас разучились бегать. Я полагаю, что количество хороших программистов в процентоном отношении во времени  постоянно. Просто  остальные , те которые особо не вникали, во времена  царствования командной строки и MultiEdit  ставновились просто  программистами, что называется, так себе, а во времена , когда программа может быть создана путем пары кликов,  становятся ламерами-кликальщиками. По-моему , большой разницы между ними нет. 
И если человек, перед тем, как воспользоваться различными "подпорками", научится программировать правильно, то  эти "подпорки" просто послужат повышению эффективности  работы, а код написанный им будет безупречен, неважно, что они использует VCL или MFC.
Если же этот базис в свое время не был получен, то есть вероятность, что программист так  и останется "xромым". Но в каждом конкретном случае это зависит от человека.
Но  я, например, утверждаю следущее. Что если Вы изучаете самостоятельно процедурное программирование, то "С"  не "подвинет" Вас писать правильно, а Pascal - "подвинет", ибо для того и создавался этот строгий язык.  То же самое и  ООП и С++. Взявшись за чистый С++, Вы возможно и научитесь писать правильно даже , если это С++Builder.  Но если обучение начнется с клепания форм на том же С++Builder, то вероятность того, что Вы правильно будет создавать свои программы, ичпользуя парадигму ООП будет резко стремиться к нулю.
 






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


Эксперт
****


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

Репутация: 63
Всего: 196



Я нисколько не умоляю достоинств Билдера. Это лучшая среда быстрого создания оконных приложений под Windows (а может и вообще) из виданных мною. Но. Лично мне знакомство с ним навредило. Так как сначала (после Си) у меня был "C with classes" (это borland c++ 3.1), а затем я перешел на этот билдер. А в билдере в основном именно процедурное программирование идет (хотя эти процедуры являются методами класса формы).
Короче. Считаю, что знакомство с билдером для неокрепшего программистского ума вредно. А для профессионала - это отличный инструмент.
PM   Вверх
JackYF
Дата 24.5.2007, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Vyacheslav @  23.5.2007,  20:24 Найти цитируемый пост)
Вы считаете, что в VCL не позволяет использовать STL и свои "чистые классы"?

Нет, конечно. Но многие пишут в зависимости от VCL и думают, что так и надо и это есть С++. А потом - бац, в других средах ничего не работает...

Цитата(Vyacheslav @  23.5.2007,  20:24 Найти цитируемый пост)
Беда в том, что есть люди, которые кроме  этого облегченного процесса не желают ничего знать глубже.

Тут +1.

Цитата(Vyacheslav @  23.5.2007,  20:24 Найти цитируемый пост)
И если человек, перед тем, как воспользоваться различными "подпорками", научится программировать правильно, то  эти "подпорки" просто послужат повышению эффективности  работы, а код написанный им будет безупречен, неважно, что они использует VCL или MFC.
Если же этот базис в свое время не был получен, то есть вероятность, что программист так  и останется "xромым". Но в каждом конкретном случае это зависит от человека.

Тоже +1. Но! Ежели изначально писать под консоль, например, то намного меньше вероятность, что программист (если не бросит свое дело) станет кликальщиком по формам.


Цитата(Vyacheslav @  23.5.2007,  20:24 Найти цитируемый пост)
Но  я, например, утверждаю следущее. Что если Вы изучаете самостоятельно процедурное программирование, то "С"  не "подвинет" Вас писать правильно, а Pascal - "подвинет", ибо для того и создавался этот строгий язык. 

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

Цитата(Vyacheslav @  23.5.2007,  20:24 Найти цитируемый пост)
Но если обучение начнется с клепания форм на том же С++Builder, то вероятность того, что Вы правильно будет создавать свои программы, ичпользуя парадигму ООП будет резко стремиться к нулю.

Чистый +1.

Цитата(bsa @  23.5.2007,  21:43 Найти цитируемый пост)
Но. Лично мне знакомство с ним навредило.

В этом вопросе у меня двойственность... с одной стороны, и мне тоже довольно-таки навредило. В вопросах знания языка и стандартной runtime lib. С другой стороны, сейчас это хороший инструмент (вернее, изученная мною часть) у меня в кармане для Rapid Application Development, и бывает, что он оказывается полезным.



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


Старый Маразматик
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 1.12.2006
Где: Vault 13

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



Torrero, если тебе действительно важно и нужно то, что лучше - учи C++,
если же надо просто хорошо учится универе выучи "C" и не парь себе моск с C++... 


Вы страшные люди! Зачем так человека нагрузили! Человек просто спросил:
что мне делать найти книжку по С и начать с него или забить на него и проосто начать самому С++ учить...
А вы сделали из мухи слона! Ну и что, что он написал объяснить ему не в трех словах - что теперь читать ему
всю историю C и C++?




--------------------
user posted image
PM WWW ICQ Skype   Вверх
adLucem
Дата 25.5.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Vyacheslav @  23.5.2007,  18:24 Найти цитируемый пост)
Стандарт не запрещает  расширения


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

Цитата(Vyacheslav @  23.5.2007,  18:24 Найти цитируемый пост)
"С"  не "подвинет" Вас писать правильно, а Pascal - "подвинет"


Да, и вполне логично, что академический язык учит, а промышленный не предназначен для этого.

-------------------------------

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

Причем С и С++ принципиально используются в различных областях. С на данный момент является "переносимым ассемблером", в то же время С++ большей частью используется как ООП язык.

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

Также С++ стал успешным и заложил фундамент успеха Java, C# и так далее благодаря тому, что сам не был "чистым" ООП языком, на что также указывает Страуструп, говоря что С++ реализует ряд парадигм (включая структурную, процедурную, объектно-ориентированную и так далее), то есть он полностью включает подмножество С, но не является его конкурентом.

Следствием этого является, что на данный момент С является одной из парадигм, реализуемой С++. Поэтому в общем случае можно начинать изучение именно С++, если рассматривать его как многоцелевой язык и в дальнейшем специализироваться в отдельных областях (например, при необходимости низкоуровневого программирования изучать С, при  необходимости высокоуровневого программирования STL и boost, при необходимости полного перехода к парадигме ООП - Java или C#).

Вообще вопрос довольно сложный и рассматривать его можно во множестве ракурсов, которые в частности определяются контекстом, в котором рассматривается этот вопрос.
PM MAIL ICQ   Вверх
JackYF
Дата 25.5.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(adLucem @  25.5.2007,  16:49 Найти цитируемый пост)
Да, и вполне логично, что академический язык учит, а промышленный не предназначен для этого.

Мдя. Опять не согласен.



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


Эксперт
****


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

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



Цитата(adLucem @  25.5.2007,  16:49 Найти цитируемый пост)
Стандарт это набор фиксированных требованию к тому к этот стандарт выполняет

А я что то утверждал другое? 
Цитата

A conforming implementation may have extension, provided they do not alter the behavior of any well-formed programm. Implementations are required to diagnose programs that use such extension that are ill-fomed according to this International Standard.





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.3708 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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