>Вот я знаю ассемблеры Z80, i8051, PIC 16x-18x, MC 680X0, совсем поверхностно PowerPC, SPARC, ARM x86 с x86-64 я тоже знаю, если ты об этом :) писал лет по 5-8 на каждом из z80/mc68k/x86, на микроконтроллерах года по 3, риски читаю лет 7, не пишу сам (если есть компилятор).
> Это автоинкременты/автодекременты, что ли, стали Си? :)
ага. Правда, регистров маловато :) Вот в мотороллерах 68k уже получше -- и регистров больше, и ортогональный набор команд, и двойная-тройная косвенная адресация в одной команде :))
>Ассемблер - это последнее что есть у НАСТОЯЩЕГО...
Школьник, иди учи информатику. Еще 30 лет назад разработчики юникса показали куда можно при желании засунуть "это последнее".
Все мы работаем на машине Тьюринга. И пишешь ли ты на асме, на си с плюсами или на жабе с классами сущность программы от этого не меняется.
И "настоящесть" программиста определяется не способностью на _конкретной_ архитектуре добиться в лучшем случае 10% прироста производительности, а умением писать простые, гибкие, эффективные, программные системы. И уж ассемблер для этой задачи никаким боком.
ЗЫ: Да, я знаю IA32 ассемблер. Да, я писал на нем различные программы.
> risc можно сразу в сторону потому что они все урезаные по определению
Что значит "урезаные"? Много равноправных регистров и отсутствие прерываемых инструкций - это "урезаные"? Да многие RISC-ассемблеры побогаче любого CISC будут, хотя бы на тот же ARM посмотри.
Пацанчик, ты то как раз на настоящего программиста то и не похож вовсе. Судя по базару, ты пока ещё даже не учишься, а так, погулять вышел. Если даже такие паханы, как Керниган и Ричи уже понимали необходимость скриптовых языков, то уж в наши дни отрицать их пользу нельзя вовсе.
"Такого" в нем ровно одно - то, что его можно за один вечер с нуля, с чистого листа реализовать на абсолютно новой архитектуре, под которую даже ассемблера то ещё нет, не говоря уж об ОС и прочих прибамбасах, а можно только в двоичных кодах прямо в память гадить. И при этом как язык он вполне сопоставим (а то и превосходит) в выразительности тот же тяжелый огромный Си, а по производительности лишь раза в два отстает.
Так что знать и уважать его надо хотя бы за одно только это свойство. Да, не всегда и не везде нужное, но иногда абсолютно незаменимое.
>И при этом как язык он вполне сопоставим (а то и превосходит) в выразительности тот же тяжелый огромный Си, а по производительности лишь раза в два отстает.
Всегда нужно говорить о конкретной реализации. Ибо Форты - они очень разные. От генерирующих оптимизированный нативный код до чисто скриптовых реализаций.
SP-Forth, например, на некоторых числодробильных тестах обходит по производительности GCC.
Я говорю про такой Форт, который можно родить за вечер, в двоичных кодах, без ассемблера и ОС. Ясно, что его можно заоптимизировать по самые гланды, но это уже совсем другая задача.
Форт он сам по себе - ассемблер. Жалко, что эта идея так и не попала в мейнстрим.
Не в последнюю очередь тут "виноваты" RISC'и: техническая мысль так ими увлеклась, что о форте как-то забыли. Хотя вроде разгон процессоров закончили, с многомерностью вроде уже наигрались, вон уже потребительские 6-ядерники есть, правда толку с них...
Может быть все-таки инженерА возьмутся за кардинальный пересмотр методологии функционирования современных процессоров? И выдадут "на гора", "новую", "инновационную", хорошо забытую стековую модель?
Чего стоит одна только возможность создания "своих" инструкций процессора!
>Я говорю про такой Форт, который можно родить за вечер, в двоичных кодах, без ассемблера и ОС.
Даже тут не всё так просто :) На x86 вплоть до i486 (за более поздними не проверял) прямой шитый код при вызове низкоуровневых слов работает быстрее классического подпрограммного :) Там пара add reg, N + jmp [reg] работает быстрее, чем call addr + ret. Тормоза (относительные, конечно) начинались при вызове высокоуровневых слов, когда надо было состояние исполнения на стек запихивать.
>Именно. И забутстрапить его с нуля проще чем любой классический ассемблер со сложным парсером, несколькими проходами, с отдельной линковкой и т.п.
А потом на Форте - проще забубенить Форт-ассемблер :) Помню, я для Forthius'а сделал 80386-й 32-х битный форт-ассемблер за пару дней :) На работу тогда через день ходил на пол-ставки, один раз пришёл - народ грузится «вот, 16-битный ассемблер у нас есть, но он, зараза, так написал, что на 32-х битный не расширяется». Когда я через день пришёл снова, отдал им уже готовый результат :)
...
Кстати, прикольно, он .obj у меня мог на лету линковать, как потом стали с .dll делать. Так что можно было, например, не на Форт-ассемблере, а на обычном tasm32 собрать объектник, а потом грузить его в Фортиус, естественно, с экспортом/импортом имён и т.п.
> Может быть все-таки инженерА возьмутся за кардинальный пересмотр методологии функционирования современных процессоров? И выдадут "на гора", "новую", "инновационную", хорошо забытую стековую модель?
What the hell for? Чтобы фортерам удобнее было? Так в большинстве случаев фортер не нужен, нужно что-то более высокоразвитое.