The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..., opennews (ok), 22-Мрт-13, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


38. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от Xasd (ok), 23-Мрт-13, 08:42 
> Строгая типизация -- это самое нужное в любой языке.

кроме языков, которые ценят время отведённое на разработку.

кстате не забудь ещё высказаться на тему "ручное управление ресурсами -- это самое нужное в любой языке" (ведь в asm.js и это тоже оптимизировали :)).

Ответить | Правка | Наверх | Cообщить модератору

39. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +1 +/
Сообщение от www2 (??), 23-Мрт-13, 09:09 
По сути из нестрогой типизации в большинстве программ обычно используется только возможность вернуть None/Null/Undef вместо подходящего значения.

Есть, кончено, более сложные случаи, но для них в строго типизированном языке можно предусмотреть отдельный класс Object, от которого наследовались бы все остальные типы. В этом случае в программе в 90% случаев можно было бы использовать типизированный подход, а в остальных 10% случаев, когда это явно необходимо - не типизированный.

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

Ответить | Правка | Наверх | Cообщить модератору

41. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от АнониМ (?), 23-Мрт-13, 09:41 
Object это и есть смешанная типизация. в том же груви можно написать, как

public def inc(def val) {
return val +1;
}

так и

public Integer inc(int val) {
return val +1;
}

Ответить | Правка | Наверх | Cообщить модератору

42. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от CPP (??), 23-Мрт-13, 10:23 
> По сути из нестрогой типизации в большинстве программ обычно используется только возможность
> вернуть None/Null/Undef вместо подходящего значения.
> Есть, кончено, более сложные случаи, но для них в строго типизированном языке
> можно предусмотреть отдельный класс Object, от которого наследовались бы все остальные
> типы. В этом случае в программе в 90% случаев можно было
> бы использовать типизированный подход, а в остальных 10% случаев, когда это
> явно необходимо - не типизированный.
> Почему-то все языки сейчас стремятся стать мультипарадигменными, поддерживая и процедурное,
> и объектное, и функциональное программирование, но что-то я не замечаю языков,
> которые бы стремились стать языками со смешанной типизацией.

RTTI уже давно придумали

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

59. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от AnonuS (?), 23-Мрт-13, 17:55 
> RTTI уже давно придумали

Анонимные пользователи персональных компьютеров (АППК) шутку оценили и передают свой анонимный привет поклонникам Леопольда фон Захер-Мазоха.

А также ожидают дальнейших пояснений преимуществ этой революционной технологии от нашего брата-эксперта по имени СРР.

Ответить | Правка | Наверх | Cообщить модератору

69. "В Firefox 22 появится Asm.js, низкоуровневое..."  +1 +/
Сообщение от arisu (ok), 23-Мрт-13, 20:31 
> Есть, кончено, более сложные случаи, но для них в строго типизированном языке
> можно предусмотреть отдельный класс Object, от которого наследовались бы все остальные
> типы. В этом случае в программе в 90% случаев можно было
> бы использовать типизированный подход, а в остальных 10% случаев, когда это
> явно необходимо — не типизированный.

и тут язык резко перестал быть строго типизированым. сюрпрайз. и рыбку, и половые удовольствия — не получается, никак.

а вот опциональные аннотации типов — это штука вполне хорошая. в Strongtalk это сделали, получилось годно. но потом команду, увы, купили.

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

78. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от Аноним (-), 24-Мрт-13, 00:29 
> кроме языков, которые ценят время отведённое на разработку.

В которых парадигма "written once, debug everywhere"? Ну да, там любят сравнить гайки с бананами, а когда через полчаса работы все после долгих мучений наконец окончательно упало - они пытаются понять где же все-таки порылся этот факап. Убивая на дебаг больше времени чем ассемблерщик просадил бы на написание такого же куска на идеально вылизанном асме :)

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

91. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от Crazy Alex (ok), 24-Мрт-13, 03:52 
Слушай, ну не неси совсем уж явную чушь. Гляди на скалу, D  и прочее современное - там (да даже в плюсах нынешних) тип почти везде выводится автоматом. Зато еще до юнит-тестов отлавливается громадная куча ошибок вида "забыл засунуть в объект еще одно значение или сунул не с тем именем". Разработку это только ускоряет.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

98. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от Xasd (ok), 24-Мрт-13, 10:39 
> тип почти везде выводится автоматом

только его ещё и задекларировать надо.

а с учётом того что один и тотже алгоритм может (и ДОЛЖЕН! так как Don’t Repeat Yourself) выполнять манипуляции с различными видами объектов -- то нужно ещё и интерфейсы декларировать.

вот сидишь и занимаешься всем этим декларированием, вместо того чтобы сразу описывать алгоритмы.

не, не, я не спорю -- можно это делать... но время то ведь на всё это -- тратится!

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

Ответить | Правка | Наверх | Cообщить модератору

110. "В Firefox 22 появится Asm.js, низкоуровневое высокопроизводи..."  +/
Сообщение от Crazy Alex (ok), 24-Мрт-13, 21:44 
Пишешь алгоритм в шаблонной функции - и всё. При компиляции будет подставлен нужный тип и проведена статическая проверка. Duck-typing на этапе компиляции. Ну и да, динамический полиморфизм пихать только туда, где он нужен (это, кстати, не так уж часто). Хотя даже для него если наследование писали не анусом то класс-наследник сохраняет все гарантии предка. Что в том же D при желании проверяется контрактами (которые, кстати, круто дополняют юнит-тесты).

При всём уважении - ты правда не в курсе, как пишется код на современных статически типизированных языках.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру