JavaRush /Java блогы /Random-KK /Жаңадан бастаушыларға арналған ең жақсы 10 бағдарламалау ...
Max Stern
Деңгей
Нижний Новгород

Жаңадан бастаушыларға арналған ең жақсы 10 бағдарламалау кітабы

Топта жарияланған
Менің болашақ Javaists үшін көптеген техникалық сұхбаттар жүргізген әріптесім бар. Бірде мен одан тіл дағдылары шамамен бірдей адамдарды таңдау кезінде нақты тәжірибесі жоқ талапкерді жалдау шешіміне не әсер ететінін сұрадым. Нарық жағдайын ескере отырып, бұл сұрақ сіздердің көпшілігіңізге қатысты деп ойлаймын. Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 1«Технологияға деген құштарлық, мәселені шешудің ең жақсы нұсқасын таңдау қабілеті, жалпы IT эрудициясы, жұмыста оны не күтіп тұрғанын түсіну» - бұл оның жауабы болды. Мен бір рет мақалада Java тілін үйренуге көмектескен жаңадан бастаушыларға арналған бағдарламалау кітаптарын сипаттадым. Бұл мақалада мен жаңадан бастаған бағдарламашыға IT эрудициясына, болашақ жұмысын түсінуге, сонымен қатар ең жақсы шешімді таңдау тапсырмасын жеңілдетуге көмектесетін жарияланымдарға назар аударамын. Яғни, жұмысқа тұрып, оны басынан бастап мүмкіндігінше жақсы орындаңыз. Мен бұл тізімді өз қалауларыма сәйкес құрастырдым, сондықтан ол біршама субъективті болуы мүмкін. Студенттерге арналған классикалық бағдарламалау оқулықтары да, барлық ұрпақтағы бағдарламашыларға арналған анықтамалықтар да бар.

Код пен өнімділікті жақсарту

Тек code жазу жеткіліксіз. Оны жақсы жазу, оны жетілдіре білу, сонымен қатар оның қалай дамығанын түсіну маңызды. Жаңадан бастаған бағдарламашыларға және басқаларға арналған келесі кітаптар мамандардың бірнеше буынына бағдарламалық қамтамасыз етуді әзірлеудің күрделі технологиялық процесін жеңуге көмектесті.

Прагматикалық бағдарламашы. Мастерге саяхатшы (Эндрю Хант, Дэвид Томас)

Түпнұсқа тақырыбы: Эндрю Хант пен Дэвид Томастың «Журниманнан шеберге дейінгі бағдарламашы» бағдарламасы Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 2. Егер сіз бұл кітапты оқымаған болсаңыз, форумдар мен арнайы ресурстарда одан дәйексөздерді бірнеше рет кездестірген боларсыз. Бұл кітаптағы прагматикалық программист бейнесі соншалықты айқын және идеалдандырылғаны сонша,... қаншалықты кереғар естілсе де, оны романтик деп атауға болады. Соған қарамастан, кітаптағы кеңестер оның қартайғанына қарамастан практикалық және өзекті. Мен бағдарламалау кітаптары әлемінде «Прагматистік бағдарламашыны» немен салыстыру керектігін білмеймін. Бұл дүниедегі ең жақын аналогтар - «Ескі өсиет» немесе кейбір керемет аспаздық кітап. «Прагматикада» барлығы өте нақты және тәжірибеде барынша қолдануға болады. Кейде ол қарапайымдылыққа дейін жетеді (мысалы, тиімді қарым-қатынас бөлімі іскерлік этикеттің негізгі ережелерін қамтиды), бірақ кейде кітаптағы кеңестер алмастырылмайды, әсіресе жаңадан әзірлеушінің шыдамды және мұқият тәлімгері болмаса. Бұл codeты қайталау, прототиптеу, бағалау туралы кеңестер. Немесе тамаша бағдарлама жасау мүмкін еместігі туралы еске салу. Сондай-ақ, мысалы, codeты түзетуге, бірліктерді тестілеуге немесе алгоритмдер жылдамдығына қатысты пайдалы техникалық нүктелер бар ... қысқасы, бағдарламашы ретінде мансапқа дайындалу үшін не қажет.

Рефакторинг Қолданыстағы codeты жақсарту (Мартин Фаулер)

Түпнұсқа атауы: Рефакторинг: Мартин Фаулер Кент Бекпен бірге бар codeтың дизайнын жетілдіру Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 3Егер сіз біреуден барлық уақыттағы мансапты жоғарылататын ең жақсы бағдарламалау кітаптарын тізімдеуді сұрасаңыз, біреу міндетті түрде «Рефакторинг» деп атайды. Біреу бұл кітапты ескірген деп айтуы мүмкін, кейбір жағынан дұрыс та шығар. Бұл рефакторинг әлі әмбебап ереже болмаған уақытта жазылған және ондағы кейбір шындықтар қазіргі бағдарламашыларға анық. Соған қарамастан, онда рефакторинг әдістері соншалықты жақсы және егжей-тегжейлі сипатталған (кейбір жерлерде, мен тіпті нақты айтамын), әрбір бастаушы одан пайдалы нәрсе табады. Кітаптың жаңартылған басылымы бірнеше жыл бұрын шықты және жаңа техникалар қосылды, бұл тамаша. Бұған қоса, бұл кітаптағы мысалдар Java тілінде жазылған. Мен айта алатын жалғыз кемшілік - бұл көп сөз. Соған қарамастан мен кітапты ұсынамын.

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

Түпнұсқа атауы Clean Code: Agile Software Craftsmanship анықтамалығы Роберт Мартин Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 4. Роберт Мартинді кейде жаһандық бағдарламалау қауымдастығында «Боб ағай» деп атайды, Agile манифестінің авторларының бірі, сонымен қатар қазіргі заманғы «таза» бағдарламалаудың кейбір принциптері, мысалы, SOLID. Кітаптың негізгі лейтмотивтерінің бірі деп санауға болады... эмпатия немесе сіздің codeыңызбен жұмыс істеуге тура келетін барлық адамдарға (соның ішінде болашақта өзіңізге де) жақсы қарым-қатынас. «Таза codeекс» ережелерінің көпшілігі осы қарапайым қағидаға және жалпы түсінікке негізделген. Ережелер мен кеңестердің көпшілігі өте дұрыс болып көрінеді, бұл сіздің басыңызда интуитивті түрде айналады, бірақ оларды нақты тұжырымдау оңай емес. Дегенмен, автордың кейбір ойларымен дауласуға болады: ол кейде өте категориялық. Мысалы, ол жақсы codeқа түсініктеме қажет емес деп жазады. Соған қарамастан кітап оқу керек.

Бұрынғы codeпен тиімді жұмыс істеу (Michael Feathers)

Түпнұсқа атауы « Мұра codeымен тиімді жұмыс істеу» авторы Майкл Фэтерс Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 5Life сізді бұған дайындаған жоқ... Жоқ, шын мәнінде: егер сіз жаңа ғана үйреніп жатсаңыз, ескі code негіздерімен жұмыс істеу қаншалықты азап екенін елестете алмайсыз. Билл Гейтстің атасы жазған болуы мүмкін. Бұл code көбіне сіз үйренгеннен мүлдем басқаша жазылады және нашар құжатталғаны сонша, кейде оның авторын тапқыңыз келеді және... Өкінішке орай: Java бағдарламашысының ірі жобалардағы өмірі көбінесе бұрынғы қолдаумен байланысты. Бұл кітап ежелгі codeпен жұмыс істеудің техникалық аспектілеріне көмектесе алады, бірақ ол сіздің тағдырыңызбен келісімге келуге де көмектеседі. Иә, мен байсалдымын. Аутсорсингке немесе ірі жобалары бар өнім компаниясына нық ниетіңіз болса, бұл кітап сізге пайдалы болады.

Алдымен бас. Дизайн үлгілері (Эрик Фриман, Берт Бейтс, Кэти Сьерра, Элизабет Робсон)

Түпнұсқа атауы Бас бірінші дизайн үлгілері: Эрик Фриман, Берт Бейтс, Кэти Сьерра, Элизабет Робсонның миға ыңғайлы нұсқаулығы Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 6Дизайн үлгілері - бұл жақсы формадағы логикалық ережелер, егер сіз оларды уақыт өте келе зерттемесеңіз, ойға оралады ( немесе жоқ...) және егер сіз оларға мүмкіндігінше ертерек қарай бастасаңыз, жаңадан келген бағдарламашының керемет күшіне айналады. Иә, бастапқыда салыстырмалы түрде күрделі жеке жобамен ойнау және оны өзіңіз қосалқы тапсырмаларға бөлуге тырысу пайдалы ... және соңында дәл сол үлгіні табу. Дегенмен, жұмысқа келгенде, эксперименттерге әрдайым уақыт жетпейді. Мен тағылымдамадан өткен кезде үлгілер туралы өте аз білдім: JavaRush-те оқып жүргенде мен барлық зауыттарды, синглтондарды, инъекцияларды, тәуелділіктерді айналып өтіп, қажет болған кезде түсінемін деп ойладым. Дегенмен, мұны өте тез анықтау керек болды және бұл «Алдымен бас. Бұл маған Дизайн үлгілері» көмектесті. Ол оңай жазылған, иллюстрациялармен және әзілмен толтырылған... Менің ойымша, «дизайн үлгілері» тақырыбына арналған презентация өте маңызды: оны өте қызықсыз түрде көрсетуге болады немесе оны Head First-тегідей көрсетуге болады. «Таза code» және/немесе «Рефакторингке» тамаша қосымша!

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

Болашақ бағдарламашы үшін компьютердің архитектурасын түсіну, операциялық жүйелер қалай құрылымдалғанын және деректер қоры қалай құрылымдалғанын білу қаншалықты маңызды? Бұл білім сіздің жұмысыңызда сізге пайдалы болатыны шындық емес. Бірақ олар сізге IT саласына және IT біліміне деген құштарлығыңызды көрсетуге міндетті түрде көмектеседі. Ең бастысы: егер сіз бәрі қалай жұмыс істейтінін білсеңіз, бұл сізге мәселелерді жақсырақ шешуге көмектеседі. Ақпарат 100%. Міне, сізге көмектесетін тағы екі кітап.

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

Түпнұсқа атауы Код: Компьютерлік жабдық пен бағдарламалық қамтамасыз етудің жасырын тілі Чарльз Петцольд Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 7«Кодтың» бірінші басылымы әлемді 2000 жылдардың басында көрді, бірақ іс жүзінде ол ертерек немесе кейінірек пайда болуы мүмкін - және әлі де өзекті болар еді. Өйткені, бұл кітапта компьютердің жұмысы нөлдер мен бірліктердің қалай жұмыс істейтінінен бастап өте төмен деңгейде түсіндіріледі, ал ең бірінші техникалық мысал - ең қарапайым деп санауға болатын фонарь тізбегі. -биттік компьютер... Жоқ, сіз кітаптағы барлық нәрсе өте қарапайым деп ойламайсыз. Шындығында, мүлдем керісінше... Ол командалары бар компьютерлік схемаларды, жадтың жұмысын және операциялық жүйелерді өз мәні бойынша сипаттайды. Мүмкін оны оқығаннан кейін мен компьютерлердің қалай жұмыс істейтінін түсіндім. Процессордың архитектурасы мен нұсқаулар жинағы өзгерсе де, жад өткізу қабілеттілігі ұлғайса да, шын мәнінде, компьютерлер бірдей жұмыс істейді. Java бағдарламашысына бұл білім қажет пе? Өте аз адамдар олардың жұмысында тікелей қажет болады. Бірақ жанама түрде менің жұмысыма көбіне барлығының қалай жұмыс істейтінін түсінгенім көмектесті.

Информатикаға кіріспе (Гленн Брукшир, Деннис Брилов)

Түпнұсқа атауы «Информатика: Глен Брукшир мен Деннис Брайлоуға шолу» Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 8Бұл кітап маған университетте, мен информатика негіздерін оқып жүрген кезімде келді. Алтыншы басылымның аудармасын ғана алдым, қазіргі уақытта 13-ші басылымы өзекті. Бұл кітап көптеген жылдар бойы АҚШ және басқа елдердің университеттерінде оқытылатын информатиканың негізгі курсы болып табылады. Ондағы материалды қамту өте кең: машина архитектурасы, санау жүйелері, мәліметтерді өңдеу, операциялық жүйелер, мәліметтер қорын құру принциптері, деректер құрылымдары, файлдық құрылымдар және т.б. Кітаптың барлық бөлімдері бірдей жақсы жазылған емес. Мысалы, бір кездері дизайн әдістері мен деректер базасы туралы бөлімдер мені қатты шатастырды, бірақ санау жүйелері, разрядтық есептеулер, ДК архитектурасы және деректер құрылымдары туралы бөлімдер мені шынымен де резонанс етті. Кітаптағы ең керемет нәрсе - кілттермен жаттығулардың көптігі. Студенттерден басқа, мұндай кітап олқылықтарды толтыру және жалпы информатика туралы түсінік алу үшін ең алдымен техникалық білімі жоқ өзін-өзі оқытатын адамдарға қажет болуы мүмкін.

Алгоритмдер және деректер құрылымдары. Және тағы бір шабуыл!

Қазіргі заманғы бағдарламалау қаншалықты жоғары деңгейге жеткенін ескере отырып, алгоритмдерді білу маңызды емес. Енді массивті қалай жақсы сұрыптау керектігі туралы ойланбау және қажетті кітапхананы пайдалану жеткілікті. Дегенмен, сіз әлі де жұмыста миыңызды бір емес бірнеше рет қайталауыңыз керек. Жаңадан келген бағдарламашыға қойылатын талаптардан «мүмкін болатын ең жақсы шешімді таңдау мүмкіндігі» деген тармақты есте сақтаңыз ба? Сондықтан, кім не айтса да, мен жақсы алгоритмдік оқытуды оңтайлы шешімдерді табу үшін тамаша жаңарту деп санаймын. Сондықтан келесі екі кітап солар туралы. Алгоритмдер туралы.

Біз алгоритмдерді сілкіп жатырмыз. Бағдарламашылар мен қызық Адитья Бхаргаваға арналған суреттелген нұсқаулық

Түпнұсқа атауы: Гроккинг алгоритмдері: Адитья Ю. Бхаргаваның бағдарламашыларға және басқа да қызығушылық танытатын адамдарға арналған иллюстрацияланған нұсқаулығы Жаңадан бастаушыларға арналған бағдарламалау бойынша үздік 10 кітап - 9Authorдың өзі кітаптың басында алгоритмдер оған бірден келмегенін және ол «Гроккинг алгоритмдерін» жазуға тырысты деп жазады. оқуға оңай болар еді. Ол жаңадан бастаған бағдарламашыларға, яғни «сәлем, әлем» деп жаза алатын және int, жол, цикл, тармақ және массивтің не екенін білетіндерге арналған. Ал, ол массивді экранда көрсете алады. Математикадан қажетті білім шамамен орта мектептің 6-7-сыныптарының деңгейінде ешбір түк те жоқ. Бұл кітаптың бірінші маңызды плюс. Бұл тақырып бойынша көптеген басылымдар сияқты оқырманды математика студенті ретінде елестетуге тырыспайды. Яғни, егер сіз математикадан, алгоритмдерден қорқатын болсаңыз, соңғысын үйренуге тырысқан болсаңыз және ештеңе түсінбесеңіз, бұл кітап сіздің көзіңізде оңалту үшін өте қолайлы. Екінші оң жағы - кітапта іс жүзінде пайдалы болуы мүмкін нәрсе талқыланады (мұны түсіну, әрине, дұрыс). Ол екілік іздеу мен тиімділіктің мәнін түсіндіруден басталады - сөзбе-сөз саусақтарда және көптеген суреттермен. Үшіншіден, кітапта көптеген сұрақтар мен жаттығулар бар (code мысалдары Python тілінде, бірақ бұл соншалықты маңызды емес). Кейбіреулер үшін оң болуы мүмкін, бірақ басқалар үшін теріс болуы мүмкін мәселе: кітап жан-жақты анықтамалық болып көрінбейді. Айталық, зерттеуге арналған жалпы қабылданған алгоритмдердің ішінен тек екеуі ғана бар - тиімсіз кірістіру алгоритмі және тиімді жылдам сұрыптау алгоритмі. Неліктен автор басқа алгоритмдерді, көпіршікті немесе біріктіруді қарастырмауы керек екенін білмеймін. Шын мәнінде, біріктіру алгоритмі кітапта айтылған, бірақ қысқаша, талдаусыз және тек жылдам сұрыптаумен салыстырғанда. Қалған тақырыптар дәл солай. Өте жақсы қамтылған негіздер бар, бірақ кейде сіз тереңірек жалғастыруды қалайсыз, бірақ олай емес. Бір сөзбен айтқанда, бұл өте қарапайым кітап, содан кейін сіз бәрі байыпты сипатталған кітапты тапқыңыз келуі мүмкін. Мысалы, келесі.

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

Түпнұсқа атауы: Роберт Седжевик пен Кевин Уэйннің алгоритмдері Жаңадан бастаушыларға арналған ең жақсы 10 бағдарламалау кітабы - 10Шын мәнінде, бұл кітапты қызықтыруы да, қорқытуы да мүмкін. Ол сізді кем дегенде оның көлемімен... көп беттерімен және белгілі бір академиялық сипатымен қорқытады. Сондықтан, егер сіз бұған бейім болмасаңыз, академиктер, немесе математикаға сенімді болмасаңыз (орта мектеп, инженерлерге арналған жоғары математиканың қарапайым элементтері), онда бұл кітаптан бастамағаныңыз жөн. Онда математикалық терминдер соншалықты көп емес, бірақ тәсілдің өзі осындай ойлауды болжайды. Бірақ алдыңғы кітаптан кейін - неге жоқ. Ол сізге нұсқаулық береді. Кейбір жерлерде бірінші тарауда Java туралы білім жинақталған және кейбір деректер құрылымдары анықталған. Оны таңдап оқыған дұрыс, бірақ екінші және үшінші тарауларды жеткілікті түрде егжей-тегжейлі зерделеу зиян тигізбейді. Қалғандары графиктер мен жолдар туралы қызықты және толық ақпаратқа толы. Мен мұндай нәрселер бағдарламалау ой-өрісін қалыптастыруда өте пайдалы дер едім. Тұсаукесерге келетін болсақ, автордың мұғалім болғанымен, көбіне қызығушылық танытатын және дайын адамдармен жұмыс істеуге дағдыланған сияқты. Сондықтан шыдамды болыңыз және оқыңыз. Сондай-ақ мәселелерді шешеді, мұнда олардың көптігі бар. Айтпақшы, Coursera сайтында сіз кітап авторлары жасаған алгоритмдер курсын таба аласыз.

Өз шеңберіңізді біліңіз

Соңында тағы бір кітап. Және тағы да - пайдалы.

Әрекеттегі көктем (Крейг Уоллс)

Түпнұсқа атауы: « Әрекеттегі көктем» Крейг Уоллс Жаңадан бастаушыларға арналған ең жақсы 10 бағдарламалау кітабы - 11«Бюбка киген адаммен» бірдей әйгілі мұқабасы бар өте әйгілі кітап, шын мәнінде юбка кимеген. Шынымды айтсам, бір кітаптан «Көктемді» үйрену өте қиын міндет, тіпті сіз бәрін бірден іс жүзінде қолданып көруге тырыссаңыз да. Айтпақшы, осы немесе басқа тарауды оқығаннан кейін мұны қалай жасау керектігін түсіну өте қиын болуы мүмкін. Мен бұл кітаппен компанияда тағылымдамадан өткен кезде жұмыс істедім, осылайша пайдаланған кезде ол көп көмектеседі. Оның үстіне, қазірдің өзінде бағдарламашы болып жұмыс істей отырып, мен оған үнемі ораламын. Қысқасы, сіз оның көмегімен негізгі Java құрылымы туралы жалпы түсінік ала аласыз.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION