Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Объясните начинающему с чего начать изучат C++ для Линукс  (Прочитано 3409 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн photographer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
1. C и С++ никогда ранее не изучал, только Бейсик и Паскаль в школе;
2. Скачал книгу Шилд - Базовый курс С++ - подойдет ли она если у меня Линукс установлен и я под линукс хочу программировать;
3. Есть ли различия в переменных и заголовочных файлах для линукс и windows?
4. Что еще можно почитать для начинающих?
« Последнее редактирование: 22 Февраля 2012, 12:41:02 от photographer »
Ubuntu 13.10 на десктопе AMD A6-5400K APU with Radeon(tm) HD Graphics × 2, 4 Гб ОЗУ

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
1. C и С++ никогда ранее не изучал, только Бейсик и Паскаль в школе;
так может и начинать не надо?

2. Скачал книгу Шилд - Базовый курс С++ - подойдет ли она если у меня Линукс установлен и я под линукс хочу программировать;
Шилдт - совсем не тот автор, по которому учиться, ему бы только писать, обо всём :(...

3. Есть ли различия в переменных и заголовочных файлах для линукс и windows?
конечно ;)

4. Что еще можно почитать для начинающих?
1. вы уж определитесь: С или С++ ?
2. весь Linux написан на C: когда мы говорим Linux - мы говорим С. ;)
3. а если у вас есть класс задач, подходящих под C++, то C++ нужно читать по Б.Страуструпу и никому больше: у этого языка один автор.
4. почитайте вот это: http://rus-linux.net/forum/viewtopic.php?f=3&t=1495 - или вам станет понятно "есть ли различия в переменных и заголовочных файлах для линукс и windows" и в чём ... или пропадёт желание программировать, что тоже хорошо. ;)
« Последнее редактирование: 22 Февраля 2012, 13:41:37 от Olej »

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
1. если есть понимания паскаля -- гут, будет проще
2. понятия не имею, что в этой книге. начните лучше с "Язык программирования С++" Б. Страуструп
3. есть. и сейчас это вас волновать не должно вообще.
4. см. п. 2

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
1. если есть понимания паскаля -- гут, будет проще

А вот это - вряд ли: языки Н.Вирта (Pascal, Modula, Oberon) имеют совершенно другую философию, чем C-группа, и их знание только сбивает с толку :(

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Интересно, как знание может сбивать с толку?
Извините, я все еще учусь

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Интересно, как знание может сбивать с толку?

элементарно, Ватсон:

- в C разделитель ';' - разделяет операторы, а в Pascal/Modula - завершает; расставленные "по привычке" ';' порождают просто синтаксически ошибочные конструкции.

- для Pascal вложенность областей видимости, определений функций - естественная и нужная вещь, в стандарте C это недопустимо, а в расширениях GCC - допустимо как экзотика.

- у них совершенно разная (по виду!) типизация: в Pascal - структурная, с C ... - она практически отсутствует, а в C++ - именная; и это очень важно ... для создания тонких ошибок ;)

... это только малая часть, для "натырки" ;)


Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Начните лучше с чистого С, иначе в С++ сразу утоните.
Освоите С, если будет желание можно на С++ перейти
Вот отличный учебник http://lib.ru/CTOTOR/kernigan.txt

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Начните лучше с чистого С, иначе в С++ сразу утоните.
Освоите С, если будет желание можно на С++ перейти
Вот отличный учебник http://lib.ru/CTOTOR/kernigan.txt

Это да:
- для С++ лучшей основой будет С;
- причём, для Linux именно С базовый язык, и бОльшая (подавляющая) часть Linux проектов прописана на C, а не С++ (ядро, все GNU утилиты, ...);
- по С лучший учебник всех времён и народов есть Керникан и Ритчи (Ритчи умер в октябре 2011)
http://www.books.ru/books/yazyk-programmirovaniya-c-vtoroe-izdanie-pererabotannoe-i-dopolnennoe-559201/?show=1


andrey_p

  • Гость
Начните с определения задачи, то есть ответьте себе в первую очередь - зачем вы хотите изучать c++?

Чистейшей воды ИМО: С++ очень интересный язык, но сложный и архаичный, сдающий потихоньку свои позиции. Его применение, которое долго еще будет востребовано  - системное программирование (особенно встроенные системы), где он конкурирует с С (ближе к железу) и Java (проще, современнее, огромная стандартная библиотека).




Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Если интересует ООП, лучше ориентироваться на C#

Оффлайн Кровавый

  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн DoZAT0R

  • Участник
  • *
  • Сообщений: 161
  • Суров, но справедлив!
    • Просмотр профиля
    • DoZator on GitHub )
Вставлю и я свои пять копеек )

1. C и С++ никогда ранее не изучал, только Бейсик и Паскаль в школе;
так может и начинать не надо?
Ну это вы зря. Похвально что человек хочет развиваться. Единственно согласен с тем, что стоит определиться чего нужно добиться изучая язык. А отсюда вероятно и выбрать другой язык/технологии/библиотеки/фреймворки и т.д.
2. Согласен: "Язык программирования С++" Б. Страуструп
3. Рано об этом думать ) Начните всё узнаете!
4. От того по какому пути планируете двигаться )

Цитировать
Если интересует ООП, лучше ориентироваться на C#

Ну если очень интересует C# и .NET то на этом форуме смысла впустую торчать нет (Mono не нужен).
Señor_Gaga, а можно ориентироваться на Objective-C если интересует ООП? )))
Ubuntu Server 14.04 on Amazon AWS
Mac OS X 10.9.5

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
элементарно, Ватсон:
Так это незнание сбивает с толку, что вы и проиллюстрировали.;)
Извините, я все еще учусь

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Если интересует ООП, лучше ориентироваться на C#

не лучше!
C# - это микрософтовский выкидыш, который нигде больше не прижился, Mono - не вспоминать, это только от большой нужды.

а если уж так сильно прёт на "ООП", то читайте, лучше, Java:
- именно в том виде, как оно от Sun родилось - JDK/JRE;
- которое во всех смыслах превосходит С#, С# - это жалкая попытка сделать "свою Java"...
- потребность в Java-программистах в крупных разработческих фирмах (особенно оутсорсинг) - огромная, зарплаты - тоже...
- дальше потребность будет только возрастать ближайшие годы, с переносом активности на мобильные платформы, Android, Chrome OS и т.д.
   


Пользователь решил продолжить мысль 22 Февраля 2012, 17:34:43:
Так это незнание сбивает с толку, что вы и проиллюстрировали.;)

SergeyIT, я на вас время терять не буду больше... но байку такую расскажу:

- был такой за всю историю IT (не путать с SergeyIT ;)) умнейший дядько, который сделал для этого IT как никто другой...
- звался он Эдгар Дейкстра ... не слышали?
- так вот, есть такое знаменитое открытое письмо Э.Дейкстры в IEEE,
- где он рекомендует и требует предавать уголовной ответственности тех, кто обучает программированию на языке BASIC,
- поскольку переучить их потом труднее, чем новых выучить с нуля,
- потому как язык - это способ мышления.

Классика.
Ищите, читайте... просветляйтесь ;)

Цитировать
Извините, я только учусь

... вот и учись, пока я живой ;)


Пользователь решил продолжить мысль 22 Февраля 2012, 17:39:08:
1. C и С++ никогда ранее не изучал, только Бейсик и Паскаль в школе;
так может и начинать не надо?
Ну это вы зря. Похвально что человек хочет развиваться.
Почему же зря?
Похвально то похвально, только пусть сначала всяк человек трезво оценивает в какие тяготы он влезает ... на всю оставшуюся жизнь. ;)

Цитировать
Если интересует ООП, лучше ориентироваться на C#

Ну если очень интересует C# и .NET то

Не-е-е-е... "если очень интересует C# и .NET", то лучше сразу повеситься, маленьким, чтоб потом долго не мучиться ;).

« Последнее редактирование: 22 Февраля 2012, 17:40:41 от Olej »

Оффлайн photographer

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Всем спасибо за комментарии и ответы. Для себя выбрал сначала изучать C (раз он ближе Линуксу). А дальше будет видно.
Ubuntu 13.10 на десктопе AMD A6-5400K APU with Radeon(tm) HD Graphics × 2, 4 Гб ОЗУ

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.