Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.19;
Скачать: CL | DM;

Вниз

Спустя восемь лет   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2010-09-07 22:32) [120]

> DVM  (07.09.2010 22:24:58)  [118]

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


 
Anatoly Podgoretsky ©   (2010-09-07 22:35) [121]

> oxffff  (07.09.2010 22:32:59)  [119]

Какая еще виртуальная мвшина и байт код?


 
Игорь Шевченко ©   (2010-09-07 22:44) [122]

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


 
Alkid ©   (2010-09-07 23:13) [123]


> oxffff ©   (07.09.10 22:32) [119]
> По мне так растет лишь разнообразие синтаксиса, а механизмы
> становятся идентичными.

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


> Фундамент CLR
> статическая типизация, ООП, делагаты, F-bounded полиморфизм,
>  сборка мусора.

С этим не спорю. Напоминаю лишь еще раз, что фундамент - это фундамент. На его базе может быть построено нечто совершенно иное, равно как на фундаменте Wintel строятся совершенно разные языки.


> C#, Oxygene, VB#, Pascal.ABC, F#, Nemerle, Eiifel ...
> Напоминает лозунг: А у вас уже есть LINQ? Лямбды? Замыкания?
>  Функции высших порядков? ...
> плюшки одних языков пошли в другие.

Абсолютно то же самое наблюдается и в нэйтиве.
Языки тырят друг у друга идеи только в путь.
Но конвергенции пока нет.

Кстати, посмотри на JVM. Там тоже есть целый зоопарк языков, в том числе и радикально отличающихся от самой Java. Это при том, что JVM более консервативна, чем .net. Там даже дженерики реализованы чисто как compile-time фитча без поддержки рантайма. Тем не менее, поверх JVM реализуются очень интересные и совсем не похожие на Java языки. Например, Scala и Coljure.


> Насчет динамической типизации. Ну нет в .NET динамической
> типизации и не было. Однако, появился магический способ
> построенный на отражении и семантическом дереве, который
> позволяет добавить магию. И теперь я ожидаю посредством
> ООП абстрации все языки будут нацеплять на себя возможность
> построения семантического дерева в момент компиляции. Но
> это миф. Это уже язык в языке получается посредством ООП.
>  
> А по честному костыли.

Отличия "честной" динамической типизации от "нечестной" - это хорошая тема для отдельной дискуссии. Существующий способ - DLR, как я понимаю, ты считаешь "нечестным". Поясни, как должна выглядеть "истинная" динамическая типизация.


> Тебе и Рихтер не показатель?
> Перечитай внимательно, для того чтобы использовать тип одного
> языка в другом языке тебе нужно указать сборку и тип.  

Рихтер хорошо пишет о том, как устроен .net. Но из его книг не следует ничего, что противоречило бы моим словам. На базе CLR можно реализовать ЛЮБОЙ язык, произвольно далеко отстоящий от MSIL концептуально. Просто чем ближе он будет к CLR, тем его реализация будет проще и тем меньше будет impendance mismatch при контактировании с экосистемой CLR. Я скажу больше - на любой платформе можно реализовать любой язык, вопрос только в сложности реализации.


> В твоем коде
>
> > .Net Framework:
> > let sayHelloDotNet who = Console.WriteLine("Hello from
> F#
> > via .Net, " + name + "!")
>
> Это что? Матчинг? Сим-салябин редукция?

Нет, матчинг был в другой части примера.
Здесь мы объявляем именованную функцию.
Кстати, матчинг поддерживается MSIL?
А алгебарические типы?


> Напоминаю.В [88] ты утверждаешь, что именно наличие виртуальной
> машины и байткода позволяет достичь run-time верификации.
>  Я тебе привел пример, что использование кода на delphi
> или например использование некоторого промежуточного представления
> в dcu(как это например делается для generics) и отдача этого
> в run-time компилятору командной строки позволит достичь
> той же цели.

Напоминаю, что в [88] я сказал, что VM + IL являются средством для верификации программ, но я не говорил, что это единственно возможное средство :) Даже не говорил что лучшее.


 
oxffff ©   (2010-09-07 23:29) [124]


> Alkid ©   (07.09.10 23:13) [123]


> Нет, матчинг был в другой части примера.
> Здесь мы объявляем именованную функцию.
> Кстати, матчинг поддерживается MSIL?
> А алгебарические типы?


Там вообще что еще и вызывается.

По остальному я так понимаю: Москва->Вобла->пиво. :)


 
Alkid ©   (2010-09-07 23:32) [125]


> oxffff ©   (07.09.10 23:29) [124]
> По остальному я так понимаю: Москва->Вобла->пиво. :)

Вот это я понимаю, деловой разговор. А то всякие лямбда матчинги...
У тебя есть какие-то планы по набеганию на столицу?


 
oxffff ©   (2010-09-07 23:35) [126]


> Alkid ©   (07.09.10 23:32) [125]
>
> > oxffff ©   (07.09.10 23:29) [124]
> > По остальному я так понимаю: Москва->Вобла->пиво. :)
>
> Вот это я понимаю, деловой разговор. А то всякие лямбда
> матчинги...
> У тебя есть какие-то планы по набеганию на столицу?


У меня нет. А у работодателя должны быть в следующем году.



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2010.12.19;
Скачать: CL | DM;

Наверх




Память: 0.75 MB
Время: 0.021 c
2-1285168987
Rembo2010
2010-09-22 19:23
2010.12.19
Как в Delphi сделать нестандартную форму?


2-1279935355
Тыва прогер
2010-07-24 05:35
2010.12.19
Вопрос по ошибке "Окно не имеет полос прокрутки"


3-1249649283
aleks-ran
2009-08-07 16:48
2010.12.19
Параметры и mysql-connector-odbc-5.1.5


15-1284025204
И. Павел
2010-09-09 13:40
2010.12.19
Как узнать логин, под которым клиент вошел в MS SQL?


15-1284110915
LD
2010-09-10 13:28
2010.12.19
Tor-сеть