Другие языки программирования и технологии

В чём основное отличие от C++ и C# ,у меня возникла дилема что из более функциональный и для чего нужен каждый ?!

Вуду Вуду
Вуду Вуду
4 357
Оба языка произошли из С. Сначала С++ появлся, затем С#. Языки похожи, но есть различия. С++ позволяет писать любые программы, от системных до игровых. Причём зная С++ можно в любой операционной системе писать, и в Windows и в Mac OS, и в Linux. C# предназначен для операционной системы Windows. Если собираешься только в ней работать, то он предпочтительнее. В C# появились новые дополнения и изменения языка C++. Например, в C++ любая прога из двух файлов, как минимум: файл .cpp и файл заголовков .h. В С# оба файла объединены и один. В С++ надо очень внимательно следить при работе с динамическими переменными. Если их вовремя не удалять, то может собраться в памяти мусор, который будет мешать работе программы. В C# весь мусор удаляется автоматически. Основной недостаток в том, что C# работает только в Windows. Если это ограничение не существенно, то C#. Правда игры по-прежнему пишутся на C++. Во-первых тут много уже наработано, во-вторых, он быстрее работает, а для игр скорость имеет важнейшее значение. Основы языков похожи, так что изучив один, легко освоишь и другой. Главное это осваивать нехнологии программирования, а именно, способы решения конкретных задач.
Алексей Карась
Алексей Карась
7 523
Лучший ответ
Мохначук Андрей Я на C# пробовала создавать небольшие консольные программки под Ubuntu, они еще и под виндой без проблем запускались (в смысле уже скомпилированные).
Так что в этом направлении язык развивается.
Это разные языки, их вообще нельзя сравнивать. Устраивает такой ответ?
C++ подходит для любых целей.
C# подходит для любых целей, не связанных с системным программированием.
@=
@_Sport_@ =)))
84 705
C++ более многофункциональный, многоплатформенный, программы на нем работают быстрее. C# проще, более надежен в отношении ошибок программирования, удобнее в работе.
C# пофункциональнее
а самый функциональный - Haskel
С++ используется практически на всех платформах, и для расширения функциональности огромного количества прикладных программ (API).
C# требует движок, который есть далеко не везде и далеко не все прикладные программы предлагают API под новые языки программирования.
Основное отличие в том, что C# полностью объектно ориентированнный. Также он использует дотнетовскую среду в обязательном порядке (т. е. для работы уже написанных приложений необходимы доп. библиотеки в системе) .
C# более прост в освоении, но менее гибок, и скорость программ, написанных на нем, меньше.
C# может использовать библиотеки, написанные на C++, что позволяет вести разработку на обоих языках, распределяя задачи таким образом, чтоб использовать возможности языков наиболее эффективно. (Предпочитаю писать интерфейсы на шарпе, а функциональные модули на ++)
Зная C++ можно легко освоить C#, а вот обратное утверждение неверно.
Разница очень большая, нельзя описать в пределах одного ответа. Например, одно из отличий: В С++ ответственность за освобождение памяти возложена на программиста, а в C# сборку мусора выполняет среда CLR.
С# больше похож на Java.

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