Re[16]: The future of programming languages by Хейлсберг
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.10.08 16:58
Оценка: +2 :))
Здравствуйте, Lloyd, Вы писали:

L>Казалось бы, причем тут javascript?


Значительное количество программистов точно знает, какой язык самый лучший. Проблема в том, что у разных программистов этот язык разный.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[14]: The future of programming languages by Хейлсберг
От: Lloyd Россия  
Дата: 29.10.08 17:39
Оценка:
Здравствуйте, VladD2, Вы писали:

S>>Каково же твое предложение? Как сопоставить определенному делегату набор нужных функций? И насколько тогда такой делегат будет нужен?


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


Как быть с ref/out параметрами?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[15]: The future of programming languages by Хейлсберг
От: EvilChild Ниоткуда  
Дата: 29.10.08 19:41
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>Это все понятно. Как это будет реализовано на низком уровне.

Достаточно одного абстрактного класса или интерфейса,
параметризованного двумя аргументами, имеющего одну функцию член вида T Invoke(U a);
void как честного типа, который может быть аргументом generic'а (Unit в F#) и карринга.
Смотри FastFunc<T, U> в F#.
now playing: Gui Boratto — Red Room
Re[21]: The future of programming languages by Хейлсберг
От: Воронков Василий Россия  
Дата: 30.10.08 10:48
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>js является довольно интересно реализованном гибридным языком. IMHO поэтому он и появился на том слайде. То, что он лучше PHP или шарпа я доказывать и не собирался. Просто хотел обратить внимание, что он не так уж и плох, и в нем есть интересные моменты.


Скажу по секрету — мне вообще нравится джава-скрипт.
А речь изначально зашла о том, насколько "уместно" выглядит тот же php в компании "взрослых" C#, F#, Nemerle, etc. И я бы сказал, что php выглядит по крайней мере не менее уместно, чем js — хотя по большому счету она оба тут не в кассу.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[15]: The future of programming languages by Хейлсберг
От: Воронков Василий Россия  
Дата: 30.10.08 10:48
Оценка: +1
Здравствуйте, Lloyd, Вы писали:

L>Как быть с ref/out параметрами?


Запретить
Если и не вообще, то по крайней мере в сигнатуре делегатов.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[22]: The future of programming languages by Хейлсберг
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 30.10.08 10:55
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>js является довольно интересно реализованном гибридным языком. IMHO поэтому он и появился на том слайде. То, что он лучше PHP или шарпа я доказывать и не собирался. Просто хотел обратить внимание, что он не так уж и плох, и в нем есть интересные моменты.


ВВ>Скажу по секрету — мне вообще нравится джава-скрипт.


Да я против PHP чего-то особенного тоже не имею

ВВ>А речь изначально зашла о том, насколько "уместно" выглядит тот же php в компании "взрослых" C#, F#, Nemerle, etc. И я бы сказал, что php выглядит по крайней мере не менее уместно, чем js — хотя по большому счету она оба тут не в кассу.


Но зачем-то их ведь вставили?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[23]: The future of programming languages by Хейлсберг
От: Воронков Василий Россия  
Дата: 30.10.08 11:19
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Но зачем-то их ведь вставили?


Думаю, для "графического" эффекта
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[16]: The future of programming languages by Хейлсберг
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.10.08 12:51
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>параметризованного двумя аргументами, имеющего одну функцию член вида T Invoke(U a);

EC>void как честного типа, который может быть аргументом generic'а (Unit в F#) и карринга.
EC>Смотри FastFunc<T, U> в F#.

К сожалению нет под рукой F#. Блин на работе даже 2008 студию установить не могу
Может дашь ссылочку. Очень интересно.
Большое спасибо
и солнце б утром не вставало, когда бы не было меня
Re[17]: The future of programming languages by Хейлсберг
От: EvilChild Ниоткуда  
Дата: 30.10.08 14:05
Оценка: 9 (1)
Здравствуйте, Serginio1, Вы писали:

S> К сожалению нет под рукой F#. Блин на работе даже 2008 студию установить не могу

Можешь более старый релиз под 2005 поставить.
S>Может дашь ссылочку. Очень интересно.
Веб доступ к исходникам не нашёл.

F#:
[<AbstractClass>]
type FastFunc<'T,'U>() =
    abstract Invoke : 'T -> 'U


Несколько сокращённый вариант того, как оно выглядит в рефлекторе.
C#:
public abstract class FastFunc<T, U>
{
    public FastFunc();
    public abstract override U Invoke(T);
}


Пример реализации:
[Serializable]
internal class clo@61_3T<Tag, Key, A, W> : OptimizedClosures.FastFunc3<FastFunc<Key, FastFunc<A, FastFunc<W, W>>>, Map<Key, A, Tag>, W, W> where Tag: IComparer<Key>
{
    // Fields
    public TypeFunc _self0;

    // Methods
    public clo@61_3T(TypeFunc _self0)
    {
        this._self0 = _self0;
    }

    public override W Invoke(FastFunc<Key, FastFunc<A, FastFunc<W, W>>> f@58, Map<Key, A, Tag> m@58, W x@58)
    {
        TypeFunc func = this._self0;
        return m@58.Fold<W>(f@58).Invoke(x@58);
    }
}
Re[18]: The future of programming languages by Хейлсберг
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.10.08 15:52
Оценка:
Здравствуйте, EvilChild, Вы писали:
Огромное спасибо. В интернете нуууу крайне мало информации.
http://stuff.mit.edu/afs/athena/software/fsharp_v1.1.12/FSharp-1.1.12.3/manual/export-interop.html
Смысл конечно понятем, хотя и с большим трудом
и солнце б утром не вставало, когда бы не было меня
Re[19]: The future of programming languages by Хейлсберг
От: EvilChild Ниоткуда  
Дата: 30.10.08 17:25
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Огромное спасибо. В интернете нуууу крайне мало информации.

Есть уже 3 книги и 2 из них:Expert F# и Foundations of F# легко находятся в цифре (это не считая инфы по ML и OCaml).
now playing: Gui Boratto & Martin Eyerer — The Island
Re: The future of programming languages by Хейлсберг
От: yuriylsh  
Дата: 30.10.08 18:05
Оценка: +1
Здравствуйте, dotneter, Вы писали:

D>http://blog.jaoo.dk/2008/10/07/the-future-of-programming-languages/


D>Занимательное выступление. Но я правильно понимаю что он 20 лет ваял языки программирования совершенно не интересуясь что происходит вокруг, и только F# заставил его узреть какой же оказывается может быть вывод типа. Тоже самое с метапрограммированием, упоминаются только динамические языки, хотя существует тот же Nemerle.


Дабы немого подогреть разговор, вот еще пару ссылок с Anders Hejlsberg с текущего PDC касательно будущего языков (это panel, он там один из отвечающих) и касательно будущего C# в частности (тут он один).
Обратите внимание, что файлы здоровые.

Panel: The Fututre of Programming Languages
211 MB
Gilad Bracha, Douglas Crockford, Anders Hejlsberg, Erik Meijer, Wolfram Schulte, Jeremy Siek
Скачивать здесь


Gilad Bracha
Gilad Bracha is the creator of the Newspeak programming language. He is currently Distinguished Engineer at Cadence Design Systems. Previously, he was a
Computational Theologist and Distinguished Engineer at Sun Microsystems. He is co-author of the Java Language Specification, and a researcher in the area of
object-oriented programming languages. Prior to joining Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He received his B.Sc in Mathematics and
Computer Science from Ben Gurion University in Israel and a Ph.D. in Computer Science from the University of Utah.

Douglas Crockford
Douglas Crockford discovered the JSON data interchange format. He is leading an effort at ECMA to develop a secure successor to JavaScript. He is the author of
JavaScript: The Good Parts.

Anders Hejlsberg
Anders Hejlsberg is a Technical Fellow in the Developer Division. He is an influential creator of development tools and programming languages. He is the chief
designer of the C# programming language and a key participant in the development of the Microsoft .NET framework. Since its initial release in 2000, the C#
programming language has been widely adopted and is now standardized by ECMA and ISO. Before his work on C# and the .NET framework, Hejlsberg was an architect for
Visual J++ development and the Windows Foundation classes. Before joining Microsoft in 1996, Hejlsberg was one of the first employees of Borland International Inc.
As principal engineer, he was the original author of Turbo Pascal, a revolutionary integrated development environment, and chief architect of its successor, Delphi.
Hejlsberg co-authored "The C# Programming Language", published by Addison Wesley, and has received numerous software patents. In 2001, he was the recipient of the
prestigious Dr. Dobbs Excellence in Programming Award. He studied engineering at the Technical University of Denmark.

Wolfram Schulte
Wolfram Schulte is a principal researcher and the founding manager of the Research in Software Engineering area, at Microsoft Research Redmond, USA. Wolfram’s
research concerns the practical application of formal methods. At Microsoft, Wolfram co-lead research projects on language design and runtimes (the AsmL, Cw, TPL
projects), software testing (the Pex, SpecExplorer, and nModel projects), software analysis and verification (the Spec#, Vcc and Hypervisor project), and lately on
model-driven engineering of applications for the cloud (formula and bam). Among Schulte’s contributions to Microsoft technologies are his work on model-based and
concolic testing, on contract-based static analysis, on data access integration and concurrent runtimes. Wolfram lives with his spouse Rita and 2 kids in Bellevue.
In his spare time, he enjoys the beautiful outdoors of the cascades.

Jeremy Siek
Jeremy Siek is an Assistant Professor at the University of Colorado. Jeremy's areas of research include generic programming, programming language design, and
compiler optimization. Jeremy received a Ph.D. at Indiana University in 2005. His thesis laid the foundation for the constrained templates feature in the next C++
Standard. Also while at Indiana, Jeremy developed the Boost Graph Library, a C++ generic library for graph algorithms and data structures. Jeremy did a post-doc at
Rice University where he developed gradual typing: a type system that integrates dynamic and static typing. Jeremy is currently developing a gradually-typed version
of Python.



The Future of C#
331 MB
Anders Hejlsberg
Скачивать здесь
Luck in life always exists in the form of an abstract class that cannot be instantiated directly and needs to be inherited by hard work and dedication.
Re[20]: The future of programming languages by Хейлсберг
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 31.10.08 07:00
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Есть уже 3 книги и 2 из них:Expert F# и Foundations of F# легко находятся в цифре (это не считая инфы по ML и OCaml).

Ещё раз спасибо. Кстати а с ref и out все хорошо и ещё наивный вопрос как будут выглядеть возвращаемые параметры ввиде FastFunc<T, U>
с туплами знаком
и солнце б утром не вставало, когда бы не было меня
Re[21]: The future of programming languages by Хейлсберг
От: EvilChild Ниоткуда  
Дата: 31.10.08 18:56
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Ещё раз спасибо. Кстати а с ref и out все хорошо и ещё наивный вопрос как будут выглядеть возвращаемые параметры ввиде FastFunc<T, U>

S>с туплами знаком
По поводу ref и out параметров точно не скажу — не уверен, что они есть.
Насчёт возвращаемых параметров в виде FastFunc<T, U> не совсем понял — просто FastFunc<T, U>'ом будет параметризован другой FastFunc<T, U>.
now playing: SCSI-9 — Digital Summer
Re: The future of programming languages by Хейлсберг
От: minorlogic Украина  
Дата: 01.11.08 10:03
Оценка: +3
Здравствуйте, dotneter, Вы писали:

D>http://blog.jaoo.dk/2008/10/07/the-future-of-programming-languages/


D>Занимательное выступление. Но я правильно понимаю что он 20 лет ваял языки программирования совершенно не интересуясь что происходит вокруг, и только F# заставил его узреть какой же оказывается может быть вывод типа. Тоже самое с метапрограммированием, упоминаются только динамические языки, хотя существует тот же Nemerle.


Господа , вы прям как дети малые , несмышленые.

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

Неужели вы предполагаете что профи не знает того что известно ЛЮБОМУ мало мальски интересующемуся рядовому програмисту. ?


Попробуйте представить себе свою облась где вы профи и допустить мысль что вы не знаете общеизвестных для этой области вещей ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[22]: The future of programming languages by Хейлсберг
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.11.08 13:42
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Здравствуйте, Serginio1, Вы писали:


S>>Ещё раз спасибо. Кстати а с ref и out все хорошо и ещё наивный вопрос как будут выглядеть возвращаемые параметры ввиде FastFunc<T, U>

S>>с туплами знаком
EC>По поводу ref и out параметров точно не скажу — не уверен, что они есть.
По идее должны для совместимости делегатов. Можно попробовать проверить через FuncConvert.ToFastFunc
EC>Насчёт возвращаемых параметров в виде FastFunc<T, U> не совсем понял — просто FastFunc<T, U>'ом будет параметризован другой FastFunc<T, U>.
Это к вопросу возврата множества параметров по аналогии с выводом из одного множества параметров. Раз есть возможность в одну сторону тогда же она есть и в другую
и солнце б утром не вставало, когда бы не было меня
Re[2]: The future of programming languages by Хейлсберг
От: WolfHound  
Дата: 01.11.08 14:47
Оценка: -1 :)
Здравствуйте, minorlogic, Вы писали:

M>Попробуйте представить себе свою облась где вы профи и допустить мысль что вы не знаете общеизвестных для этой области вещей ?

Ну тогда объясни мне каким образом такой крутой профессионал изобрел делегаты вобще и мультикаст делегаты в частности?
Ибо зная как оно устроено в функциональщине изобрести делегаты невозможно.

Команду которая сотворила CLR я тоже могу пинать очень долго.
Например за опкоды Add, Mul,... нужно вобще отрывать руки. Ибо хардкодить в модель ВМ (изначально спроектированную под компиляцию) операции над конкретными типами это просто преступление.
За опкоды из серии Ldc_I4_0 тоже по головке погладить нельзя. Место подобных "оптимизаций" на уровне чтения/записи бинарного кода сборок.
Это же банальное отделение модели от представления.
...

Короче что-то тут не сходится.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: The future of programming languages by Хейлсберг
От: minorlogic Украина  
Дата: 01.11.08 15:08
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Короче что-то тут не сходится.


Да , конечно , ты прав. Ты намного лучше разбираешься в языках чем команды создающие их професионально . О чем тут спорить ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: The future of programming languages by Хейлсберг
От: WolfHound  
Дата: 01.11.08 15:23
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Да , конечно , ты прав. Ты намного лучше разбираешься в языках чем команды создающие их професионально . О чем тут спорить ?

Сарказм не уместен.
Я показал два примера не знания основ.
Попробуй аргументировано опровергнуть эти два примера.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: The future of programming languages by Хейлсберг
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.11.08 15:41
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, minorlogic, Вы писали:


M>>Да , конечно , ты прав. Ты намного лучше разбираешься в языках чем команды создающие их професионально . О чем тут спорить ?

WH>Сарказм не уместен.
WH>Я показал два примера не знания основ.
WH>Попробуй аргументировано опровергнуть эти два примера.
Наверное лучше иметь синицу в руках. Делегаты в Delphi задолго прекрасно себя показывали. Причем преобразовывя процедурный апи в объектный.
Понятно что ФП маячило очень далеко и нужно было показывать скорости сопоставимые с нативными. Дженерики при неотложной необходимости появились несразу.
Не все быстро делается. Лучше позно чем никогда. Ты и сам на Net не сразу взялся.
и солнце б утром не вставало, когда бы не было меня
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.