Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2005-09-23 00:46:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Угадайте-ка на каком это языке?
Some examples of lambda expressions follow below:
x => x + 1 // Implicitly typed, expression body
x => { return x + 1; } // Implicitly typed, statement body
(int x) => x + 1 // Explicitly typed, expression body
(int x) => { return x + 1; } // Explicitly typed, statement body
(x, y) => x * y // Multiple parameters
() => Console.WriteLine() // No parameters

http://msdn.microsoft.com/vcsharp/future/


(Читать комментарии) - (Добавить комментарий)


[info]drz
2005-09-23 06:53 (ссылка)
Лучше ассемблера нет языка!

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-09-23 07:38 (ссылка)
Я, в общем-то, с вами почти согласен. Есть у ассемблера, однако, два недостатка:

1. Он машиннозависим. Когда архитектуре наступает конец, печально отправлять в мусорную урну все. что для нее написал. Да, с этим можно частично бороться путем автоматической конвертации, симуляции старой архитектуры на новой, но это все судороги.

2. Как бы это парадоксально ни звучало, для сложных архитектур на ассемблере хорошей программы не напишешь. Нужен умный компилятор, который оптимизирует, планирует инструкции и перераспределяет регистры. В макросах такого не написать. Оптимизирующий ассемблер написать можно, но к нему придется багливые аннотации писать, иначе он ничего не поймет и не сможет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-09-23 07:40 (ссылка)
Ой, я, вообще-то, всё это в курсе типа :)

Сам в последнее время пишу на Java / Oracle PL/SQL / XSLT / свой язык.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-09-23 07:42 (ссылка)
И про оптимизируеющий ассемблер тоже в курсе?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-09-23 08:10 (ссылка)
Угу.

Мы даже в своё время оптимизацией на лету занимались...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-09-23 08:31 (ссылка)
Тоже дело. И я им тоже, и не раз :)

И как, получился оптимизирующий ассемблер? У меня получился для странного VLIW DSP, но о нем мало кто знает. Еще у NVIDIA вроде бы есть, опять-таки очень специальный.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-09-23 08:34 (ссылка)
Ну, процессы разгонялись процентов на 30 по сравнению со статической оптимизацией. Правда, давно это уже, было сейчас таких машинок уже, вероятно, и не встретишь (ЕС).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-09-23 08:47 (ссылка)
Не, про оптимизацию на лету все понятно - свернуть что-нибудь, записать в непосредственные операнды, выкинуть ненужные ветвления, вот уже и счастье.

Я про оптимизирующий ассемблер спрашивал. Он дожен читать ассемблерную программу (возможно, с аннотациями в тексте и трассами профилятора сбоку), статически ее оптимизировать и текст же и выплевывать (можно объектник, разница лишь в удобстве отладки).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]drz
2005-09-23 08:49 (ссылка)
А, ну, тогда таких идей даже, кажется, не было :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2005-09-23 09:08 (ссылка)
Жалко, а то я думал, что нашего полку прибыло. А так NVIDIA публично бьет себя в грудь пяткой и заявляет, что она первая и пока единственная. По обоим пунктам ошибается, но контрпримеров, кроме собственного, мне не известно.

(Ответить) (Уровень выше)


(Читать комментарии) -