LINUX.ORG.RU

Избранные сообщения unanimous

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem ()

Bluetooth гарнитура и pulseaudio, у кого-нибудь работает?

Форум — Desktop

Попробовал подключить Bluetooth-наушники-гарнитуру Motorola S805 к Ubuntu 12.04.5, работает только профиль A2DP. При переключении в blueman на профиль HPS/HPF наушники исчезают из списка устройств в гномовских настройках аудио, ни от меня ни ко мне звук уже не идет.

Ознакомился с вот этими двумя темками: В PulseAudio восстанавливают поддержку Bluetooth-гарнитур Релиз BlueZ 5.18

Но в Ubuntu 12.04.5 пока еще Bluez 4.98 и pulseaudio 1.1. В них тоже что-ли поломана поддержка HPS/HPF?

Удавалось ли кому-то настроить bluetooth-гарнитуру в bluez/blueman/pulseaudio?

 , , ,

frymock ()

Как бы увидеть стек исключения?

Форум — Development

Тут много говорили про отладку. Я как то привык отлаживаться printf-ом, точнее у меня есть макрос который при вызове

int a=1; double b = 2.5;
WOUT(a, b, a*b);
выводит
#"test.cpp" l123: a=1, b=2.5, a*b=5

Отладчик как то я не асилил, каюсь, да и не видел я от него профита в своих задачах - обычно работа удаленно, и падает все далеко не сразу, а иногда и не падает а просто делает не совсем то.

Но таки хочется видеть стек, оттуда где упало и доверху. Мысль следующая - втыкаем по коду шняжки типа

FRAME(a, b, a*b);
При этом создаются некоторые объекты в текущей области видимости с неудобоваримыми именами. Есть глобальный список, куда попадает информация о файле, номере строки и значения перечисленных выражений. При выходе из области видимости объекты по деструктору выносят из списка соответствующие им записи.

При генерации исключения (у меня для этого тоже макрос есть;-)), перед генерацией содержимое списка вываливается на stderr.

В релиз-моде FRAME определяется так, что ничего не происходит.

М.б. что то похожее уже есть? Или это можно сделать симпатишней...

 ,

AIv ()

Джон кармак о плюсах

Форум — Talks

Как сообщает похороникс, Джон Кармак высказал своё окончательное мнение о противостоянии C и C++. Для обделённых знанием английского или пониманием божественности плюсов перевожу:

Я до сих пор считаю код Quake 3 более чистым - в известном смысле. Это венец эволюции моего стиля на C, и одновременно первая итерация моего стиля на C++. Но такое отношение может быть вызвано меньшим количеством строк или тем фактом, что я не особо-то и не заглядывал туда уже десять лет. Я думаю, что «хороший C++» лучше, чем «хороший C» с точки зрения читаемости, а всё остальное эквивалентно.

Я, конечно, поизвращался над C++ в Doom 3 - ведь я был опытным C-шным программистом с некоторым знанием ООП, пришедшим из Objective-C времён NeXT, так что я просто начал писать на C++ без нормального изучения юзкейзов и идиом. Вспоминая прошлое, я очень жалею, что не прочитал Effective C++ и некоторые другие книги. Часть остальной команды в прошлом имела опыт работы с C++, но они в целом следовали моим стилистическим решениям.

В течение многих лет я не доверял обобщённому программированию, и все ещё применяю шаблоны с опаской, но в итоге я решил, что удовольствие от статической типизации перевешивает нежелание иметь раздутый код в заголовках. В Id Software всё ещё идут споры об использовании STL, и со временем они становятся жарче. Если же вернуться снова к временам, когда началась разработка Doom 3, призыв использовать STL тогда стал бы неудачной затеей, но сегодня в пользу этого решения уже есть серьёзные аргументы, в том числе в геймдеве.

Также я теперь стал const-нацистом, и даю по рукам программисту, который не ставит const подходящим для этого переменным и параметрам.

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

 ,

quiet_readonly ()

Выпилить рекламу из Software Center в Ubuntu 12.04

Форум — Desktop

Поставил эту самую убунту, открыл Software Center а там на полэкрана реклама каких-то проприетарных игрушек.

Они в конец офигели? Я считаю, что какая бы то ни было реклама в центре приложений неприемлема, кроме названий и описаний программ там ничего быть не должно.

1) Эту рекламу можно стандартными средствами отключить?

2) Что ещё нужно выпилить из убунты кроме Ubuntu One чтоб она не следила за юзером, не ставила проприетарщину и тд? Пока только делал apt-get remove ubuntuone-*

3) Так как мандрива сдохла, что можно ещё поставить на комп юзеру, который с компьютерами малознаком и даже иногда переспрашивает для чего нужен красный крестик в углу? У меня-то самого Slackware... Раньше была Ubuntu 10.10, она довольно годная, но поддержка кончилась и пришлось сносить, а более новая убунта как-то не нравится — ну к юнити ещё можно привыкнуть, но реклама...

4) Почему-то когда mplayer сворачивается на панель юнити, на ней образуется просто пустое место без всяких значков или даже кнопки — это что, нормально? (лень создавать отдельную тему)

PS частично проблема решена, нашел как убирать баннер. Про отсутствие кнопки пока не нашел

 , ,

Xenius ()

[спв] выбор телескопа

Форум — Talks

Есть тут увлекающиеся товарищи? Что посоветуете нубу в бюджете «до 500 у.е.»? :) Так чтобы не нарваться на очевидную какашку.

pekmop1024 ()