JavaRush /Java Blogu /Random-AZ /Başlayanlar üçün Proqramlaşdırma üzrə Top 10 Kitab
Max Stern
Səviyyə
Нижний Новгород

Başlayanlar üçün Proqramlaşdırma üzrə Top 10 Kitab

Qrupda dərc edilmişdir
Gələcək Javaistlər üçün çoxlu texniki müsahibələr aparmış bir həmkarım var. Bir dəfə mən ondan soruşdum ki, təxminən bərabər dil bilikləri olan insanlar arasından seçim edərkən heç bir real təcrübəsi olmayan abituriyenti işə götürmək qərarına nə təsir edir? Bazar vəziyyətini nəzərə alaraq, məncə, bu sual bir çoxlarınız üçün aktualdır. Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 1"Texnologiyaya ehtiras, problemin həlli üçün ən yaxşı variantı seçmək bacarığı, ümumi İT erudisiyası, işdə onu nələrin gözlədiyini başa düşmək" - bu onun cavabı idi. Mən bir dəfə bir məqalədə Java öyrənməyimə kömək edən yeni başlayanlar üçün proqramlaşdırma kitablarını təsvir etdim. Bu yazıda mən təcrübəsiz bir proqramçıya bu IT erudisiyasını qazanmağa, gələcək işi başa düşməyə, həmçinin ən yaxşı həll yolunu seçmək vəzifəsini asanlaşdırmağa kömək edəcək nəşrlərə diqqət yetirəcəyəm. Yəni bir iş tapın və orada ilk gündən mümkün qədər yaxşı çıxış edin. Bu siyahını öz seçimlərimə görə tərtib etdim, ona görə də bir qədər subyektiv ola bilər. Həm tələbələr üçün klassik proqramlaşdırma dərslikləri, həm də bütün nəsillərin proqramçıları üçün istinad kitabları var.

Kodun və məhsuldarlığın təkmilləşdirilməsi

Sadəcə kod yazmaq kifayət deyil. Onu yaxşı yazmaq, təkmilləşdirməyi bacarmaq, həmçinin ümumiyyətlə necə inkişaf etdiyini başa düşmək vacibdir. Başlayan proqramçılar və başqaları üçün aşağıdakı kitablar birdən çox mütəxəssis nəslinə proqram təminatının hazırlanmasının çətin texnoloji prosesinin öhdəsindən gəlməyə kömək etmişdir.

Praqmatist proqramçı. Ustaya səyahətçi (Endryu Hant, David Tomas)

Orijinal başlıq: Andrew Hunt və David Thomas tərəfindən Journeymandan Ustadlığa qədər Proqramatik Proqramçı Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 2Əgər bu kitabı oxumamısınızsa, çox güman ki, forumlarda və xüsusi resurslarda ondan sitatlara dəfələrlə rast gəlmisiniz. Bu kitabda praqmatist proqramçı obrazı o qədər aydın və ideallaşdırılmışdır ki... nə qədər paradoksal səslənsə də, onu romantik adlandırmaq olar. Buna baxmayaraq, kitabdakı məsləhətlər, qocalmasına baxmayaraq, praktik və aktualdır. Proqramlaşdırma kitabları dünyasında “Praqmatist Proqramçı”nı nə ilə müqayisə edəcəyimi bilmirəm. Bu dünyanın ən yaxın analoqları "Əhdi-Ətiq" və ya bəzi super sərin yemək kitabıdır. “Praqmatikada” hər şey çox spesifikdir və praktikada maksimum dərəcədə tətbiq oluna bilər. Bəzən bayağılıq nöqtəsinə çatır (məsələn, effektiv ünsiyyət bölməsi iş etiketinin əsas qaydalarını ehtiva edir), lakin bəzən kitabdakı məsləhətlər əvəzolunmazdır, xüsusən də təcrübəsiz bir tərtibatçının səbrli və diqqətli bir mentoru yoxdursa. Bunlar kodun təkrarlanması, prototipləmə, qiymətləndirmə ilə bağlı məsləhətlərdir. Və ya mükəmməl proqram yaratmağın qeyri-mümkünlüyünü xatırladan. Həmçinin, məsələn, sazlama kodu, vahid testi və ya alqoritmlərin sürəti ilə bağlı faydalı texniki məqamlar var... bir sözlə, bir proqramçı kimi karyera üçün nə hazırlamaq lazımdır.

Refaktorinq Mövcud Kodun Təkmilləşdirilməsi (Martin Fowler)

Orijinal başlıq: Refaktorinq: Kent Bek ilə Martin Fowler tərəfindən Mövcud Kodun Dizaynının Təkmilləşdirilməsi Başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 3Kimdənsə bütün zamanların ən yaxşı karyera yüksəlişi üçün proqramlaşdırma kitablarını sadalamağı xahiş etsəniz, kimsə mütləq “Refaktorinq”i qeyd edəcək. Kimsə bu kitabın köhnəldiyini deyə bilər və müəyyən mənada haqlı olacaq. Bu, refaktorinqin hələ universal qayda olmadığı bir dövrdə yazılmışdır və buradakı bəzi həqiqətlər bugünkü proqramçı olmaq istəyənlər üçün aydındır. Buna baxmayaraq, refaktorinq üsulları orada o qədər yaxşı və ətraflı təsvir edilmişdir (bəzi yerlərdə, hətta deyərdim ki, sözlə desəm) ki, hər bir yeni başlayan şəxs onda faydalı bir şey tapacaq. Kitabın yenilənmiş nəşri bir neçə il əvvəl çıxdı və yeni texnikalar əlavə edildi, bu əladır. Bundan əlavə, bu kitabdakı nümunələr Java dilində yazılmışdır. Qeyd edə biləcəyim yeganə çatışmazlıq çox sözlülükdür. Buna baxmayaraq, kitabı tövsiyə edirəm.

Təmiz Kod (Robert Martin)

Orijinal adı Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin Başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 4Bu kitab əvvəlkindən daha yeni olsa da, proqramlaşdırma üzrə kitabların klassikinə çevrilmişdir. Qlobal proqramlaşdırma cəmiyyətində bəzən Robert Martin adlandırılan "Bob əmi" Çevik manifestinin, eləcə də müasir "təmiz" proqramlaşdırmanın bəzi prinsiplərinin, məsələn, SOLID-in müəlliflərindən biridir. Kitabın əsas leytmotivlərindən biri hesab edilə bilər... kodunuzla işləməli olacaq hər kəsə (gələcəkdə özünüz də daxil olmaqla) qarşı empatiya və ya sadəcə olaraq yaxşı münasibət. “Təmiz Məcəllə” qaydalarının əksəriyyəti bu sadə prinsipə və sağlam düşüncəyə əsaslanır. Qaydaların və məsləhətlərin əksəriyyəti çox düzgün görünür, intuitiv olaraq beyninizdə fırlanır, lakin onları aydın şəkildə formalaşdırmaq asan deyil. Bununla belə, müəllifin bəzi fikirləri ilə mübahisə etmək olar: o, bəzən son dərəcə qətiyyətlidir. Məsələn, o yazır ki, yaxşı kodun şərhə ehtiyacı yoxdur. Buna baxmayaraq, kitab mütləq oxunmalıdır.

Köhnə kodla effektiv işləmək (Michael Feathers)

Orijinal başlıq Michael Feathers tərəfindən "Legacy Code ilə Effektiv işləmək" Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 5Life sizi buna hazırlamadı... Xeyr, həqiqətən: əgər yenicə öyrənirsinizsə, köhnə kod bazaları ilə işləməyin nə qədər ağrılı olduğunu təsəvvür edə bilməzsiniz. yəqin ki, Bill Qeytsin babası tərəfindən yazılmışdır. Bu kod çox vaxt vərdiş etdiyinizdən tamamilə fərqli şəkildə yazılır və o qədər zəif sənədləşdirilir ki, bəzən onun müəllifini tapmaq istəyirsiniz və... Təəssüf ki, Java proqramçısının böyük layihələrdə həyatı çox vaxt köhnə dəstək ilə əlaqələndirilir. Bu kitab qədim kodlarla işləməyin texniki aspektlərində kömək edə bilər, lakin o, həm də taleyinizlə barışmağa kömək edə bilər. Və bəli, mən ciddiyəm. Əgər böyük layihələri olan bir autsorsinq və ya məhsul şirkəti ilə maraqlanırsınızsa, bu kitab sizin üçün faydalı olacaq.

Əvvəlcə baş. Dizayn nümunələri (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Orijinal başlıq Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 6Dizayn nümunələri yaxşı formada olan məntiqi qaydalardır ki, onları zamanla öyrənməsəniz, ağlınıza gələcək ( yoxsa yox...) və onlara mümkün qədər tez baxmağa başlasanız, sözün əsl mənasında təcrübəsiz bir proqramçının super gücünə çevrilir. Bəli, əvvəlcə nisbətən mürəkkəb şəxsi layihə ilə məşğul olmaq və onu özünüz alt tapşırıqlara bölməyə çalışmaq faydalıdır... və nəticədə eyni nümunəni tapın. Ancaq işə gəldikdə, təcrübələr üçün həmişə kifayət qədər vaxt yoxdur. Təcrübə zamanı mən nümunələr haqqında çox az şey bilirdim: JavaRush-da oxuyarkən mən sadəcə olaraq bütün bu fabrikləri, tək tonları, inyeksiyaları, asılılıqları qaçırdım və lazım olanda bunu anlayacağımı düşünürdüm. Ancaq bunu çox tez başa düşmək lazım idi və bu, “Əvvəlcə baş. Design Patterns” bu işdə mənə kömək etdi. Asanlıqla yazılır, illüstrasiyalar və yumorla doludur... “Dizayn nümunələri” mövzusunun təqdimatının çox vacib olduğunu düşünürəm: çox darıxdırıcı şəkildə təqdim edilə bilər və ya Head First-dəki kimi təqdim edilə bilər. "Təmiz kod" və/və ya "Refaktorinq" üçün əla əlavə!

Kompüter Memarlığı və Ümumi Kompüter Elmləri

Gələcək proqramçı üçün kompüter arxitekturasını başa düşmək, əməliyyat sistemlərinin necə qurulduğunu və verilənlər bazalarının necə qurulduğunu bilmək nə dərəcədə vacibdir? Bu biliklərin işinizdə sizə faydalı olacağı fakt deyil. Lakin onlar sizə İT sahəsinə və İT biliklərinə olan həvəsinizi nümayiş etdirməyə mütləq kömək edəcəklər. Və ən əsası: hər şeyin necə işlədiyini bilirsinizsə, bu, problemləri daha yaxşı həll etməyə kömək edəcəkdir. Məlumat 100%. Beləliklə, sizə kömək edəcək daha iki kitab var.

Kod (Charles Petzold)

Orijinal başlıq Kod: Kompüter Aparatının və Proqramının Gizli Dili, Çarlz Petzold Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 7“Kod”un ilk nəşri dünyanı 2000-ci illərin əvvəllərində görmüşdü, lakin əslində o, əvvəllər və ya sonralar meydana çıxa bilərdi – və hələ də aktual olardı. Məsələ burasındadır ki, bu kitabda kompüterin işləməsi o sıfırların və birlərin necə işlədiyindən başlayaraq çox, çox aşağı səviyyədə izah edilir və ən ilk texniki nümunə ən sadə sayıla bilən fənər dövrəsidir. -bit kompüter... Xeyr, kitabda hər şeyin çox primitiv olduğunu düşünmürsən. Əslində isə tam əksi... O, kompüterlərin sxemlərini, əmrləri, yaddaşın işləməsini və mahiyyət etibarilə əməliyyat sistemlərini təsvir edir. Bəlkə də onu oxuduqdan sonra kompüterlərin necə işlədiyini başa düşdüm. Prosessorun arxitekturası və təlimat dəsti dəyişsə də, yaddaşın ötürmə qabiliyyəti artsa da, mahiyyət etibarı ilə kompüterlər eyni işləyir. Java proqramçısının bu biliyə ehtiyacı varmı? Çox az adam onlara birbaşa işlərində ehtiyac duyacaq. Amma dolayısı ilə, işimdə tez-tez hər şeyin əslində necə işlədiyini başa düşməyim kömək etdi.

Kompüter Elmlərinə Giriş (Glenn Brookshire, Dennis Brilov)

Orijinal adı Kompüter Elmləri: Glen Brookshear və Dennis Brylow tərəfindən İcmal Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 8Bu kitab mənə universitetdə, kompüter elminin əsaslarını öyrəndiyim vaxt gəldi. Yalnız mən altıncı nəşrin tərcüməsini almışam və hazırda 13-cü nəşr aktualdır. Kitab uzun illərdir ABŞ və digər ölkələrin universitetlərində tədris olunan informatika üzrə əsas kursdur. Ondakı materialın əhatə dairəsi çox genişdir: maşın arxitekturası, say sistemləri, verilənlərin emalı, əməliyyat sistemləri, verilənlər bazasının qurulması prinsipləri, verilənlər strukturları, fayl strukturları və s. Kitabın bütün bölmələri eyni dərəcədə yaxşı yazılmayıb. Məsələn, bir dəfə dizayn metodları və verilənlər bazası haqqında bölmələr məni çox çaşdırdı, lakin say sistemləri, bitwise hesablamalar, PC arxitekturası və məlumat strukturları haqqında bölmələr həqiqətən mənimlə rezonans doğurdu. Kitabın ən maraqlı tərəfi, düymələrlə çox sayda məşqdir. Tələbələrə əlavə olaraq, belə bir kitab, ehtimal ki, boşluqları doldurmaq və ümumiyyətlə kompüter elmləri haqqında bir fikir əldə etmək üçün ilk növbədə texniki təhsili olmayan öz-özünə öyrədilmiş insanlar üçün lazımdır.

Alqoritmlər və məlumat strukturları. Və daha bir hücum!

Yüksək səviyyəli müasir proqramlaşdırmanın necə çevrildiyini nəzərə alsaq, alqoritmlər haqqında biliklərin əhəmiyyəti azaldı. İndi tələb olunan kitabxanadan istifadə etmək kifayətdir və massivi ən yaxşı şəkildə necə çeşidləmək barədə düşünməmək kifayətdir. Bununla belə, siz hələ də işdə beyninizi və bir dəfədən çox işləməli olacaqsınız. Təcrübəsiz bir proqramçı üçün tələblərdən "mümkün olan ən yaxşı həlli seçmək bacarığı" bəndini xatırlayın? Beləliklə, kimin nə deməsindən asılı olmayaraq, yaxşı alqoritmik təlimi optimal həllər tapmaq üçün əla təkmilləşdirmə hesab edirəm. Ona görə də növbəti iki kitab onlar haqqındadır. Alqoritmlər haqqında.

Alqoritmləri yelləyirik. Proqramçılar və maraqlı Aditya Bhargava üçün təsvirli bələdçi

Orijinal başlıq: Grokking Alqoritmləri: Proqramçılar və digər maraqlı insanlar üçün illüstrativ bələdçi Aditya Y. Bhargava tərəfindən Yeni başlayanlar üçün proqramlaşdırma üzrə ən yaxşı 10 kitab - 9müəllif özü kitabın əvvəlində yazır ki, alqoritmlər ona dərhal gəlməyib və o, “Grokking Alqoritmləri” yazmağa çalışıb. ki, oxumaq asan olardı. O, yeni başlayan proqramçılar, yəni “salam, dünya” yaza bilən və int, string, loop, budaq və massivin nə olduğunu bilənlər üçün nəzərdə tutulub. Yaxşı, o, massivi ekranda göstərə bilər. Tələb olunan riyaziyyat bilikləri təqribən orta məktəbin 6-7-ci sinifləri səviyyəsindədir. Və bu, kitabın ilk ciddi artısıdır. Mövzu ilə bağlı bir çox nəşrlər kimi oxucunu riyaziyyat tələbəsi kimi təsəvvür etməyə çalışmır. Yəni riyaziyyatdan, alqoritmlərdən qorxursunuzsa, artıq sonuncunu öyrənməyə çalışmısınızsa və heç nə başa düşməmisinizsə, bu kitab sizin gözünüzdə reabilitasiyanız üçün mükəmməldir. İkinci müsbət məqam odur ki, kitab praktikada faydalı ola biləcək bir şeyi müzakirə edir (bunu başa düşmək, əlbəttə ki, doğrudur). Bu, ikili axtarışın və səmərəliliyin mahiyyətinin izahı ilə başlayır - sözün həqiqi mənasında barmaqlarda və çoxlu şəkillərlə. Üçüncüsü, kitabda çoxlu suallar və tapşırıqlar var (kod nümunələri Python dilindədir, lakin bu o qədər də vacib deyil). Bəziləri üçün müsbət, bəziləri üçün mənfi ola biləcək bir məqam: kitab hər şeyi əhatə edən bir istinad kitabı kimi görünmür. Deyək ki, öyrənmə üçün ümumi qəbul edilmiş alqoritmlərdən burada yalnız ikisi var - səmərəsiz daxiletmə alqoritmi və effektiv sürətli çeşidləmə alqoritmi. Bilmirəm niyə müəllif başqa alqoritmləri nəzərə almasın, qabarcıq desin və ya birləşdirsin. Əslində, birləşmə alqoritmi kitabda qeyd olunur, lakin qısaca, təhlilsiz və yalnız sürətli çeşidləmə ilə müqayisədə. Qalan mövzular tamamilə eynidir. Çox yaxşı əhatə olunan əsaslar var, lakin bəzən həqiqətən daha dərindən davam etmək istəyirsən, amma sadəcə biri yoxdur. Bir sözlə, bu, çox sadə bir kitabdır, ondan sonra, çox güman ki, hər şeyin daha ciddi şəkildə təsvir olunduğu bir kitab tapmaq istəyəcəksiniz. Məsələn, aşağıdakı.

Java-da alqoritmlər (Robert Sedgwick, Kevin Wayne)

Orijinal adı: Robert Sedgewick və Kevin Wayne tərəfindən alqoritmlər Başlayanlar üçün Proqramlaşdırma üzrə Top 10 Kitab - 10Əslində, bu kitab həm cazibədar ola bilər, həm də qorxuda bilər. O, ən azı... çoxlu səhifələri və müəyyən akademik xarakteri ilə sizi qorxutacaq. Odur ki, buna meylli deyilsinizsə, akademiklər və ya riyaziyyata (ali məktəb, mühəndislər üçün ali riyaziyyatın ən sadə elementləri) inamınız yoxdursa, bu kitabdan başlamamağınız daha yaxşıdır. Orada riyazi terminlər o qədər də çox deyil, lakin yanaşmanın özü belə düşüncəni nəzərdə tutur. Ancaq əvvəlki kitabdan sonra - niyə də olmasın. O sizə bələdçi verəcək. Bəzi yerlərdə birinci fəsil Java biliklərini ümumiləşdirir və bəzi məlumat strukturlarını müəyyənləşdirir. Onu seçib oxumaq daha yaxşıdır, lakin ikinci və üçüncü fəsilləri kifayət qədər təfərrüatı ilə öyrənmək zərər verməz. Qalanları da qrafiklər və sətirlər haqqında maraqlı və dolğun məlumatlarla doludur. Deyərdim ki, bu kimi şeylər proqramlaşdırma zehniyyətinin formalaşmasında ÇOX faydalıdır. Təqdimata gəlincə, adamda hiss olunur ki, müəllif müəllimdir, lakin daha çox maraqlanan və hazırlıqlı insanlarla işləməyə öyrəşib. Buna görə də səbirli olun və oxuyun. Həm də problemləri həll edin, burada çoxlu sayda var. Yeri gəlmişkən, Coursera-da siz kitabın müəllifləri tərəfindən yaradılmış alqoritmlər üzrə kurs tapa bilərsiniz.

Çərçivənizi bilin

Və nəhayət, daha bir kitab. Və yenə - faydalıdır.

Fəaliyyətdə olan bahar (Craig Walls)

Orijinal adı: Craig Walls tərəfindən Fəaliyyətdə Bahar Əslində Başlayanlar üçün ən yaxşı 10 proqramlaşdırma kitabı - 11yubka geyməyən "yubkalı adam" ilə eyni dərəcədə məşhur örtüyü olan çox məşhur kitab. Açığını deyim ki, sadəcə bir kitabdan Baharı öyrənmək çox çətin məsələdir, hətta hər şeyi bir anda praktikada sınamağa çalışsanız belə. Yeri gəlmişkən, bu və ya digər fəsli oxuduqdan sonra bunu necə edəcəyinizi başa düşmək son dərəcə çətin ola bilər. Mən bir şirkətdə təcrübə keçəndə bu kitabla işləmişəm və bu şəkildə istifadə edildikdə çox kömək edir. Üstəlik, bu gün də artıq proqramçı kimi işləyirəm, daim ona qayıdıram. Bir sözlə, onun köməyi ilə əsas Java çərçivəsi haqqında ümumi təsəvvür əldə edə bilərsiniz.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION