Програмиране на преводи
Програмирането е гадно
Тези от моите приятели, които трябва да вдигат нещата по-тежки от лаптоп на работа и по-често от два пъти седмично, веднъж се възползваха от възможността и вмъкнаха в разговор нещо от рода на: „Брат (това задължително започна с„ Брат “), ти не си напрегнати на работа. Току-що работех по 4700 часа на седмица, копаейки тунел под Мордор с отвертка. "
В някои отношения те са прави. Мордор е гадно и очевидно са необходими много повече физически усилия, за да се изкопае тунел, отколкото да се натискат клавиши. Разбира се, ако не сте мравка. Но за да обсъдим, нека всички се съгласим, че стресът и лудостта не са много полезни неща, нали? Отлично! Добре дошли в програмирането.
Всички екипи по програмиране са създадени от психо и се състоят от психо
Представете си да се присъедините към екип от инженери. Вие сте затрупани с нови идеи, току-що сте завършили колеж, а светът за вас се състои от чисто красиви неща, перфектни в тяхната хармония на цел, икономичност и сила. Започвате с среща с Мери, ръководител на проект за мост в мегаполис. Мери ви запознава с Фред, но само след като сте преминали през петнадесет проверки за сигурност, които Дейв е поставил, защото пуловерът на Дейв е бил издърпан веднъж от масата и следователно „Никога повече“. Фред работи само с дърво, така че веднага се чудите какво точно прави Фред по проекта. В действителност, в час пик, трафик, пълен с коли, пълни със смъртни хора, ще се втурва през този мост през 70-метрова бездна над кипящата река.
„Не се притеснявайте - казва Мери, - Фред ще работи по тротоарите.
- Какви песни?
- Е, Фред току-що направи добра презентация защо са необходими песни. И на всичкото отгоре придават естетика на визията. Разбира се, те ще бъдат направени без парапети, защото имаме строго правило „без парапети“, въведено от Фил, а Фил дори не е инженер. Никой изобщо не е сигурен какво прави Фил, но работата му явно е изпълнена със синергия и има нещо общо с висшия мениджмънт, с когото никой от инженерите не иска да участва. Така че нека Фил прави каквото иска. Междувременно Сара е открила няколко иновативни технологии за настилка и ги е вградила дълбоко в дизайна на моста, така че трябва да вземете предвид всяка една, тъй като всички те имат различни изисквания за поддръжка и безопасност. Том и Хари работят заедно от много години, въпреки че водят непрекъснат дебат за това коя система от мерки е по-добра - метрична или имперска. Спорът се решава на принципа „кой какво стига пръв“. Това вече е толкова досадно за всички, които в действителност сглобяват конструкцията, че плюят по всичко и с помощта на чук, пила и заваръчна машина настройват онези части, които по някакъв начин пасват. Освен това, според проекта, той трябва да е въжен мост, но никой не разбира напълно как се изграждат кабелни мостове, затова го направихме наполовина и след това го подкрепихме с колони, за да не падне. Но окачващите кабели все още бяха оставени, защото поддържат някои части на моста. Никой не знае точно кои, но всички са сигурни, че са много важни.
След като сте се запознали с всички, вие сте поканени да дадете свои собствени идеи. Но вие ги нямате, защото сте космически инженер и нямате идея как да изграждате мостове.
Ще пътувате ли по такъв мост? Не. Ако по някакъв начин е изграден, тогава всички, които са имали нещо общо с него, ще бъдат публично екзекутирани. Въпреки това, някои варианти на този хаос създадоха всяка една програма, с която някога сте работили - банков софтуер, уебсайтове и дори вездесъщата програма, която трябваше да защитава информацията в Интернет, но не защитаваше.
Всеки код е лош
Когато никой не е у дома, всички програмисти изключват осветлението, наливат си чаша уиски, включват светлинна немска електронна музика в колоните и отварят файла на компютъра си. Всеки програмист има свой собствен файл. Някой сам го е написал, някой го е намерил и е разбрал, че трябва да бъде спасен. Те преглеждат редовете на кода и сълзите им се появяват от безупречната им красота. И тогава те плачат с горчиви сълзи, като си спомнят всички останали файлове и разбират неизбежния колапс, който очаква всичко добро и правилно на този свят.
Този файл е добър код. Той съдържа смислени и последователни имена на променливи и функции. Лаконичен е. Той не прави нищо очевидно глупаво. Никога не е трябвало да живее в дивата природа или да отговаря на отдела за продажби. Изпълнява една проста, ясна задача. И го прави добре. Написана е от един човек и никога не е била докосвана от никой друг. То се чете като поезия на някой над тридесет.
Всички програмисти започват с перфектна снежинка като тази. След това в петък им се казва да направят шестстотин снежинки до следващия вторник, така че изрязват малко тук и може би копират няколко снежинки там, опитвайки се да ги съберат, или да помолят колега да работи върху този, който по някакъв начин се топи. И тогава снежинките на всички програмисти се събират заедно и се вкарват в някаква необяснима форма и някой поставя върху нея цялата картина на Пикасо, тъй като снежинките са напоени с котешка урина и никой не иска да ги види как се топят в дневна светлина. И след седмица всички вдигат лопата и хвърлят още сняг, за да не падне най-накрая Пикасо.
Има една теория, която твърди, че всичко това може да бъде излекувано, ако се спазват стандартите. Проблемът е, че има повече „стандарти“ от нещата, които компютърът може да направи. В същото време всеки стандарт се подобрява по различни начини и се приспособява към личните нужди на хората, които го пишат. Така че няма нито една програма, която да влезе в реалния свят, без да прави едни и същи неща, използвайки няколко десетки различни, дори много различни методи.
Първите няколко седмици от всяка работа се изразходват за разбиране как работи тази програма, дори ако сте запознати с абсолютно всеки език, рамка и стандарт, които се използват там. Защото стандартите са еднорози.