1

Тема: Програмування в машинних кодах.

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

2

Re: Програмування в машинних кодах.

Гм. Формулювання дивне, але відповідь саме на таке питання - "так". Вважати можна. Можна вважати Землю пласкою, можна вважати, що Бога немає. Вважайте собі що хочете.

Що таке "вільний інженер", та ще й в лапках - я гадки не маю.

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

Машинні коди дають вам кращі можливості для використання усіх можливостей пристрою (не люблю вираз "розкриття потенціалу"), але явно не абсолютні і не найзручніші. З одного боку, незручність призводить до втрат: поки ви за тиждень напишете код для якоїсь функції, що зекономить користувачу програми 50% часу процесора, хтось інший напише мовою високого рівня 10 функцій, що зекономлять користувачу 50% його особистого часу - і хто з вас кращий програміст? З іншого боку, машинні коди на сучасних СISC-процесорах (як x86-64) для виконання перетворюються всередині процесора на програми для внутрішнього ядра, які ви вже не контролюєте майже ніяк, для цього потрібні значно детальніші знання про процесор, ніж ті, які доступні на рівні машинних кодів.

Подякували: ping, 0xDADA11C72

3 Востаннє редагувалося Droid 77 (06.02.2021 00:50:36)

Re: Програмування в машинних кодах.

31414 написав:

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

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

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

4

Re: Програмування в машинних кодах.

Ви дещо перебільшуєте роль нуликів та одиничок у машинних кодах та потрібний для їхнього вивчення час; власне, щоб бути гарним високорівневим програмістом, все одно треба вміти цими нуликами й одиничками користуватися.
А от про витрачений час - 100% правильно.

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

5

Re: Програмування в машинних кодах.

Прихований текст

Головне - це вивчати все систематично і послідовно, починаючи із найпростішого, щоб не було "каші" в голові. Тоді як на навчання, так і на роботу буде витрачено найменше часу.
На вивчення низькорівневого йде менше часу, ніж на високорівневе. Проте, більше часу йде при написанні програми. З високорівневим все складніше. Якщо низький рівень відносно стабільний в якійсь області, то на високому все постійно змінюється з такою швидкістю, що це вивчити неможливо для людини і не потрібно. Потрібно знати тільки деяку стабільну базу, а все інше знаходити по документації, в інтернеті та на форумах.
Цю базу кожен визначає індивідуально. Для когось достатньо лише синтаксису мови програмування, а функції він знайде в інтернеті. Хтось програмує часто і йому потрібно знати все що він використовує напам'ять. А є вузькопрофільні професіонали, які вивчають все - те що потрібно зараз і те, що може знадобитися в якійсь ситуації. "Вузькопрофільні" вони тому, що вивчити все можливо тільки із якоїсь області, все з усіх областей людина запам'ятати не може.
Просто так ставати професіоналом і вивчати все послідовно, починаючи з низького рівня, майже нікому (крім тих, що дуже мріють), не кортить. Це дуже довго і важко. Додатково це несе ризики, що вивчена технологія буде колись не потрібна і доведеться частково переучуватися, а це додатковий час. Ще професіоналами стають люди, яких в інституті вчили примусово (коли їм було потрібно зовсім інше під час вступу туди), щоб не вийшло що знання отримані даремно.
А молодим людям, які не вступали в інститути, хочеться більш швидких грошей, аби не ламати долю і не втрачати (хотів написати вИтрачати, але то був би цинізм) здоров'я та час. Можливо, цим людям більш пощастило, бо із слів інших навчання на професіонала - дуже важка справа.

31414 написав:

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

Молоді люди зайняті не питанням отримання влади над усім (що є складнішим, ніж стати вузькопрофільним спеціалістом), а питанням легкого заробітку. Заробивши гроші, можна найняти якраз тих вузькопрофільних, які стали в якійсь області "вільними інженерами" і вони зроблять усе, що треба.
Іншими словами, чим легший заробіток знайде людина, тим швидше та більше влади вона отримає над усім.
Цим пошуком і треба займатися, а не шукати відповідь на подібні запитання.