Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

C must die!

Автор myst, ноября 14, 2010, 11:56

0 Пользователи и 1 гость просматривают эту тему.

myst

Цитата: http://lwn.net/Articles/414467/
People experiencing sound corruption or other strange bugs on recent distribution releases may want to have a look at this Fedora bugzilla entry. It seems that the glibc folks changed the implementation of memcpy() to one which, in theory, is more highly optimized for current processors. Unfortunately, that change exposes bugs in code where developers ignored the requirement that the source and destination arrays passed to memcpy() cannot overlap. Various workarounds have been posted, and the thread includes some choice comments from Linus Torvalds, but the problem has been marked "not a bug." So we may see more than the usual number of problems until all the projects with sloppy mempcy() use get fixed. (Thanks to Sitsofe Wheeler).
С переполнением буферов кое-как вроде справились, но то был отнюдь не последний сюрприз этого замечательного языка с богатейшим запасом неопределённых, неописанных и прочих не-поведений, заботливо разложенных на каждом шагу злым гением Ритчи.
:smoke:

jvarg

Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

RawonaM

Есть такой шутка (из тыщи подобных):
Цитировать
Thompson, Ritchie and Kernighan admit that Unix was a prank

[...] Brian must be credited with the idea of having absolutely no standard I/O specification: this ensured that at least 50% of the typical commercial program would have to be re-coded when changing hardware platforms.

Brian was also responsible for pitching this lack of I/O as a feature: it allowed us to describe the language as "truly portable".

...

When we found that some programmers were simply not using pointers, we eliminated the ability to pass structures to functions, enforcing their use in even the simplest applications. We sold this, and many other features, as enhancements to the efficiency of the language. In this way, our prank evolved into B, BCPL, and finally C.

We stopped when we got a clean compile on the following syntax: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

At one time, we joked about selling this to the Soviets to set their computer science progress back 20 or more years.
[...]

Особенно последняя строчка порадовала :)

Кстати, а что было в советской компьютерной индустрии вообще? Когда буржуйские компьютеры начали попадать на советское пространство?

myst


myst

Цитата: RawonaM от ноября 14, 2010, 12:08
Кстати, а что было в советской компьютерной индустрии вообще? Когда буржуйские компьютеры начали попадать на советское пространство?
Какие языки были в ходу? Алголоиды, особенно любили творения Вирта, равно как и самого Вирта. Новосибирцы, например, сделали очень хороший оптимизирующий транслятор Модулы-2 (потом в него добавили поддержку Оберона-2). Слышал про Аду. На автокоде тоже писали, у меня даже учебник для ЕСки лежит.

myst


jvarg

Цитата: myst от ноября 14, 2010, 12:10
Цитата: jvarg от ноября 14, 2010, 12:05
Тьфу на вас...
Я на C давно уже не пишу. :green:

И правильно делаете.

"Си" задумывался как язык "среднего уровня". Нечто среднее между настоящими высокоуровневыми языками, и ассемблером.

Т.е. для написания драйверов, или самой ОС,  "Си" - самое то.

Но писать на нем прикладные программы - это какой-то мазохизм....
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

RawonaM

Цитата: myst от ноября 14, 2010, 12:16
ЦитироватьКстати, а что было в советской компьютерной индустрии вообще? Когда буржуйские компьютеры начали попадать на советское пространство?
Какие языки были в ходу? Алголоиды, особенно любили творения Вирта, равно как и самого Вирта. Новосибирцы, например, сделали очень хороший оптимизирующий транслятор Модулы-2 (потом в него добавили поддержку Оберона-2). Слышал про Аду. На автокоде тоже писали, у меня даже учебник для ЕСки лежит.
Цитата: myst от ноября 14, 2010, 12:19
Чёрт, про Фортран забыл. :)
То есть, ничего своего у советов не было?

jvarg

Цитата: RawonaM от ноября 14, 2010, 12:23
То есть, ничего своего у советов не было?

Теоретические - были, практические - нет.

Как обычно, с разработкой все было отлично, с внедрением - отвратительно.
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

RawonaM

Есть еще отакой жок:
http://www-users.cs.york.ac.uk/susan/joke/cpp.htm

Страуструп даже написал на сайте у себя, что это все неправда, потому как многие поверили...

Вообще он несколько параноидальный. Напоминает российских поцреотов :)

myst

Цитата: jvarg от ноября 14, 2010, 12:19
"Си" задумывался как язык "среднего уровня". Нечто среднее между настоящими высокоуровневыми языками, и ассемблером
Задумывался, как же... Слабали на коленке.

Цитата: jvarg от ноября 14, 2010, 12:19
Т.е. для написания драйверов, или самой ОС,  "Си" - самое то.
Ога, щазз.

myst

Цитата: RawonaM от ноября 14, 2010, 12:23
То есть, ничего своего у советов не было?
Автокод для ЕСки же. :)

myst


RawonaM


myst


myst


RawonaM

Цитата: myst от ноября 14, 2010, 17:00
Ты тоже мог бы зафанатеть на время.
Я фанател от Си в году 95-ом. Парочку неплохих вирусов тоже писал на Си. :)
Вот скоро войду в него заново тогда похоливарим :)

myst

Цитата: myst от ноября 14, 2010, 11:56
С переполнением буферов кое-как вроде справились
Это я погорячился, аттракцион продолжается: :green:
Цитата: http://marc.info/?l=openssl-announce&m=128992699401945&w=2
A flaw has been found in the OpenSSL TLS server extension code parsing which on affected servers can be exploited in a buffer overrun attack.

amdf

Не трогать Си! Основной инструмент моей работы.

Не на C# же прошивки микроконтроллеров писать?)))
Ведовьство, потвори, чяродеание, волхъвование, зеленничьство, церковнаа татба, мертвеци сволочать, крест посекут, или на стенах трескы емлють из креста.

myst

Цитата: amdf от декабря 24, 2010, 09:53
Не трогать Си!
Не будем. Кактусы такой колючести на вес золота.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр