Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Программирование C++

Опубликовано
Скажите, что нужно для программирование на языкe c++какой компилятор? какие проги? и т.д
  • Ответов 82
  • Просмотры 10,5 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Рекомендуемые сообщения

Опубликовано
Можно реплику, не в упрек кому-либо. Человек обозначил топик как пара вопросов. По конкретному языку программирования. А сейчас философия идет. Если не прав, скажите.
Опубликовано
Буч определил эти принципы как принципы объектного подхода, но да не в этом суть.
Дайте конкретную ссылку где он это определил, а то получится как по 9-му правилу Чапека:

 

Testimonia (свидетельства - лат.). Этот прием основан на том, что иногда удобно использовать ссылку на авторитет (какой угодно), например, заявить — «еще Пантагрюэль говорил» или «как доказал Трейчке». При известной начитанности на каждый случай можно найти какую-нибудь цитату, которая наповал убьет противника.

Г.Буч, Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Второе издание, Пер. с англ. Невский диалект, издательство Бином, 1998 г.

Глава 2. Объектная модель. Параграф 2.2 Составные части объектного подхода.

Если говорить о первоисточнике, то вот:

Object Oriented Analysis and Design with applications, third edition, Chapter 2 Object Model, 2.3 Elements of the Object Model, p.43 - 71.

The Addison-Wesley Object Technologies series.

 

Данная книга является хорошим примером компиляции и осмысления идей. В ней есть ссылки на огромное количество источников. Идеи и нотация Буча были признаны и

одобрены в последствии консорциумом Object Management Group, а сам Буч в соавторстве с другими грамотными людьми разрабатывал UML и методологию RUP.

Если у кого-то есть сомнения в квалификации Буча, то вот что о нем обычно пишут издатели:

 

Grady Booch is an IBM fellow and author of six best-selling books on object-oriented programming. He is world-reknowned as an originator of OO and founder of UML.

 

Именно такая классификация была выбрана при создании курса ООП для ФИТ, одобрена на ученом совете факультета, согласуется с последующим курсом ООАД.

Оба курса читаются уже 10 лет, и требований по их переработке, ровно как и критики теоритических основ не поступало.

 

В конце 90-х хороших книг по этой теме на русском языке было очень мало, и как показала дальнейшая история, более стройного изложения теории ООП найти не удалось, хотя были проанализированы труды Мейера, Грэхема, Элиенса, Мартина, Фаулера, Страуструпа, Мейерса.

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

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

До принятия базиса я пробовал читать C++ по Страуструпу и стандарту, а Java по Java Language Specification и труду Ноутона и Шилдта. Сильно не хватало теоритического каркаса, который и удалось найти у Буча.

 

Но, как я говорил, базисов может быть много, упрощенный из четырех принципов тоже можно использовать при изучении C++, но для Java и .NET его маловато.

Опубликовано
Буч определил эти принципы как принципы объектного подхода, но да не в этом суть.
Дайте конкретную ссылку

Г.Буч, Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Второе издание, Пер. с англ. Невский диалект, издательство Бином, 1998 г.

Глава 2. Объектная модель. Параграф 2.2 Составные части объектного подхода.

Если говорить о первоисточнике, то вот:

Object Oriented Analysis and Design with applications, third edition, Chapter 2 Object Model, 2.3 Elements of the Object Model, p.43 - 71.

The Addison-Wesley Object Technologies series.

Ну дык там и написано, что typing, concurrency и persistence являются полезными, но необязательными элементами концептуальной базы всего объектно-ориентированного. Эти дополнительны принципы не являются неотъемлимо объектно-ориентироваными, а являются полезным дополнением при любом дизайне.

 

Вы пишите много, но я не могу уловить единой концептуальной установки вашей речи. Вроде о том, о сём, а сказать-то что хотите? Единая, цельная мысль, которую я вынес из вашего длинного изложения: на ФИТ всё хорошо с преподованием ООП. Всё остальное как-то раздробленно. Всё началось с утвеждения: «если хочется просто научиться программировать, то лучше учить питон, т.к. проще». Вы в ответ начали говорить про границы применимости. Ну да, границы применимости есть у всего, в том числе и у питона. Но где в исходном утверждении про широкие границы применимости питона :blink:? Когда вам на это указали, вы перепрыгнули на степень поддержки ООП. Где в исходных требованиях ТС или в утверждении Tonal-я что-то о супер-пупер поддержке ООП :blink:? Вы перепрыгнули с одного базиса сравнения, с совешенно на другой. Почему? Зачем? Дальше была песня ФИТ и тому как всё там хорошо. Да, я понял, как я уже сказал — это была единственная цельная мысль.

 

Можно вас попросить сузить размах мысли? Что хотите доказать? Что питон не стоит учить начинающему из-за того, что там нет concurrency и persistence ? Я правильно понял? Можно кратко, без объяснений как крут Буч и как обучают на ФИТ.

Опубликовано
Можно вас попросить сузить размах мысли? Что хотите доказать? Что питон не стоит учить начинающему из-за того, что там нет concurrency и persistence ? Я правильно понял? Можно кратко, без объяснений как крут Буч и как обучают на ФИТ.

вам просто культурно обьяснили, что современное программирование и Питон, как формула 1 и самокат, две вещи несовместимые. конечно ездить на самокате научиться проще, чем на гоночном болиде. но какой в этом смысл? самокат конкурентоспособен только против другого самоката.

Опубликовано
Можно реплику, не в упрек кому-либо. Человек обозначил топик как пара вопросов. По конкретному языку программирования. А сейчас философия идет. Если не прав, скажите.

Нет, вы правы, вы сделали совершенно правдивое утверждение.

Опубликовано
вам просто культурно обьяснили, что современное программирование и Питон это две вещи несовместимые
Во-первых, вы плохо и невнимательно читали то, что писал vsev. Ну и второе — это инверсия вашего очередного голословного утверждения: питон и современное программирование совместимы.
Опубликовано
конечно ездить на самокате научиться проще, чем на гоночном болиде. но какой в этом смысл? самокат конкурентоспособен только против другого самоката
А зачем учиться ездить на болиде, если человеку нужен самокат и в гробу он видал конкурентно-способность :blink:? Да и значимость питона для совеременного программирования вы принижаете. Видимо, по незнанию.
Опубликовано
конечно ездить на самокате научиться проще, чем на гоночном болиде. но какой в этом смысл? самокат конкурентоспособен только против другого самоката
А зачем учиться ездить на болиде, если человеку нужен самокат и в гробу он видал конкурентно-способность :blink:? Да и значимость питона для совеременного программирования вы принижаете. Видимо, по незнанию.

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

Но, по моему личному опыту, и по опыту обучения студентов, видно, что C++ учить самостоятельно очень сложно, и главное не очень понятно - почему именно C++?

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

Изучив Java, человек познакомится:

1. Со всеми 7 принципами (элементами, как угодно называть можно) объектного подхода/модели

2. Получит знание языка основанного на синтаксисе C, что облегчит адаптацию в будущем к .NET и, при необходимости, C++

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

4. Сможет при желании освоить дополнительно весь спектр от программирования для телефонов до распределенных Enterprise систем.

5. Учить java легко, потому что есть огромное количество tutorials, хороших книг (например написанных Эккелем, Шилдтом)

6. Вокруг есть большое количество программистов и специалистов по Java, у которых можно спросить совет.

 

А теперь скажите, способен ли в контексте данных соображений Python составить конкуренцию Java?

Опубликовано
Вообще-то, если посмотреть на начало темы, то видно, что человек хотел изучить именно C++, что уже указывает на серьезность намерений - т.е. желание учить один из mainstream языков.
«Серьёзность» — термин расплывчатый. Допустим, что в вашей терминологии «желание учить C++» переводится как «серьёзность». Как из вашей «серьёзности» следуют остальные выведенные вами желания и хотения персонажа, как-то: неограниченность применения и широкий охват ООП для целевого языка, если мы ему советуем не C++?

 

Но, по моему личному опыту, и по опыту обучения студентов, видно, что C++ учить самостоятельно очень сложно
Не знаю. Я прочитал в своё время Страуструпа, ещё первое издание. Мне хватило. Почему сложность бы была меньше, если бы я не самостоятельно читал, а кто-то это делал за меня — непонятно.

 

и главное не очень понятно - почему именно C++?
Да какая разница, название человеку нравится.

 

А теперь скажите, способен ли в контексте данных соображений Python составить конкуренцию Java?
По отдельным пунктам можно поспорить. В целом нет, наверное :hz:. А он собирался в этом контексте составлять ей конкуренцию :blink:?

 

Опубликовано

Ну если заменить Java на Python то из второго утверждения придётся убрать С и С++, 4-е чуть сузить, а 5-е можно несколько расширить.:)

 

Я не в коем случае не пытаюсь оспорить выбор курса на ФИТ - хорошо что он есть. :)

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

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

 

П. С. Кстати, а сейчас разве возможно посещать какие-либо курсы не будучи студентом соответствующего факультета/потока?

Я когда-то ходил на интересные мне лекции уже не будучи студентом. :)

Опубликовано

Да, можно.

Лекции по ООП обычно проходят в к.223 нового спортивного комплекса НГУ и туда можно пройти свободно.

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

Но иногда первый семестр проходит в главном корпуса в БФА (сейчас БА), в принципе туда можно пройти по паспорту если записаться на вахте.

Если просто хочется познакомиться с содержимым курса, то все материалы доступны по адресу:

http://ccfit.nsu.ru/~rylov

 

Опубликовано
Ребята, вы мне можете сказать: посетив лекцию(и) (2,3,...) человек программировать научится? Да нет же. Я в свое время и не ходил. И ниче, вроде что-то знаю. Ассемблер так вообще самостоятельно изучал. Интересно было мне, а никто по нему лекции и не читал. Вот так всё у меня плохо и неправильно.
Опубликовано
Ребята, вы мне можете сказать: посетив лекцию(и) (2,3,...) человек программировать научится? Да нет же. Я в свое время и не ходил. И ниче, вроде что-то знаю. Ассемблер так вообще самостоятельно изучал. Интересно было мне, а никто по нему лекции и не читал. Вот так всё у меня плохо и неправильно.

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

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

Я в свое время все изучал практически сам, на лекции по ИТ ходил редко (да тогда и проекторов не было, только доска и мел), но глубоко проникся предметом (особенно C++), только после того как начал его преподавать.

Самый мрак был когда в магистратуре читал спецкурс по Java (тогда еще была 1.1) собственным одногруппникам, и в результате мне не хватало одного зачета, так как поставить сам себе его не мог :).

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

Опубликовано
Ребята, вы мне можете сказать: посетив лекцию(и) (2,3,...) человек программировать научится? Да нет же. Я в свое время и не ходил. И ниче, вроде что-то знаю. Ассемблер так вообще самостоятельно изучал. Интересно было мне, а никто по нему лекции и не читал. Вот так всё у меня плохо и неправильно.

Лекции никогда и ни в чём не давали практических навыков :hz:. Лекции нужны для создания общего кругозора и системности знаний. Известно, что тот, кто изучает предмет сам, может иметь глубокие познания в определённых специфических частях предмета, обладая при этом вопиющими белыми пятнами в других. Т.е., как вы правильно про себя сказали: «вроде, что-то знаю». Величина «вроде» при этом совершенно непредсказуема. Наличие практических навыков — вещь к лекциям вообще перпендикулярная.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.