IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Различия C (https://www.imho.ws/showthread.php?t=125590)

Tulip 06.11.2007 20:01

Различия C
 
А в чем различия языков C# и C?

V0land 06.11.2007 20:28

http://ru.wikipedia.org/wiki/C_Sharp
http://ru.wikipedia.org/wiki/Си_(язык_программирования)

ну а если коротко, то сишарп работает на технологии .NET и без установленного .НЕТ фреймворка на компе, прога, написанная на шарпе не пойдет.

с другой стороны, сишарп проще для начинающего, имхо.

зы. знающие меня поправят =)

pnp2000 06.11.2007 20:45

стоит так-же добавить что халявы небывает , и приложения C# работают ЗНАЧИТЕЛЬНО медленнее своих С/С++ аналогов , спасает лиш то что для небольших приложений мощность большиства современных машин этот недостаток компенсирует

Drakosha 06.11.2007 21:18

А если обобщить - это совершенно разные языки ;). Читай википедию (линки сверху). Если есть конкретная задача - то наверное можно посоветовать какой язык выбрать (и то не всегда) - а так это как спросить в чем разница между яблоком и апельсином ;) ;)

Tulip 06.11.2007 22:25

Спасибо за информацию. :yees:

KapMaH 30.11.2007 01:54

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

Hubbitus 03.12.2007 00:46

Цитата:

Сообщение от KapMaH (Сообщение 1490098)
На самом деле написать приложение чуть больше чем "хелло ворлд" на чистом С++, да ещё снабдить его более приятным интерфесом чем консоль довольно хлопотно. Посему и берут шарпей для написания графического интерфейса.

Ну и на С++ есть неплохие и очень мощные библиотеки графического интерфейса.

sudo 03.12.2007 01:07

ИМХО разница скорее идеологическая... C ближе к железу (тактика), C# ближе к ОО-абстракциям (стратегия), ну и к Microsoft-у, вестимо.

AlgualKi 20.12.2007 18:39

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

ЕЖ 20.12.2007 19:09

Цитата:

Сообщение от AlgualKi (Сообщение 1499943)
Но что-то серьезное на сишарпе только мазохист будет писать.

Очень не серьезное утверждение :contract:
Не тот ли программист будет "мазохистом", который вместо концентрации на серьезной бизнес логике очень серьезного бизнес-приложения будет воевать со значительно более вероятными утечками памяти в неуправляемом коде С++?

Тут без определения назначения этого самого "чего-то серьезного" никак не обойтись...

AcraL 21.12.2007 00:50

Цитата:

Сообщение от ЕЖ (Сообщение 1499955)
неуправляемом коде С++?

не знаю такого.
Если все нормально написано, ни каких утечек памяти не бывает. Это факт.

KapMaH 21.12.2007 01:15

Цитата:

Сообщение от AcraL (Сообщение 1500072)
не знаю такого.
Если все нормально написано, ни каких утечек памяти не бывает. Это факт.

Да-да... я понимаю, кругом же одни гении...
Сколько я не видел библиотек, будь то GUI или что другое, во всех есть ошибки. Без них никуду не деться. Потеря памяти - самая распространённая ошибка в С ++ это факт. Хоть и написанно тысячи книг про это, ошибки повторяются раз за разом. Виной тому полиморфия в Си, это одно из самых спорных мест в его философии и использование указателей - это мощное оружие, но порезаться об него, как нефиг делать.

AcraL 21.12.2007 01:29

Цитата:

Сообщение от KapMaH (Сообщение 1500077)
Потеря памяти - самая распространённая ошибка в С ++ это факт

С этим я согласен. НО сколько я работаю на С++ при правильном коде все это сводиться к 0, а если еще и тестер нормальный как у меня так хочешь не хочешь все утечки уберешь...
Кстати код пишет не гении а чернорабочии... если бы был гением код бы не писал.

KapMaH 21.12.2007 02:02

Цитата:

Сообщение от AcraL (Сообщение 1500079)
... сколько я работаю на С++ при правильном коде все это сводиться к 0...

Когда над продуктом "поработали" 10 человек в течении 8 лет, когда единственным тестером является клиент, когда документации по проекру просто НЕТ!! и когда ты обречён лишь смотреть на это и шить заплатки дальше.... Я понимаю, что моя ситуация экстремальна, но поверьте мне в 80 случаев из ста каждый найдёт в том, что он делает два, а то и три фактора, которые сводят просто на нет все усилия по написанию "правильного кода".

ЕЖ 21.12.2007 15:02

Цитата:

Сообщение от AcraL (Сообщение 1500072)
не знаю такого

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

Smitis 21.12.2007 23:11

ЕЖ
Цитата:

Управляемым кодом называется код, исполняеемый в специальной среде, которая жестко контролирует типы данных, доступ и выделение памяти, а также имеет автоматический сборщик мусора для уже не используемой памяти. Самыми известными такими средами сейчас являются CLR в .NET и виртуальная машина в Java. Эти среды появились вовсе не от хорошей жизни, а как востребованная эволюция в программировании.
Вообще-то, java появилась совсем по другой причине.
А .NET это реализация идеи-фикс - типа, "каждая домохозяйка должна уметь писать программы".

Voland25 24.12.2007 01:45

А обсуждение тихо съехало с С на С++... :)

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

Если говорить о С - то это изначально Unix. Именно этот тандем - С и Unix - и дали столь мощный толчок развитию и языка, и ОС, причем сами и Керниган, и Ричи об этом так и писали. Кстати, я намеренно не говорю о С++ - вопрос стоял о С, а это принципиально разные языки.

C# же изначально предназначался не как реализация идеи о домохозяйках и программах, а как майкрософтовский "ответ Чемберлену" на Sun-овскую Java и технологию J2EE. Вообще, среда .NET разрабатывалась как среда для enterprise applications - что с успехом и используется во многих местах.

Я не буду утверждать, что для чего больше подходит, но в моей 8-летней практике участия в разработке очень больших систем я видел очень мало серьезных бизнес-приложений, в которых бы C# использовался для сложной бизнес-логики, или когда производительность приложения являлась критическим фактором. Кстати, точно так же для этих целей не используется Java или какой-либо другой язык 4-го поколения.

Я бы сказал так - это два разных, абсолютно разных языка, у которых, можно сказать, случайно, схожий синтаксис. Это единственное, на мой взгляд, что их обобщает. В остальном же - никакого сходства, ну, кроме тех логических постулатов, которые являются принципиально общими для всех языков программирования :).


Часовой пояс GMT +4, время: 17:53.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.