Программирование в Linux

Привет ребята!

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

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

Мне интересны любые отклики, как гневные "RTFM!" так и более дружелюбное и приятное общение.

Хочу сказать немного о себе в рамках данного вопроса -во-первых, пожалуйста не думайте, что я полный чайник и мне хочется враз и всему научится - нет, это не так. Кое что я умею, (это конечно просто капли из бесконечного океана знаний), но тем не менее я обладаю зачаточными знаниями в Делфи, Mysql и PHP, достаточными для того, чтобы зарабатывать на жизнь, но.. я влюбился в Linux , а там , как известно без С никуда. т.е. мои дальнейшие шаги должны касатся приобретения знаний в этом области.

Да и вобще - не люблю застой, и именно поэтому постоянно пытаюсь уйти от ненависной винды,- сначала ASP потом замучившись с постоянными непонятками абсолютно новой ОС и отсутсвием неких библиотек/файлов и т.п. требовавшихся разным программам, что я пытался ставить из исходников - я попробовал логичность и стойность FreeBSD - система портов меня просто поразила, но.. хотелось чего то еще, и вот - Gentoo - думаю это то что я искал, и, т.к. я уже определился - нужно наконец-то браться за программирование в новой среде, ибо как я не мыслю жизни в застое , так и не знаю как жить без программирования, т.к. тогда это просто тупое юзание компа, что я жутко не люблю и не очень понимаю.

Вот что меня натолкнуло на создание этого топика. надеюсь это будет интересно еще линуксоидам (как гуру так и начинающим, и самым начинающим - вроде меня).

Вобщем - жду Ваших советов и мыслей - с чего начать.

P.S. KDevelop уже поставил :)

очень помогает книга

Самый первый скрипт, мне помогла написать книга, к сожлению сейчас я ей найти не смог. Это была книга общего характера о том что такое линукс и с чем его едят. Потом, когда узнал команду gcc -o и научился программировать на С всё пошло легче

bash

сам я новичёк как и ты. Скрипты начел писать почти сразу как подсел на Линукс. Набирай man bash и вперёд.
Стал дружить с гуглом. Почти всё там нахожу чё надо. На сишку тебе будет трудно перепрыгнуть после Делфи. Посебе знаю. Немного подругому пишеться :-)
_________________
ПЕЙ ПИВО ВСЕГДА И ВЕЗДЕ.

Re: bash

mamont написал(а):
На сишку тебе будет трудно перепрыгнуть после Делфи. Посебе знаю. Немного подругому пишеться :-)

ну это понятно, но выбор то не велик :)

ArtSh написал(а):
Самый первый скрипт, мне помогла написать книга, к сожлению сейчас я ей найти не смог. Это была книга общего характера о том что такое линукс и с чем его едят. Потом, когда узнал команду gcc -o и научился программировать на С всё пошло легче

ясно. а вот насчет С - может помните, какую литературу использовали в качестве учебной?

что то специфическое для линукса или классику типа ричи, кернигана?

Конечно

Конечно классику, специфическую литературу без нее не поймешь, а писать простые приложения можно не зная особенных функций юниксовых систем. В программировании на С главное научиться писать красивый правильный код. А для примеров особых функций не потребуется, printf он везде printf, scanf тоже.
Потом уже освоишь особенности программирования в линуксе.
PS А про делфи. А представляете каково писать на паскале после 4х лет изучения С?

сперва

сперва "Программирование под Linux Профессиональный подход" Марк Митчел, Джеффри, Оулдем Алекс Самюэдь (О'Рейли), потом "Взаимодействие процессов" Уильям Стивенс, а таже "Фундаментальные алгоритмы на С++" Роберт Седжвик, и справочник по С++ (stl)

Или вот это на

Или вот это на языке оригинала:
http://alexkbs.livejournal.com/172340.html

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

Согласен.

Согласен. Изучение Линукса лучше всего начинать с bash. Полистайте на досуге: http://gazette.lrn.ru/rus/articles/abs-guide/index.html

Согласен

Полностью согласен с предыдущим постом.
Так же советую заглянуть на http://ru.wikibooks.org/wiki/LOR-FAQ-Development

Я тоже начал с

Я тоже начал с bash. Потом Python. Ну, C... Assembler - отдельный разговор. На самом деле, кажется, я понял, что все равно на чем кодить по большому счету.
Кстати, кодить понравилось в vim, а не kdevelop'е каком-нить. 7-й вим особенно приятен

Ну конечно есть

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

Мне тоже нравится!

Начинал конечно с bash, мучал perl и php. Потом написал скриатик в Python. Сейчас изучаю с/c++.

Из книг думаю пойдет все, что не заточено чисто под win ( win32, MFC или что там еще ).

Потом google и очень позновательны man 2, 3
Может быть нескольео страниц в man, с одни и темже названием ( например инфа к системной роге stat, или одноименная ф-ция ). Задавая цыфру перед названием страници, выбираешь из какого раздела тебе нужна страница. Ключ -a покажет по очереди все страницы с таким названием, а -k покажет названия страниц, в которых встречается данное слово.

Пропищи также в USE="doc". Правда немного нервирует, то, что для некоторыж библиотек кроме описания API и примеров ничего больще нет, но и в это тоже можно разобраться.

_________________
Linux
...because life is too short for reboots

Изучение

Изучение программирования я начал на вильнюсовском бэйсике под ОС Демос. А сейчас используюю... C, C++, Perl, PHP, Bash, etc, для решения своих задач.

Рекомендую изучать в первую очередь C и C++, из всех книг по данному вопросу принято считать обязательными две:

1. Денис Ричи и Брайн Керниган "Язык С", превосходная книга, лёгкая для чтения, действительно объясняющая многие вопрос, такие как почему C++ а не ++C.

2. Бьярн Страустрап "Язык С++" 3-е издание, книга от создателя C++, нудная, тяжелая для чтения, но если купишь её и осилишь, то ни за что не пожалеешь.

P.S. Что получится в результате:

C++ - C

?

Это собственно

Это собственно то, с чего я начинал:

1. Керниган, Ричи "Язык программирования Си" - классика, обязательно к прочтению!

2. Теренс Чан "Системное программирование на С++ в UNIX" - вещь, бумажный вариант можно купить только у букинистов, но есть отсканеный (по нему и учился), если дадите место куда выложить, залью.

"системное программирование на С++

Вышлите, пожалуйсто. Крутая книга, читал, но в цифровиде под рукой будет. Пожалуйсто, залейте на

, заранее благодарен.

PS. Желательно, как можно сильнее сжать(rar,gz,bz2)

А можно

А можно еще?

Действительно

Действительно сильный прогресс в программировании на с/с++ у меня был, когда я решил модифицировать некоторые программы для своих нужд. В Gentoo получить исходники просто. Труднее в них разобраться. Причём это не абстрактные примеры из книг, а то, что тебе действительно любопытно и написано, часто, высокопрофессионально.

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

Как это не забавно, но я начинал с tcsh. По большому счёту существенной разницы в плане функциональности по сравнению с bash нет. Не забудте заглянуть на gnu.org Там, как это не удивительно, много хорошей документации. in english правда.

Удачи!

Спасибо, ребята.

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

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

естественно выполнять упражнения из книг и сохранять их :)

2) сначала буду разбиратся с консольным С (если можно так сказать), а потом уже буду приступать к Qt и графическим добавкам.
почему не GTK?
по нескольким причинам:

3) и паралельно, так скажем - в рабочем порядке, буду разбираться с bash - я так понял это неимоверная просто вещь..

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

вот такой план.

теперь отвечу на сообщения, с некоторыми комментариями и новыми наводящими вопросами.

еще раз спасибо всем!

aluk написал(а):
Это собственно то, с чего я начинал:

1. Керниган, Ричи "Язык программирования Си" - классика, обязательно к прочтению!

это уже нашел, скачал - сижу пытаюсь читать.

aluk написал(а):
2. Теренс Чан "Системное программирование на С++ в UNIX" - вещь, бумажный вариант можно купить только у букинистов, но есть отсканеный (по нему и учился), если дадите место куда выложить, залью.

может кто подскажет где скачать? пусть в библиотеке моей будет до лучших времен..

RRD написал(а):
Действительно сильный прогресс в программировании на с/с++ у меня был, когда я решил модифицировать некоторые программы для своих нужд.

это пока что мне не светит.. и именно из за -

RRD написал(а):
написано, часто, высокопрофессионально.

RRD написал(а):
Удачи!

а вот за это - отдельное спасибо! :)

PK написал(а):
Так же советую заглянуть на http://ru.wikibooks.org/wiki/LOR-FAQ-Development

ЭТО ПРОСТО ЧУДО , А НЕ САЙТ! СТОЛЬКО ПОЛЕЗНОГО! СПАСИБО!

Hrundix написал(а):
Согласен. Изучение Линукса лучше всего начинать с bash. Полистайте на досуге: http://gazette.lrn.ru/rus/articles/abs-guide/index.html

а нет ли где полного варианта , пригодно для распечатки? по указанной там ссылке - не качается что-то.. :(

ArtSh написал(а):
сперва "Программирование под Linux Профессиональный подход" Марк Митчел, Джеффри, Оулдем Алекс Самюэдь (О'Рейли), потом "Взаимодействие процессов" Уильям Стивенс, а таже "Фундаментальные алгоритмы на С++" Роберт Седжвик, и справочник по С++ (stl)

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

P.S. может на форуме создать что-то типа раздела "Программирование/Скрипты" или что то подобное? все таки вещь нужная, важная и полезная имхо?
и туду писать об этом, там можно будет меняться ссылками на книги (внимание администрация, я не говорю о незаконных ссылках и копирайтах, из за которых у форума могут быть проблемы, все такое обсуждается иначе :)) и интересные сайты по этой теме.

Удачи всем!

На
www.linuxshop.ru

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

Справочников по си си++ в нете валом. В той же библиотеке Машкова.

У каждой приличной гуевой либы есть своя тузла для визуал проектирования.
designer - для qt
glade (или glade2)для gtk
wxglade для wxgtk
Все как у людей. Кидаешь контрол плоучаеш код. Тараканы тоже везде свои. Ну а для правки - отладки имхо емакс+gdb (некоторые советуют вим, впрочем это уже холивар).

Есть еще eclipse. Молодежь хвалит. Поставил сегодня на пробу. Тормозит - вилы. Фишек пока не нашел :)

Перед

Перед изучением QT хорошо бы вникнуть хотя бы в основы ООП, например изучить С++. Могу посоветовать Г. Шилдт "Самоучитель С++", хорошая понятная книга, с примерами и упражнениями. Для беглого изучения и понятия основ самое то.

На мой взгляд

На мой взгляд очень достойная книга Андрея Робачевского "ОС UNIX", рассматриваются почти все аспекты System V

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".