JavaRush /Java блогу /Random-KY /Жаңы баштагандар үчүн эң мыкты 10 программалоо китептери
Max Stern
Деңгээл
Нижний Новгород

Жаңы баштагандар үчүн эң мыкты 10 программалоо китептери

Группада жарыяланган
Менин келечектеги Javaists үчүн көптөгөн техникалык интервьюларды өткөргөн кесиптешим бар. Бир жолу мен андан тил билгилери бирдей адамдардын арасынан тандоодо чыныгы тажрыйбасы жок талапкерди жалдоо чечимине эмне таасир этет деп сурадым. Рыноктук кырдаалды эске алуу менен, бул суроо сиздин көбүңүзгө тиешелүү деп ойлойм. Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 1"Технологияга болгон ынтызарлык, маселени чечүүнүн эң жакшы вариантын тандоо жөндөмү, жалпы IT эрудициясы, жумушта аны эмне күтүп турганын түшүнүү" - бул анын жообу болду. Мен бир жолу макалада Java тorн үйрөнүүгө жардам берген башталгычтар үчүн программалоо китептерин сүрөттөп бердим. Бул макалада мен башталгыч программистке ошол IT эрудициясына ээ болууга, келечектеги ишти түшүнүүгө, ошондой эле эң жакшы чечимди тандоо милдетин жөнөкөйлөтүүгө жардам бере турган басылмаларга токтолом. Башкача айтканда, жумушка орношуп, эң башынан эле аны мүмкүн болушунча жакшы аткарыңыз. Мен бул тизмени өз каалоом боюнча түздүм, андыктан бул бир аз субъективдүү болушу мүмкүн. Студенттер үчүн классикалык программалоо окуу китептери жана бардык муундагы программисттер үчүн маалымдамалар да бар.

Кодду жана өндүрүмдүүлүктү жогорулатуу

Жөн гана code жазуу жетиштүү эмес. Аны жакшы жазуу, аны өркүндөтүү, ошондой эле жалпысынан кандайча өнүккөндүгүн түшүнүү маанилүү. Жаңы башталгыч программисттер жана башкалар үчүн төмөнкү китептер адистердин бир нече муунуна программалык камсыздоону иштеп чыгуунун татаал технологиялык процесси менен күрөшүүгө жардам берди.

Прагматик программист. Master to Journeyman (Эндрю Хант, Дэвид Томас)

Түпнуска аталышы: Эндрю Ханттын жана Дэвид Томастын «Жолчудан мастерге чейин» программалык программисти Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 2. Эгер сиз бул китепти окубасаңыз, анда форумдардан жана атайын ресурстардан анын цитаталарын бир нече жолу кезиктирсеңиз керек. Бул китептеги прагматикалык программисттин образы ушунчалык ачык-айкын жана идеалдаштырылгандыктан... канчалык парадоксалдуу угулбасын, аны романтик деп айтууга болот. Ошого карабастан, китептеги кеңештер анын улгайган курагына карабастан практикалык жана актуалдуу. Мен программалоо китептеринин дүйнөсүндө "Прагматист программисти" эмнеге салыштырарымды билбейм. Бул дүйнөдөгү эң жакын аналогдор - бул "Эски Келишим" же супер-күлкү тамак китеби. "Прагматикада" бардыгы абдан конкреттүү жана практикада максималдуу түрдө колдонулушу мүмкүн. Кээде бул баналдык деңгээлге чейин жетет (мисалы, эффективдүү баарлашуу бөлүмүндө бизнес этикетинин негизги эрежелери камтылган), бирок кээде китептин кеңештери алмаштырылгыс, айрыкча, жаңы иштеп чыгуучунун чыдамдуу жана кунт коюп насаатчысы жок болсо. Булар codeдун кайталанышы, прототиптөө, баалоо боюнча кеңештер. Же кемчorксиз бир программаны түзүү мүмкүн эместиги жөнүндө эскертүү. Ошондой эле пайдалуу техникалык пункттар бар, мисалы, мүчүлүштүктөрдү оңдоо codeу, бирдикти тестирлөө же алгоритмдердин ылдамдыгы... кыскасы, программист катары карьерага даярдануу үчүн эмне керек.

Рефакторинг Бар болгон codeду жакшыртуу (Мартин Фаулер)

Түпнуска аталышы: Рефакторинг: Кент Бек менен бирге, Мартин Фаулер менен болгон codeдун дизайнын өркүндөтүү. Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 3Эгер кимдир бирөө бардык убактагы карьераны көтөрүүчү программалоо боюнча эң мыкты китептерди тизмектеп берүүнү сурансаңыз, кимдир бирөө сөзсүз түрдө "Рефакторинг" деп айта алат. Кимдир бирөө бул китепти эскирген деп айтышы мүмкүн, кээ бир жагынан алар туура болот. Ал рефакторинг универсалдуу эреже боло элек мезгилде жазылган жана андагы кээ бир чындыктар азыркы программисттердин каалоосу үчүн ачык көрүнүп турат. Ошого карабастан, рефакторинг ыкмалары анда ушунчалык жакшы жана деталдуу сүрөттөлгөн (айрым жерлерде, атүгүл, ачык эле айтаар элем), ар бир башталгыч андан пайдалуу нерсени табат. Китептин жаңыртылган басылышы бир нече жыл мурун чыгып, жаңы техникалар кошулган, бул эң сонун. Мындан тышкары, бул китептеги мисалдар Java тorнде жазылган. Мен айта алам бир гана жетишпеген жагы - бул көп сөз. Ошентсе да мен китепти сунуштайм.

Таза code (Роберт Мартин)

Түпнуска аталышы Clean Code: A Handbook of Agile Software Craftsmanship by Роберт С. Мартин Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 4Бул китеп мурункусуна караганда жаңыраак болсо да, программалоо боюнча китептердин классиги болуп калды. "Боб байке" деп кээде дүйнөлүк программалоо коомчулугунда Роберт Мартин деп аташат, Agile манифестинин авторлорунун бири, ошондой эле заманбап "таза" программалоонун кээ бир принциптери, мисалы, SOLID. Китептин негизги лейтмотивдеринин бири болуп эсептелсе болот... эмпатия же жөн гана сиздин codeуңуз менен иштөөгө туура келген ар бир адамга жакшы мамиле кылуу (анын ичинде өзүңүз да келечекте). «Таза codeекс» эрежелеринин көбү ушул жөнөкөй принципке жана акылга негизделген. Эрежелердин жана кеп-кеңештердин көбү абдан туура, интуитивдик түрдө сиздин башыңызда айлангандай көрүнөт, бирок аларды так формулировкалоо оңой эмес. Бирок, автордун кээ бир ойлору менен талашса болот: ал кээде өтө категориялык. Мисалы, ал жакшы code комментарийге муктаж эмес деп жазат. Ошентсе да китепти сөзсүз окуш керек.

Эски code менен эффективдүү иштөө (Майкл Фээрс)

Түпнуска аталышы Майкл Фэтерс тарабынан Legacy Code менен эффективдүү иштөө Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 5Life сизди буга даярдаган эмес... Жок, чындыгында: эгер сиз жаңы эле үйрөнүп жатсаңыз, эски code базалары менен иштөө кандай азап экенин элестете албайсыз. Билл Гейтстин чоң атасы жазган болушу мүмкүн. Бул code көбүнчө сиз көнгөн нерседен такыр башкача жазылган жана ушунчалык начар documentтештирилгендиктен, кээде анын авторун тапкыңыз келет жана... Тилекке каршы: Java программистинин чоң долбоорлордогу жашоосу көбүнчө эски колдоо менен байланышкан. Бул китеп байыркы code менен иштөөнүн техникалык аспектилери менен жардам бере алат, бирок ошондой эле тагдырыңыз менен тил табышууга жардам берет. Ооба, мен олуттуумун. Эгер сиз аутсорсингге же ири долбоорлорду ишке ашырууга багыт алган болсоңуз, бул китеп сизге пайдалуу болот.

Биринчи баш. Дизайн үлгүлөрү (Эрик Фриман, Берт Бейтс, Кэти Сиерра, Элизабет Робсон)

Түпнуска аталышы Head First Design Patterns: A Brain Friendly Guide by Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 6Дизайн үлгүлөрү - бул жакшы формадагы логикалык эрежелер, эгер сиз аларды убакыттын өтүшү менен изилдебесеңиз, эсиңизге келет ( же жокпу...) жана эгер сиз аларды мүмкүн болушунча эртерээк карап баштасаңыз, жаңы программисттин супер державасына айланат. Ооба, адегенде салыштырмалуу татаал жеке долбоор менен ойноп, аны өзүңүз чакан тапшырмаларга бөлүүгө аракет кылуу пайдалуу... жана акырында ошол эле үлгүнү табыңыз. Бирок, иш келгенде, эксперименттер үчүн дайыма эле жетиштүү убакыт жок. Мен стажировкадан өткөндө, мен үлгүлөр жөнүндө абдан аз билчүмүн: JavaRushта окуп жүргөндө, мен жөн гана бул заводдордун баарын, синглтондорду, инъекцияларды, көз карандылыктарды карап чыгып, керек болгондо түшүнүп алам деп ойлодум. Бирок, муну абдан тез түшүнүү керек болчу жана бул китеп «Биринчи баш. Дизайн үлгүлөрү» мага бул жагынан жардам берди. Ал оңой жазылган, иллюстрациялар жана юмор менен толтурулган... Менимче, “дизайн үлгүлөрү” темасынын презентациясы абдан маанилүү: ал абдан кызыксыз түрдө берorши мүмкүн же Head Firstдегидей көрсөтүлүшү мүмкүн. "Таза codeекске" жана/же "Рефакторингге" эң сонун кошумча!

Компьютер архитектурасы жана жалпы информатика

Келечектеги программист үчүн компьютердин архитектурасын түшүнүү, операциялык системалардын структурасын жана маалымат базалары кантип түзүлөөрүн билүү канчалык маанилүү? Бул бorм ишиңизде сизге пайдалуу болоору чындык эмес. Бирок алар IT тармагына жана IT бorмине болгон каалооңузду көрсөтүүгө сөзсүз жардам берет. Эң негизгиси: баары кантип иштээрин билсеңиз, бул көйгөйлөрдү жакшыраак чечүүгө жардам берет. Маалымат 100%. Ошентип, бул жерде сизге жардам бере турган дагы эки китеп бар.

Код (Чарльз Петцольд)

Түпнуска аталышы Code: Компьютердик жабдыктардын жана программалык камсыздоонун жашыруун тor Чарльз Петцольддун Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 7"Кодунун" биринчи басылышы дүйнөнү 2000-жылдардын башында көргөн, бирок чындыгында ал мурда же кийин пайда болушу мүмкүн - жана дагы эле актуалдуу болмок. Чындыгында, бул китепте компьютердин иштеши ошол нөлдөрдүн жана бирдиктердин кантип иштешинен баштап, өтө, өтө төмөн деңгээлде түшүндүрүлөт жана эң биринчи техникалык мисал – бул фонарь схемасы, аны эң жөнөкөй деп айтууга болот. -бит компьютер... Жок, сиз китептин баары өтө примитивдүү деп ойлобойсуз. Чындыгында, так карама-каршы... Бул командалар менен компьютер схемаларын, эс тутумдун иштешин жана операциялык системаларды өз маңызында сүрөттөйт. Балким, аны окугандан кийин мен компьютерлер кандай иштээрин түшүндүм. Процессордун архитектурасы жана инструкциялар топтому өзгөрүп, эс тутумдун өткөрүү жөндөмдүүлүгү көбөйсө да, түпкүлүгүндө компьютерлер дал ушундай иштешет. Java программистине бул бorм керекпи? Аларды өз ишинде түздөн-түз талап кылган адамдар аз. Бирок кыйыр түрдө, мага анын баары иш жүзүндө кандайча иштээрин түшүнгөнүм менин жумушумда көп жардам берди.

Компьютер orмине киришүү (Гленн Брукшир, Деннис Брилов)

Түпнуска аталышы Компьютер orми: Глен Брукшир жана Деннис Брайлоу тарабынан жазылган. Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 8Бул китеп мага университетте, компьютер orминин негиздерин окуп жүргөндө келди. Алтынчы басылышынын котормосун гана алдым, учурда 13-басылышы учурдагы. Китеп Америка Кошмо Штаттарынын жана башка өлкөлөрдүн университеттеринде көп жылдардан бери окутулуп келе жаткан информатиканын негизги курсу. Андагы материалдын камтуусу абдан кеңири: машинанын архитектурасы, санаруу системалары, маалыматтарды иштетүү, операциялык системалар, маалымат базасын куруунун принциптери, маалымат структуралары, файлдык структуралар ж.б. Китептин бардык бөлүмдөрү бирдей жакшы жазылган эмес. Мисалы, мен бир жолу долбоорлоо ыкмалары жана маалымат базалары жөнүндө бөлүмдөр менен абдан чаташтырдым, бирок сандар системалары, биттик эсептөөлөр, ПК архитектурасы жана маалымат структуралары боюнча бөлүмдөр мени чындап эле резонанс кылды. Китептеги эң сонун нерсе - бул баскычтар менен көнүгүүлөрдүн көптүгү. Студенттерден тышкары, мындай китеп, кыязы, боштуктарды толтуруу жана жалпысынан информатика жөнүндө түшүнүк алуу үчүн, биринчи кезекте, техникалык бorми жок өз алдынча окуган адамдарга керек.

Алгоритмдер жана маалымат структуралары. Жана дагы бир чабуул!

Жогорку деңгээлдеги заманбап программалоо канчалык деңгээлде болуп калганын эске алганда, алгоритмдерди билүү анча маанилүү болбой калды. Эми талап кылынган китепкананы колдонуу жана массивди кантип эң жакшы иреттөө жөнүндө ойлонбостон коюу жетиштүү. Бирок, сиз дагы эле жумушта мээңизди чыңдоого туура келет жана бир нече жолу. Жаңы башталгыч программистке коюлган талаптардын ичинен “мүмкүн болгон эң жакшы чечимди тандоо жөндөмү” деген пунктту эстейсизби? Ошентип, ким эмне дебесин, мен жакшы алгоритмдик машыгууну оптималдуу чечимдерди табуу үчүн эң сонун жаңыртуу деп эсептейм. Ошондуктан кийинки эки китеп алар жөнүндө. Алгоритмдер жөнүндө.

Биз алгоритмдерди териштирип жатабыз. Программисттер жана кызык Aditya Bhargava үчүн иллюстрацияланган жол

Баштапкы аталышы: Grokking Algorithms: Программисттер жана башка кызык адамдар үчүн иллюстрацияланган колдонмо Адитья Ю. Бхаргава тарабынан Жаңы баштагандар үчүн программалоо боюнча мыкты 10 китеп - 9автордун өзү китептин башында алгоритмдер ага дароо эле келбей калганын жазган жана ал “Гроккинг алгоритмдерин” жазууга аракет кылган. окууга жеңил болот деп. Бул башталгыч программисттер үчүн, башкача айтканда, "салам, дүйнө" деп жаза алган жана int, сап, цикл, бутак жана массив эмне экенин билгендер үчүн иштелип чыккан. Ооба, ал экранда массивди көрсөтө алат. Математика боюнча талап кылынган бorм болжол менен орто мектептин 6-7-класстарынын деңгээлинде, эч кандай бурмалоолор жок. Бул китептин биринчи олуттуу плюс болуп саналат. Бул тема боюнча көптөгөн басылмалар сыяктуу эле, окурманды математика студенти катары элестетүүгө аракет кылbyte. Башкача айтканда, эгер сиз математикадан, алгоритмдерден корксоңуз, акыркысын үйрөнүүгө аракет кылып, эч нерсе түшүнбөсөңүз, анда бул китеп сиздин реабorтацияңыз үчүн идеалдуу. Экинчи позитивдүү жагдай - бул китепте иш жүзүндө пайдалуу болушу мүмкүн болгон нерсе талкууланат (муну түшүнүү, албетте, туура). Бул экorк издөөнүн жана эффективдүүлүктүн маңызын түшүндүрүүдөн башталат - түзмө-түз манжаларда жана көптөгөн сүрөттөр менен. Үчүнчүдөн, китепте көптөгөн суроолор жана көнүгүүлөр бар (code мисалдары Python тorнде, бирок бул анчалык деле маанилүү эмес). Кээ бирөөлөр үчүн оң болушу мүмкүн, бирок башкалары үчүн терс көрүнүш: китеп өзүн толук камтыган маалымдама китепчеси болуп көрүнбөйт. Айталы, изилдөө үчүн жалпы кабыл алынган алгоритмдердин ичинен бул жерде экөө гана бар - натыйжасыз киргизүү алгоритми жана эффективдүү тез сорттоо алгоритми. Билбейм, эмне үчүн автор башка алгоритмдерди карабашы керек, көбүк же бириктирүү. Чынында, бириктирүү алгоритми китепте айтылган, бирок кыскача, талдоосуз жана тез сорттоо менен салыштырганда гана. Башка темалар менен баары бирдей. Абдан жакшы камтылган негиздер бар, бирок кээде сиз тереңирээк улантууну каалайсыз, бирок андай эмес. Бир сөз менен айтканда, бизде абдан негизги китеп бар, андан кийин, балким, сиз баары олуттуураак сүрөттөлгөн китепти тапкыңыз келет. Мисалы, төмөнкү.

Javaдагы алгоритмдер (Роберт Седгвик, Кевин Уэйн)

Түпнуска аталышы: Алгоритмдер Роберт Седжвик жана Кевин Уэйн Жаңы баштагандар үчүн эң мыкты 10 программалоо китеби - 10Чындыгында, бул китепти сүйкүмдүү да, коркутуу да мүмкүн. Ал сизди жок дегенде анын көлөмү менен... көп барактары жана белгилүү бир академиялык мүнөзү менен коркутат. Ошондуктан, эгер сиз ага ыксыз болсоңуз, академиктер, же математикага (орто мектеп, инженерлер үчүн жогорку математиканын эң жөнөкөй элементтери) ишенбесеңиз, анда бул китептен баштабай эле койгонуңуз оң. Ал жерде математикалык терминдер көп эмес, бирок мамиленин өзү ушундай ой жүгүртүүнү болжолдойт. Бирок мурунку китептен кийин - эмне үчүн. Ал сага жол көрсөтүп берет. Кээ бир жерлерде биринчи бөлүм Java бorмин жыйынтыктайт жана кээ бир маалымат структураларын аныктайт. Аны тандап окуган жакшы, бирок экинчи жана үчүнчү бөлүмдөрүн жетишерлик терең изилдеп чыкса зыяны жок. Калгандары да графиктер жана саптар жөнүндө кызыктуу жана кылдат маалыматтарга толгон. Мен мындай нерселер программалоонун аң-сезимин калыптандырууда Өтө пайдалуу деп айтаар элем. Презентацияга келсек, автор мугалим болгону менен, көбүнчө кызыккан, даяр адамдар менен иштөөгө көнүп калгандай сезилет. Андыктан сабырдуу бол жана оку. Ошондой эле көйгөйлөрдү чечүү, бул жерде алар көп. Айтмакчы, Coursera сайтында китептин авторлору түзгөн алгоритмдер боюнча курсту таба аласыз.

Өзүңүздүн рамкаңызды бorңиз

Акыр-аягы, дагы бир китеп. Жана дагы - пайдалуу.

Жазгы аракет (Крейг Уоллс)

Түпнуска аталышы: Жазгы аракетте Крейг Уолс Жаңы баштагандар үчүн мыкты 10 программалоо китептери - 11Чынында юбка кийбеген “юбкачан адам” менен бирдей эле атактуу мукабалуу абдан атактуу китеп. Ачыгын айтканда, Жазды бир эле китептен үйрөнүү, бир эле учурда бардыгын иш жүзүндө сынап көрүүгө аракет кылсаң да, өтө татаал иш. Айтмакчы, тигил же бул бөлүмдү окугандан кийин муну кантип жасоо керектигин түшүнүү өтө кыйын болушу мүмкүн. Мен бул китеп менен бир компанияда стажировкадан өткөндө иштегем, ушундай жол менен колдонсом, ал абдан жардам берет. Анын үстүнө, бүгүнкү күндө да, буга чейин программист болуп иштеп, мен дайыма ага кайтып келет. Кыскача айтканда, сиз анын жардамы менен негизги Java негизи жөнүндө жалпы түшүнүк ала аласыз.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION