язык C: неизвестное о известном

Итоговые заметки по актуальным обсуждениям в форумах

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

язык C: неизвестное о известном

Непрочитанное сообщение Olej » 21 ноя 2013, 16:50

Вот ненароком, не планируемо и попутно сложилась любопытная тема: язык C в Linux: вопросы начального уровня.

Началось обсуждение как подборка некоторых учебных примеров кода, обращающих внимание на всякие тонкости языка C, на которые хотелось бы обратить внимание начинающих ... напимер:
- различные представления одних и тех же данных в RAM когда на них накладываются предположения различной типизации;
- запись бесконечных циклов (в разной форме) и предпочтительность бесконечных циклов традиционным с условиями в заголовках;
- запись циклов без тела (когда все действия записаны в условиях);
и т.п.
Т.е., это отчасти элементы трюков ... но их хорошо бы научиться видеть, замечать, и понимать в коде.

Но дальше этот набор ... "задрочек", простите за выражение, расширялся, обсуждение уже перевалило за 6 страниц форума, и начало дополняться такими подробностями, что не всегда упоминаются в широкой литературе...
Так что и название темы "вопросы начального уровня" уже перестало соответствовать наполнению ... но не менять же название? ;-)
Теперь это уже ... что-то типа: "реализация на C всяких тонких возможностей".

Ну что ещё вообще можно сказать нового про язык C???, которого год рождения - 1969г., год зрелости - 1973г., на котором написано кода больше чем на любом другом языке отдельно взятом (все UNIX-like OS + весь GNU софт + множество свободных проектов + ...)
Оказывается - можно ;-) ... т.е. не то, чтобы "нового", а:
- ... такого, что появилось в более поздних стандартах (C99): complex и long double типы значений и др. - что не упоминается в учебниках 20-30 летней давности и 10-го издания, по которым все и учатся ... и о том как эти типы можно использовать куда более широко - тот же complex как представление 2D-координат точек ... чем, по существу, числа complex и являются;
- ... того, что сложилось как "тенденция" последних лет ... например использование циклических двухсвязных списков везде в ядре Linux, вместо самых разнообразных (линейных односвязных и др.) списков, которые и описываются везде в книгах ... и это (из kernel Linux) очень здоровая тенденция, строить на таких списковых структурах любые ссылочные (динамические) структуры;
- ... то, что не является какой-то спецификой С, а есть свойством (почти) любого языка программирования - это уже уже из области алгоритмики ... но на что недостаточно обращают внимание излагая C: использование рекурсии, нисходящая и восходящая рекурсии, оценка достижимой погрешности при итерационных вычислениях и т.п.

В теме их 6-ти страниц обсуждения множество примеров кода на все эти случаи ... большинство из этих примеров достаточно детально там обсуждается.

Рекомендую поглядеть в тему язык C в Linux: вопросы начального уровня. ;-)
... и указать на ещё какие тонкие моменты (как языка так и алгоритмики), которые следовало бы иллюстрировать показательными примерами кода.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: язык C: неизвестное о известном

Непрочитанное сообщение Olej » 21 ноя 2013, 19:49

Olej писал(а):Так что и название темы "вопросы начального уровня" уже перестало соответствовать наполнению ... но не менять же название? ;-)
Теперь это уже ... что-то типа: "реализация на C всяких тонких возможностей".
Заглянул ненароком на C (Си).
Изображение

Там студенты в большинстве ... что-то пишут.
Сказать что это "мрак" - это значит ничего не сказать вовсе. :oops:

Но это значит, что такой вот уровень преподавателей, которые их учат.
... какой и уровень формулирования задач, даже, которые задают для проработки.
Жуть! :-o

Аватара пользователя
Svitlanija
Интересующийся
Сообщения: 3
Зарегистрирован: 10 дек 2013, 13:33
Откуда: Россия
Контактная информация:

Ответ

Непрочитанное сообщение Svitlanija » 27 дек 2013, 09:34

Прикольно... надо будет попробовать.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Ответ

Непрочитанное сообщение Olej » 27 дек 2013, 13:43

Svitlanija писал(а):Прикольно... надо будет попробовать.
Я так понимаю, что это стёб, чтоб пройти предмодерацию?
Но так же легко пользователь Svitlanija будет и удалён, без любого уведомления, и с запретом IP на последующую регистрацию :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Ответ

Непрочитанное сообщение Olej » 08 янв 2014, 03:25

Svitlanija писал(а):Прикольно... надо будет попробовать.
Сделал я совершенно предварительную редакцию текста (16 стр.) и архив примеров по материалам этих обсуждений.
Это ещё будет существенно меняться ... но для предварительного чтения годится.
Вложения
c_details_05.odt
(85 КБ) 591 скачивание
c.tgz
(7.87 КБ) 619 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Ответ

Непрочитанное сообщение Olej » 05 фев 2014, 16:28

Olej писал(а):
Svitlanija писал(а):Прикольно... надо будет попробовать.
Сделал я совершенно предварительную редакцию текста (16 стр.) и архив примеров по материалам этих обсуждений.
Это ещё будет существенно меняться ... но для предварительного чтения годится.
Кого заинтересуют более свежие версии - вам сюда ;-) : Язык C: заметки на полях

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Ответ

Непрочитанное сообщение Olej » 05 апр 2014, 12:20

Olej писал(а):
Svitlanija писал(а):Прикольно... надо будет попробовать.
Сделал я совершенно предварительную редакцию текста (16 стр.) и архив примеров по материалам этих обсуждений.
Это ещё будет существенно меняться ... но для предварительного чтения годится.
Этот текст, с некоторыми досадными для меня сокращениями, будет со дня на день опубликован в виде 3-х последовательных статей на IBM developerWorks - я им уже и корректуру после редактора вернул...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Ответ

Непрочитанное сообщение Olej » 03 июн 2016, 05:12

Olej писал(а):
Olej писал(а):
Svitlanija писал(а):Прикольно... надо будет попробовать.
Сделал я совершенно предварительную редакцию текста (16 стр.) и архив примеров по материалам этих обсуждений.
Это ещё будет существенно меняться ... но для предварительного чтения годится.
Этот текст, с некоторыми досадными для меня сокращениями, будет со дня на день опубликован в виде 3-х последовательных статей на IBM developerWorks - я им уже и корректуру после редактора вернул...
08.04.2014 :
Малоизвестные возможности и последние нововведения в языке C. Часть 1. Компилятор GCC и новые типы данных

09.04.2014 :
Малоизвестные возможности и последние нововведения в языке C. Часть 2. Точность вычислений и локализация в приложениях на языке С
Малоизвестные возможности и последние нововведения в языке C. Часть 3. Передача и возврат значений из функций и компилятор Clang

P.S. Ну и названия же они выдумывают! :-o :lol: :evil:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: язык C: неизвестное о известном

Непрочитанное сообщение Olej » 22 ноя 2016, 20:50

Новая публикация о малоизвестных расширениях C & C++, кое-что может быть полезным, кое-что любопытно или смешно :-) :
Расширения языков C и C++. Часть 1
Читайте.

Ответить

Вернуться в «Итоги по обсуждениям здесь в форумах»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя