Чому трава зелена, а програмісти круті



Я люблю знаходити на новинних ресурсах статті про те, що програмісти отримують дуже багато грошей. Я відразу гортаю їх до коментарів і з теплом у душі читаю гнівні відгуки про те, що програмісти нічого не роблять і не заслуговують таких грошей. Але після прочитання виникає думка: чи знають вони, хто такі програмісти? Або вони виходять у своїх судженнях з невірного знання, навіть не підозрюючи про це. Наприклад, мало хто знає, чому трава зелена. Подумайте про це. Чи випливає з ваших пояснень зелених трави саме зелений колір?


Чому трава зелена

От уявіть, у вас є маленька дитина (а в деяких він дійсно є). І питає у вас дитина типовий дитячий питання «Чому трава зелена». У вас є 4 варіанти відповіді:
1. «Тому що. У тебе мороженка вже капає»
2. На швидку руку придумане пояснення (автоматично вирішує проблему з питанням про блакитне небо). Шаблон для відповідей за цим принципом:

Природа так вдало створила наш світ, щоб все в ньому було добре і приємно. Тому небо блакитне, жовте сонце, трава зелена

3. Добре зрозуміле пояснення з точки зору науки в зрозумілих дитині термінах.
4. Вивалити на дитину купу наукової нісенітниці, щоб він сам вибрав потрібний погуглив і відсутню.

Напевно, краще все-таки варіант 3. Але є проблема. Вине знаєте варіант 3.
Ах ви знаєте варіант 3? Давайте послухаємо:



Відмінно. А чому зелений хлорофіл?



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

Давайте спочатку розглянемо варіант 4, а потім просто спростимо його до рівня розуміння дитини. Отже, чому трава зелена?

Хлорофіл (від грец. χλωρός, «зелений» і φύλλον, «лист») — зелений пігмент, що обумовлює забарвлення хлоропластів рослин в зелений колір. За його участі здійснюється процес фотосинтезу. За хімічною будовою хлорофіли — магнієві комплекси різних тетрапирролов. Хлорофіли мають порфириновое будова і структурно близькі гему. (Вікіпедія)



А тепер давайте по-дитячому. Посадіть дитину на стілець, прив'яжіть його і починайте пояснювати.

Отже, трава зелена, тому що в ній міститься хлорофіл. Хлорофіл потрібен, щоб забезпечувати процес фотосинтезу і перетворювати вуглекислий газ в кисень, отримуючи при цьому енергію для життя рослини. І саме з процесом фотосинтезу пов'язаний зелений колір хлорофілу.



Білий світ є сумішшю всіх кольорів видимої частини спектру. Кожному кольору відповідає своя довжина світлової хвилі. Енергія обернено пропорційна довжині хвилі: чим довжина більше, тим енергія менше. Цим можна пояснити, чому хлорофіл поглинає сині кольори, адже вони володіють найбільшою енергією.



Поглинання ж червоних кольорів залежить від іншої характеристики світлового випромінювання — числа фотонів на одиницю енергії. Хлорофіли активізуються не енергією, а фотонами. Тобто чим більше фотонів, тим активніше відбувається реакція фотосинтезу. Кількість фотонів навпаки, зростає із збільшенням довжини хвилі.

Об'єднавши енергію і кількість фотонів, ми отримаємо 5 різних областей:

1. Фотонів настільки мало, що навіть багато енергії у кожного не дозволяє протікати реакції фотосинтезу;
2. Число фотонів збільшується, і тепер їх достатньо для реакції, незважаючи на те, що енергія трохи знизилася;
3. Енергії стало менше, а фотонів ще недостатньо, і реакція знову під загрозою;
4. Фотонів багато, вони безперервно бомбардують лист і навіть їх маленька енергія не перешкода реакції: вона протікає навіть краще, ніж в синій області спектру;
5. Фотони практично втрачають свою енергію і їх величезна кількість вже не рятує.

В результаті отримуємо майже класичний графік фотосинтезу:



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

Порівняно з реальною фізикою це досить спрощене наближення, але все ще недостатня для дитини. Як же перетворити це все варіант 3? Залежить від вашої фантазії. Наприклад:

Трава зелена, тому що при такому кольорі вона може отримувати більше тепла від сонечка і краще рости.

Цей відповідь взагалі не зачіпає хлорофилльско-фотосинтезирующие штуки. Але на мій погляд, він цілком прийнятний. По-перше, він правдивий. По-друге, пояснює саме причину, а не властивість якихось там абстрактних хлорофілів. Так, ця відповідь підозріло схожий на варіант №2. Але він випливає з вашого знання, яке ви спрощуєте для дитячого розуму. А не з вашого незнання, яке ви приховуєте, щоб дитина не подумав, що ви…

— Тату, а чому небо блакитне?
— У тебе мороженко капає.

Чому програмісти круті

До чого це все? З цього прикладу видно, що знання, яке іноді здається нам найбільш наближеним до реальної картини речей, не завжди є таким. Як же люди розуміють професію програміста?
якби я хотів, то легко став би програмістом
Програмісти нічого не роблять
Економісти повинні робити багато розрахунків, працювати з купою папірців, і взагалі — знали б ви, як я втомлююся після робочого дня...
Я бачив кілька дипломних робіт економістів. На той час я теж писав диплом і легкі татуся по 20 сторінок повалили мене в невелике здивування, оскільки їх вміст було дуже схоже на економічну частину мого 100-сторінкової диплома. Чи знаєте ви, що робить програміст? Програміст легко пояснить це. Іншому програмісту.



Я зобразив погляд на проблему зеленої трави у вигляді наступного малюнка. Реальність — це нескінченне пояснення всіх аспектів, від зіткнень галактик до межъядерных взаємодій. Вчений — це те, як це питання пояснить експерт в даній області. Людина — як цю ситуацію пояснить людина, просто знайомий з питанням. І Дитина — просто спостереження явища.

Уявімо, що Вчений пояснює Дитині, чому трава зелена. Щоб Дитина це зрозумів, розмова повинна вестися в поняттях, знайомих Дитині, і зі значним ступенем спрощення. Якщо спрощення зроблено вірно, то при отриманні Дитиною подальших знань вони будуть накладатися на наявну картину, розкриваючи окремі поняття, а не заміщаючи їх абсолютно новими. Хлорофіли і фотосинтез доповнюють початкову модель, а не змінюють її.

Якщо ми запитаємо людей, хто такий програміст, то отримаємо цілий спектр відповідей: від «людини, який працює з комп'ютерами» до «такий бородатий страшний мужик в светрі зі злими очима»;. Але швидше за все, найпопулярнішим відповіддю буде «той, хто пише програми». А що таке програма? З точки зору програміста це набір інструкцій для комп'ютера/іншої машини/та чого завгодно. Але з точки зору непрограммиста, програма — це те, що запускається подвійним клацанням миші. З різниці цих поглядів випливає цікава думка:

Програмісти малюють

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

А може програміст знати, наскільки складна професія економіста? Так, може. Тому що він не тільки художник.

Якою повинна бути правильна передумова? Яку зрозумів би дитина і яка б з часом перетворилась би в правильне усвідомлення професії програміста. Дитина ще не знає поняття алгоритм, а якщо і знає, то не може розширити його на весь навколишній світ.

Програміст — це той, хто вчить комп'ютер робити необхідні людині речі

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

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

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

Тому програмісти круті.

P.S.: Метою даної статті не є образа економістів.
P.P.S.: Думка автора статті повністю не збігається з думкою професора бухгалтерського обліку. Просто щоб ви знали.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.