1

Тема: Асемблер Чи потрібен?

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

2

Re: Асемблер Чи потрібен?

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

3

Re: Асемблер Чи потрібен?

Mehboris написав:

На лекції говорять одне, на лабораторних зовсім інше.

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

Чи потрібен він мені в майбутньому, щось на ньому взагалі на практиці програмують??? Поділіться будь-ласка думкою і досвідом.

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

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

Подякували: Mehboris, leofun012

4

Re: Асемблер Чи потрібен?

Завдяки асемблеру я почав добре розуміти архітектуру, а так саму мову вже давно забув і не використовую її.

Подякували: Mehboris, HetmanNet2

5

Re: Асемблер Чи потрібен?

Десь бачив таку фразу(недослівно): "Хороший програміст повинен розуміти асемблер, але не зобов'язаний щось на ньому писати".

Подякували: Mehboris, Torbins, leofun013

6

Re: Асемблер Чи потрібен?

DOP написав:

Десь бачив таку фразу(недослівно): "Хороший програміст повинен розуміти асемблер, але не зобов'язаний щось на ньому писати".

тобто асемблер зможе знадобиться в інших мовах програмування?

Re: Асемблер Чи потрібен?

Mehboris написав:
DOP написав:

Десь бачив таку фразу(недослівно): "Хороший програміст повинен розуміти асемблер, але не зобов'язаний щось на ньому писати".

тобто асемблер зможе знадобиться в інших мовах програмування?

Звісно, що зможе. Ну принаймні асемблерні вставки можна буде робити.

Подякували: Mehboris1

8

Re: Асемблер Чи потрібен?

Ти ж не вчиш його сам у вільний час. То чому б просто не послухати те що говорять на лекціях? (Принаймі мені цього хватало щоб зрозуміти його)

Подякували: Mehboris1

9

Re: Асемблер Чи потрібен?

Mehboris написав:

тобто асемблер зможе знадобиться в інших мовах програмування?

Може. Головне, щоб у майбутньому програми, написані іншими (вищими за рівнем) мовами, не виглядали та'як ассемблерні вежі з купою goto або ще чимось. :)

10

Re: Асемблер Чи потрібен?

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

Але забудьте те, чому вчать в бурситеті, бо не знадобиться. Це і не "основи" і не практика - це порнографія. Я кажу це як людина, що тривалий час займалася тими роботами. Найдурніше не те, що окрім 8086 асма для МС-ДОС учень нічого не знає, а те що він думає що це знає.

11

Re: Асемблер Чи потрібен?

Очі.завидющі написав:

Але забудьте те, чому вчать в бурситеті, бо не знадобиться. Це і не "основи" і не практика - це порнографія. Я кажу це як людина, що тривалий час займалася тими роботами. Найдурніше не те, що окрім 8086 асма для МС-ДОС учень нічого не знає, а те що він думає що це знає.

Які ваші пропозиції бурсацтву?)

12 Востаннє редагувалося Очі.завидющі (06.04.2013 16:51:52)

Re: Асемблер Чи потрібен?

Або на землі обома ногами стояти і намагатися зрозуміти сучасний ринок і його вимоги (практичний шлях) або вливатись у світ сюреалізму - читати Кафку/Лавкрафта і переглядати картини Босха / Далі (приємний шлях).

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

От так із асемблером. Той курс до одного місця в практичній площині, навіть якщо розглядати за мету вивчення асму для МС-ДОС. Пробачте за мовосрач.

Подякували: Mehboris, /KIT\, Djalin, leofun014

13

Re: Асемблер Чи потрібен?

Очі.завидющі написав:

Або на землі обома ногами стояти і намагатися зрозуміти сучасний ринок і його вимоги (практичний шлях) або вливатись у світ сюреалізму - читати Кафку/Лавкрафта і переглядати картини Босха / Далі (приємний шлях).

Припустимо, я трохи шаркаю ногами (поступ) і читаю Купера та Лондона. Якщо мені у найближчі півтора-два роки жити з племенем ацтеків (вінда), то яким чином ліпше вивчати їхню мову Сонця і чи необхідно при цьому паралельно підучувати говірки майя (насм)?

14

Re: Асемблер Чи потрібен?

Вивчення асма під віндою краще починати з MASM, бо по-перше курс ICZELION побудований на ньому, по-друге він використовується в документації INTEL. Якщо ви мали досвід з ВінАпі, то ICZELION легко піде.
НАСМ використовується і в вінді теж. Особисто я зійшовся на фасмі, по-перше Інтел-синтаксис, по-друге багатоплатформовий, по-третє містить лінкер. Синтаксис майже ідентичний насму, але менше опцій. НАСМ/ФАСМ питання не принципове. Ці асемблери потребують менше рухів мишею/натиснення на клавіши, чим МАСМ, але принципової різниці або нема або є лише в ґікових розробках.

Подякували: Mehboris, leofun012

15

Re: Асемблер Чи потрібен?

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

Подякували: Mehboris, leofun012

16 Востаннє редагувалося HetmanNet (07.04.2013 23:34:51)

Re: Асемблер Чи потрібен?

Torbins написав:

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

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

Подякували: Очі.завидющі, leofun012

17

Re: Асемблер Чи потрібен?

Нехай буде, знання зайвими ніколи не буває.

18 Востаннє редагувалося Nickname (14.06.2014 23:40:49)

Re: Асемблер Чи потрібен?

Mehboris написав:

Чи потрібен він мені в майбутньому, щось на ньому взагалі на практиці програмують???

Дивлячись чим ти займатимешся. Написання компіляторів, операційних систем (в тч нескладних), швидкодіючих/економлячих память програм для МК (хоч це вже і не так актуально, як років 10-15 назад, але деякі залізячники вперто не визнають С. Доля правди в цьому є). Якщо плануєш чимось з вищеперечисленого займатись, то вчи, лишнім не буде. Але надто не заоплюйся. Бородаті кодери кажуть, що якщо переборщити, можна отримати травму мозку і до кінця життя лити відра поносу на мови високого рівня. Так що практикуйся.

19

Re: Асемблер Чи потрібен?

якщо будеш писати сайти, веб та інше в подібному дусі, то ні не потрібний, ну хібашо, якшо ти вирішив писати на ассемблері сайт  :D

якщо це будуть програми на С, ігри ( не флеш ), тоді потрібно, знати потрібно на рівні розуміння архітектури,і якщо потрібно то писати для оптимізації коду, все буде залежати від ситуації де ти будеш.

я на компіляторі clang робив спостереження, простий код

#inlude <stdio.h>
int main()
{
int a=5,b=2,c;
c=a*b;
printf("%d", с);
return 0;
}

без оптимизации выполнялось операция умножения mul, а при -О2 флаге компиляции, компилятор сразу бросал туда 10 без операции умножения, аналог printf("%d", 10);

20

Re: Асемблер Чи потрібен?

reverse2500 написав:

якщо будеш писати сайти, веб та інше в подібному дусі, то ні не потрібний, ну хібашо, якшо ти вирішив писати на ассемблері сайт  :D

якщо це будуть програми на С, ігри ( не флеш ), тоді потрібно, знати потрібно на рівні розуміння архітектури,і якщо потрібно то писати для оптимізації коду, все буде залежати від ситуації де ти будеш.

я на компіляторі clang робив спостереження, простий код

#inlude <stdio.h>
int main()
{
int a=5,b=2,c;
c=a*b;
printf("%d", с);
return 0;
}

без оптимизации выполнялось операция умножения mul, а при -О2 флаге компиляции, компилятор сразу бросал туда 10 без операции умножения, аналог printf("%d", 10);

C робить з тебе москаля :)

Подякували: Felis silvestris catus, quez, Blast, leofun01, /KIT\5