Loading...
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Асемблер - що е то и има ли почва у нас?

Здравейте,

    Наскоро се зачетох малко за асемблера. Доколкото разбрах това е нивото над машинния код. По малкото, което прочетох, ми се струва доста хардкор програмиране. Блазни ме предизвикателството и мисля да потърся материали. Замислих се има ли все още този език някакво приложение в България или по света?

Тагове:
0
Общи приказки
RoYaL avatar RoYaL Trainer 6849 Точки

Езикът има приложение - за писане на неща, които са точно на 1вия лейър след хардуера. Например за писане на BIOS-и и други приложения на ниско ниво, които правят връзката между хардуера и по-високите лейъри, до които ние се сблъскваме.

На асемблер могат да се пишат и приложение от по-високо ниво, дори уеб сайтове, но аз лично не смятам, че някой го прави освен johnfound.

Смятам, че този фийлд за съвременния приограмист не е много препоръчителен, тъй като езикът е доста далеч от който и да е друг познат на нас език и няма да ни помогне да се научим на програмирнето, такова каквото го познаваме в наши дни.

Разбира се, има друг плюс, който се състои в това, че човек така ще се научи как се управлява памет, хардуер и т.н. неща които са много абстрактнати от съвременните езици и които водят до това, че много съвременни програмисти пишат неоптимизирани приложения, тъй като не са нясно с нещата на по-долен левел. Разбира се, ако трябва да съм честен, мисля че C би свършило същата тренировъчна работа.

 

1
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Един приятел, хардуерен инжинер ми каза вчера "Не е нужно да разбираш от компютри, за да си програмист. То затова и софтуерът е толкова скаран с хардуера". А и ако наистина малко хора владеят асемблер, може и да се изкарат пари в един момент.

0
RoYaL avatar RoYaL Trainer 6849 Точки

Търсенето определя предлагането - за това няма толкова много асемблер дивелъпъпи колкото примерно дот нет. Проста икономика. Не е защото е нещо невъзможно. 

1
bsdemon avatar bsdemon 348 Точки

Да го кажа така, макар и да не е много вярно, но ако ще пишеш приложения за управление на хардуер, тогава ти трябва асемблер. Асемблера е необходимост за някои, други никога няма да се наложи да го ползват. Но той е доста по различен от езиците на по-високо ниво (c#, java). Там синтаксиса е доста по различен от това което сме учили, пример:

mov cx,3

loopstart:
   do stuff
   dec cx
   jnz loopstart
0
bsdemon avatar bsdemon 348 Точки

Това което написах е един цикъл, само за да добиеш някаква представа. Не го приемай като точно определение, само една малка част от отговора който може да се даде.

 

0
RoYaL avatar RoYaL Trainer 6849 Точки

Синтаксисът е далечен, но това е най-малкият му проблем. Синтаксисът на Руби и Пайтън също не е близък до C-like езиците. Всъщност, разликата в синтаксиса между C#  VB.NET също е голяма. Даже VB.NET има някои такива интересни решения като в Асемблер (всъщност колкото по-стар е дериватът на Basic /до достигането баш на Basic/, толкова по се доближава до Асемблер).

По-големият проблем са абстракциите - липсата на 99% от библиотеките, с които сме запознати днес. Например, много хора биха си помислили, че RegEx-овете са нещо, което винаги е съществувало, но такова в Асемблер няма. 

Така, пишейки на асемблер и искайки да си улесниш живота, ще си пишеш библиотеки, които в един момент ще се превърнат от собствен фреймуърк до един нов мини-език. Всъщност, така са произлезли езиците от там нататък...

1
coolastro avatar coolastro 5 Точки

Thank for sharing this information. Your blog is really I like the quality of content written by your writers. Do share on social media. Sharing valuable content is always good way to enchance the knowledge. 143 meaning

0
coolastro avatar coolastro 5 Точки

Thank you for sharing this information with us in a simple language I'm also a blogger and write meaningful content. I got this inspiration of writing through blogs posts like this website. 88 angel number

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.