Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/51: Рейтинг темы: голосов - 51, средняя оценка - 4.94
0 / 1 / 0
Регистрация: 12.12.2014
Сообщений: 26

C++/C# (теория для новичка)

29.01.2018, 20:34. Показов 13465. Ответов 329
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я вот изучаю самоучкой C#, изучил всю базу, и структуры данных...
Но до сих пор волнует 1 вопрос.

Это сравнение C# и C++ (на обоих уже работал, но только как новичок 1 месяца, но много времени стараюсь уделить).

Говорят, что C# - это компонентно-ориентированный язык (знаю, что он включает в себя множество подвидов), и иначе, другие как объектно-ориентрованный язык.
Но а в случае C++ процедурный язык.

Но в чем же отличия между C++ и C#, в C++ ведь тоже описываешь отдельно объекты и методы определенного проекта(но я сейчас - это пишу, и не совсем уверен, путаница в голове вообщем).
Все никак не могу разобраться в этом.


Что же все таки подразумевается собою объектно-ориентрованный язык и процедурный.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2018, 20:34
Ответы с готовыми решениями:

C++ для новичка-не новичка
Знал с++, забросил - теперь опять. Но есть проблема что я знал с++ для дос, а мне нужен си для линукс-виндовс - то что можно продать. Я...

Подскажите пожалуйста IDE для линукса (например, для кали-линукса) для новичка для обучения программированию на си++
Сейчас обучаюсь стандарту си++ 2011. Подскажите новичку, чего выбрать? Есть небольшой опыт работы в qt, в линуксе ничего еще не умею делать.

видеокурсы для новичка....
Пожалуйста, скиньте ссылки на видеоуроки по Visual C++ для новичка... А то роюсь я целый день и найти никак немогу.....

329
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 11:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Avazart Посмотреть сообщение
Что значит истинные?
Стандартные.
Цитата Сообщение от Avazart Посмотреть сообщение
Три вида из которых как правило используются только два это ряд ли можно назвать "огромным множеством"
WinAPI/MFC/Builder - из этого стэка как минимум 10 наберется, большинство их которых используются на регулярной основе. Наверняка есть ещё версии реализации строк в других фрэймворках.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
1. А вы уверены что прям таки со всеми?
Со всеми популярными.
Цитата Сообщение от Avazart Посмотреть сообщение
2. QString(Qt) и String(VCL) тоже имеют такие средства в комплекте.
Согласен. Но это все таки разные строки, имеющие различный функционал, см. неоднородные.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 11:53
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Из одного типа в другой. Код не приведу, потому что много воды утекло с тех пор как я последний раз садился против своей воли за Builder.
Ну личные проблемы и предрассудки не конструктивны.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 11:57
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Стандартные.
Стандартные означает "обязаны быть искоропки" но ни коим боком не означает "оптимальны для любой конкретно взятой задачи"

Добавлено через 1 минуту
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Но это все таки разные строки, имеющие различный функционал, см. неоднородные.
Они имеют тот функционал который оптимален для фреймверков в составе которых они идут. Шарп же сам идет в составе фреймверка. Прочуствуйте разницу. Для примеру как вы будете плясать с бубном в шарпе если вам потребуется в качестве символа строки класс к примеру содержащий алфавит допустимых в этом месте символов. Со строками С++ это не проблема. И все операции с такими строками тоже останутся.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 11:57
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Согласен. Но это все таки разные строки, имеющие различный функционал, см. неоднородные.
В смысле разные? Я бы так не сказал. От разных фреймворков - да.
Но оба типа - COW. Оба работают с Unicide, оба предоставляют возможность конвертации из одной кодировки в другую итп.

C++Builder (VCL) вообще просто необходим свой тип потому как так портируется все из Delphi.

Почему так - да философия такая )))

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

Фреймворки предоставляют решения для более конкретных нужд.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 12:03
Цитата Сообщение от Avazart Посмотреть сообщение
Ну личные проблемы и предрассудки не конструктивны.
Согласен. Но это не предрассудки, и не личные проблемы. Необходимо было решить задачу в среде Builder, и она была решена. Проблемой это стало когда была дана задача для builder'а во второй раз. По тем впечатлениям у меня и сложилось отношение к C++ Builder'у.

Добавлено через 3 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
В смысле разные? Я бы так не сказал. От разных фреймворков - да.
Вы можете ездить по дороге на работу на жигулях, а по лесу на ниве. Это будут две машины, очень похожие друг на друга, но по своей сути - разные. Так и со строками, они могут отличаться друг от друга деталями. А можете использовать японский внедорожник, который бы имел лучшие черты жигулей и нивы, и подходил бы под различные задачи, покрывая самые важные их них.

Думаю Вы уловили суть.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Стандартная библиотека это лишь некий гибкий платформоне зависимый минимум для решения общих задач и построения своих типов.
Я могу использовать string для привязки данных в WPF/UWP, использовать на форме в ASP.Net, даже работать с ними с помощью WinForms. И у всех будет одинаковое поведение. Это ли не оптимальность?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 12:03
Я все так же не вижу примера кода или хотя бы примерного указания проблемы.
А так это лишь эмоции.
Я сколько пользуюсь С++Builder не замечал никакой проблемы, кроме того не вижу какие могут быть проблемы если все так же как в С++.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:04
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Но это не предрассудки, и не личные проблемы.
Это личная проблема которая называется незнание плюсов. Визуальная разработка от обязаловки умения пользоваться языком никоим образом не освобождает. А что касается таких средств как Builder и Qt то там на плюсах нужно уметь думать. И прекрасно понимать принципы построения фреймверка. Тогда от вида первой дельфы возникает одна эмоция - такую штука да под плюсы бы...
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 12:07
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Я могу использовать string для привязки данных в WPF/UWP, использовать на форме в ASP.Net, даже работать с ними с помощью WinForms. И у всех будет одинаковое поведение. Это ли не оптимальность?
А вы можете сделать что бы эти строки были однобайтными? или 4 байтными?

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

И вообще сравнение автомобилей вызывает улыбку.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:08
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Я могу использовать string для привязки данных в WPF/UWP, использовать на форме в ASP.Net, даже работать с ними с помощью WinForms. И у всех будет одинаковое поведение. Это ли не оптимальность?
Не поверите но в билдере вы можете делать все тоже самое (с той разницей что вся WPF мягко говоря до одной вкладки "стандартные" в палитре компонентов билдера не дотягивает )с базовой строкой которая пользуется фреймверком. Причем биндить можно даже визуально. Но оно оптимально только для одного фреймверка. Для фреймверка с другими задачами будут оптимальны более другие строки. Поймите наконец разницу - шарп это скриптовый язык примитивной формошлепки и живет он по правилам конкретного фреймверка. С++ это универсальный язык общего назначения и фреймверки под него живут каждый по своим правилам с оглядкой на правила плюсов.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 12:15
Цитата Сообщение от Avazart Посмотреть сообщение
А вы можете сделать что бы эти строки были однобайтными? или 4 байтными?
Зачем? Если мне понадобится их отправить по сети, я с помощью все того же Text.Encoding превращу их из UFT-16 в массив char, и произведу обратную процедуру при получении. Если перевести в другой формат, опять таки, Text.Encoding в помощь. Больше сценариев не вижу.

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
А так это лишь эмоции.
Эмоции начинаются тогда, когда кончаются аргументы. Как видите, аргументы я пока привожу. Единственная эмоция которая обязана быть - доброжелательность. Но без этого никуда :)



Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Ну кроме нивы есть еще куча внедорожников при чем разных марок и производителей, но все предназначены для езды по бездорожью.
Так точно. А теперь представьте что отбросили все внедорожники, и создали максимально близкий к идеалу, с возможностью расширений (в C# есть Extension методы).

Добавлено через 3 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Поймите наконец разницу - шарп это скриптовый язык примитивной формошлепки и живет он по правилам конкретного фреймверка. С++ это универсальный язык общего назначения и фреймверки под него живут каждый по своим правилам с оглядкой на правила плюсов.
Мне до этого нет никакого дела. C++ мой альма-матер, с которого все начиналось, и оставило больше положительных эмоций. Но говорить что он годится под все задачи, а все остальные языки - "недоязыки", это верх слепого фанатизма.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:16
Цитата Сообщение от Bespridelschic Посмотреть сообщение
А теперь представьте что отбросили все внедорожники, и создали максимально близкий к идеалу, с возможностью расширений (в C# есть Extension методы)
Вы компоненты к WPF давно крайний раз разрабатывали? Как ощущеньица от? А визуальная разработка фреймов где? А визуально их потом на формах и в датамодулях расставлять и связывать давно пробовали? А под билдер это основной способ расширения фреймверка (и в общем то разработки выходящей за мелкое формошлепство) еще с середины 90-х.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 12:20
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Зачем?
Может для того что бы меньше места занимали, или что бы были совместимы с каким либо другим типом/библиотекой.
Да мало ли для чего.. может хочу и все...
Это может требовать предметная область, например какой нибудь парсер, транслатор, или какой нибудь математический,лингвистический анализ который в котором нужно что выглядело именно так.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:20
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Но говорить что он годится под все задачи, а все остальные языки - "недоязыки", это верх слепого фанатизма.
На самом деле это констатация факта. Это начинаешь понимать когда задачи становятся серьезнее формошлепства и мелких шалостей с БД - т.е. тогда когда нужно строить свою иерархию долгоживущих объектов, особенно если им нужно жить по принципу создал, добавил в модель и забыл. Да и мелкие БД шалости на том же билдере куда попроще делать.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 12:23
Цитата Сообщение от Avazart Посмотреть сообщение
Может для того что бы меньше места занимали, или что бы были совместимы с каким либо другим типом/библиотекой.
Да мало ли для чего.. может хочу и все...
.Net Framework/Core работает не на микроконтроллере, поэтому память не критична в большинстве случаев. Если хотите сделать их совместимыми с другими либами - используйте System.Text.Encoding, который позволяет переводить хоть в ASCII. А если совсем памяти мало, можете использовать ассемблер, с его безграничными возможностями
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 12:26
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Эмоции начинаются тогда, когда кончаются аргументы. Как видите, аргументы я пока привожу. Единственная эмоция которая обязана быть - доброжелательность. Но без этого никуда
Я не вижу аргументов, ибо пример кода для указателей вы не привели,задачу не описали и близко - эмоции.

Добавлено через 1 минуту
Цитата Сообщение от Bespridelschic Посмотреть сообщение
.Net Framework/Core работает не на микроконтроллере, поэтому память не критична в большинстве случаев. Если хотите сделать их совместимыми с другими либами - используйте System.Text.Encoding, который позволяет переводить хоть в ASCII. А если совсем памяти мало, можете использовать ассемблер, с его безграничными возможностями
Память всегда критична ибо она ограничена. Вопрос лишь той или иной задачи в которой это может проявится.
Каким боком к памяти имеет отношение асемблер мне не понятно.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:26
Bespridelschic, Если память некритична то возможно управление памятью на двунаправленных слабовладеющих указателях. А это гораздо более продвинутая и скоростная концепция чем GC. Поэтому кстати и не ясно почему до сих пор тянут этот гарбадж с Generation GC. Он точно так же должен иметь список обратных указателей как и полная реализация двунаправленных указателей - т.е. по сравнению с GC оверхеда по памяти не будет но по скорости и гибкости будет огромный выигрыш, особенно если иметь пулы типизированного распределения памяти под объекты на уровне менеджера памяти.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 12:32
Цитата Сообщение от Avazart Посмотреть сообщение
Я не вижу аргументов, ибо пример кода для указателей вы не привели,задачу не описали и близко - эмоции.
Код я и не обещал, потому что исходников нет. И про задачу не было и слова.
Цитата Сообщение от Avazart Посмотреть сообщение
Память всегда критична ибо она ограничена. Вопрос лишь той или иной задачи в которой это может проявится.
Даже если вы будете выделять миллионы строк в минуту, вряд ли вас будет ожидать скорое переполнение. Давайте будем честны, в реальных задачах такое вряд-ли когда-то произойдет. Если не считать централизованные БД, работающие 24/7 с 2 гигами на борту. И я сомневаюсь, что программу на C++ не настигнет аналогичная проблема при таком расходе.

Добавлено через 1 минуту
Fulcrum_013, Вы сами себе нашли идею на миллион. Раз до сих пор это не сделано, реализуйте свою версию и продайте. А пока это пустой трёп.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.02.2018, 12:35
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Давайте будем честны, в реальных задачах такое вряд-ли когда-то произойдет.
Сталкивался с утечками памяти с GC объектами при создании трассировочного рендера. Банально ссылки на рекурсивно генерируемые лучи не обнулялись. Систему с 4GB памяти усадило на жесткий своп менее чем за секунду.
На плюсах такое просто невозможно, этот десяток 32-байтных лучей спокойно живет в стеке.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.02.2018, 12:42
Fulcrum_013, т.е. домен приложения раздулся более чем на 2.5 ГБ, и повесил систему менее чем за секунду? Я скорее поверю что это все дичайшим образом тормозило при работе, и вылетел не обработанный Exception в конце концов. Извините, я в сказки не верю.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.02.2018, 12:43
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Даже если вы будете выделять миллионы строк в минуту, вряд ли вас будет ожидать скорое переполнение. Давайте будем честны, в реальных задачах такое вряд-ли когда-то произойдет. Если не считать централизованные БД, работающие 24/7 с 2 гигами на борту. И я сомневаюсь, что программу на C++ не настигнет аналогичная проблема при таком расходе.
Это зависит от задачи.
Во вторых есть разные MiniPC, Роутеры, устройства, телефоны, планшеты итп.
Где возможно памяти куда меньше. Но не это важно, важно что объемы для обработки могут быть разные.
Аналогичная проблема возникнет и в С++, но будут средства что бы ее если не решить так уменьшить.

Если вы говорите что память не важна, посмотрите как тормозят приложения Java которые просто выжирают память.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2018, 12:43

SCADA для новичка
Доброе время суток! Проходил практику на гипсовом заводе и очень заинтересовало программирование на SCADA. Подскажите пожалуйста,какую...

C IDE для новичка
Думаю Pascal освоил (как в этом убедиться?) Хочу начать программировать на С (не С++), литературу нашел, а с выбором IDE ступор. Перечитал...

Linux для новичка
Подскажите пожалуйста, с линуксом не знаком, есть старый компьютер процессор amd Athlon 2.4 ghz x64, 512 оперативной памяти ddr1, и 128мб...

STL для новичка!
Здравствуйте! подскажите пожалуйста мне, дураку(только начал изучать STL) ответ на такой вопрос! что нужно подставить в 19 строку? ...

Литература для новичка
Посоветуйте книгу по Си, для человека который знает ( как работает цикл, функции и т. Д.) Желательно книгу где доступно объясняют. Мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru