Какви книги бихте препоръчали за начинаещ програмист, Блог за уеб разработката и уеб технологиите

често задавани на форуми за уеб разработка.

бихте

Често срещано погрешно схващане

Преди да отворите "Чист код"

Преди четири години стартирах програма за поддръжка за начинаещи и стаж за уеб технологии. В повечето случаи към мен се обръщаха онези, които изобщо не знаят нищо за програмиране или уеб технологии. Думата „сървър“ за тях означава голям компютър. „Клиент“ е клиент в магазин или посетител на банка. „Здравей, Свят“ никога не е виждано в програмния код.
Разбира се, подбрахме литература заедно. И преди да се опитам да предложа професионални супер книги, винаги мислено заставах на страната на начинаещия: колко ужасно би било да се опитам да прочета страница и ДА РАЗБЕРЯ НИЩО АБСОЛЮТНО? Това не би ли причинило страх от неразбиране или отвращение от сложността? Да, ще предизвика.

Просто обяснение:

Ето как трябва да проучите всички фрагменти на кода, които ще намерите в книга или статия.

бихте

Ако няма разбиране, трябва или да прочетете за това, или да попитате някого. И дори когато съм обхванал всичко и изглежда съм разбрал, трябва да се уверите, че сте разбрали правилно. За да направите това, трябва да изпълните част от кода. Или отново дайте на някого вашето описание, за да проверите разбирането си за написаното.

какви

В университета отнема почти година, за да се научите да разбирате кодови фрагменти с дължина от два до двадесет реда. Два реда код, Карл! В C ++/Javascript/C # и много други езици - друга точка и запетая другаде и значението се променя. В Python липсва едно пространство и алгоритъмът работи по различен начин. Преинициализира променлива и нейната стойност изведнъж изчезна. Не добавих един знак за равенство в условието и стойността му ще се промени на противоположната.

Имам браузър и уеб сървър в главата си. Някои от JS/CSS/HTML кода мога лесно да интерпретирам и покажа психически, като браузър. Някъде до него - PHP конзола, Python, Bash, Power Shell - докато плъзгам очи през кода, той вече се изпълнява ред по ред.
Пример 1. На интервюто ми беше даден лист PHP код. Докато интервюиращият търсеше въпрос, съответстващ на този лист, аз вече бях коригирал всички грешки с молив и отбелязах с икони (!) Местата, където можеше да бъде SQL Injection. Той само въздъхна.
Пример 2. Има много хора, които са попълнили въпросника за уеб технологии за няколко минути и без грешки.
Току-що го видяхме, опитахме се да го повторим и знаем как работи. Едно време можех да се погребвам в този лист, а във въпросника не можех да дам нито един отговор.

Следващата стъпка е да се научите как да пишете мръсен тромав код.

Нещо повече, лично аз съм твърдо убеден, че въпреки второто, третото, десетото издание на книгата, грешките в програмния код (това се нарича листинг) не се поправят там. Четете и виждате - кодът прави едно, но съдейки по описанието му, той трябва да е различен. И предполагам, че това се прави нарочно.

Още повече грешки в пиратски електронни версии на книги, сканирани и разпознати с OCR програми. Броят на грешките там е невероятно голям.

Всеки е имал и ще има свой собствен „мотор“, „шит код“ и „патерици“. Дори професионалистите пишат това и то в момента, защото нямат време да пишат правилно, защото се нуждаят от програма за един път или защото са прекалено мързеливи.

Анимацията на промяната на изображението не беше по-сложна:

И именно тази примитивност беше много лесна за запомняне, защото е лесно да се разбере и запомни функция от 4-5 реда.

На какво друго да тренирам?

Статията Препоръчва задачи за начинаещи в C ++/Php/Ruby/Python/Javascript съдържа руско-езикови и чужди ресурси със задачи за програмиране, с интерактивни образователни проекти под формата на игри.

Постепенно ще растете мръсен код. Много бъркани разхвърляни кодове.

Създайте своята голяма програма

Вие сами трябва да разберете, че вашата система е станала твърде голяма, за да продължите да я пишете в онзи стил на патерица-велосипед, който е приемлив за малки тренировъчни програми. Например, ако искате да покажете страница с текст, съхраняван във файл, това е едно, но създаването на блог или музикален каталог е съвсем друго. Просто има много код, много логика, много парчета от потребителския интерфейс. Продължаването на бъркането на всичко в две-двеста файла е непрактично. Ще дойде момент, в който искате да добавите малко повече красота и удобство, но няма да можете да намерите необходимия фрагмент от код, за да направите промени. Или искате да покажете проекта на някого, но не можете ясно да разберете как работи.

Защо професионалните книги са трудни?

В повечето случаи сложните книги не съдържат готови програми, вместо тях има някои неработещи абстрактни парчета код или дори схематични чертежи.

Написано е на Java, но няма значение. Този код дори няма да достигне стартовия етап. Тъй като Display е неизвестен клас и методът showLine е недефиниран. По принцип в кода не се допускат многоточия (...). За начинаещи този код не работи напълно. И такива примери в тази книга са всички!