Предности и недостаци језика на машинском нивоу

Програмирање

Писање кода на машинском нивоу је тежак процес.

Кредит за слику: Јупитеримагес/Пхотос.цом/Гетти Имагес

Сврха сваког програмског језика је да трансформише рачунар из скупог електронског утега за папир у користан уређај за обраду и складиштење података. Одабир језика за постизање овог задатка представља компромис између ефикасности и лакоће употребе. Машински језик представља крајње крајеве спектра за оба ова фактора.

Мацхине Лангуаге

Машински језик производи једини скуп инструкција које рачунар разуме без преводиоца. Рачунари успевају да остваре аудио и видео репродукцију, обраду и складиштење података, Интернет комуникације и свих других специјализованих задатака тако што ћете одговорити на скуп инструкција који препознаје само оне и нуле. Писање стотина редова кода који се састоје од јединица и нула је захтеван и досадан процес који објашњава популарност језика вишег нивоа као што су Ц и Јава.

Видео дана

Ране предности

Први ИБМ персонални рачунар је био опремљен са 512 килобајта меморије са случајним приступом и флопи драјвом од 360 килобајта. Након што је оперативни систем учитан у меморију са флопи драјва, програми су учитани у преосталу меморијски простор оставља веома малу површину РАМ-а, често мање од 100 килобајта, да би активни програм могао да обради података. Током овог периода, главна брига програмера био је мршав и ефикасан код. Програмски алати по избору на овим раним рачунарима су обично били машински језик, који може бити знатно мањи од верзије написане на БАСИЦ-у или Ц. Такође је било нешто лакше користити потомак, асемблерски језик.

Зависност од платформе

Машински језик се директно обраћа хардверу рачунара, дајући програмеру потпуну контролу над сваким аспектом извршавања програма. Недостатак овог приступа је што програмер мора знати архитектуру сваког скупа чипова пре него што може да напише ефикасан код. Када се промени компонента као што је видео картица или контролер драјва, на пример, код машинског језика мора да се ажурира да би се препознао и адресирао нови уређај.

Језици високог нивоа

Предности машинског језика у погледу брзине и малог меморијског отиска све више надмашују тешкоћа писања инструкција на нивоу чипа у бинарном коду. Гигабајти РАМ-а и терабајти расположивог складишног простора елиминисали су захтев за скромним, ефикасним кодом у модерним персоналним рачунарима. Додатни захтеви за меморијом и складиштењем које постављају програми написани на језицима вишег нивоа као што су Ц и Јава више нису фактор при избору развојне платформе. Лакоћа коришћења и бриге о будућем одржавању програма замењују брзину и ефикасност у већини модерних софтверских пројеката.