asm32.info
Keep it simple — code in asm

Защо асемблер, втора част

Статията не е завършена!

Промени и то големи могат да бъдат направени в произволна нейна част.

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


1. Предисловие

Предишната статия, не че е грешна, но е много стара. През времето след като я написах научих много нови неща и написах много код на асемблер.

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

2. Понятие за технологичен дълг

Напоследък се говори за т.н. технологичен дълг. Опростено, идеята е, че когато при създаването на софтуерния продукт нещо се остави за оправяне в бъдещето, то това представлява технологичен дълг, който след това ще трябва да се връща с лихви, точно както това става при финансовите дългове.

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

Само че, след това, за да има развитие на проекта, първо трябва да се изплати дълга и чак след това може да се направят промените.

Ако дългът не се обслужва (което става най-често, защото не се осъзнава съществуването му), то всяка нова функция започва да струва все по-скъпо и изисква все по-големи усилия за да бъде реализирана, защото голяма част от усилията отиват за изплащане на натрупания технологичен дълг.

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

Защо се получава така?

3. Как въобще се натрупва технологичния дълг

Last modified on: 16.09.2015 21:44:58

Preview

Comments

Title: Filename: