D настойнически език за програмиране
Благодарности
Бих искал да благодаря на съпругата и дъщеря ми, които преживяха толкова дълги часове, колкото написах оригиналната турска версия, както и английския превод на тази книга.
Главите първоначално са прегледани от членовете на турския форум Ddili. Благодарен съм на турската общност D, че поддържа моята страст и мотивация.
Мерт Атаол, Зафер Челенк и Салих Динчер са написали рецензии за почти всеки ред от книгата. Can Alpay Çiftçi и Faruk Erdem Öncel изиграха важна роля в развитието на двете книги и ddili.org.
Благодарим на следните хора за техните значителни корекции, препоръки и идеи: Ergin Güney, Jordi Sayol, David Herberth, Andre Tampubolon, Gour-Gadadhara Dasa, Raphaël Jakse, Andrej Mitrovic, Johannes Pfau, Jerome Sniatecki, Jason Adams, Ali H. Çalışkan, Джейсън Пол Юрчак, Брайън Рогоф, Михаил Страшун, Джоузеф Ръштън Уейклинг, Тове, Уго Флорентино, Сатя Потамсети, Луис Маркис, Кристоф Уендлер.
Тази книга е коректурана от Ергин Гюни, за да подобри моя английски език до нормален английски.
Книгата е предназначена да преподава езика D на читатели, които са нови в програмирането. Въпреки че опитът с други езици за програмиране несъмнено би бил полезен, тази книга започва с основите. Ако се интересувате от това как да програмирате, надявам се книгата да ви бъде полезна.
За да не бъде книгата безполезна, ще ни трябва среда за писане, компилиране и стартиране на програми в D. Това среда за развитие трябва да включва поне следните елементи:
Всяка глава от книгата се опитва да въведе възможно най-малко нови понятия. Повечето глави съдържат няколко упражнения и има решения за сравняване на вашите решения с моите. (Забележка. В този превод решенията са под спойлерите до задачите.)
Книгата не обхваща програмирането с използване графичен потребителски интерфейс (GUI). Въпреки че много програми са много по-удобни за използване заедно с GUI, GUI не е пряко свързан с езиците за програмиране. Освен това дизайнерските решения и стилът на програмиране на GUI могат да противоречат на стила на самия език и неговата стандартна библиотека и да усложнят изучаването на езика. Следователно книгата само описва конзола програми. След като научите основите на D и неговата стандартна библиотека, Фобос, можете да използвате всяка GUI библиотека, която искате.
Главите на книгата са достъпни онлайн, тъй като са преведени от турски. Можете да използвате RSS емисията, за да сте в крак с новите глави.
Ученето на програмиране е много по-забавно като екип. Посетете дискусионната група D.learn, за да проследите дискусиите и да задавате и отговаряте на въпроси.
Практика по програмиране
Много е трудно да се определи окончателно какво точно включва практиката на програмиране, но занаятчийският аспект е много силен в нея. Някои заключения относно програмирането:
- Задачата е да се създадат програми, които карат компютъра да се държи според очакванията.
- Тъй като изискват инструменти и използването на тези инструменти се ръководи от опита на главния програмист, това е занаят
- Тъй като включва решаване на проблеми с ограничения, това е инженерно изкуство.
- Много е забавно и удовлетворяващо.
- Това не е изящно изкуство, но доколкото е възможно във всяка човешка дейност, програмите могат да бъдат произведения на изкуството.
- Това не е наука, но използваните в нея методи са създадени от науката-информатика.
Може да бъде много трудно да се научиш и да преподаваш програмиране
Програмирането се преподава от 50-те години на миналия век и все още няма ефективни или успешни методи на преподаване.
Някои от трудностите при програмирането се дължат на броя технически подробности, които трябва да бъдат научени.
Здравей, светът
Първата програма в повечето книги по програмиране е Здравей свят програма. Това е много кратка и проста програма, която отпечатва „здравей свят“ и излиза. Тази програма е важна, тъй като включва някои основни езикови понятия.
По-долу привет свят в D:
внос std. stdio;
void main ()
<
writeln ("Здравей, свят!");
>
Източник горното трябва да бъде компилирано от D компилатора, за да се създаде извикващ файл.
Инсталиране на компилатора
По време на писането има три D компилатора, от които можете да избирате: dmd, компилатор от Digital Mars; gdc, D компилатор за GCC; и ldc, компилатор, който използва LLVM инфраструктура.
dmd - D компилатор, който се използва за езиков дизайн и разработка от много години. Всички примери в тази книга са тествани с dmd. Поради тази причина най-лесният изход е да започнете dmd и опитайте други компилатори, ако има конкретна нужда от това (напр., gdc произвежда най-оптимизирания код).
За да инсталирате най-новата версия dmd отидете на страницата за изтегляне на Digital Mars и изберете версията на компилатора, която отговаря на вашата компютърна среда. Трябва да изберете версията dmd, който съответства на инсталираната операционна система и мениджъра на пакети и съответства на архитектурата на процесора: 32-битова или 64-битова. Не инсталирайте компилатора за D1 (приблизително първата версия е история)! Тази книга обхваща само D втора версия.
Инсталационната последователност е различна за различните среди, но трябва да бъде толкова проста, колкото да следвате прости инструкции на екрана и да натискате няколко бутона.
Файлът, който програмистът записва за компилация, се нарича файл с изходен код или просто изходен код. Тъй като D е компилиран език, самият изходен код не може да бъде изпълним. Изходният код трябва да бъде преведен в изпълнима програма от компилатора.