1. Потому что задач много. Писать CMS (Content Managment System) на асме безумство, так же как и писать на PHP драйвер железки. 2. Разражает избыточность многих языков. Некоторые на мой взгляд перегружены возможностями. На некоторых языках простейший Hello world занимает пару дестяков строк. Причём я сейчас не про асм. 3. В fasm и Си мне хватает всего. Разве, что в fasm есть некоторые маленькие неудобства в макроязыке, но это по сравнению с идеалом - другие ассемблеры хуже (это лишь моё ИМХО). 4. Хорошо структурированный. Без переопределения операторов, чтобы синтаксис не менялся, а лишь добавлялись новые типы и функции. Чтобы были нормальные имена у логических операций - and, or, not, а не &, |, ~. 5. Написать универсальный компилятор нельзя. Их должно быть как минимум 4: Ассемблер - для разработки низкоуровневых, компактных, очень быстрых приложений, для разработки ядра ОС. Компилируемый язык высокого уровня - Что-то вроде Си. Для написания достаточно быстрых и в то же время удобных для разбработки приложений. Иногда, совместимы на уровне исходных кодов с другими ОС/Архитектурами. Компилируемый в байт код язык высокого уровня - Что-то вроде Java. Для написания пусть не очень быстрых, зато переносимых без перекомпиляции приложений. Скриптовой язык - самый медленный. Для использвания в веб-сервисах и для автоматизации операций с файлами, текстом в текстовом редакторе etc.
И зря. Я имею ввиду микроядро. А писать гигансткое монолитное ядро на асме конечно же никого не заставляю.
Clerk Асм этот ваш пихать куда не лень, уж нету сил. Читать поделки эти тем более не возможно. Конечно это нубство - когда мне, блжат, влом искать где инициализируется этот регистЭр и через 256 строк он ложится на стек. Учите С и давайте уже лучше сплоет, да побыстрее.
всегда: ( код) -> ("чистый асм") -> (машинные коды) этап преобразования кода в асм пока несовершенен, например программа на масме весит 3 кило, точно такая на С++ больше 40, на других языках может быть значительно больше масм - грязный асм, юзает функции, написанные на С (которые прошли низкоуровневую оптимизацию и можно сказать, что написаны почти на чистом асме), но он даёт возможность писать и на чистом асме, и на грязном, и на каком угодно, в различных сочетаниях
deLight Ну вот какойто, не одей но для начала вам пойдёт http://www.vupen.com/blog/20101018.Stuxnet_Win32k_Windows_Kernel_0Day_Exploit_CVE-2010-2743.php Ну вы ведь понимаете что в ядре не ориентируетесь и после попадания в него не сможите найти ни вход ни выход, так что идите уроки учите.
Blackbeam О С++ никто не говорил, С - собирайте с оптимизацией по размеру, получите машкод на процентов 10% больший чем тот же самый шлак, старательно напечатанный на манипуляторе ввода (капли пота на нем и кровь на пробеле). Clerk Не будем рассуждать кто в чем ориентируется. Вы свое полное незнание темы уже один раз показали. Кто знает, не издаст лучей пеара (поносящих налево и направо). Давайте по теме, хватит сравнений.
Детки все диктует бизнес ... Давно уже бы создали плаформу для программистов, вот только это нах не кому не надо , так как в большестве случаев всех интересует решение конкретного вопроса который сейчас имеет спрос ... 1)Вопрос кто готов сделать финанс на разработку "свер-мега-супер-пупер" платформы? 2)Кто из вас готов выложить N*10к$ за такою платфрому? Из которой вы будете использовать несколько процентов? П.С. Каждый из своих задач продвигает свой язык( технологию ) и это факт ...
Немного упущенные моменты. 1. В бизнесе еще и конкуренция бывает. 2. Субъективные впечаления. Вот не со всех течет и всё на этом.
1. ИМХО IT слишком раздут, и как следствие куча "новых технологий" и языков для них. 2. Слабые компиляторы. 3. Среды в которой формулы вводились/выводились как рукописные. 4. Язык должны знать много людей, чтобы я мог работать с ними совместно. 5. А насколько будет юзабелен ЯП на котором можно делать компьютерные игры и программы для ЧПУ ?
По пункту #2: Сидел вот и от нечего думать задался вопросом: Почему в информатике принято, что сначала идёт байт, а потом - слово, двойное слово, четверное слово и т.д.? Не удобнее ли было всё рассортировать так: Код (Text): 8 bits - BYTE (байт); 16 bits - SLAB (слог); 32 bits - WORD (слово); 64 bits - NOTE (запись); 128 bits - TEXT (текст); 256 bits - PAGE (страница) и т.д. Тем самым, символы(байты) образуют слоги, слоги - слова, слова - записи, записи - текст, текст - страницы и т.д. Я понимаю, скажете мол нет, не удобно, совсем не удобно и запутанно. Но вот посмотрите в ассемблере на все эти DWORD и QWORD или в Си - на long и long long типы. Тоже как-то некрасиво. Идёт char, int, long, hyper, __int64, __int128 и т.д. Всю красоту листинга просто убивает! Особенно long и ULONG и т.п. Где-то строчные, где-то заглавные, а где-то и смесь да с подчёркиванием! Честно говоря, вот за простыми типами компилятор должен иметь и простые наименования. А мы имеем и unsigned char, и unsigned long и т.п. Один друг тоже как-то пожаловался на весь этот хаос! Ведь в Дельфи и вовсе другие правила с регистрами. Не скрою, я пробовал сам всё сам систематизировать в эмуляторе своей модели процессора. Но, это смешная капля локального порядка в кипящем бинарном хаосе!
512 - FILE, 1024 - BOOK --- думаю до таких размерностей элементарные типы не скоро раздуются. А тем более, до улиц и аптек!
Ребят,а в Visual Studio 2010 можно как нибудь легко переименовать переменную? А то ведь это засада - в 1000 строк кода искать все места где она встречается и везде переименовывать. Чувствую,что какая-то автоматика по-любому должна быть.
Возьмём .Net, там есть практически все существующие языки и даже можно написать свой. Все эти языки компилируются в один асм. И все языки совместимы, на любом можно использовать библиотеку написанную на другом. Конечно кто-то будет до бесконечности дро.. на масм, но это уныло и ограничено.