Re[19]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 21:52
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Ну вот, а он для меня был практически иконой "прямого" десктопа на Джаве. Эх, теперь один Эклипс остается. Он-то не на С++, надеюсь?

VD>Нет. Эклпис чисто явский. Хотя движок графики у него вроде бы тоже С-ишный (IBM писал для скоросоти).
VD>И, кстати, на мой взгляд Эклипс намного качественнее и расширяемее нежели ОпенОфис.

Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO.
Re[13]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 22:03
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ> От чего пытаются предостеречь? delete вызвать? От детерминированного уничтожения ресурсов вот никто не умер.


Умер. Не один проект умер! В прочем, если под ресурсами понимаются разные файлы и т.п. (то что не может управляться автоматически), то я не против деструкторов для управления ими. Просто практика показала, что в отличии от памяти ими не сложно управлять и с помощью using-ов.

ВВ>А кто будет сосредотачиваться?


Ну, вот те кто сейчас никому не нужные языки клепают, с новыми старыми идеями.

ВВ>И почему машина за меня должна решать такие вещи?


Потому что ты думаешь медленно, но гибко. Для твоего мозга найдется море более важных задач.

ВВ>И как она их будет решать?


А вот это зависит от мозгов тех кто все это будет реализовывать.



VD>>>>А поддержка ФП — это не сисемно, и не эффективно?

ВВ>>>ФП тут вообще ортогонально.
VD>>Да ну? А вот многие сишники считаеют, что ФП вреден для системности и производительности. (не я)

ВВ>Ну скажем так, если ты дашь емкое и полное определение того, что такое ФП, то тут появится какой-то предмет для разговора.


Я тебе лучше дам ссылку на таких сишников:
http://rsdn.ru/forum/philosophy/3873275.1.aspx
Автор: Cyberax
Дата: 10.07.10

и ведь по-своему он прав.

ВВ>Для меня ФП это "первоклассные функции и декларативность", а это слишком общая формулировка для того, чтобы выносить какие-то решения. Вон в С первоклассные функции получше, чем в шарпе, и это как бы совсем ему не мешает.


А для него все это невозможно без ЖЦ. И в чем-то он прав.

VD>>А что за ОС-то на них хотят писать?

ВВ>Да хотя бы те, что есть. Их ведь тоже надо писать.

Те что есть имеют достаточно бабла чтобы писаться хоть куриной лапой. И они эти во всю пользуются.


ВВ>Ну и? Ну решаются на С, да. Тут речь о том, что вполне может быть язык, с одной стороны более современный и удобный, чем С, с другой — справляющийся с такими задачами по крайней мере не хуже.


Не хуже на 10%? В том же кодеке тебе очень важно иметь функции высшего порядка? А типобезопасность? Думаю не очень. Ведь основная задача как раз эту самую типобезопасность ранушать.

А иначе проще взять высокоуровневый язык с ЖК и добротной ВМ. Ну, чтобы в меня пальцами не тыкали скажем Хаскель .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 22:04
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO.


Еще не факт, что Эклипс не популярнее ОО.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 09.07.10 22:08
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>>>А автоматическое управление памятью — это обязательно не системно и не эффективно?

C>>Да. Впрочем, как раз Ржавчина может и будет жить — там каждый поток получает свою арену для GC.
VD>А как же Сингулярити работает?
Да хрен его знает где и как оно работает. Я ради интереса скачал какой то билд — оно тупо не заработало.

VD>И вот же блин незадача, как раз в тесте HTTP-сервера Сингулярити порвала Линукс и Винду :о).

Сфероконь победил в вакууме!

VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".

Чтоб он жрал гиг и тормозил так же?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 09.07.10 22:08
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Интересная ссылка. Ну, а создание "системных языков с простым синтаксисом и поддержкой многопоточности" пожалуй уже тенденция.

ИМХО тут причиной сочетание NIH и "свой, с блекждеком и шлюхами".

VD>Если кому-то нужен упрощенный С++, то берите Ди. Если что его можно доработать. Это все равно проще чем клепать свои поделки.

Если кому то нужен упрощённый С++ пусть берут С++ и не выпендриваются на нём.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 09.07.10 22:10
Оценка: +1
Здравствуйте, VladD2, Вы писали:

FR>>Есть реальная потребность в нативном языке который с одной стороны не был бы так примитивен как си, с другой

FR>>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.

VD>Если посмотреть на то что есть общее у Ржавчины и Гоги, то это:

VD>1. Типобезопасность (т.е. не гораздо более чем, а просто типобезопасным).
VD>2. ~LL(1) синтаксис (т.е. простота парсинга).
VD>3. Нэйтивность (т.е. компилируемость в исполняемый код).
VD>4. Модульность.
VD>5. Фичи многопоточного программирования (новый трэнд ).
VD>6. Статическая типизация.

FR>>Потребность сейчас стала более острой, так как, развеялись иллюзии что управляемые платформы (java net) смогут

FR>>покрыть все потребности прикладного программирования.

VD>Если посмотреть на список общих черт, то легко понять, что это как раз достижения управляемых языков, ну, кроме компилируемости в нэйтив без премоежуточного управления.


и далее:

VD>Конечно были разные маргинальные направления и язки, но они не были доступны массам


так о чём всё же идёт речь? если том что массы впервые столкнулись с такими языками в 90-е, то не вижу почему ты споришь с FR — теперь этим массам нужно то же самое, но без байт-кода. мне кстати в том числе
Люди, я люблю вас! Будьте бдительны!!!
Re[12]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 22:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>А автоматическое управление памятью — это обязательно не системно и не эффективно?

C>>Да. Впрочем, как раз Ржавчина может и будет жить — там каждый поток получает свою арену для GC.
VD>А как же Сингулярити работает?
А она разве работает?

C>>Написание браузера. Написание быстрого HTTP-сервера или там MapReduce-какой. Потребностей много.

VD>И вот же блин незадача, как раз в тесте HTTP-сервера Сингулярити порвала Линукс и Винду :о).
Ага, из-за того, что работает целиком в режиме ядра. Это банально несерьёзно.

VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".

Потому, что:
1) Тогда он будет занимать 1Гб памяти.
2) Будет тормозить на паузах ГЦ.

Проблема с GC не решена нормально до сих пор, все попытки сделать безлатентный GC проваливаются на практике. Дошло до того, что суровые парни из Azul сделали свой микропроцессор (!!!) с специальной поддержкой ускорения GC. Тут у Ржавчины небольшой выигрыш за счёт дизайна с несколькими аренами.
Sapienti sat!
Re[16]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 22:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>И какие проблемы в наше время даже 2 гига скачать? Я вот периодически покачиваю фильмы в HD-форматах. И ничего так.

C>>На Андроиде и iPhone всего 256Мб памяти, к примеру. Совсем много туда не засунешь.
VD>Наверно по этому на андройде Ява-апи такой широкий?
Там всё системное ПО на C/С++. Кроме того, там Java как раз запилена на минимальный расход — нет JIT (сейчас есть ограниченный JIT), специальный GC, интерпретация сжатого байт-кода без загрузки всего кода в RAM и т.п.

VD>Я тебе напомню, что когда появлялась Ява на писюках было по 32 Мб памяти. Так что 256 это не так плохо, если вспомнить, что это все же телефон.

Ага, и у меня браузер затормаживался на полминуты, а потом система уходила в глубокий своп, когда натыкался на сайт с Java-апплетом (которых тогда было, к сожалению, много).

VD>К тому же тенденция то видна. Сейчас уже лучшие сабаководы ставят 288 Мб. А скоро и гиг будут пихать.

Года через 2-3, не меньше.

VD>Ну, и давай заметим, что языки эти новомодные создаются далеко не для писательства софта для телефонов. Там как раз скорее ява с дотентом будет.

VD>Что у нас там осталось? Ах, да! Микроконтроллеры! Слушаю ваш рассказ о них .
Ещё высоконагруженные системы, которые эти телефоны будут поддерживать.
Sapienti sat!
Re[14]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 22:21
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>> От чего пытаются предостеречь? delete вызвать? От детерминированного уничтожения ресурсов вот никто не умер.

VD>Умер. Не один проект умер! В прочем, если под ресурсами понимаются разные файлы и т.п. (то что не может управляться автоматически), то я не против деструкторов для управления ими. Просто практика показала, что в отличии от памяти ими не сложно управлять и с помощью using-ов.

Да я не про деструкторы, неудачно выразился. Необходимость дергать вручную Dispose как-то проблем не вызывает. Дергают же. Причем если забыть вставить тот же юзинг никакой гарантии, что он вообще "дернется" нет. Т.е. ситуация хуже, чем в RAII. Но ничего, живем как-то.
Вот что бы такого ужасного произошло, если при включении ансейфа в шарпе можно было создавать объекты в неуправляемой куче типа Foo^ f = Foo?

ВВ>>А кто будет сосредотачиваться?

VD>Ну, вот те кто сейчас никому не нужные языки клепают, с новыми старыми идеями.

Хм.

ВВ>>И почему машина за меня должна решать такие вещи?

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

Ну а если мне для решения задачи нужно явно следить за жизнью объектов?
Речь же не о том, чтобы управление всегда было ручным, а чтобы при наличии полноценного ЖЦ оставалась возможность ручного управления жизнью объектов.

ВВ>>Ну скажем так, если ты дашь емкое и полное определение того, что такое ФП, то тут появится какой-то предмет для разговора.

VD>Я тебе лучше дам ссылку на таких сишников:
VD>http://rsdn.ru/forum/philosophy/3873275.1.aspx
Автор: Cyberax
Дата: 10.07.10

VD>и ведь по-своему он прав.
ВВ>>Для меня ФП это "первоклассные функции и декларативность", а это слишком общая формулировка для того, чтобы выносить какие-то решения. Вон в С первоклассные функции получше, чем в шарпе, и это как бы совсем ему не мешает.
VD>А для него все это невозможно без ЖЦ. И в чем-то он прав.

И все равно это разговор ни о чем. Я просто не знаю, что такое ФП. Четких критериев-то нет. Вот объясни мне
И да, про ЖЦ оно как бы кажется верным — но в силу исторических причин, т.к. ЖЦ и пришел-то, собственно, из ФП.

Опять же никто не мешает этому ФП, если уж и признать его "слишком" высокоуровненым и неэффективным, прекрасно себе жить в безопасном сабсете языка.

ВВ>>Ну и? Ну решаются на С, да. Тут речь о том, что вполне может быть язык, с одной стороны более современный и удобный, чем С, с другой — справляющийся с такими задачами по крайней мере не хуже.

VD>Не хуже на 10%? В том же кодеке тебе очень важно иметь функции высшего порядка? А типобезопасность? Думаю не очень. Ведь основная задача как раз эту самую типобезопасность ранушать.
VD>А иначе проще взять высокоуровневый язык с ЖК и добротной ВМ. Ну, чтобы в меня пальцами не тыкали скажем Хаскель .

Казалось бы речь идет о весьма близкой тебе вещи — one language to rule them all. Почему тот же язык, который используется для решения повседневных задач, не может выступать и в роли системного? Ведь это удобно. Для этого всего лишь нужен явно выделенный низкоуровневый сабсет.
Re[21]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 22:23
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO.

VD>Еще не факт, что Эклипс не популярнее ОО.

Ладно, сдаюсь. ОО — говно. Все равно нам на шару 2010-ый залили, надо будет установить.
Re[14]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 23:48
Оценка:
Здравствуйте, VladD2, Вы писали:

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


G>>Сейчас вообще не проблема, размеры дистрибутивов для .NET4 стали неприлично маленькими.

G>>Что-то в районе 40 мб для большого фреймворка и 20 с мелочью для Client Profile.

VD>А куда делись сотни метров W??-ов (WPF, WWF, ...)?




VD>И какие проблемы в наше время даже 2 гига скачать? Я вот периодически покачиваю фильмы в HD-форматах. И ничего так.



Я тоже не понимаю доводов о размере фреймворка.
Re[7]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 10.07.10 00:45
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Это ты плохо помнишь. Ява родилась как высокоуровневый кроссплатформенный язык для встраиваемых приложений (в основном для приставок к телевизорам). Идеальный С++ они делать не собирались.

VD>Не. Я вроде бы хорошо помню. Но это замечание очень в жилу в контексте твоего вот этого замечания
Автор: Cyberax
Дата: 10.07.10
.

Ну так с 1991-го года кода много утекло.
Sapienti sat!
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 03:49
Оценка:
Здравствуйте, VladD2, Вы писали:

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


FR>>Есть реальная потребность в нативном языке который с одной стороны не был бы так примитивен как си, с другой

FR>>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.

VD>Если посмотреть на то что есть общее у Ржавчины и Гоги, то это:

VD>1. Типобезопасность (т.е. не гораздо более чем, а просто типобезопасным).
VD>2. ~LL(1) синтаксис (т.е. простота парсинга).
VD>3. Нэйтивность (т.е. компилируемость в исполняемый код).
VD>4. Модульность.
VD>5. Фичи многопоточного программирования (новый трэнд ).
VD>6. Статическая типизация.

Да так и есть, но гидроксид железа кроме этого имеет:
Иммутабельность
Алгебраические типы и ПМ.
Локальный вывод типов
и еще
Встроенные в язык иттераторы.
Шаблоны или генерики (еще не разобрался).
Детерминированные деструкторы.
и чтобы совсем добить, еще
Динамическую типизацию (опциональную?)

FR>>Потребность сейчас стала более острой, так как, развеялись иллюзии что управляемые платформы (java net) смогут

FR>>покрыть все потребности прикладного программирования.

VD>Если посмотреть на список общих черт, то легко понять, что это как раз достижения управляемых языков, ну, кроме компилируемости в нэйтив без премоежуточного управления.


Нет тут всего намешано, взято и из них и из C++ и из ML семейства, и если я правильно понял про "Typestate system" то даже хвостик зависимых типов проглядывает.

VD>Учитывая наработки Сингулярити я бы поостерегся утвержать: "развеялись иллюзии что управляемые платформы...".


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

VD>"Иллюзии" как раз усиливаются.


Иллюзии да. В реальности нативные языки надолго.

VD>Кстати, Ржавчину с большей уверенностью можно назвать "системным", на мой взгляд. Но у него как и у Гоги есть немало странностей которые скорее всего происходят от пунктиков авторов.


Угу. Но если доведут до ума будет гораздо лучше по моему чем Go.

VD>Но что меня действительно заинтересовало, так это то, что Ржавчина вроде как предоставляет расширение синтаксиса. Так в примерах имеется демонстрация подгрузки синтаксиса регулярных выражений. Казалось бы причем тут... Э... молчу, молчу .


Да я тоже сразу подумал про Dylan
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 04:00
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>А что с ними не очевидно то?


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

CC>Ну и потом классы ещё не означают обязательное использование виртуальных функций. Да и нужны они далеко не всегда.


Угу, только зачем тогда C++.

FR>>конструкторы копирования и т. п.

CC>Тоже в общем то простая штука, если не накрутить с архитектурой.

Проблема в том что про них часто забывают когда они нужны, что гарантированно UB.
Другая проблема их пишут неправильно. Если же делать правильно, то писать безопасный к
исключениям код не тривиально.

FR>> Ну и во вторых я вообще не вижу смысла в "C с классами" при написании библиотек

CC>И тем не менее он есть.

Угу видел "шедевры".

FR>>для других языков, тут гораздо полезнее именно RAII шаблоны и т. п.

CC>Дык тот же RAII на "C с классами" реализуется на ура.

Какой RAII у поклонников этого стиля ты что, если пустых конструкторов и функций Init нет и то счастье
Re[12]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 04:22
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".


Его теперь на ржавчине перепишут
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 05:44
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

VD>1. Типобезопасность (т.е. не гораздо более чем, а просто типобезопасным).


Читаю описание языка, похоже даже более типобезопасно чем ява и шарп, нет нулевых указателей,
иммутабельность, статический контроль над распределением памяти (тут не понял регионы что-ли),
ну и Typestate
http://www.cs.wustl.edu/~mdeters/seminar/spring2002/torri-typestate.pdf
http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf
как я понял при беглом просмотре что-то вроде автоматических контрактов.
Re[2]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 06:07
Оценка:
Здравствуйте, Mazay, Вы писали:

M>Интересно, вот это что?

M>http://github.com/graydon/rust/graphs/languages
M>Доля кода на соответствующих языках в проекте?

Первый вариант написан на OCaml (сильно что-то напоминает ) потом раскрутка на самом себе.
Re[4]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 10.07.10 06:10
Оценка:
Здравствуйте, FR, Вы писали:

VD>>1. Типобезопасность (т.е. не гораздо более чем, а просто типобезопасным).


FR>Читаю описание языка, похоже даже более типобезопасно чем ява и шарп, нет нулевых указателей,

FR>иммутабельность, статический контроль над распределением памяти

а чем он отличается от ML?
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 07:14
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>а чем он отличается от ML?


Синтаксис сишный, GC как я понял на счетчиках ссылок + статический анализ и разведен по потокам.
Есть RAII и шаблоны. Вообще гибрид полный.
Re[6]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 10.07.10 09:17
Оценка:
Здравствуйте, FR, Вы писали:

BZ>>а чем он отличается от ML?


FR>Синтаксис сишный, GC как я понял на счетчиках ссылок + статический анализ и разведен по потокам.

FR>Есть RAII и шаблоны. Вообще гибрид полный.

бог с ним, синтаксисом. шаблоны, если под ними понимается полиморфный код, и в ml есть. raii делается на bracket. с gc — подробности реализации

т.е. у меня такое ощущение что ничего лучше ml чуваки не придумали. где я неправ?
Люди, я люблю вас! Будьте бдительны!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.