LINUX.ORG.RU

Ричард Столлман опубликовал «Введение в GNU C»

 , , , ,

Ричард Столлман опубликовал «Введение в GNU C»

8

2

Ричард Столлман опубликовал электронную книгу «Введение и справочное руководство по GNU C».

Труд за авторством Столлмана, Трэвиса Ротвелла и Нэльсона Биба распространяется по лицензии GFDL-1.3 и позиционируется одновременно и как введениие в язык C, и как справочник непосредственно по диалекту GNU C (т.е. включающему gnu-расширения gcc).

RMS просит сообщать о найденных ошибках, неточностях и непонятных, либо неоднозначно написанных пассажах.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от IRASoldier

VLA - мерзость перед лицом Омниссии.

Чем они плохи? Если с умом пользоваться, конечно.

P.S. И да, это даже не расширение GNU, это часть стандарта, хоть с некоторых пор и не обязательная.

P.P.S. Хотя наверное, этим и плохи. «Необязательная часть стандарта» - «то ли соберётся, то ли нет, гадайте сами»…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от JiraExpert

Касательно последних двух - он их современней, в нём есть поддержка 64-битовых архитектур.

С Visual C++ - вопрос личных предпочтений, как технических так и идеологических.

firkax ★★★★★
()
Ответ на: комментарий от Displacer

Расширения GNU C частенько попадают в стандарт

Не частенько, а они и есть стандарт. Стандарт называется «GNU C», точнее там их даже несколько но в данном случае это не важно. Он, разумеется, не единственный, есть и другие стандарты, но это такой же стандарт как и остальные.

firkax ★★★★★
()
Ответ на: комментарий от sluggard

Призывается Croco.

Ты таки мне предлагаешь ЭТО читать? Си я и так знаю, использование gnu extensions – основание для госпитализации, история gcc кончилась на версиях 4.*, всё что позже – бред агрессивных ламеров, где тут у меня повод читать очередной столлмановский «технический» опус? (учитывая, что как программист этот ваш Столлман послабее будет доброй трети моих дипломников).

Ну а комментировать, не читая – это уж увольте-с.

Croco ★★★
()
Ответ на: комментарий от hobbit

это часть стандарта, хоть с некоторых пор и не обязательная.

Ещё один. Какого стандарта? Что значит с некоторых пор? Как было правильно написать: это часть стандарта C99, необязательная часть стандарта C11, и вообще не часть стандарта C89.

то ли соберётся, то ли нет, гадайте сами»…

Чтобы скомпилировалось успешно, стандарт, реализуемый компилятором, должен быть не меньше, чем стандарт, на который рассчитывал программист. gcc поддерживает практически все популярные стандарты, так что под ним соберётся.

firkax ★★★★★
()
Ответ на: комментарий от thunar

??? Могу только к сожалению удивиться. Возможно texinfo не установлено. Хотя как такое может быть?

Тогда остаётся только взять предложенный в треде pdf или обойтись текстовой копией.

Evgueni ★★★★★
()
Ответ на: комментарий от Croco

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

Evgueni ★★★★★
()
Ответ на: комментарий от firkax

Как было правильно написать: это часть стандарта C99, необязательная часть стандарта C11

Ну я про то и писал, собственно :)

hobbit ★★★★★
()

Даже книжки про Си перетекают за границы обложки

perl5_guy ★★★★★
()

Ричард Столлман опубликовал электронную книгу «Введение и справочное руководство по GNU C».

И как читать эту электронную книгу?

X512 ★★★★★
()
Ответ на: комментарий от Croco

А зачем его форкать?

Отсутствие форков (при том, что никаких лицензионных и других искуственных препятствий для этого нет) только доказывает адекватность основного проекта.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

У gcc было много форков. Просто они либо самозаморозились, либо вернулись обратно (более того как минимум один раз форк стал основой, а gcc к нему присоединился), либо целевая архитектура сдохла.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от gns

На это я могу только сказать УМВР. Поверь что у тебя установлен tex и texinfo. Если что-то идёт не так, то в треде ссылок на собранные пдфки и аштмлки.

Evgueni ★★★★★
()
Ответ на: комментарий от papin-aziat

Ну как «С за полчаса» не знаю, но «Весь фортран за три часа» как-то раз прослушал в исполнении моего хорошего приятеля. С тех пор на нем пишу иногда по случаю. :)

gns ★★★★★
()

Тут кто-то перевод хочет.

Моя грубая-грубая оценка: человекомесяц вечеров и выходных в комфортном темпе. IMHO вполне для энтузиастов подъёмно.

Evgueni ★★★★★
()
Ответ на: комментарий от Croco

ППКС. Этот вендор лок еще такой, который прикидывается свободным ПО. Лживая свобота. Не ложная, а именно лживая.

JiraExpert
()
Ответ на: комментарий от Displacer

В приложенном Makefile только make clean хорошо работает :) Остальное или не собирается или производит файлы то без расширений, то без имени. :)

gns ★★★★★
()
Ответ на: комментарий от Evgueni

Дык собрать бы для начала и найти досуг для чтения. :)

gns ★★★★★
()
Ответ на: комментарий от JiraExpert

Чем GNU C лучше Visual C++, Turbo C и Borland C++ Builder?

Я серьезно

В Visual C++ насколько я помню до сих пор не добавили поддержку C99.

Turbo C – умер в начале 2000-ых.

Borland C++ Build – умер в начале 2010-ых, ламерское ПО для бывших Delphi’стов, которые кодят в обработчиках кнопках.

Код на C в современном мире пишется как раз под GNU C и изредка под MSVC, даже Clang реализовывает кучу гнутых расширений. То, что ты перечислил – давно мертво.

EXL ★★★★★
()
Ответ на: комментарий от Croco

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

И где же компиляторы, написанные вашими студентами?

Ну покажи мне хоть один живой форк gcc.

Внезапно, более чем популярный MinGW-w64.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Borland C++ Build – ... ламерское ПО для бывших Delphi’стов, которые кодят в обработчиках кнопках.

Вообще-то нет. Это просто IDE с встроенной рисовалкой форм, в VC такая тоже есть. То что кто-то кодит в обработчиках кнопок - это уже дело программистов. На да она осталась в прошлом благодаря некомпетентному менеджменту борланда в конце его существования.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Речь скорее всего идёт про EGCC где-то версии 2.95, который был достаточно популярен, а после объединён с GCC.

EXL ★★★★★
()
Ответ на: комментарий от Croco

Как раз про gnu extensions интереснее всего. Про С и у Кернигана с Риччи хорошо написано. А то читаешь код ядра Линукса, так каких только слов с двумя подчерками не насмотришься. Использовать их или нет, так это дело случая, вкуса или необходимости, а знать надо.

gns ★★★★★
()
Ответ на: комментарий от hobbit

Ты, конечно, писал про это (я не думаю что ты не в курсе), но вот выражено это было совершенно дезинформирующим способом. А именно, твоё сообщение неизбежно создаст ошибочное впечатление, будто есть один единственный, но волатильный стандарт языка, в котором раньше были обязательные VLA а теперь необязательные. В то время как стандартов куча, и всего лишь в одном из них были, есть, и всегда будут (он не меняется, кроме может быть исправления опечаток) обязательные VLA.

firkax ★★★★★
()
Ответ на: комментарий от Croco

Ну покажи мне хоть один живой форк gcc

Ну это ж потому что не требуется, а не потому что нельзя

pihter ★★★★★
()
Ответ на: комментарий от firkax

Вообще-то нет. Это просто IDE с встроенной рисовалкой форм, в VC такая тоже есть. То что кто-то кодит в обработчиках кнопок - это уже дело программистов.

Это было личное оценочное суждение. Но вообще, много ты знаешь ПО, которое было написано в Borland C++ Builder? Наверное даже Turbo C++ в этом плане был куда как более распространён в своё время.

Единственный проект с огромной кодовой базой, написанной под C++ Builder который я видел на своём веку – движок игры S.T.A.L.K.E.R., которая пользовалась относительным успехом. Да и то они потом мигрировали на MS Visual Studio.

На да она осталась в прошлом благодаря некомпетентному менеджменту борланда в конце его существования.

С этим не поспоришь. До сих пор «ООО Бракодело» продаёт этот устаревший инструментарий по невменяемым ценам тем компаниям, которые по своей неудаче вляпались в их технологии и не могут разорвать порочные Legacy-цепи.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Это было личное оценочное суждение. Но вообще, много ты знаешь ПО, которое было написано в Borland C++ Builder? Наверное даже Turbo C++ в этом плане был куда как более распространён в своё время.

Вот не так давно страдал от одного поделия на сабже – среды разработки для ПЛК Delta ISP Soft. По возможностям лютое УГ, зато по скорости работы почти как Siemens TIA Portal. Но тут, скорей всего, виноваты китайско-тайваньские быдлокодеры.

Причём, почему-то эта хрень одинаково тормозит как на ноутбучном i7 5600U, так и на Ryzen 7 3700x. Спалился Быдлер в ней на смешном: какое-то окошко открылось с дефолтной иконкой от 6 версии. Заглянул в каталог с прогой, а там все знакомые лица: всякие vcl60.bpl

Alden ★★★★
()
Последнее исправление: Alden (всего исправлений: 1)
Ответ на: комментарий от Croco

Согласен почти со всем написанным. Кроме GCC.

Столлмен вряд ли какое-то отношение имеет хоть к какому-то процессу разработки GCC, т.к. вряд ли он что-то практикует из программирования. Он больше идеолог своей GPL лицензии чем программист.

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

Но тут дело выбора, если человек предполагает писать исключительно для GCC то ничего плохого нет, одни удобства. Те же кто хочет писать переносимый код (а это частично то благодаря чему Си стал широко распространённым) будут естественным образом избегать любых нестандартных расширений, как удобны они бы не были.

Но по большей части я за GCC хочу заступиться, по крайней мере за его Си++овую часть.

Не помню с какой версии я смотрел исходники компилера, но это была старше чем 4, и это было прекрасно. В основном правда я смотрел не компилер а реализацию плюсового STL, и там все было очень классно, т.е. виден серьезный подход, продуманность и красота реализации, при том я тогда только начинал изучать язык, и не имел опыта, но все отлично читалось и понималось, даже их штуки связанные с метапрограммированием (их работа под капотом) воспринимались не сложно для новичка.

bonta ★★★★★
()
Последнее исправление: bonta (всего исправлений: 1)
Ответ на: комментарий от gns

Весь фортран за три часа

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

papin-aziat ★★★★★
()
Ответ на: комментарий от bonta

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

Вы ведь не знаете, с кем общаетесь, да?)

Parthen ★★
()
Ответ на: комментарий от JiraExpert

Чем GNU C лучше

Visual C++,

Си-составляющая не развивается.

Turbo C

Ограничения памяти MS-DOS.

и Borland C++ Builder?

Его владельцы давно пытаются похоронить.

olegd ★★★
()
Ответ на: комментарий от firkax

Википедия статья «Форк»

Иногда «ответвление» при возврате в основной проект получает ведущую роль. Например, от GNU Compiler Collection (GCC) в своё время откололся проект Experimental/Enhanced GNU Compiler System (EGCS). Через два года произошло воссоединение проектов, причём результат был основан на EGCS и даже наследовал его гораздо более открытый процесс разработки.

Evgueni ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.