Wydaje się, że powszechne jest zdanie, że programowanie asemblacyjne trwa dłużej i jest trudniejsze do programowania w języku wyższego poziomu, takim jak C. Dlatego wydaje się zalecane lub zakładane, że z tych powodów lepiej jest pisać w języku wyższego poziomu. oraz ze względu na lepszą przenośność.
Ostatnio pisałem w asemblerze x86 i przyszło mi do głowy, że być może te przyczyny nie są tak naprawdę prawdą, z wyjątkiem przenośności. Być może chodzi raczej o znajomość i umiejętność dobrego pisania asemblera. Zauważyłem również, że programowanie w asemblerze jest zupełnie inne niż programowanie w HLL. Być może dobry i doświadczony programista asemblacyjny mógłby pisać programy równie łatwo i tak szybko, jak doświadczony programista C piszący w C.
Być może dzieje się tak, ponieważ programowanie asemblerowe jest zupełnie inne niż HLL, a zatem wymaga odmiennego myślenia, metod i sposobów, co sprawia, że programowanie nieznanych osób wydaje się bardzo niewygodne, a zatem nadaje mu złą nazwę do pisania programów.
Jeśli przenośność nie stanowi problemu, to co C miałby w porównaniu z dobrym asemblerem, takim jak NASM?
Edycja: aby wskazać. Kiedy piszesz w asemblerze, nie musisz pisać tylko w kodach instrukcji. Możesz używać makr i procedur oraz własnych konwencji, aby tworzyć różne abstrakty, aby programy były bardziej modułowe, łatwiejsze w utrzymaniu i łatwiejsze do odczytania. Tutaj pojawia się umiejętność pisania dobrego zestawu.