Re[21]: Ищется язык
От: Shabi  
Дата: 20.12.07 09:18
Оценка:
Здравствуйте, Курилка, Вы писали:

S>>а теперь? все равно в морг?


К>Дак почему в морг? Я против динамической типизации ничего не имею.

я тоже...но речь не о том. с чего все началось и чем продолжилось.

резюме: как считаешь, по пункту

* статически типизированный и компилируемый;


его можно советовать зачинателю ветки?
Re[22]: Ищется язык
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.12.07 09:26
Оценка:
Здравствуйте, Shabi, Вы писали:

S>Здравствуйте, Курилка, Вы писали:


S>>>а теперь? все равно в морг?


К>>Дак почему в морг? Я против динамической типизации ничего не имею.

S>я тоже...но речь не о том. с чего все началось и чем продолжилось.

S>резюме: как считаешь, по пункту

S>

* статически типизированный и компилируемый;


S>его можно советовать зачинателю ветки?


Нельзя, т.к. client-side меня не интересует
Но за участие в обсуждении спасибо!


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[19]: Ищется язык
От: Left2 Украина  
Дата: 20.12.07 12:01
Оценка:
К>>>Чем описывается "большинство"?

S>и это кста. "не вечер"... ActionScript 3.0 (по ставнению с 2.0 огромный, качествеенный скачёк) сейчас на том уровне, что вполне комфортно можно можно писать... даже пересаживаясь с JAVA.

S>не спроста эти жЫрные коты в сане и микрософте зашевелились.

Давай называть вещи своими именами — это не скачок между ActionScript 2.0 и ActionScript 3.0, это развитие ECMAScript. Посмотри на реализацию JS в современной мозилле — увидишь те же самые фичеры, т.к. это суть один и тот же язык.

А сан с майкрософтом в чём виноваты, кстати? Они тоже в меру сил и возможностей ECMAScript реализуют — JScript в нотации майкрософт и встроенный в Java 1.5 интерпретатор ECMAScript (название его не помню, т.к. немного не в теме).
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re[20]: Ищется язык
От: Shabi  
Дата: 20.12.07 12:11
Оценка:
Здравствуйте, Left2, Вы писали:

К>>>>Чем описывается "большинство"?


S>>и это кста. "не вечер"... ActionScript 3.0 (по ставнению с 2.0 огромный, качествеенный скачёк) сейчас на том уровне, что вполне комфортно можно можно писать... даже пересаживаясь с JAVA.

S>>не спроста эти жЫрные коты в сане и микрософте зашевелились.

L>А сан с майкрософтом в чём виноваты, кстати?


я имел ввиду silverlight & javafx
не о виновности разговор....
Re[14]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.12.07 15:57
Оценка:
Здравствуйте, Shabi, Вы писали:

Слушай, можешь верить в рекламный балшит. Кто же тебе запретит то?

Попробуй создать простой тест производительности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.12.07 15:57
Оценка:
Здравствуйте, Shabi, Вы писали:

S>я имел ввиду silverlight & javafx

S>не о виновности разговор....

Дык, заметь. Они не АкшонСкрип тырят. А идею Флэша.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.12.07 15:57
Оценка:
Здравствуйте, FR, Вы писали:

FR>А мы разве про F# , кстати в SML.NET функторы есть, но ограничены при использовании с NET класами.


Что вы фанкторами называете?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Ищется язык
От: EvilChild Ниоткуда  
Дата: 20.12.07 21:06
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>А мы разве про F# , кстати в SML.NET функторы есть, но ограничены при использовании с NET класами.


VD>Что вы фанкторами называете?


Ф<b>у</b>нкторы
now playing: Scorn — The Palomar
Re[14]: Ищется язык
От: FR  
Дата: 21.12.07 07:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что вы фанкторами называете?


Грубо полиморфный загрузчик модулей, позволяет жестко типизированному языку иметь модульность на уровне динамических языков, например можно сделать полную эмуляцию ООП (в смысле наследования и полиморфизма) на модулях. Ну и как следствие модули в ML являеются как и функции первоклассными объектами.
Re[15]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.07 13:21
Оценка:
Здравствуйте, FR, Вы писали:

FR>Грубо полиморфный загрузчик модулей, позволяет жестко типизированному языку иметь модульность на уровне динамических языков, например можно сделать полную эмуляцию ООП (в смысле наследования и полиморфизма) на модулях. Ну и как следствие модули в ML являеются как и функции первоклассными объектами.


Т.е. нечто вроде интерфейсов? Ясно...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Ищется язык
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 21.12.07 13:49
Оценка: +1
VD>Т.е. нечто вроде интерфейсов? Ясно...

Скорее типа шаблонов в С++.
Re[17]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.07 11:46
Оценка:
Здравствуйте, D. Mon, Вы писали:

VD>>Т.е. нечто вроде интерфейсов? Ясно...


DM>Скорее типа шаблонов в С++.


Шаблоны как раз не способны экспортировать интерфейс вне модуля. По крайней мере в доступных мне компиляторах С++ экспорт не реализован.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Ищется язык
От: FR  
Дата: 23.12.07 09:41
Оценка:
Здравствуйте, VladD2, Вы писали:

DM>>Скорее типа шаблонов в С++.


VD>Шаблоны как раз не способны экспортировать интерфейс вне модуля. По крайней мере в доступных мне компиляторах С++ экспорт не реализован.


Невозможность экспорта это деталь реализации.
Функторы сильно схожи с шаблонами в том что также могут параметризироватся. Вот например использование функтора Make из стандартного модуля Set:
module Int_set = Set.Make(
    struct
        type t = int
        let compare = compare
    end
    );;

Здесь объявлется модуль Set параметризированный структурой содержащей нужный тип и функцию сравнения. На С++ шаблонах получается очень похоже:
typedef std::set<int, std::less<int> > Int_set;
Re[18]: Ищется язык
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 23.12.07 11:27
Оценка:
VD>Шаблоны как раз не способны экспортировать интерфейс вне модуля. По крайней мере в доступных мне компиляторах С++ экспорт не реализован.

Аналогом интерфейсов в Окамле скорее служат модули.
Re[19]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.12.07 12:08
Оценка:
Здравствуйте, D. Mon, Вы писали:

VD>>Шаблоны как раз не способны экспортировать интерфейс вне модуля. По крайней мере в доступных мне компиляторах С++ экспорт не реализован.


DM>Аналогом интерфейсов в Окамле скорее служат модули.


А ты то про что говорил?

Или я уже ничего не понимаю...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Ищется язык
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 26.12.07 14:49
Оценка:
VD>А ты то про что говорил?

Про функторы. Т.е. получаются аналогии: модули — интерфейсы, функторы — шаблоны.
Re[21]: Ищется язык
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.12.07 13:54
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Про функторы. Т.е. получаются аналогии: модули — интерфейсы, функторы — шаблоны.


Все же я этого понять не могу. Можно подробно обяснить?

Как я понимаю модуль есть вещь статическая. Экзепляр модуля не создашь. Интерфейс есть публичное описание набора методов объекта которое можно полиморфно реализовывать в разных типах. Вот пример на C# 2.0:
interface IClonable<T>
{
  T Clone();
}

class A : IClonable<A>
{
  public A(int x) { _x = x; }
  int _x;
    public A Clone()
    {
        return new A(_x);
    }
}

class B : IClonable<B>
{
  public B(string y) { _y = y; }
  string _y;
    public A Clone()
    {
        return new A(_y);
    }
}

static class TestModule
{
    public static void Test<T>(IClonable<T> clonable)
    {
        T copy = clonable.Clone();
        // ... use copy
    }
    
    static void Main()
    {
        Test<T>(new A(123));
        Test<T>(new B("Test"));
    }
}

Здесь мне все очевидно. А как тоже самое будет выглядеть на ОКамле?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Ищется язык
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.12.07 16:40
Оценка:
Вот примерный аналог. Я заменил Clone на чуть более интересную функцию удвоения, которая число умножает на два, а строку повторяет два раза.

module type Doubleable = (* тут как бы абстрактный интерфейс *)
   sig
     type t
     val double: t -> t (* наша операция *)
   end;;
   
module A = (* реализация интерфейса с интом *)
   struct
     type t = int
     let double x = x * 2
   end;; 

module B = (* реализация интерфейса со строкой *)
   struct
     type t = string
     let double x = x ^ x
   end;; 

module TestModule = (* функтор - как бы шаблон, параметризованный нашим интерфейсом *)
   functor (Smthng: Doubleable) ->
     struct 
       let test x = Smthng.double x     
     end;;
   
module TestModuleA = TestModule(A);; (* подстановка шаблона для получения конкретного типа *)
module TestModuleB = TestModule(B);;

print_int(TestModuleA.test 2);; (* использование конкретных типов *)
print_string(TestModuleB.test "hi");;


Этот код выводит на экран "4hihi", проверял.
Re[8]: Ищется язык
От: Алексей.  
Дата: 28.12.07 17:01
Оценка:
СТ>Зато баги правят сильно оперативнее. Да и насколько сложилось впечатление, что в нем нет только Windows-specific вещей, вроде поддержки COM+

Вот эту https://bugzilla.novell.com/show_bug.cgi?id=314903 ошибку 3,5 года пытаются исправить.
Re[9]: Ищется язык
От: anton_t Россия  
Дата: 29.12.07 06:50
Оценка:
Здравствуйте, Алексей., Вы писали:

СТ>>Зато баги правят сильно оперативнее. Да и насколько сложилось впечатление, что в нем нет только Windows-specific вещей, вроде поддержки COM+


А>Вот эту https://bugzilla.novell.com/show_bug.cgi?id=314903 ошибку 3,5 года пытаются исправить.


Судя по тому, что это normal P3 его ещё столько же чинить будут
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.