LINUX.ORG.RU

Книги по программированию в Linux


0

0

Собственно говоря, может быть кто-нибудь знает какие-нибудь книги по программированию в Linux, желательно по новее, то почти все книги 2000-2004 года и почти везде наибольший уклон сделан в частности на ядро 2.4 Вообще желательны книги по сетевому и системному программированию. Пока что нашел только (может кто нибудь посоветует что-то лучшее (кроме man )):
1) Шон Уолтон - Создание сетевых приложений в среде Linux. 2001 год сам за себя говорит
2) Роберт Лав - Linux. Системное программирование. 2008 год - понравилась. Но смахивает на структурированный перевод man
3) KEIR DAVIS, JOHN W. TURNER - The Definitive Guide to Linux Network Programming. 2008 года. В принципе норм, но некоторых моментов нет
4) Майкл К. Джонсон, Эрик В.Троан -Разработка приложений в среде Linux Второе издание. 2007 год - норм.

Также хотелось бы чтобы было в них хоть чуть инфы по фряхе.


Какая разница какое ядро? Ты драйвера чтоль писать собрался? Читать надо Стивенса.

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

ну вот смотри: для разных ядер существуют различные ограничения на использование ресурсов (хоть их и менять можно), но всё равно хотелось бы знать как и что. Или вот допустим epoll в чистом видел в 2.4 не живут и следовательно про них мало кто пишет. Также может быть и с другими функциями.

slesh
() автор топика
Ответ на: комментарий от Reset

Стивенса — «UNIX: Разработка сетевых приложений» - качал её. Но везде тока djvu плохого качества и без текстового слоя

slesh
() автор топика
Ответ на: комментарий от slesh

Это все незначительные детали о которых даже и думать не стоит. У Стивенса вроде про epoll есть. Но тут главное принцип знать. В реальных проектах все равно никто не использует такие низкоуровневые вещи как epoll, а пользуются обертками типа boost::asio и libevent.

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

Купить не судьба? У Стивенса еще есть «UNIX. Профессиональное программирование».

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

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

slesh
() автор топика
Ответ на: комментарий от slesh

там во многих местах сразу видны ошибки в коде

Например?

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

Плохая практика. В 99.999999% в этом месте узкого места не будет.

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

Ошибки типа таких: Названия некоторых функций большими а не маленькими(конечно зависит от среды, но всё же хотелось бы чтобы было по правильному), то циклы интересно устроены for (,){*****}
Знаю про плохая практика, но не привык полагаться на сторонние библиотеки. Тем более что тут не требуется большой переносимости кода.

slesh
() автор топика
Ответ на: комментарий от slesh

Названия некоторых функций большими а не маленькими

Это не ошибка и не опечатка. Если бы ты внимательно читал, то знал бы зачем так сделано

Знаю про плохая практика, но не привык полагаться на сторонние библиотеки.

Ага, лучше свой велосипед изобрести чем использовать проверенный временем и оттестированный миллионами программистов.

Тем более что тут не требуется большой переносимости кода.

Если вдруг заказчик скажет, что надо портировать на другую ОСь, то тогда тебе не позавидуешь.

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

скан просмотрел, качество отвратное, допускаю, что точки с запятой в for'ах пропали из-за особенностей сканирования

Reset ★★★★★
()

> Но везде тока djvu плохого качества и без текстового слоя

Не уважаю печатные книги, очень неудобные в использовании, в плане поиска информации.



Да ты норкоман, штоле? Стивенс уж тыщу лет продаётся на букс.ру:

http://www.books.ru/shop/books/595118

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

да есть там такая фигня. зпт обычно это тчк с зпт :)

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

int
Socket(int family, int type, int protocol)
{
        int n;
        
        if ((n = socket(family, type, protocol) < 0)
                err_sys("socket error");

        return (n);
}

anonymous
()
Ответ на: комментарий от PayableOnDeath

Напишешь свою ОС с нуля?

Написать любой может свою ОС, единственное хз какого уровня она будет и хз что она будет уметь. Но писать свою ОС не собираюсь. Но собираюсь использовать непосредственно то, что предоставляют уже существующие ОС без каких либо дополнений и сторонних библиотек. По этому готов изобретать велосипед. Пусть мой велосипед будет одноколёсный и без руля, зато он будет хорошо выполнять именно то, что ему надо, а не тащить за собой запасные колёса, сидушки под разный размер задниц и на всякий случай фары и зонтик, как это получается при использовании сторонних разработок.

slesh
() автор топика
Ответ на: комментарий от LamerOk

Отчасти ) Одно дело продаётся, а другое дело - скачевается, почувствую разницу когда ты скачиваешь что-то из репозиториев или когда тебе за это еще приходится платить. Конечно труд авторов нужно уважать, но увы мы живем не в той стране где это делается.

slesh
() автор топика
Ответ на: комментарий от slesh

Сопровождать и поддерживать кто это после тебя будет? Твой подход годится только для домашних хелловорлдных проектов. В серьезном промышленном программировании этот подход неприемлем.

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

2 anonymous, в том то и дело что нет особо времени читать всё сразу, как говорится по мере надобности прочитается. По этому выбираю информацию которая непосредственно необходима в данный момент.

slesh
() автор топика
Ответ на: комментарий от slesh

а завтра тебе понадобятся:запасные колёса, сидения под разный размер задниц и на всякий случай фары и зонтик и исправлять тонну багов :)

anonymous
()
Ответ на: комментарий от Reset

Чаще всего пишу закрытые проекты, с закрытым исходным кодом, которые предназначены для очень узкого круга лиц, по этому единственный разработчик - это я. Исходники если и продаю то только в редких случаях и на особых условиях.

slesh
() автор топика
Ответ на: комментарий от slesh

так можно убить больше времени с меньшей пользой :) Книги надо читать, а не собирать. Лав, Стивенс, K&R - вполне достаточно :)

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

2 anonymous, вот когда понадобятся, тогда и приделаю. Проекты ориентированы в основном на то, что сразу всё сделал и забыл, без дальнейшей расширяемости, т.к. пишутся для определенного узкого круга задач, которые строго формализованы и не требует дальнейшей доработки. Короче, хватит, тут уже говорить на отвлеченные темы, каждый работает так как ему удобнее. А то как всегда начали за здравие, а закончили за упокой.

slesh
() автор топика
Ответ на: комментарий от slesh

> Стивенса — «UNIX: Разработка сетевых приложений» - качал её. Но везде тока djvu плохого качества и без текстового слоя

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

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

А никто и не говорил что англоязычные книги не подходят. Я спрашивал какие есть еще хорошие книги.

slesh
() автор топика

Мне в Сети попалась книга Секунов Н.Ю. Программирование на C++ в Linux / Н.Ю. Секунов. – СПб.: БХВ-Петербург, 2004. – 368 с.

Еще не читал, беглое ознакомление позволило сделать вывод, что основное внимание автора обращено на программирование Qt/KDE.

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

Есть ещё «Программирование для Linux. Профессиональный подход». Небольшая и очень полезная для начала. Читать её лучше не как справочник, а именно с начала до конца, ИМХО. Есть в интернете в виде djvu.

tim239 ★★
()

Как выше и писали конечно же UNIX. Профессиональное программирование Ричард Стивенс и Стивен Раго. Начинайте с нее, не прогадаете.

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

Уже скачал. И правда хорошая книжечка.

slesh
() автор топика
Ответ на: комментарий от anonymous

2 anonymous, посмотрел бы я на тебя как бы ты ваё*** если бы тебе за это «быдлподелие» платили бы до 10k$

slesh
() автор топика
Ответ на: комментарий от slesh

уже платят или заплатят? Обещать могут много. Кстати до 10 k$ может быть и 1$.

Кстати

Конечно труд авторов нужно уважать, но увы мы живем не в той стране где это делается.

Что же ты с 10 k$ не можешь книгу купить?

anonymous
()

Learn English and read «Understanding LINUX Network Internals», «Understanding LINUX Kernel» and of course LDD...

Dennis7
()
Ответ на: комментарий от Reset

Сначала софт писался под винду 2 месяца. Суммарно за всё заплатили 11к$ Но одному человеку захотелось чтобы серверная часть могла работать под Linux (в виду того, что он лучше справляется с большой сетевой нагрузкой). Вот и приходится переписывать с WinApi на Syscalls.

slesh
() автор топика
Ответ на: комментарий от slesh

лицопальма.бмп

> переписывать с WinApi на Syscalls

Не похоже, что вы умеете писать переносимые приложения...

ntp
()
Ответ на: лицопальма.бмп от ntp

7 лет писал только под винду и вот момент настал. Приходится портировать софт и на linux. Конечно как выше было сказано - при использовании универсальных библиотек типа boost и тому подобных не было бы проблем с переносом, но тогда и не было речи о переносе. Хотя с другой стороны, если бы сразу софт был бы мультиплатформенный, то никто бы не давал сейчас ни какой доплаты за перенос. Как говорится - мы сами делаем себе трудности.. но платят за них другие :)

slesh
() автор топика
Ответ на: комментарий от slesh

Вот, два месяца, а теперь еще выясняется, что человек то был не один ... Почти уверен, что 10$k это понты. Так если я посчитаю на сколько наша команда наработала на год так тоже получится круглая сумма.

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

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

slesh
() автор топика
Ответ на: комментарий от slesh

epoll в ... 2.4 ... про них мало кто пишет

это 4.2, это как «в жигулях турбина живет редко и про нее мало кто пишет».

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

> качал её. Но везде тока djvu плохого качества и без текстового слоя

Книги вообще-то не «качают», а покупают.

anonymous
()
Ответ на: комментарий от Reset

В реальных проектах все равно никто не использует такие низкоуровневые вещи как epoll

да ладно

а пользуются обертками типа boost::asio и libevent

почему никто за ACE никогда не говорит :)

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

Книги вообще-то не «качают», а покупают.


сейчас говорят в школу без книжек не пускают :)

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

Поделки на Си. Под Win - Visual Studio. Под никс взял gcc + NetBeans и уже на половину всё переделал.

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