Абстракція в програмуванні: приборкання одиниць і нулів

Не змогли відвідати Transform 2022? Перегляньте всі сесії саміту в нашій бібліотеці за запитом! Подивіться сюди.

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

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

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

Чому це? Комп’ютери погано працюють із двозначністю та нюансами. Двійковий файл забезпечує абсолютно однозначні вказівки "вимкнути" (нуль) або "включити" (один). Вони використовують ці прості двійкові стани як основу для логічних обчислень, які відображають комп’ютерні схеми як «увімкнено» або «вимкнено». Ці прості схеми використовуються для створення логічних елементів (наприклад, І, АБО та НІ), які дозволяють програмісту створювати операції та маніпулювати даними різними способами. Потім це дублюється мільярди разів для створення сучасних процесорів.

Подія

MetaBeat 2022

4 жовтня в Сан-Франциско, Каліфорнія, MetaBeat збере лідерів думок, щоб порадити, як технологія метавсесвіту змінить спосіб спілкування та ведення бізнесу в усіх галузях.

зареєструватися тут

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

> Що таке абстракція в програмуванні?

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

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

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

...

Абстракція в програмуванні: приборкання одиниць і нулів

Не змогли відвідати Transform 2022? Перегляньте всі сесії саміту в нашій бібліотеці за запитом! Подивіться сюди.

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

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

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

Чому це? Комп’ютери погано працюють із двозначністю та нюансами. Двійковий файл забезпечує абсолютно однозначні вказівки "вимкнути" (нуль) або "включити" (один). Вони використовують ці прості двійкові стани як основу для логічних обчислень, які відображають комп’ютерні схеми як «увімкнено» або «вимкнено». Ці прості схеми використовуються для створення логічних елементів (наприклад, І, АБО та НІ), які дозволяють програмісту створювати операції та маніпулювати даними різними способами. Потім це дублюється мільярди разів для створення сучасних процесорів.

Подія

MetaBeat 2022

4 жовтня в Сан-Франциско, Каліфорнія, MetaBeat збере лідерів думок, щоб порадити, як технологія метавсесвіту змінить спосіб спілкування та ведення бізнесу в усіх галузях.

зареєструватися тут

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

> Що таке абстракція в програмуванні?

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

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

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

...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow