LINUX.ORG.RU

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


3

1

Собственно вопрос в том нужно ли, и если нужно то что читать? С одной стороны книги по какому то конкретному языку будут объяснять базовые понятия if for while и так далее. А книги по алгоритмам в реальной жизни мало пригодны. Где набраться опыта красивого, правильного, быстрого кода.


Красивого, правильного и быстрого или всё-таки работающего?

Open Source - это лучшая на данный момент кузница кадров по любому наравлению. Начиная от просто участия в проектах и заканчивая Google Summer of Code. Выбери направление и включайся.

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

Open Source - это лучшая на данный момент кузница кадров по любому наравлению.

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

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

Нет, ты не понял. Участие в open source проектах - это совсем не «брать и писать», скорее это «брать и читать, читать, читать..» Причем это будут как раз не сухие алгоритмы, которые ты пока не ценишь, а живые рабочие проекты.

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

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

а пишешь на суд сообщества.

Хорошо, не подскажите какие-то маленькие проекты которым нужна помощь? Желательно на с++, ну или Си.

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

А почему маленькие? Больше сообщество - выше уровень менторов и «сообщников».

Ты под условия Google Summer of Code не попадаешь?

И на самом деле помощь нужна всем, просто тебе надо выбрать к чему душа лежит. Так-то я тебе перечислю - от systemd до OSv, от minetest до LXDE. Да хоть вон KDE Mentor Program.

alpha ★★★★★
()

«Microsoft Access 2010. Разработка приложений на реальном примере»

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

до LXDE

Это тот что razor-Qt сейчас? Я посмотрел код, там много файлов, я даже не знаю как лишь все это просто прочитать, не говоря уж про разобраться.

Ты под условия Google Summer of Code не попадаешь?

Он же вроде для студентов, нет? Я в 11 классе.

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

После написания игорь ТС захотел почитать про программирование

И это по второму кругу, первую книжку по с++ я в 11 лет прочитал) Потом делал игры лет в 13. Потом снова программирование. Ещё раз так же)

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

LXDE удобный проект, он состоит из многих небольших частей, которые можно изучать по отдельности. Вот захотелось плагин на lxde-панель добавить, идешь смотришь на код других трёх плагинов похожего формата и делаешь свой по образу и подобию.

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

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

Хотя конечно мне старомодно кажется что в 11-ом классе надо заниматься не этим, а поступлением в институт...

alpha ★★★★★
()

Алгоритмы и структуры данных — это тот базис, который делает тебя нормальным программистом и который даёт тебе возможность впоследствии вникать в предметную область конкретной задачи/проекта; взвешенно принимать решения о выборе подходящего инструмента; понимать, почему нужно или не нужно делать так или иначе и чем это грозит.

После прочтения ОП у меня сложилось впечатление, что ты понимаешь "книги по алгоритмам" как "перед сном напишите qsort три раза по памяти". Если это так — ты неправ.

Что конкретно читать, сто раз обсуждали на ЛОРе.

/thread

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

что ты понимаешь «книги по алгоритмам» как «перед сном напишите qsort три раза по памяти». Если это так — ты неправ.

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

Но вот каждый раз когда я начинаю дописывать старый код я нахожу там огромное количество изъянов, некоторые переменные не нужны(не в смысле не используются, а можно по другому сделать). И так далее.

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

что ты понимаешь «книги по алгоритмам»

Обычно я читал e-maxx.ru/algo/ , но в жизни эту штуку применять мне не пришлось. Ну конечно алгоритмы и математика дают правильную логику, но все же.

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

язабан

Если только IRL, иначе не эффективно. =)

korvin_ ★★★★★
()

«Совершенный код» же

Uter
()

Что ты можешь о «реальной жизни» знать, салага?

Читай «совершенный код» макконнела.

anonymous
()

как алгоритмы могут не пригодиться в реальной жизни, если они для неё и создавались?

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

книжки которые нужно прочитать уже после изучения синтаксиса определенного языка.

После изучения синтаксиса надо читать код, а не книжки.

Dron ★★★★★
()

А книги по алгоритмам в реальной жизни мало пригодны

Дада, не читай их, бесполезное занятие.

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

как алгоритмы могут не пригодиться в реальной жизни, если они для неё и создавались?

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

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

Я программирую довольно давно, и в нехватке алгоритмов не жалуюсь

Типичный вывод некомпетентного щегла :) Когда подрастёшь, поработаешь в реальных (нормальных) проектах, наберешься опыта, - поймешь, что не знаешь нихрена.

yoghurt ★★★★★
()

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

Где набраться опыта красивого, правильного, быстрого кода.

Читай сишные сниппеты.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от knotri

Синтаксис ЯП не имеет смысла учить, пока ты с алгоритмами не знаком.

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

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

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

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

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

О, Ван Рой и СИКП понятно почему тут. А почему все советуют TaPL? Для кого она? Я думал, что она нужна если компилятор будешь писать или язык свой придумывать.

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

О, Ван Рой и СИКП понятно почему тут. А почему все советуют TaPL? Для кого она?

TaPL — это вторая Священная Книга, после SICP. Как Новый Завет и Ветхий Завет.

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

SICP, TaPL и прочие священные книги не предназначены для этого. У них другое предназначение.

Я думал
думал
думал

Религия этого не приветствует.

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

Код без алгоритмов? И как ты себе это представляешь? Построй дом, начиная с крыши!

game66.ru/66 вот для такого например алгоритмы не нужны. Или те что нужны я знаю и так.

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

для такого например алгоритмы не нужны

Ага, ага... Расскажи мне. Не зная базовых алгоритмов, ты будешь такое велосипедить, что твои "микробики" вымрут нафиг.

те что нужны я знаю и так

Такое бывает. Но это не значит, что знание алгоритмизации вообще не нужно.

Eddy_Em ☆☆☆☆☆
()

Чтобы научиться правильно водить машину, нужно как можно больше ездить за рулем. Допустим ты уже умеешь ездить, но не так хорошо как тебе бы этого хотелось. Сколько инструкций по крутому вождению ты ни прочитаешь, может быть они приведут в порядок твои мысли, но ты не станешь лучше водить СРАЗУ. Все равно придется сталкиваться со всем на практике. Так и с кодом. Книги лучше читать или тогда, когда ты постигаешь что-то фундаментальное, или когда ты чувствуешь нехватку знаний в какой-то области. Дальше самый эффективный путь к совершенствованию качества кода - как можно больше его писать, и показывать очень беспристрастным злым критикам, думаю таких хватает.

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

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

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

есть. Платон Государство например.

или Ксенофонт Домострой(в девичестве Экономика)

читай сырцы из жемчужин Бентли и Лионовых коментариев например

ну или теже сырцы план9 ,

читай код .

qulinxao ★★☆
()

Платиновые треды /development.

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

книжки Кернигана(на русском это:

элементы_стиля,

инструментальные_средства,

язык,

среда,

практика

)

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

Это тот что razor-Qt сейчас?

Наоборот, разработка Razor-Qt прекращена и его разработчики примкнули к LXDE-Qt (основная версия LXDE на Gtk2, LXDE-Qt — это проект по переносу LXDE на Qt, который в будущем будет развиваться наравне с обычным LXDE).

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

оно после 1 года какой угодно практики раньше будет астронавт абстракции.

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

оно после 1 года какой угодно практики раньше будет астронавт абстракции.

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