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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Программирование на С++  (Прочитано 7401 раз)

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

Оффлайн NetFly

  • Новичок
  • *
  • Сообщений: 9
  • работаю с debian, учу с++
    • Просмотр профиля
Re: Программирование на С++
« Ответ #15 : 09 Октября 2012, 11:29:55 »
Цитировать
Не мутите воду, пожалуйста. Чел взялся за Си, а не за Си++. Вывод в Си++ делается мягко говоря иначе, чем в Си. Да и в вашей голове каша та ещё. Зачем вы мешаете серое с мягким? Ваша программа идеологически правильно должна выглядеть так.

Кстати в Ubuntu 10.04 компилятор gcc без проблем компилировал приложение, которое я написал(пример был взят из книжки Лафоре Р. - Объектно-ориентированное программирование в С++ (4-е изд.) 2004). А вот после обновления на 12.04 уже стал выдавать ошибку. с чем это может быть связано не знаю. проверял на старой 10.04 livecd.

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #16 : 09 Октября 2012, 12:24:04 »
Lifewalker,
а для чего в главную функцию передавать void ?
Умные люди подсказали, что так можно показать компилятору, что я не собираюсь пытаться использовать параметры командной строки и возиться с этим не нужно. В общем, заскоки пуриста и перфекциониста. Делать или нет так же - ваше право.

Пользователь решил продолжить мысль 09 Октября 2012, 12:27:57:
окей, это интересно, т.е. в этом случае можно не обозначать пространство имен!!!
Не «не обозначать пространство имён», а не вводить объявления символов из пространства имён std в глобальное пространство имён. Чувствуете разницу?

Примерно по такому учебнику я и обучаюсь. Если знаете какие нить современные хорошие варианты учебников- в студию.
Не знаю :) Последний учебник, что я держал в руках была монография Б.Страуструпа издания 1993 (или около того) года. После этого слегка следил за околоязыковыми манёврами по сводкам с интернет-фронтов.

Пользователь решил продолжить мысль 09 Октября 2012, 12:33:12:
Там вроде как учат С++, но почему-то объясняют Си.
А это большая проблема и учителей и учеников. Кто-то когда-то сдуру сморозил, что типа «Си++» это «Си» + «++», хотя это совершенно не так. Это два разных языка, с похожими синтаксисами. Понимать и изучать их нужно по-разному. Потому я и посоветовал топикстартеру начать с Паскаля (простого, чистого, исходного ISO Паскаля без всяких псевдо-объектных закидонов от Борлада или как там его звать сейчас). Паскаль - хороший простой процедурный язык без заскоков. Не позволяющий мешать в голове разные смыслы и понятия.
« Последнее редактирование: 09 Октября 2012, 12:33:12 от Lifewalker »

Оффлайн NetFly

  • Новичок
  • *
  • Сообщений: 9
  • работаю с debian, учу с++
    • Просмотр профиля
Re: Программирование на С++
« Ответ #17 : 09 Октября 2012, 14:12:38 »
Цитировать
Не «не обозначать пространство имён», а не вводить объявления символов из пространства имён std в глобальное пространство имён. Чувствуете разницу?
спасибо, что поправили. Думаю в ближайшем будущем этот вопрос более подробно проработаю. в очередной спасибо!))

Оффлайн gerk787

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Re: Программирование на С++
« Ответ #18 : 10 Октября 2012, 09:57:53 »

А это большая проблема и учителей и учеников. Кто-то когда-то сдуру сморозил, что типа «Си++» это «Си» + «++», хотя это совершенно не так. Это два разных языка, с похожими синтаксисами. Понимать и изучать их нужно по-разному. Потому я и посоветовал топикстартеру начать с Паскаля (простого, чистого, исходного ISO Паскаля без всяких псевдо-объектных закидонов от Борлада или как там его звать сейчас). Паскаль - хороший простой процедурный язык без заскоков. Не позволяющий мешать в голове разные смыслы и понятия.


Так я так и не понял стоит мне учить по тем урокам с++? Но я планирую с начала Pascal изучить.

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #19 : 10 Октября 2012, 17:29:15 »
Так я так и не понял стоит мне учить по тем урокам с++? Но я планирую с начала Pascal изучить.
Откуда я знаю, стоит или нет. Я бы не стал, потому что для меня Си++ — это страхолюдное убожище, избавившись от которого человечество вздохнёт свободно. Если же вы считаете, что Си++ — это «счастье наше, человечества рассвет», то милости прошу.

Вы хотите программирование изучить или язык программирования? Что толку изучить Си++, если вы путаетесь в элементарных вещах? Для изучения программирования как дисциплины изумительно подходит Паскаль. Для программирования как применения изученной дисциплины подбирайте тот инструмент (язык в частности), который более всего адекватен задаче. Или ТЗ.

Оффлайн NetFly

  • Новичок
  • *
  • Сообщений: 9
  • работаю с debian, учу с++
    • Просмотр профиля
Re: Программирование на С++
« Ответ #20 : 10 Октября 2012, 21:45:28 »
Так я так и не понял стоит мне учить по тем урокам с++? Но я планирую с начала Pascal изучить.

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

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

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

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #21 : 11 Октября 2012, 00:10:35 »
Я знаю только 1 верный способ изучить программирование- это ассемблер. Но с него очень тяжело начинать.
Если уж на то пошло, то нужно взяться за собственную ОС. Когда я был совсем-совсем молодым, я решил попробовать написать примитивнейшую ОСьку. Оську в полной мере я конечно не осилил, но историю написания простенького загрузочного сектора на дискету (с предупреждениями всё такое) + некоего псевдоядра (успешно валившегося в ребут при переходе в защищённый режим) я помню до сих пор. Очень хороший урок был.

Что касается си, с++, в моем понимании- это высокоуровневый язык, который может дать некую гарантию, что написанный вами код сегодня, будет так же работать и через 20лет. в этом собственно фишка любых си.
Фишка Си в том, что код, написанный вчера, невозможно прочесть и понять сегодня. :)
Долгожительство кода обеспечивается другими методами, язык важен, но не критичен.
« Последнее редактирование: 11 Октября 2012, 00:45:37 от Lifewalker »

Оффлайн astrobeglec

  • Активист
  • *
  • Сообщений: 838
  • Самая тяжелая ноша - пророк в извращенном мире...
    • Просмотр профиля
Re: Программирование на С++
« Ответ #22 : 11 Октября 2012, 09:12:36 »

Повторю вопросы:
1 - Верное ли расширение файла .с
2 - Почему не компилируется?
3 - что за ошибка и как её исправить?
4 - Стоит ли учить С++ по этим лекциям? Программа обучения соответственна с современными стандартами языка?

Заранее благодарю.
 

1. Расширение по барабану. В Linuxе расширения пишутся "для себя" и при использовании консоли программа принимает входной файл не обращая внимание на расширение.
2. Посмотри в папке новый файл. Если он есть - то компиляция прошла успешно.
3. Только просмотр кода может выявить ошибку.
4. Учить нужно прежде всего по учебникам. И начинать не с курсов, а с алгоритмов, графов... И только потом заниматься программированием.

Пользователь решил продолжить мысль 11 Октября 2012, 09:17:22:
Я знаю только 1 верный способ изучить программирование- это ассемблер. Но с него очень тяжело начинать. А остальное- это способ удовлетворения своих- либо чужих потребностей за соответствующую плату. си писался по образу и подобию ассемблера, если я не ошибаюсь. Но все же проще идти от легкого к сложному и поэтому имеет смысл выучить какой- нибудь высокоуровневый язык, делфи, с++, еще что нить... А потом просто сидеть и разбираться как все работает. С++ был создан на языке си, соответственно выучив его и разбираясь в нем выучишь и си, а затем, если будет необходимость можно будет научиться оптимизировать части кода на ассемблере.

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

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

Пользователь решил продолжить мысль 11 Октября 2012, 09:19:41:
Фишка Си в том, что код, написанный вчера, невозможно прочесть и понять сегодня. :)
Долгожительство кода обеспечивается другими методами, язык важен, но не критичен.
Да ну. Код на си очень даже читаем... Его проблема в том, что зачастую этого кода много. Вот тоже вопрос - си является самым гибким языком, но вот эту гибкость редко где увидишь.
« Последнее редактирование: 11 Октября 2012, 09:19:41 от astrobeglec »
Я вернулся...

Оффлайн Дядюшка Ау

  • Участник
  • *
  • Сообщений: 123
  • Дайте две!
    • Просмотр профиля
Re: Программирование на С++
« Ответ #23 : 11 Октября 2012, 13:51:32 »
Цитировать
Си++ — это страхолюдное убожище, избавившись от которого человечество вздохнёт свободно.

Ну зачем же так сурово? Что, чистый Си лучше? Понятнее, читабельнее? Все языки с фигурными скобками и for( ; ; ) этим грешат. Кто-то больше, кто-то меньше.
Ubuntu 12.04 для поколупацца, Win7 для поработать

Оффлайн mastepaner

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Программирование на С++
« Ответ #24 : 23 Октября 2012, 12:50:55 »
GCC now uses C++ as its implementation language [2012-08-14] The cxx-conversion branch has been merged into trunk. This switches GCC's implementation language from C to C++.
Ура, товарищи. От С++, от этого "страхолюдного убожища" нам, к счастью, не избавиться ещё очень долго! С++11 превозмогает!

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Программирование на С++
« Ответ #25 : 23 Октября 2012, 18:56:51 »
Си++ — это страхолюдное убожище, избавившись от которого человечество вздохнёт свободно.

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

Я вам искренне сочувствую Lifewalker :)) но не расстраивайтесь :)) не всем же быть гениями, должны быть и серые лошадки :))) есть в мире множество языков программирования, которые даются более легко, чем С++ например Java, C# я думаю вы найдете свою "тихую гавань" где вы будете себя чувствовать уверенно :)))
Xubuntu 12.04 LTS с Xfce 4.10

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #26 : 23 Октября 2012, 19:12:33 »
Gekko,
Думаешь, поставил на место идиота? Ну думай дальше :)

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Программирование на С++
« Ответ #27 : 23 Октября 2012, 21:37:35 »
Gekko,
Думаешь, поставил на место идиота? Ну думай дальше :)

Да мне без разницы :)) просто я увидел смешную фразу: "Си++ — это страхолюдное убожище," которая очень похожа на фразу: "Мерседес дерьмовая машина" или "Роллс-Ройс машина для бомжей" вот и не сдержался от смеха :))
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн Дядюшка Ау

  • Участник
  • *
  • Сообщений: 123
  • Дайте две!
    • Просмотр профиля
Re: Программирование на С++
« Ответ #28 : 23 Октября 2012, 23:12:33 »
Gekko, вообще говоря, Lifewalker зря говорить не станет. Если сказал, значит у него есть причины так считать. Но мне и правда интересна расшифровка такого мнения - почему вдруг так резко?
Ubuntu 12.04 для поколупацца, Win7 для поработать

Lifewalker

  • Гость
Re: Программирование на С++
« Ответ #29 : 24 Октября 2012, 00:23:14 »
Потому что Си++ это как ... не знаю, как лазерная указка. В руках преподавателя - благо, в руках идиота - разбитый самолёт. В руках профессионала Си++ может вытворять чудеса, но профессионалов мало, предельно мало, один на сотню.

Много вы видели программ где оправдано применение тернарной операции? Много программ, где невозмоожно обойтись без перегрузки операторов или множественного наследования? Действительно ли нужно иметь возможность написать что-то вроде i = i++ - ++i; Когда вы в последний раз использовали ключевое слово friend? Потому я категорически против того, чтобы детя́м спички давать.

Здесь на форуме иногда задают вопросы по Си++. Недавно влез в тему, в которой один перец для обработки 8 (восьми!) символов создавал массив объектов типа string. Это ж пипец полнейший. :knuppel2:

Когда-то (лет 20 назад) я писал кипятком от крутотенюшки Си++. Повзрослев и поумнев понял, что сила в простоте и ясности, а не в возможности выёжываться перед коллегами и прочими простолюдинами, ниасиившыми язык настоящих кулхацкеров.
« Последнее редактирование: 24 Октября 2012, 00:30:55 от Lifewalker »

 

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