Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> умер ли Си? Оффтоп из Си++сной темы 
:(
    Опции темы
srd
Дата 27.10.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: нет
Всего: 49



Цитата(Mad @ 28.10.2005, 05:43)
Мне всегда нравиться когда кто-то кричит о том что он пишет на С и что рядом С++ вообще не стоял, а затем смотриш исходники и видеш, что он всетаки пишет на С++ просто не использую ООП

А мне всегда нравятся такие категоричные заявления. Чистый Си никуда не делся. Допустим, я на работе пишу для embedded-устройств. Используется компилятор, соответствующий стандарту C89. Из расширений там только однострочные комментарии //

Цитата
С имер чуть-ли не в момент своего рождения, на ЧИСТОМ С почти не кто не пишет, а оно и понятно, там только с локальными переменными такой гимор, что .....

Стандарт 89 года - локальные переменные определяются в начале блока. Учитывая, что блоки {} можно размещать практически произвольно...
Cтандарт 99 года - локальные переменные можно определять совершенно свободно в любом месте.
Где гимор??





--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Void
Дата 27.10.2005, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Mad
В C99 ввели объявление переменных в произвольном месте блока. Правда, разработка Linux началась задолго до принятия этой редакции стандарта...


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Mad
Дата 27.10.2005, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: нет
Всего: 19



Цитата(srd @ 27.10.2005, 21:00)
Стандарт 89 года - локальные переменные определяются в начале блока. Учитывая, что блоки {} можно размещать практически произвольно...
Cтандарт 99 года - локальные переменные можно определять совершенно свободно в любом месте.
Где гимор??

И вчем тогда отличие C99 от С++ ? smile


--------------------
user posted image
PM MAIL   Вверх
srd
Дата 27.10.2005, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: нет
Всего: 49



Mad
Извини, но говорить, что Си++ отличается от Си из-за ООП и места определения локальных переменных, это такая же глупость, как говорить, что Ява - это Си++ без множественного наследования. Достаточно сравнить объёмы книг Страуструпа и K&R. Помимо классов, отличий полно, начиная от таких фундаментальных, как шаблоны, исключения, перегрузка операторов, стандартная библиотека, и заканчивая менее сногсшибательными - логические типы, типы символьных литералов, тип enum, правило "неявного int", вызовы функций без предварительного объявления, неявное приведение void* к другому типу указателя и т.д., и т.п.
Добавлено @ 22:21
Void
Цитата(Void @ 28.10.2005, 06:05)
В C99 ввели объявление переменных в произвольном месте блока. Правда, разработка Linux началась задолго до принятия этой редакции стандарта...

Это расширения GCC, их полно.


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
chipset
Дата 28.10.2005, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 165



Цитата(Mad @ 27.10.2005, 11:43)
на ЧИСТОМ С почти не кто не пишет,

smile smile smile
Прийди к Юниксоидам и скажи им что они не пишут на чистом Си.
Цитата(Mad @ 27.10.2005, 11:43)
Внимательно посмотри на исходники ядра, там во многих местах есть определения переменных с ограничимой областью видимости (а это уже С++ а не С)

Ты имеешь в виду неймспейсы?


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Mad
Дата 28.10.2005, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: нет
Всего: 19



Цитата(chipset @ 28.10.2005, 01:47)
Ты имеешь в виду неймспейсы

наймспейсы, это уже С++ ;)


--------------------
user posted image
PM MAIL   Вверх
Sun
Дата 28.10.2005, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 3
Всего: 48



Цитата(Mad @ 28.10.2005, 00:48)
наймспейсы, это уже С++ ;)

Здесь я больше согласен с srd. При програмировании на С идет совсем другая методология, чем на С++. Программа на С не превращается в программу на С++, если там используются нэймспейсы или по другому производится объявление переменных, нежели в ранних версиях. ИМХО это просто развитие языка. Сила С в простоте. Это фактически ассемблер, только с более удобной формой записи. Создать компилятор С элементарно, для любого процессора (даже с поддержкой нэймспейсов и объявлением переменных в любом месте кода), тогда как для С++ это сложнейшая задача.




--------------------
Account removed
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.