| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > умер ли Си? |
| Автор: nikitao 26.10.2005, 15:01 | ||
Почему? Человек начал изучать С а не C++(он сам в первом посте написал). |
| Автор: Neitron 26.10.2005, 15:03 |
| Упс, пропстил. Тогда совет автору, изучать Си++. С умер. А изучать санчало С, а потом ++ не имеет никакого смысла. |
| Автор: nikitao 26.10.2005, 15:09 | ||||
Недавно споры ходили об этом так я понял что С не умер.Прсто на C программируют на низком уровне а C++ все остальное.
До сих пор большенство книг по C++ расчитаны на то что читательзнает C,хотя не все. |
| Автор: Neitron 26.10.2005, 15:29 |
| nikitao С умер, С++ разрабатывался одновременно и для низкоуровнего программирования. |
| Автор: S.A.P. 26.10.2005, 15:31 |
| Neitron http://forum.vingrad.ru/index.php?showtopic=68470 |
| Автор: nikitao 26.10.2005, 15:32 | ||
А зачем тогда стандартизацию C провели уже после создания C++,и к тому же С++ тормаз по сравнению с C. |
| Автор: Kagor 26.10.2005, 15:45 |
| Народ, давайте здесь без религиозных воин. Если хотите поспорить, то для этого есть специальный раздел. |
| Автор: sergejzr 26.10.2005, 15:47 |
| Перенёс сюда полтемы: http://forum.vingrad.ru/index.php?showtopic=68367&unread=1&hl= Дабы не оффтопить |
| Автор: Sun 27.10.2005, 14:41 | ||
Спроси у тех кто работает под Unix и тех кто пишет Windows, умер ли С |
| Автор: Sardar 27.10.2005, 15:45 |
| C++ сложен, через чур. Редкий компилятор реализует всю спецификацию C++ Лучше писать на D C активно используеться для программирования микроконтроллеров, DSP и другого железа. Потому что удобно и достаточно просто. Весь проект комилируеться/линкуеться в один процесс-имейдж, никакой динамическй линковки и т.п. Правда не совсем C а его версия embedded C используеться, различия в паре ключевых слов. Xотя сейчас пишу под eZ80L92, пришедший вместе с IDE компилер являеться ANSI C. Прерывания не помечаються специальными ключевыми словами, да это и не нужно, т.к. идёт вместе много софта, в частности RTOS, в которой твои прерывания это процессы/нити, регистрируемые с помощью API. Удобно |
| Автор: chipset 27.10.2005, 15:56 |
| http://russian.joelonsoftware.com/Articles/BacktoBasics.html |
| Автор: DeadSoul 27.10.2005, 20:19 |
| nikitao, нет не умер. Си(без плюсов) родной язык Линуха |
| Автор: Mad 27.10.2005, 21:43 | ||||||
Мне всегда нравиться когда кто-то кричит о том что он пишет на С и что рядом С++ вообще не стоял, а затем смотриш исходники и видеш, что он всетаки пишет на С++ просто не использую ООП С имер чуть-ли не в момент своего рождения, на ЧИСТОМ С почти не кто не пишет, а оно и понятно, там только с локальными переменными такой гимор, что .....
DeadSoul Внимательно посмотри на исходники ядра, там во многих местах есть определения переменных с ограничимой областью видимости (а это уже С++ а не С) |
| Автор: DeadSoul 27.10.2005, 21:46 | ||
Mad, а такого не появилось в очередной версии Сишного стандарта |
| Автор: Mad 27.10.2005, 21:54 | ||
DeadSoul
Очень интересно, особенно что между этими языками было всего ДВА различия : 1. Области видимости и правила обьявления (где именно можно обьявлять) переменных 2. Наличие/отсутсвия механизмов ООП Видимо теперь С это полная копия С++, только без ООП На самом деле я (для себя) никогда не разделял эти два языка (поэтому в большинстве случаев и пишут С/С++) И еще, приведи пример хоть одного компилятора (именно компилятора, а не крос-компилятора), который держит последний стандарт С, не не держит С++ (причем именно не держит С++, а не только не понимает классы) ? Добавлено @ 21:57 Да и еще, я очень давно не просматривал ANSI стандарты на С/С++. Ты уверен что его изменили, или ты просто судеш по возможностям какогото компилятора ? Например последний (который я видел, щас версию уже не помню) АСМ от мелкомягкого потдерживал КЛАССЫ !!! это тоже стандарт ? |
| Автор: srd 27.10.2005, 22:00 | ||||
А мне всегда нравятся такие категоричные заявления. Чистый Си никуда не делся. Допустим, я на работе пишу для embedded-устройств. Используется компилятор, соответствующий стандарту C89. Из расширений там только однострочные комментарии //
Стандарт 89 года - локальные переменные определяются в начале блока. Учитывая, что блоки {} можно размещать практически произвольно... Cтандарт 99 года - локальные переменные можно определять совершенно свободно в любом месте. Где гимор?? |
| Автор: Void 27.10.2005, 22:05 |
| Mad В C99 ввели объявление переменных в произвольном месте блока. Правда, разработка Linux началась задолго до принятия этой редакции стандарта... |
| Автор: Mad 27.10.2005, 22:06 | ||
И вчем тогда отличие C99 от С++ ? |
| Автор: srd 27.10.2005, 22:19 | ||
| Mad Извини, но говорить, что Си++ отличается от Си из-за ООП и места определения локальных переменных, это такая же глупость, как говорить, что Ява - это Си++ без множественного наследования. Достаточно сравнить объёмы книг Страуструпа и K&R. Помимо классов, отличий полно, начиная от таких фундаментальных, как шаблоны, исключения, перегрузка операторов, стандартная библиотека, и заканчивая менее сногсшибательными - логические типы, типы символьных литералов, тип enum, правило "неявного int", вызовы функций без предварительного объявления, неявное приведение void* к другому типу указателя и т.д., и т.п. Добавлено @ 22:21 Void
Это расширения GCC, их полно. |
| Автор: chipset 28.10.2005, 02:47 | ||||
Прийди к Юниксоидам и скажи им что они не пишут на чистом Си.
Ты имеешь в виду неймспейсы? |
| Автор: Mad 28.10.2005, 03:48 | ||
наймспейсы, это уже С++ ;) |
| Автор: Sun 28.10.2005, 10:16 | ||
Здесь я больше согласен с srd. При програмировании на С идет совсем другая методология, чем на С++. Программа на С не превращается в программу на С++, если там используются нэймспейсы или по другому производится объявление переменных, нежели в ранних версиях. ИМХО это просто развитие языка. Сила С в простоте. Это фактически ассемблер, только с более удобной формой записи. Создать компилятор С элементарно, для любого процессора (даже с поддержкой нэймспейсов и объявлением переменных в любом месте кода), тогда как для С++ это сложнейшая задача. |