Здравствуйте, VladD2, Вы писали:
ВВ>>Ну вот, а он для меня был практически иконой "прямого" десктопа на Джаве. Эх, теперь один Эклипс остается. Он-то не на С++, надеюсь? VD>Нет. Эклпис чисто явский. Хотя движок графики у него вроде бы тоже С-ишный (IBM писал для скоросоти). VD>И, кстати, на мой взгляд Эклипс намного качественнее и расширяемее нежели ОпенОфис.
Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO.
Re[13]: Ржавчина - новый системный язык программирования
Здравствуйте, Воронков Василий, Вы писали:
ВВ> От чего пытаются предостеречь? delete вызвать? От детерминированного уничтожения ресурсов вот никто не умер.
Умер. Не один проект умер! В прочем, если под ресурсами понимаются разные файлы и т.п. (то что не может управляться автоматически), то я не против деструкторов для управления ими. Просто практика показала, что в отличии от памяти ими не сложно управлять и с помощью using-ов.
ВВ>А кто будет сосредотачиваться?
Ну, вот те кто сейчас никому не нужные языки клепают, с новыми старыми идеями.
ВВ>И почему машина за меня должна решать такие вещи?
Потому что ты думаешь медленно, но гибко. Для твоего мозга найдется море более важных задач.
ВВ>И как она их будет решать?
А вот это зависит от мозгов тех кто все это будет реализовывать.
VD>>>>А поддержка ФП — это не сисемно, и не эффективно? ВВ>>>ФП тут вообще ортогонально. VD>>Да ну? А вот многие сишники считаеют, что ФП вреден для системности и производительности. (не я)
ВВ>Ну скажем так, если ты дашь емкое и полное определение того, что такое ФП, то тут появится какой-то предмет для разговора.
и ведь по-своему он прав.
ВВ>Для меня ФП это "первоклассные функции и декларативность", а это слишком общая формулировка для того, чтобы выносить какие-то решения. Вон в С первоклассные функции получше, чем в шарпе, и это как бы совсем ему не мешает.
А для него все это невозможно без ЖЦ. И в чем-то он прав.
VD>>А что за ОС-то на них хотят писать? ВВ>Да хотя бы те, что есть. Их ведь тоже надо писать.
Те что есть имеют достаточно бабла чтобы писаться хоть куриной лапой. И они эти во всю пользуются.
ВВ>Ну и? Ну решаются на С, да. Тут речь о том, что вполне может быть язык, с одной стороны более современный и удобный, чем С, с другой — справляющийся с такими задачами по крайней мере не хуже.
Не хуже на 10%? В том же кодеке тебе очень важно иметь функции высшего порядка? А типобезопасность? Думаю не очень. Ведь основная задача как раз эту самую типобезопасность ранушать.
А иначе проще взять высокоуровневый язык с ЖК и добротной ВМ. Ну, чтобы в меня пальцами не тыкали скажем Хаскель .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Ржавчина - новый системный язык программирования
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO.
Еще не факт, что Эклипс не популярнее ОО.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
VD>>>А автоматическое управление памятью — это обязательно не системно и не эффективно? C>>Да. Впрочем, как раз Ржавчина может и будет жить — там каждый поток получает свою арену для GC. VD>А как же Сингулярити работает?
Да хрен его знает где и как оно работает. Я ради интереса скачал какой то билд — оно тупо не заработало.
VD>И вот же блин незадача, как раз в тесте HTTP-сервера Сингулярити порвала Линукс и Винду :о).
Сфероконь победил в вакууме!
VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".
Чтоб он жрал гиг и тормозил так же?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
VD>Интересная ссылка. Ну, а создание "системных языков с простым синтаксисом и поддержкой многопоточности" пожалуй уже тенденция.
ИМХО тут причиной сочетание NIH и "свой, с блекждеком и шлюхами".
VD>Если кому-то нужен упрощенный С++, то берите Ди. Если что его можно доработать. Это все равно проще чем клепать свои поделки.
Если кому то нужен упрощённый С++ пусть берут С++ и не выпендриваются на нём.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Ржавчина - новый системный язык программирования
Здравствуйте, 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]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
VD>>>А автоматическое управление памятью — это обязательно не системно и не эффективно? C>>Да. Впрочем, как раз Ржавчина может и будет жить — там каждый поток получает свою арену для GC. VD>А как же Сингулярити работает?
А она разве работает?
C>>Написание браузера. Написание быстрого HTTP-сервера или там MapReduce-какой. Потребностей много. VD>И вот же блин незадача, как раз в тесте HTTP-сервера Сингулярити порвала Линукс и Винду :о).
Ага, из-за того, что работает целиком в режиме ядра. Это банально несерьёзно.
VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".
Потому, что:
1) Тогда он будет занимать 1Гб памяти.
2) Будет тормозить на паузах ГЦ.
Проблема с GC не решена нормально до сих пор, все попытки сделать безлатентный GC проваливаются на практике. Дошло до того, что суровые парни из Azul сделали свой микропроцессор (!!!) с специальной поддержкой ускорения GC. Тут у Ржавчины небольшой выигрыш за счёт дизайна с несколькими аренами.
Sapienti sat!
Re[16]: Ржавчина - новый системный язык программирования
Здравствуйте, 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]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
ВВ>> От чего пытаются предостеречь? delete вызвать? От детерминированного уничтожения ресурсов вот никто не умер. VD>Умер. Не один проект умер! В прочем, если под ресурсами понимаются разные файлы и т.п. (то что не может управляться автоматически), то я не против деструкторов для управления ими. Просто практика показала, что в отличии от памяти ими не сложно управлять и с помощью using-ов.
Да я не про деструкторы, неудачно выразился. Необходимость дергать вручную Dispose как-то проблем не вызывает. Дергают же. Причем если забыть вставить тот же юзинг никакой гарантии, что он вообще "дернется" нет. Т.е. ситуация хуже, чем в RAII. Но ничего, живем как-то.
Вот что бы такого ужасного произошло, если при включении ансейфа в шарпе можно было создавать объекты в неуправляемой куче типа Foo^ f = Foo?
ВВ>>А кто будет сосредотачиваться? VD>Ну, вот те кто сейчас никому не нужные языки клепают, с новыми старыми идеями.
Хм.
ВВ>>И почему машина за меня должна решать такие вещи? VD>Потому что ты думаешь медленно, но гибко. Для твоего мозга найдется море более важных задач.
Ну а если мне для решения задачи нужно явно следить за жизнью объектов?
Речь же не о том, чтобы управление всегда было ручным, а чтобы при наличии полноценного ЖЦ оставалась возможность ручного управления жизнью объектов.
ВВ>>Ну скажем так, если ты дашь емкое и полное определение того, что такое ФП, то тут появится какой-то предмет для разговора. VD>Я тебе лучше дам ссылку на таких сишников: VD>http://rsdn.ru/forum/philosophy/3873275.1.aspx
VD>и ведь по-своему он прав. ВВ>>Для меня ФП это "первоклассные функции и декларативность", а это слишком общая формулировка для того, чтобы выносить какие-то решения. Вон в С первоклассные функции получше, чем в шарпе, и это как бы совсем ему не мешает. VD>А для него все это невозможно без ЖЦ. И в чем-то он прав.
И все равно это разговор ни о чем. Я просто не знаю, что такое ФП. Четких критериев-то нет. Вот объясни мне
И да, про ЖЦ оно как бы кажется верным — но в силу исторических причин, т.к. ЖЦ и пришел-то, собственно, из ФП.
Опять же никто не мешает этому ФП, если уж и признать его "слишком" высокоуровненым и неэффективным, прекрасно себе жить в безопасном сабсете языка.
ВВ>>Ну и? Ну решаются на С, да. Тут речь о том, что вполне может быть язык, с одной стороны более современный и удобный, чем С, с другой — справляющийся с такими задачами по крайней мере не хуже. VD>Не хуже на 10%? В том же кодеке тебе очень важно иметь функции высшего порядка? А типобезопасность? Думаю не очень. Ведь основная задача как раз эту самую типобезопасность ранушать. VD>А иначе проще взять высокоуровневый язык с ЖК и добротной ВМ. Ну, чтобы в меня пальцами не тыкали скажем Хаскель .
Казалось бы речь идет о весьма близкой тебе вещи — one language to rule them all. Почему тот же язык, который используется для решения повседневных задач, не может выступать и в роли системного? Ведь это удобно. Для этого всего лишь нужен явно выделенный низкоуровневый сабсет.
Re[21]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
ВВ>>Эклипс и расширяемость — это практически синонимы В ОпенОфисе это не нужно так остро. К тому же это куда более массовое приложение. Эклипс у меня так, поиграться по большому счету. А ОО я реально использую как заменитель MSO. VD>Еще не факт, что Эклипс не популярнее ОО.
Ладно, сдаюсь. ОО — говно. Все равно нам на шару 2010-ый залили, надо будет установить.
Re[14]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, gandjustas, Вы писали:
G>>Сейчас вообще не проблема, размеры дистрибутивов для .NET4 стали неприлично маленькими. G>>Что-то в районе 40 мб для большого фреймворка и 20 с мелочью для Client Profile.
VD>А куда делись сотни метров W??-ов (WPF, WWF, ...)?
VD>И какие проблемы в наше время даже 2 гига скачать? Я вот периодически покачиваю фильмы в HD-форматах. И ничего так.
Я тоже не понимаю доводов о размере фреймворка.
Re[7]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
C>>Это ты плохо помнишь. Ява родилась как высокоуровневый кроссплатформенный язык для встраиваемых приложений (в основном для приставок к телевизорам). Идеальный С++ они делать не собирались. VD>Не. Я вроде бы хорошо помню. Но это замечание очень в жилу в контексте твоего вот этого замечания
Здравствуйте, 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]: Ржавчина - новый системный язык программирования
Здравствуйте, CreatorCray, Вы писали:
CC>А что с ними не очевидно то?
То что к ним примешано управление памятью, конструкторы копирования, оператор присваивания, почему-то даже бородатые сишники
в этих вещах путаются. Ну и конструкторы для нормального использования тянут за собой исключения, а это такое поле
Про множественное наследование лучше промолчу.
CC>Ну и потом классы ещё не означают обязательное использование виртуальных функций. Да и нужны они далеко не всегда.
Угу, только зачем тогда C++.
FR>>конструкторы копирования и т. п. CC>Тоже в общем то простая штука, если не накрутить с архитектурой.
Проблема в том что про них часто забывают когда они нужны, что гарантированно UB.
Другая проблема их пишут неправильно. Если же делать правильно, то писать безопасный к
исключениям код не тривиально.
FR>> Ну и во вторых я вообще не вижу смысла в "C с классами" при написании библиотек CC>И тем не менее он есть.
Угу видел "шедевры".
FR>>для других языков, тут гораздо полезнее именно RAII шаблоны и т. п. CC>Дык тот же RAII на "C с классами" реализуется на ура.
Какой RAII у поклонников этого стиля ты что, если пустых конструкторов и функций Init нет и то счастье
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, VladD2, Вы писали:
VD>Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".
Его теперь на ржавчине перепишут
Re[3]: Ржавчина - новый системный язык программирования
Здравствуйте, FR, Вы писали:
VD>>1. Типобезопасность (т.е. не гораздо более чем, а просто типобезопасным).
FR>Читаю описание языка, похоже даже более типобезопасно чем ява и шарп, нет нулевых указателей, FR>иммутабельность, статический контроль над распределением памяти
а чем он отличается от ML?
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Ржавчина - новый системный язык программирования
Здравствуйте, FR, Вы писали:
BZ>>а чем он отличается от ML?
FR>Синтаксис сишный, GC как я понял на счетчиках ссылок + статический анализ и разведен по потокам. FR>Есть RAII и шаблоны. Вообще гибрид полный.
бог с ним, синтаксисом. шаблоны, если под ними понимается полиморфный код, и в ml есть. raii делается на bracket. с gc — подробности реализации
т.е. у меня такое ощущение что ничего лучше ml чуваки не придумали. где я неправ?