Новости

Програмісти жартують. Чи не час заборонити?

Чи не чекаю, що ви погодитеся беззастережно, але сподіваюся, що не відповісте відразу ні: найцікавіше в цифровій техніці - її зіткнення з реальністю, повсякденністю, коли народжуються питання і проблеми, що не мають формального докази, однозначної оцінки

Чи не чекаю, що ви погодитеся беззастережно, але сподіваюся, що не відповісте відразу "ні": найцікавіше в цифровій техніці - її зіткнення з реальністю, повсякденністю, коли народжуються питання і проблеми, що не мають формального докази, однозначної оцінки.

Візьміть секрет успіху: клони пріснопам'ятної Flappy Bird обчислювалися тисячами , Але запалити другу «зірку» так нікому і не вдалося. Або інтуїцію: як вона працює, як влаштована - і як ІІ, який цього прямо не вчили, зміг інтуїцію виробити і застосувати , Обігравши людини в го? А дилема краси і красивості - коли машина претендує на розуміння «вдалого кадру» і або безжально править відзняте людиною, або зовсім відбирає у нас камеру?

Список цей можна продовжувати і він, звичайно, продовжиться, у міру того, як техніка забирається все глибше в наше життя. Але сьогодні хотілося б зупинитися лише на одній з окреслених таким чином тим - викликала неабиякий суперечка цієї весни і влітку. Мова якраз жартах.

Пару-трійку місяців тому один з учасників проекту glibc (це один з найпопулярніших програмних продуктів: open source-реалізація головної бібліотеки мови C, використовувана в тому числі в Linux) виявив у вихідних текстах фрагмент, що з'явився йому може бути непристойним, напевно недоречним, але головне - марним! Фрагмент цей звучав так (вільний переклад з англійської мій - Ю.З.): «Поправки до федерального законодавства можуть в майбутньому завадити нам інформувати вас про можливість виклику цієї функції або зажадають уточнювати, що ця функція не є соціально-прийнятним способом зупинки програм ».

Вирвана з контексту фраза звучить незрозуміло, але досить сказати, що знаходиться вона в тілі функції abort () , Як все встає на свої місця. Очевидно хтось із попередніх авторів вирішив ... ну, скажімо, не посміятися, але гостро пожартувати на адресу зарвалися законодавців, а заодно і релігійних фанатиків, дії яких могли призвести якщо не до заборони, то до обмеження обговорення штучного переривання вагітності. Попросту кажучи, якийсь програміст пожартував щодо цензури.

Зрозуміло, що це жарт: звичайно, обмежувати програмістів в назвах функцій ніхто не стане. Зрозуміло, що жарт зовсім не про аборти як такі: це шпилька на адресу політиків і «екстремістів віри», зазіхнули на свободу слова і права людини. І тим не менше сталося те, що сталося: коментар було запропоновано прибрати - і його прибрали вже в наступній ревізії.

Те, що сталося вже саме по собі гідно викликати посмішку: адже «зацензурілі» насмішку над цензурою! Але дискусія, що розгорілася спершу серед розробників glibc, а після виплеснувся і на популярні Технофорум, виявилася зовсім не смішний. А тон задав не хто інший, як Річард Столлман власною персоною.

А тон задав не хто інший, як Річард Столлман власною персоною

«Благословляю твій комп'ютер, дитя моє!». Річард Столлман, як всякий хакер, любить повалятися дурня. Що ніяк не применшує його заслуг: він п'ятнадцять разів почесний доктор наук і автор або співавтор багатьох фундаментальних програмних інструментів і ІТ-концепцій. Більшу частину життя присвятив популяризації ідей open source.

Цей колоритний дядько - один з батьків-засновників всього руху вільних початкових кодів. Не в останню чергу його зусиллями закладений правовий і технічний фундамент під бажання деяких людей поширити принцип свободи слова на софт (на випадок, якщо ви ніколи не чули, див. « Маю право! »). І, як і інші класики, він доклав зусиль своїми руками - зараз його праці здебільшого зібрані під дахом проектів FSF і GNU .

Столлман не є автором власне glibc, але нагадав , Що для всіх субпроектів в GNU (в тому числі і glibc) він був і залишається свого роду головним керівником, залишаючи за собою право коригувати дії розробників, щоб вони йшли згідно з політикою GNU. А ось автором скандального коментаря в glibc був саме він - це він вставив його власноруч ще двадцять років тому. І тепер зажадав повернути віддалений текст в програму - і його повернули звичайно. Але в результаті розгорілася суперечка між прихильниками двох діаметрально протилежних думок.

Одна група налаштована різко проти конкретно цієї та всіх подібних жартів. Хто знає, кажуть вони, кому потраплять в руки вихідні, кому і з яким настроєм доведеться їх вивчати? У кращому випадку жарт просто не зрозуміють - як середньостатистичний громадянин Росії, наприклад, де цензура поки ще не забралася так глибоко. У гіршому - не оцінять або оцінять невірно, витлумачивши її в контексті ущемлення прав віруючих, визнавши за образу тих, для кого тема смерті священна або пов'язана з травмуючими спогадами, і т.п.

І перелік можливих наслідків тоді надзвичайно широкий: від неприємної розмови з начальством до звільнення, втрати клієнтів, кримінального переслідування. Тим більше, що прецеденти відомі - візьміть хоч розказану колишнім співробітником HP історію , Як випадкова цитата з коміксу ( «Так би і спалив вас всіх барвистим термоядерним зарядом!»), Показана скрінсейвером, послужила причиною звинувачення в екстремізмі і втрати роботи.

»), Показана скрінсейвером, послужила причиною звинувачення в екстремізмі і втрати роботи

До питання про професіоналізм. «To fart» перекладається з англійської, як ... гм ... «пукнути». Але уривок цей вже не з glibc, а з вихідних MS-DOS. І такого там багато ...

Але навіть і без цього, з точки зору противників «жартів на робочому місці», гумор у вихідних текстах виглядає непрофесійно. Таке враження, мовляв, що писали цей код не дорослі люди, а загралися школярі! Залиште те, що вам здається смішним, для друзів - а в програмний продукт, що працює на сотнях мільйонів машин (може бути мільярдах - тим більше!), Пропускайте тільки те, що має відношення до справи.

Столлман парирує , Що сьогодні жарт навіть більш актуальна, ніж за часів, коли була придумана. Тиск держави (нагадаю, мова про США) і противників абортів знову дуже сильно: клініки, інформують пацієнтів про право на аборт, позбавляють державних дотацій ... Але Столлман виходить з припущення, що жарти в коді взагалі мають право на життя - що не очевидно для багатьох з його опонентів в цій суперечці. На щастя, знайшлися ті, хто підтримав Річарда, додавши аргументів.

Перш за все не потрібно забувати, що мова про вільне програмне забезпечення. Люди трудяться над ним в значній мірі з інтересу, на голому ентузіазмі. І винагородою за працю служить не тільки результат, але і така ефемерна штука, як задоволення, яке отримує в процесі розробки. А отримання задоволення для більшості передбачає в тому числі і свободу жартувати.

Непрофесійно? Може бути. Але open source ніколи і не був «професійним» в повному розумінні цього слова: рух вільних початкових кодів зросла з хакерського руху - хаотичного, неконтрольованого, щедрого. Хакери возяться з кодом, ламаючи його там і тут, зшиваючи на грубу нитку, щоб подивитися, що вийде - і їхня праця не професійний, тому що не може бути таким в принципі! Може бути саме тому хакери народили такі продукти, як Linux, Facebook, Bitcoin.

Може бути саме тому хакери народили такі продукти, як Linux, Facebook, Bitcoin

Динаміка употребляемости лайливих слів в коді ядра Linux. графіка: Vidar Holen .

Потім, жарти в коді часто все-таки грають деяку корисну роль. пам'ятаєте « Помилку 418: Я чайник! », Придуману в якості першоквітневого розіграшу? Сьогодні вона реалізована в безлічі серверів - і змушує користувачів чухати потилиці, коли ( регулярно !) Вони на неї натикаються. А натикаються чому? Тому що на 418-ю помилку прийнято вішати нерозпізнані проблеми. Якщо щось в програмі пішло не так і вона не знає, як класифікувати те, що відбувається, то як раз і може викинути «Error 418», а розробники, отримавши таке, відразу розуміють, що проблема заслуговує на особливу увагу.

Нарешті, пошук захованих несерйозних сюрпризів становить особливе задоволення і для розробників, і для користувачів (яким такі сюрпризи відомі як «крашанки»). Але одним подобається спостерігати, як перекошує «Гугл» від запиту «askew», а іншим - рахувати, скільки разів вжиті лайливі слівця в исходниках ядра Linux (а там, вибачте, одного тільки «лайна» більше півтори сотні!). Несерйозності роблять код живим, рутину програмінг менш нудною, користування веселим. Гарантій, що черговий жарт буде зрозуміла правильна, звичайно, ніхто дати не може - але так і взагалі програмне забезпечення гарантіями не комплектується.

І не думайте, що автори пропрієтарного софта щось таке гарантують або що, через нібито більшого професіоналізму, уникають жартувати. ось, згадайте , Як це було в коді Microsoft в епоху, коли вона ще була здатною на великі справи: вірші, жарти релігійного спрямування, нецензурне в коментарях і назвах функцій та інше звичайне. Професіонали теж люди!

У цій суперечці особисто я на боці тих, хто відстоює право жартувати без обмежень. Але противників повинен обнадіяти. Пройде ще якийсь час, програми стануть писати самі машини - і тоді дуже швидко машинний код стане морально чистим, політкоректним, математично правильним. Штучного програмісту гумор без потреби. Він виключить його саме через марність - максимізуючи функцію якості f, залежить від довжини коду l, ризику неправильного розуміння n і складності алгоритму k ...

Але поки за клавіатурою нас не змінила машина - руки геть від святого!

Хто знає, кажуть вони, кому потраплять в руки вихідні, кому і з яким настроєм доведеться їх вивчати?
Непрофесійно?
», Придуману в якості першоквітневого розіграшу?
А натикаються чому?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: