Ржавчина - новый системный язык программирования
От: Курилка Россия http://kirya.narod.ru/
Дата: 08.07.10 18:17
Оценка: 44 (5)
LtU сообщает о языке Rust, разрабатываемым Mozilla (среди контрибьюторов небезызвестный Brendan Eich), позиционируемым как системный язык программирования с интересным набором фич.
Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)
Re[12]: Ржавчина - новый системный язык программирования
От: Тот кто сидит в пруду Россия  
Дата: 09.07.10 14:19
Оценка: +4 -1
Здравствуйте, gandjustas, Вы писали:

G>>>На самом деле зависит от компилятора.

G>>>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.

ВВ>>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие.

G>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.

При работе с плавающей точкой, а также в некоторых специальных случаях, обогнать компилятор С++ в 2-3 раза по прежнему не представляет особого труда.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 06:39
Оценка: 4 (1) +1 :))
Здравствуйте, Курилка, Вы писали:

К>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)


Есть реальная потребность в нативном языке который с одной стороны не был бы так примитивен как си, с другой
не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.
Потребность сейчас стала более острой, так как, развеялись иллюзии что управляемые платформы (java net) смогут
покрыть все потребности прикладного программирования.
Re[2]: Ржавчина - новый системный язык программирования
От: BlackEric http://black-eric.lj.ru
Дата: 09.07.10 14:13
Оценка: 2 (1) +1 :)
Здравствуйте, FR, Вы писали:

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


К>>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)


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

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

Это Pascal (Delphi)?
Если в нем разрешить описывать переменные в любом месте (как в Java) и для любителей разрешить вместо begin/end писать {}, то будет почти идеально
https://github.com/BlackEric001
Re[4]: Ржавчина - новый системный язык программирования
От: hattab  
Дата: 09.07.10 07:11
Оценка: :)))
Здравствуйте, FR, Вы писали:

FR> Ну так и приходится делать, я вот много писал на смеси python/C++ сейчас OCaml/C++.

FR> Си не выбирал так как не вижу его преимуществ кроме простоты перед C++.
FR> Но полно задач для которых один язык на котором удобно работать как на низком так и на высоком
FR> уровне будет лучше. Сейчас такой язык (в мейнстриме) один C++, но к сожалению он слишком переусложнен
FR> и небезопасен.

Так Pascal же Delphi, FreePascal.
avalon 1.0rc3 rev 339, zlib 1.2.3
Re[10]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 11:43
Оценка: +3
Здравствуйте, gandjustas, Вы писали:

ВВ>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

G>Хаскель?

Что Хаскель?

G>На самом деле зависит от компилятора.

G>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.

"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие.

G>Сейчас уже некоторые управляемые языки на некоторых задачах рвут C по быстродействию, при этом скорость управляемых языков растет быстрее, чем скорость C.


"Некоторые языки на некоторых задачах"? Боюсь эти языки и задачи по большей части в воображении у .NET-программистов существуют. Да и что-то прогресса в скорости у управляемых языков тоже видно. Скорее наоборот. У нас вот "вычислялка" при перекомпиляции C# 4.0 вместо 3.5 стала стабильно медленнее на 5-7%.
Re[12]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 12:21
Оценка: +3
Здравствуйте, gandjustas, Вы писали:

ВВ>>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие.

G>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.

Ну вот пытаюясь я посмотреть 1080p рип с каким-то там кодеком по умолчанию — тормозит. Ставлю CoreAVC с "ассемблерными вставками" — елки, и все летает, еще и в студии паралелльно компилировать можно.
И, ты знаешь, я очень рад, что "у некоторых до сих пор" эта мода не закончилась.

G>>>Сейчас уже некоторые управляемые языки на некоторых задачах рвут C по быстродействию, при этом скорость управляемых языков растет быстрее, чем скорость C.


ВВ>>"Некоторые языки на некоторых задачах"? Боюсь эти языки и задачи по большей части в воображении у .NET-программистов существуют.

G>Лениво искать бенчмарки, но прецеденты есть. А когда дело касается кодогенерации, то управляемые среды на высоте.

Бенчмарки при желании какие угодно можно придумать. Особенно, если воспользоваться знанием платформ. Вот только сам код на таких бенчмарках обычно бессмысленный чуть более чем полностью, вроде вычисления корня десять миллионов раз подряд.
А вот на реальных задачах и без всяких бенчмарков разница в скорости становится видна невооруженным глазом. Причем, как ты понимаешь, не в пользу.
Не, с другой стороны, если тебе эти "преценденты" и "бенчмарки" греют душу, то я только рад.

ВВ>>Да и что-то прогресса в скорости у управляемых языков тоже видно. Скорее наоборот. У нас вот "вычислялка" при перекомпиляции C# 4.0 вместо 3.5 стала стабильно медленнее на 5-7%.

G>Отличная логика. Ты даже не знаешь в чем причины этих 5-7%, но говоришь об отсутствии прогресса.

Я знаю, в чем причина — в коде, который генерирует новая версия компилятора. Бинарники, собранные старой версией, работают одинаково что на 3.5, что на 4.0 фреймворке. Мне надо вгрызаться в ИЛ и выяснять, что он там не так соптимизировал? А когда выясню — что делать? Код написан оптимально, дальше уже руки выкручивать не получится. Ассемблерных вставок, как понимаешь, в C# нет.
Мне в принципе пофиг на эти 5% — было бы не пофиг, код был бы написал на чем-то более другом, чем C#. Но как-то неясно, откуда "прогресс" в скорости управляемых языков возьмется, если этим никто не занимается. А фичи вот прикручивают прямо-таки на конвеерной основе.
Re[13]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:29
Оценка: +1 -1 :)
Здравствуйте, Тот кто сидит в пруду, Вы писали:

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


G>>>>На самом деле зависит от компилятора.

G>>>>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.

ВВ>>>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие.

G>>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.

ТКС>При работе с плавающей точкой, а также в некоторых специальных случаях, обогнать компилятор С++ в 2-3 раза по прежнему не представляет особого труда.


Только умельцев таких становится все меньше.
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 14:39
Оценка: 1 (1) +1
Здравствуйте, Mystic, Вы писали:

M>Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.


Мне кажется сама по себе сложность/простота не так важны, важно удобство и простота использования и отсутствие подводных камней.
В том же C++ на эти камни можно наткнутся даже используя "простое" его подмножество.
С другой стороны излишнее упрощение так же легко губит язык как и переусложнение, как пример — Оберон.

D по моему как-раз близок к золотой середине мощный язык которые легко и удобно использовать.
Другой пример питон который только кажется простым.
Re[9]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 09:31
Оценка: :))
Здравствуйте, Воронков Василий, Вы писали:

ВВ>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

Хаскель?

На самом деле зависит от компилятора.
Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.

Сейчас уже некоторые управляемые языки на некоторых задачах рвут C по быстродействию, при этом скорость управляемых языков растет быстрее, чем скорость C.
Re[7]: Ржавчина - новый системный язык программирования
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 09.07.10 14:09
Оценка: +2
Воронков Василий,

ВВ>Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат.


Что-то новенькое...
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[2]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 14:14
Оценка: +1 :)
Здравствуйте, FR, Вы писали:

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

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

В этом плане мне нравиться Delphi. Как вариант Ada.
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[11]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 17:56
Оценка: 14 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Да нету в Ocaml никакой утиной типизации. То, что ты называешь утиной типизацией, это просто структурные типы. ИМХО это разные все же вещи.


Так и в C++ ее тоже нет, но и там и там есть то что основному определению утиной типизации удовлетворяет.

FR>>Ну и в версии языка 3.12 которая должна скоро выйти введены явно полиморфные типы которые по сути вводят аналог С++ шаблонов для обычных функций.


ВВ>Полиморфные типы? Не знаю таких Знаю полиморфные варианты — но они откровенно weakly typed.


Явно полиморфные типы. Точнее "Explicit polymorphic type annotations" тут http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12-refman.pdf
пункт 7.12. Это как раз тот самый тип <’a.> что делал полиморфными объекты, теперь его можно объявлять явно, что по сути вводит шаблоны в язык и
дает способ ручного разрешения неопределенности для rank-n polymorphism.
Re[7]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 12.07.10 12:11
Оценка: 8 (1)
Здравствуйте, Klapaucius, Вы писали:

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

K>Так GC или счетчик ссылок? Счетчик ссылок — это может быть очень накладно.
Там однопоточный счётчик ссылок для иммутабельных данных, он быстрый. Ну и классический GC для разделяемых данных.
Sapienti sat!
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 12:57
Оценка: 8 (1)
Здравствуйте, Klapaucius, Вы писали:

K>Так GC или счетчик ссылок? Счетчик ссылок — это может быть очень накладно. А статический анализ не работает и в теории и на практике. Слишком много уходит в общий регион — а это, фактически, утечка. По крайней мере разработчикам MLKit и MLTon эту проблему решить не удалось. Вывод регионов может быть разве что только вспомогательным средством для уменьшения нагрузки на GC.


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

general (cycle-aware) garbage-collector local to each task.

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

Garbage collection within a local heap does not interrupt execution of other tasks

Ну и обещают жесткий статический анализ пихающий все что можно на стек, распределение не на базе вывода регионов а на базе Typestate
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[4]: Ржавчина - новый системный язык программирования
От: WolfHound  
Дата: 10.07.10 10:02
Оценка: 1 (1)
Здравствуйте, BulatZiganshin, Вы писали:

BZ>бред полнейший. просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт,

А вот тут ты сильно не прав.
Компиляция в байткод имеет убойные преимущества:
1)Валидация кода на клиенте. Те я могу скачать какой угодно код и проверить его на вшивость простым алгоритмом. С нативным кодом такое не получится.
Если сюда добавить еще и грамотный дизайн стандартной библиотеки то вирусы умрут все и сразу.

2)Переносимость между разными процессорами. В том числе теми которые еще не существовали на момент компиляции программы.

3)Генерация кода во время исполнения. Опять без байткода настолько сложно что с этим никто связываться не решается. А если вспомнить про преносимость то совсем тушите свет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 07:54
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:


ВВ>GC там есть. А что есть "гарантированный" GC? Это как в дотнете? Ну а какой же тогда это будет системный язык?


Как в D хотя бы, всегда доступен а не как тут пишут флажками включается http://thaesofereode.info/clocFAQ/#objc2-gc.
Системности это не помешает если есть подмножество позволяющее не использовать GC. У D такое есть но к сожалению
явно не выделено как SafeD.

ВВ>Obj C решает главную проблему С — примитивность, не превращаясь при этом в такого монстра как С++.


Это да, но другая безопасность как была так и остается.
Re[5]: Ржавчина - новый системный язык программирования
От: 24  
Дата: 09.07.10 08:05
Оценка: +1
On 09.07.2010 10:42, Воронков Василий wrote:
> Obj C решает главную проблему С — примитивность, не превращаясь при этом
> в такого монстра как С++.

У Objective C с безпасносью, мягко говоря, не очень — нет нормальной
статической проверки типов, и нет ничего похожего на шаблоны или дженерики.
Posted via RSDN NNTP Server 2.1 beta
Re[11]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 12:07
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

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



G>>На самом деле зависит от компилятора.

G>>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.

ВВ>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие.

Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.

G>>Сейчас уже некоторые управляемые языки на некоторых задачах рвут C по быстродействию, при этом скорость управляемых языков растет быстрее, чем скорость C.


ВВ>"Некоторые языки на некоторых задачах"? Боюсь эти языки и задачи по большей части в воображении у .NET-программистов существуют.

Лениво искать бенчмарки, но прецеденты есть. А когда дело касается кодогенерации, то управляемые среды на высоте.

ВВ>Да и что-то прогресса в скорости у управляемых языков тоже видно. Скорее наоборот. У нас вот "вычислялка" при перекомпиляции C# 4.0 вместо 3.5 стала стабильно медленнее на 5-7%.

Отличная логика. Ты даже не знаешь в чем причины этих 5-7%, но говоришь об отсутствии прогресса.
Re[12]: Ржавчина - новый системный язык программирования
От: Mazay Россия  
Дата: 09.07.10 13:57
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Нет, зато несколько раз эффективно парсер-комбинаторы делал, так что никакие С не сравнятся.


А в Киеве дядька. Никто же не говорит, что C/C++ всегда хорош. Можно сказать (учитывая вечную, хоть и призрачную на плюсах, угрозу расстрела памяти), что он всегда плох. Важно что бывают задачи, где все остальное не просто плохо, а неприемлемо плохо. Например те же видео декодеры. Там либо успеваешь декодировать с требуемой скоростью, либо можешь вообще не писать код. Даже если тебе не хватает каких-то 3%. Приходится из двух зол выбирать меньшее.

Потому и пишут новые языки.
Главное гармония ...
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 14:07
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:

FR>>Си не выбирал так как не вижу его преимуществ кроме простоты перед C++.

CC>"Простота" С вылазит боком когда надо делать сколь либо сложные вещи.
CC>Отсутствие RAII и шаблонов (для тех же контейнеров) вынуждает закатывать солнце вручную, что в общем то геморно.

Угу, даже на несложных вещах за счет той же STL и буста C++ зачастую лучше.

FR>>C++, но к сожалению он слишком переусложнен

CC>Чем же? На С++ можно писать как на "C с классами". "Переусложнённые" фичи ж никто не принуждает использовать.

Не получается. Во первых даже на "C с классами" есть немало не очевидных мест, те же виртуальные деструкторы,
конструкторы копирования и т. п. Ну и во вторых я вообще не вижу смысла в "C с классами" при написании библиотек
для других языков, тут гораздо полезнее именно RAII шаблоны и т. п.
Re: Ржавчина - новый системный язык программирования
От: Mazay Россия  
Дата: 09.07.10 14:08
Оценка: +1
Здравствуйте, Курилка, Вы писали:

К>LtU сообщает о языке Rust, разрабатываемым Mozilla (среди контрибьюторов небезызвестный Brendan Eich), позиционируемым как системный язык программирования с интересным набором фич.

К>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)

Интересно, вот это что?
http://github.com/graydon/rust/graphs/languages
Доля кода на соответствующих языках в проекте?
Главное гармония ...
Re[13]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:10
Оценка: +1
Здравствуйте, Mazay, Вы писали:

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


G>>Нет, зато несколько раз эффективно парсер-комбинаторы делал, так что никакие С не сравнятся.


M>А в Киеве дядька. Никто же не говорит, что C/C++ всегда хорош. Можно сказать (учитывая вечную, хоть и призрачную на плюсах, угрозу расстрела памяти), что он всегда плох. Важно что бывают задачи, где все остальное не просто плохо, а неприемлемо плохо. Например те же видео декодеры. Там либо успеваешь декодировать с требуемой скоростью, либо можешь вообще не писать код. Даже если тебе не хватает каких-то 3%. Приходится из двух зол выбирать меньшее.


А я разве что-то другое утверждал?

M>Потому и пишут новые языки.


Языки пишут по куче причин. Хотя сейчас больше потребность не в языках, а в качественных компиляторах.
Re[8]: Ржавчина - новый системный язык программирования
От: BlackEric http://black-eric.lj.ru
Дата: 09.07.10 14:22
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто

FR>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более
FR>высокоуровневых языков) и высокоэффективном прикладном языке.

Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.
https://github.com/BlackEric001
Re[8]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 14:29
Оценка: +1
Здравствуйте, LuciferSaratov, Вы писали:

LS>Что-то мешает использовать подмножество С++?


Я его использую, но там есть свои проблемы. От сложности С++ никуда не убежать. Хотя бы при использовании STL.
Re[10]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 14:33
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

BE>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.


Не, некоторые вещи писать тяжело. Во-первых, напрягает постоянно вставлять unsafe. Плюс часто генерируется ужасный код.
Re[12]: Ржавчина - новый системный язык программирования
От: BlackEric http://black-eric.lj.ru
Дата: 09.07.10 14:48
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

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


>>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.

BE>>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.

ВВ>А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.


BE>>А FreePascal (Lazarus) кросплатформенен. Хотя экзотика редкая


ВВ>.NET вообще-то тоже


Ага. Только Mono из всех линуксовых дистрибов кроме Novell пытаются вытравить.
https://github.com/BlackEric001
Re[13]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 14:55
Оценка: +1
Здравствуйте, BlackEric, Вы писали:

ВВ>>.NET вообще-то тоже

BE>Ага. Только Mono из всех линуксовых дистрибов кроме Novell пытаются вытравить.

Ну в виндовых "дистрибутивах" Джавы, например, нет, однако это совсем не мешает мне пользоваться десктопными приложениями на Джаве — тем же ОО или Эклипсом.
Re[9]: Ржавчина - новый системный язык программирования
От: 24  
Дата: 09.07.10 17:20
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Во-вторых то, что вы описали — это фича, а не бага, ибо Смоллток же, блин. Как можно больше "решений" о типах переносится в рантайм специально,
Я бы назвал это багофичей — оно может быть как полезно, так и нет, в зависимости от условий. Но лично для меня это чаще баг, чем фича.

ВВ>Может, у нас путаница в терминах или в чем-то еще? Речь о C++ templates. Каким образом они могут дружить-то? Там чистая утиная типизация — что смогу, то и вызову. В отличие, скажем, от стандартного ОО-полиморфизма.

Именно о C++ templates. Типизация внешне выглядит как утиная, но все проверки допустимости вызова при инстанциировании шаблона делает компилятор, и в рантайм ошибочных вызовов не пропустит. Единственный побочный эффект — километровые сообщения об ошибках в случае таковых.

P.S. Если не затруднит, то для меня привычнее общение на "ты" в форумах
Re[3]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 18:22
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

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

FR>>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.
ВВ>Objective C?
Это уродец для задач общего назначения. Причины:
1) Нет типобезопасности.
2) Медленный, так как используется динамический диспатч.
3) Совершенно бредовые схемы работы с памятью.

Objective C хорош для подвязки GUI, но на этом его красота заканчивается.
Sapienti sat!
Re[3]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:25
Оценка: :)
Здравствуйте, FR, Вы писали:

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


Похоже что чем дальше, тем срок вызревания языков будет все больше и больше. Так что Ди еще ребенок по нынешним временам.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Ржавчина - новый системный язык программирования
От: LaptevVV Россия  
Дата: 09.07.10 20:31
Оценка: :)
Здравствуйте, FR, Вы писали:

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

FR>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.
Всякое новое — хорошо забытое строе.
Компонентный паскаль в БлэкБоксе — как раз то, что описано...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:47
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.


Это та же проблема что у Андрея с Немерлом. Сначала люди не приемлят что-то, а потом уже строят рассуждения отталкиваясь от этого. Ну, а "аргументы" при этом уже не более чем попытка обосновать изначальную предубежденность.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 09.07.10 20:47
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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

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

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


бред полнейший. просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт, всё то же прекрасно работает хоть с ним, хоть без него. а байт-код использовался для реализации и паскаля, и смолтока, и бейсика — вы просто не знаете историю ФП
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 20:49
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

C>>Это уродец для задач общего назначения. Причины:

C>>1) Нет типобезопасности.
ВВ>Сдается мне, что ты путаешь типобезопасность со статической типизацией. Руби тоже нетипобезопасный по твоему?
Не придирайся к словам, я имел в виду статическую типизацию. Но, кстати, Objective C ещё и нетипобезопасен.
Sapienti sat!
Re[12]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 21:50
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>А я даже не вижу зачем нужен этот низкоуровневый сабсет. Все что нужно можно оформить функциями применение который сильно оптимизировать (переписывать в эффективный код).


Не понял, какое применение оформить функциями?

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

ВВ>>В ряде случаев — да, неэффективно.
VD>Да ну? У нас острая нехватка памяти?

Дело не только в количестве, в том, что GC-онли языки полностью изолируют программиста от всяких деталей работы с памятью. И да, иногда это неприемлимо. Mark and sweep может спокойно так захлебнуться в ситуациях, когда есть много корней, так зачем себе жизнь усложнять? А главное — ради чего, собственно, делается это GC-онли? От чего пытаются предостеречь? delete вызвать? От детерминированного уничтожения ресурсов вот никто не умер.

ВВ>>Ты будешь смеяться, но одна из вещей, которые мне нравились в CLI, это возможность явно сказать, как я хочу создать объект — если расширить это, то программист просто будет указывать, в каком хипе объект создается (и в хипе ли вообще). И волки сыты, и овцы целы. Нет?

VD>Нет. Это все попытка поручить человеку работу машины. Лучше сосредоточиться на том, чтобы машина сама выбирала правильное место.

А кто будет сосредотачиваться? И почему машина за меня должна решать такие вещи? И как она их будет решать?

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

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

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

VD>>>Что за системные задачи предполагается решать на языке, если это не написание ОС?

ВВ>>Написание ОС (необязательно ядра) — очень хороший пример такой задачи.
VD>А что за ОС-то на них хотят писать?

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

ВВ>> Любые задачи, где требуется эффективность — от кодеков до виртуальных машин. Кто во что горазд.

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

Ну и? Ну решаются на С, да. Тут речь о том, что вполне может быть язык, с одной стороны более современный и удобный, чем С, с другой — справляющийся с такими задачами по крайней мере не хуже.
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]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 04:22
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


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


WH>А вот тут ты сильно не прав.

WH>Компиляция в байткод имеет убойные преимущества:
WH>1)Валидация кода на клиенте. Те я могу скачать какой угодно код и проверить его на вшивость простым алгоритмом. С нативным кодом такое не получится.

Это не преимущество байт кода, нативный код точно также может валидизироваться, но есть проблема с корявым x86 в котором разрешены не выровненые
прыжки. Если использовать специальный компилятор который выравнивает код плюс добавляет небольшие проверки все отлично валидизируется и для x86,
гугл это уже сделал для http://code.google.com/p/nativeclient/

как работает тут
http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdf
Re[7]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 10.07.10 14:26
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

WH>Дальше можно не читать.

WH>Этим авторы расписались в том что они не могут толком валидировать нативный код.
WH>Если бы могли то и этого требования бы небыло.
Странно, а как существует VMWare

Нативный код валидировать вполне можно. Но зачем? Проще сделать отдельное адресное пространство и заставить работать механизм защиты памяти — он для того и создавался.
Sapienti sat!
Re[9]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 10.07.10 16:36
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

C>>Странно, а как существует VMWare

WH>Осталось выяснить при чем тут VMWare.
Там валидируется нативный код.

WH>Ты вообще по ссылкам то ходил?

Да.

C>>Нативный код валидировать вполне можно. Но зачем? Проще сделать отдельное адресное пространство и заставить работать механизм защиты памяти — он для того и создавался.

WH>Ну вон авторы native client'а пытаются что-то там валидировать вот только всеравно без изоляции адресных пространств не могут ничего сделать.
Это можно сделать, и уже сделано в valgrind, qemu и VMWare. Просто в этом банально нет смысла, если достаточно защиты памяти. Зачем зря переделывать функциональность, которая есть в железке?
Sapienti sat!
Re[3]: Уйти от с SRE
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.10 00:49
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Первый вариант написан на OCaml (сильно что-то напоминает ) потом раскрутка на самом себе.


Что, тоже Dylan?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ржавчина - новый системный язык программирования
От: Klapaucius  
Дата: 12.07.10 11:56
Оценка: :)
Здравствуйте, BulatZiganshin, Вы писали:

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


ML не они придумали, а это фатальный недостаток.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.10 13:15
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Еще одна тенденция это то что "ООП не нужен".


Не ООП, а наследование. Наследование — это всего лишь фишка для повторного использования кода. Если есть альтернативные пути, то почему бы и нет?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.10 16:58
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Есть http://cloud.github.com/downloads/graydon/rust/rust-2010-07-08-snap.pdf но там тоже много мутноты


Если не ошибаюсь его и смотрел. Там много "TODO" и изложение какое-то не последовательное.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Ржавчина - новый системный язык программирования
От: x-code  
Дата: 09.07.10 05:21
Оценка:
Здравствуйте, Курилка, Вы писали:

К>LtU сообщает о языке Rust, разрабатываемым Mozilla (среди контрибьюторов небезызвестный Brendan Eich), позиционируемым как системный язык программирования с интересным набором фич.

К>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)

С удовольствием читаю все про новые ЯП, особенно системные. Это как минимум интересно
Re[2]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 06:40
Оценка:
FR>Есть реальная потребность в нативном языке который с одной стороны не был бы так примитивен как си, с другой
FR>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.
FR>Потребность сейчас стала более острой, так как, развеялись иллюзии что управляемые платформы (java net) смогут
FR>покрыть все потребности прикладного программирования.

Хорошим вариантом такого языка был бы конечно D, но долгострой похоже его уже погубил
Re[2]: Ржавчина - новый системный язык программирования
От: avishnyakov  
Дата: 09.07.10 06:45
Оценка:
Здравствуйте, FR, Вы писали:

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

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

Окей, хорошо.
А например сделать какой нить фреймворк на с, что бы с чем то более высокоуровневым работать, а не с нейтив с — что в данном случае не так?
Re[2]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 06:55
Оценка:
Здравствуйте, FR, Вы писали:

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

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

Objective C?
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 07:00
Оценка:
Здравствуйте, avishnyakov, Вы писали:

A>Окей, хорошо.

A>А например сделать какой нить фреймворк на с, что бы с чем то более высокоуровневым работать, а не с нейтив с — что в данном случае не так?

Ну так и приходится делать, я вот много писал на смеси python/C++ сейчас OCaml/C++.
Си не выбирал так как не вижу его преимуществ кроме простоты перед C++.
Но полно задач для которых один язык на котором удобно работать как на низком так и на высоком
уровне будет лучше. Сейчас такой язык (в мейнстриме) один C++, но к сожалению он слишком переусложнен
и небезопасен.
Re[4]: Ржавчина - новый системный язык программирования
От: avishnyakov  
Дата: 09.07.10 07:07
Оценка:
Здравствуйте, FR, Вы писали:

FR>Но полно задач для которых один язык на котором удобно работать как на низком так и на высоком

FR>уровне будет лучше.

А что за задачи то? — я несколько в иной сфере работаю и не совсем понимаю тонкости этих сложностей.
Т.е. все же нельзя написать инфраструктуру и жить спокойно на том же с или ином языке?
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 07:09
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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

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

ВВ>Objective C?


Я его практически не знаю, но вроде все проблемы си в нем полностью присутствуют так как он надстройка над си, плюс
нет ни GC(гарантированного) ни RAII, хотя конечно ОО система и рантайм отчасти это компенсируют. Ну и плюс ориентация
только на одну платформу, не самую массовую.
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 07:17
Оценка:
Здравствуйте, hattab, Вы писали:


H>Так Pascal же Delphi, FreePascal.


Это параллельный мир
Ну если сравнить даже последние версии дельфи с замыканиями и т. п. с тем же D не впечатляет.
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 07:19
Оценка:
Здравствуйте, avishnyakov, Вы писали:

FR>>Но полно задач для которых один язык на котором удобно работать как на низком так и на высоком

FR>>уровне будет лучше.

A>А что за задачи то? — я несколько в иной сфере работаю и не совсем понимаю тонкости этих сложностей.

A>Т.е. все же нельзя написать инфраструктуру и жить спокойно на том же с или ином языке?

Можно, но на стыке всегда есть сложности.
Re[4]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 07:42
Оценка:
Здравствуйте, FR, Вы писали:

ВВ>>Objective C?


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

FR>нет ни GC(гарантированного) ни RAII, хотя конечно ОО система и рантайм отчасти это компенсируют. Ну и плюс ориентация
FR>только на одну платформу, не самую массовую.

GC там есть. А что есть "гарантированный" GC? Это как в дотнете? Ну а какой же тогда это будет системный язык?
Obj C решает главную проблему С — примитивность, не превращаясь при этом в такого монстра как С++.
Re[6]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 08:08
Оценка:
Здравствуйте, FR, Вы писали:

FR>Как в D хотя бы, всегда доступен а не как тут пишут флажками включается http://thaesofereode.info/clocFAQ/#objc2-gc.

FR>Системности это не помешает если есть подмножество позволяющее не использовать GC. У D такое есть но к сожалению
FR>явно не выделено как SafeD.

А в чем проблема с флажками?

ВВ>>Obj C решает главную проблему С — примитивность, не превращаясь при этом в такого монстра как С++.

FR>Это да, но другая безопасность как была так и остается.

Objective С совсестим с С, по-настоящему, вплоть до кросс-компиляции. И это принципиальная позиция. В целом — весьма разумная, учитывая, что переписывать с нуля готовые системы никто не будет.
А поддержка ООП на самом деле увеличивает безопасность. Взять для примера ту же работу с массивами.

Здесь нет такой безопасности как в дотнете или джаве — по принципу ни шагу в сторону или линейкой по рукам. Но нужна ли такая дурако-устойчивость в системном языке? Objective С позволяет писать более безопасный код, чем С, но не защищает программистов от самих себя; по идее это и есть то, что нужно. А дуракоустойчивость дается либо повышением уровня языка, либо введением искусственных и зачастую не самых логичных ограничений — такой путь тоже имеет свою очевидную цену.

А тот факт, что активно использует его только Эпл... Ну так хоть кто-то использует. Про тот же D этого не скажешь.
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 08:27
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А в чем проблема с флажками?


Да ни в чем в общем-то в той ситуации что сейчас, как я понимаю ведет язык один вендер и что он туда
добавит то и стандарт.

ВВ>Objective С совсестим с С, по-настоящему, вплоть до кросс-компиляции. И это принципиальная позиция. В целом — весьма разумная, учитывая, что переписывать с нуля готовые системы никто не будет.


Угу она разумная и выгодная на старте языка, и она же очень сильно потом мешает языку развиваться, что мы и видим на примере C++.

ВВ>А поддержка ООП на самом деле увеличивает безопасность. Взять для примера ту же работу с массивами.


Ну тут я не знаю как оно Objective С, если похоже на прародителя (Smalltalk) то наверно.

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


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

ВВ>А тот факт, что активно использует его только Эпл... Ну так хоть кто-то использует. Про тот же D этого не скажешь.


Угу чтобы стать миллионером надо очень старательно работать, это верный рецепт особенно если у тебя папа миллионер
Re[8]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 08:38
Оценка:
Здравствуйте, FR, Вы писали:

FR>Угу она разумная и выгодная на старте языка, и она же очень сильно потом мешает языку развиваться, что мы и видим на примере C++.


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

FR>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто

FR>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более
FR>высокоуровневых языков) и высокоэффективном прикладном языке.

Вот, высокоэффективный прикладной язык. Остановимся на этом. А что может повысить эффективность? Например, прямая работа с памятью. И тут же по швам трещит вся безопасность.
ИМХО высокоэффективный и высокобезопасный — это оксюморон.

ВВ>>А тот факт, что активно использует его только Эпл... Ну так хоть кто-то использует. Про тот же D этого не скажешь.

FR>Угу чтобы стать миллионером надо очень старательно работать, это верный рецепт особенно если у тебя папа миллионер

Кстати, очень хорошая причина серьезно подумать — а нужно ли изобретать еще один системный язык, если папа не миллионер.
Re[6]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 08:52
Оценка:
Здравствуйте, 24, Вы писали:

24>On 09.07.2010 10:42, Воронков Василий wrote:

>> Obj C решает главную проблему С — примитивность, не превращаясь при этом
>> в такого монстра как С++.
24>У Objective C с безпасносью, мягко говоря, не очень — нет нормальной
24>статической проверки типов, и нет ничего похожего на шаблоны или дженерики.

А что есть нормальная статическая проверка типов? По сравнению с чем ее нет в Obj C? По сравнению с С это куда более строго типизированный язык. Плюс довольно мощный RTTI.

Отсутствие шаблонов — минус. Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат. А так, в Obj C есть свои фишки: вместо параметрического полиморфизма — полиморфизм через протоколы, в качестве модных ныне extension methods из C# — категории. Вообще язык совсем не примитивен.
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 08:55
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>С++ не совместим с С. Попробуй реальный проект на С собрать. Каким словом эту совместимость назвать я даже затрудняюсь ответить.


Раньше был гораздо более совместим.
Ну и собирать совместно C++ / Си и прозрачно пользоваться из C++ сишным кодом без проблем.

ВВ>Кстати, на мой взгляд лучше бы С++ эта "совместимость" с С еще сильнее мешала развиваться, ибо многие Сишники не переходят как раз из-за перенавороченности языка.

ВВ>Нет, на этом фоне Objective C реально смотрится.

Угу смотрится, но что-то сишники на него тоже не торопятся переходить.

ВВ>Вот, высокоэффективный прикладной язык. Остановимся на этом. А что может повысить эффективность? Например, прямая работа с памятью. И тут же по швам трещит вся безопасность.


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

ВВ>ИМХО высокоэффективный и высокобезопасный — это оксюморон.


Но высокоэффективный и гораздо более безопасный чем Си/C++ вполне реально и главное востребовано.

ВВ>Кстати, очень хорошая причина серьезно подумать — а нужно ли изобретать еще один системный язык, если папа не миллионер.


Тогда большей части живых и популярных языков не было бы
Re[10]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 09:04
Оценка:
Здравствуйте, FR, Вы писали:

FR>Раньше был гораздо более совместим.

FR>Ну и собирать совместно C++ / Си и прозрачно пользоваться из C++ сишным кодом без проблем.

Это какая-то очень странная совместимость. Реальный проект не соберется — хотя бы потому что в С++ кучу ключевых слов добавили, которые в С вполне могут использовать как идентификаторы. Но писать специально так, чтобы было совместимо, конечно, можно, да.

FR>Не обязательно трещит, можно существенно повысить безопасность и при прямой работе с памятью, даже в C++ она повыше чем в Си за счет

FR>более сильной статической типизации.
ВВ>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.
FR>Но высокоэффективный и гораздо более безопасный чем Си/C++ вполне реально и главное востребовано.

Опять же — что есть "гораздо более"? В Obj C код более безопасен хотя бы за счет большего числа статических проверок типов, чем в С. До какой степени нужно еще доводить безопасность? Джава?

ВВ>>Кстати, очень хорошая причина серьезно подумать — а нужно ли изобретать еще один системный язык, если папа не миллионер.

FR>Тогда большей части живых и популярных языков не было бы

Это каких? Популярные нескриптовые языки — С, C++, Java, C#. У всех — папы.
Re[11]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 09:13
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Это какая-то очень странная совместимость. Реальный проект не соберется — хотя бы потому что в С++ кучу ключевых слов добавили, которые в С вполне могут использовать как идентификаторы. Но писать специально так, чтобы было совместимо, конечно, можно, да.


Это очень хорошая совместимость никакого FFI все прямо и прозрачно, я знаю так как немало совмещал

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


Тут я не понял как у ObjC может быть больше статических проверок если он свободно компилирует си?
Гораздо более опять же смотри D.

ВВ>>>Кстати, очень хорошая причина серьезно подумать — а нужно ли изобретать еще один системный язык, если папа не миллионер.

FR>>Тогда большей части живых и популярных языков не было бы

ВВ>Это каких? Популярные нескриптовые языки — С, C++, Java, C#. У всех — папы.


Скриптовых конечно
Re[4]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 09.07.10 10:20
Оценка:
Здравствуйте, FR, Вы писали:

FR>Си не выбирал так как не вижу его преимуществ кроме простоты перед C++.

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

FR>C++, но к сожалению он слишком переусложнен

Чем же? На С++ можно писать как на "C с классами". "Переусложнённые" фичи ж никто не принуждает использовать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Ржавчина - новый системный язык программирования
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 09.07.10 10:57
Оценка:
Здравствуйте, Курилка, Вы писали:

К>LtU сообщает о языке Rust, разрабатываемым Mozilla (среди контрибьюторов небезызвестный Brendan Eich), позиционируемым как системный язык программирования с интересным набором фич.

К>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)

Майнстрим осваивает DSL-строение. Получится, "как всегда" у майнстрима, но майнстриму много чего можно.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 11:40
Оценка:
Здравствуйте, FR, Вы писали:

ВВ>>Это какая-то очень странная совместимость. Реальный проект не соберется — хотя бы потому что в С++ кучу ключевых слов добавили, которые в С вполне могут использовать как идентификаторы. Но писать специально так, чтобы было совместимо, конечно, можно, да.

FR>Это очень хорошая совместимость никакого FFI все прямо и прозрачно, я знаю так как немало совмещал

Ну тебе виднее Однако ж мой опыт был не самым приятным. В случае с Obj C валидный код на С является и валидным кодом на Obj C, в случае с С и С++ это далеко не всегда так, а значит, видимо, уже не совместимость во главу угла ставится. А раз нет — то чего ее винить в том, что язык вышел таким.

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

FR>Тут я не понял как у ObjC может быть больше статических проверок если он свободно компилирует си?
FR>Гораздо более опять же смотри D.

Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали.

ВВ>>Это каких? Популярные нескриптовые языки — С, C++, Java, C#. У всех — папы.

FR>Скриптовых конечно

А у скриптовых тоже папы есть, куда без них-то. Какой-то там самый-самый популярный? Правильно, ДжаваСкрипт
А какой "папа" РОР развивает? Тот же, что и Obj С, как ни странно.

Да, собственно, и у Obj C изначально "папы" никакого не было, папа уже потом его приютил. А кто, собственно, мешал папе обратить свои взоры на что-то более другое? Так что, видимо, от языка тоже многое зависит.
Re[10]: Ржавчина - новый системный язык программирования
От: Mazay Россия  
Дата: 09.07.10 13:45
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

G>Хаскель?

Ты модель Изинга уже эффективно на Хаскеле реализовал? Может тот топик поднять?
Главное гармония ...
Re[11]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 13:48
Оценка:
Здравствуйте, Mazay, Вы писали:

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


G>>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

G>>Хаскель?

M>Ты модель Изинга уже эффективно на Хаскеле реализовал? Может тот топик поднять?

Нет, зато несколько раз эффективно парсер-комбинаторы делал, так что никакие С не сравнятся.
Re[11]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 13:51
Оценка:
Здравствуйте, Mazay, Вы писали:

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


G>>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

G>>Хаскель?

M>Ты модель Изинга уже эффективно на Хаскеле реализовал? Может тот топик поднять?


Кстати никто не мешает её сделать эффективно с inplace присваиваниями, только это будет IO.
Re[10]: Ржавчина - новый системный язык программирования
От: Mr.Cat  
Дата: 09.07.10 14:11
Оценка:
Здравствуйте, gandjustas, Вы писали:
ВВ>>ИМХО высокоэффективный и высокобезопасный — это оксюморон.
G>Хаскель?
Лев Валкин на margincon, кстати, не очень хорошо о его перфомансе отзывался: http://www.slideshare.net/j2a/ss-4625844. Они там в итоге OCaml предпочли.
Re[13]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 14:16
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну тебе виднее Однако ж мой опыт был не самым приятным. В случае с Obj C валидный код на С является и валидным кодом на Obj C, в случае с С и С++ это далеко не всегда так, а значит, видимо, уже не совместимость во главу угла ставится. А раз нет — то чего ее винить в том, что язык вышел таким.


Не знаю, я вообще не понял зачем компилировать сишный код C++ компилятором.

ВВ>Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали.


А получится?
В том же D можно легко так писать, практически D содержит в себе как подмножество яву, так что даже библиотеки в почти автоматическом режиме транслируют http://www.dsource.org/projects/dwt

ВВ>А у скриптовых тоже папы есть, куда без них-то. Какой-то там самый-самый популярный? Правильно, ДжаваСкрипт

ВВ>А какой "папа" РОР развивает? Тот же, что и Obj С, как ни странно.

Какие это папы, эти и на отчимов кое-как тянут, а то так можно договориться что гугл папа питону, при том что питон лет на десять старше

ВВ>Да, собственно, и у Obj C изначально "папы" никакого не было, папа уже потом его приютил. А кто, собственно, мешал папе обратить свои взоры на что-то более другое? Так что, видимо, от языка тоже многое зависит.


Ну тут слишком много факторов, не факт что именно достоинства языка хоть как-то повлияли.
Re[8]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 14:17
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

ВВ>>Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат.

LCR>Что-то новенькое...

А что вас удивляет-то?
Re[6]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 14:18
Оценка:
Здравствуйте, FR, Вы писали:

FR>Ну если сравнить даже последние версии дельфи с замыканиями и т. п. с тем же D не впечатляет.


Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.
Re[12]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 14:19
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.


Мода закончилась уже 10 лет назад, тогда редко какие компиляторы могли нормально соревноваться с хорошим ассемблерщиком.
Re[7]: Ржавчина - новый системный язык программирования
От: LuciferSaratov Россия  
Дата: 09.07.10 14:22
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.


Что-то мешает использовать подмножество С++?
Re[9]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:25
Оценка:
Здравствуйте, BlackEric, Вы писали:

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


FR>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто

FR>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более
FR>>высокоуровневых языков) и высокоэффективном прикладном языке.

BE>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.


BE>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.
Re[14]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 14:26
Оценка:
Здравствуйте, FR, Вы писали:

FR>Не знаю, я вообще не понял зачем компилировать сишный код C++ компилятором.


Ну например хотим дописывать на С++. Я вообще сишные либы упаковывал в менеджд библиотеки. А это как раз и получалось С -> С++, а поверху толстым слоем С++/CLI.

ВВ>>Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали.

FR>А получится?
FR>В том же D можно легко так писать, практически D содержит в себе как подмножество яву, так что даже библиотеки в почти автоматическом режиме транслируют http://www.dsource.org/projects/dwt

Не очень понял, что получится? На Obj C в ОО-стиле писать? А что мешает?
А для просто С поддерживается кросс-компиляция, собственно, и "странность" синтаксиса Obj C объясняется именно стремлением избежать конфликтов.

ВВ>>А у скриптовых тоже папы есть, куда без них-то. Какой-то там самый-самый популярный? Правильно, ДжаваСкрипт

ВВ>>А какой "папа" РОР развивает? Тот же, что и Obj С, как ни странно.
FR>Какие это папы, эти и на отчимов кое-как тянут, а то так можно договориться что гугл папа питону, при том что питон лет на десять старше

При таком подходе Apple Obj C тоже не папа, а сугубо отчим. Ибо появился сей язык тоже весьма давно.

ВВ>>Да, собственно, и у Obj C изначально "папы" никакого не было, папа уже потом его приютил. А кто, собственно, мешал папе обратить свои взоры на что-то более другое? Так что, видимо, от языка тоже многое зависит.

FR>Ну тут слишком много факторов, не факт что именно достоинства языка хоть как-то повлияли.

Факторов-то много, тут гадать бессмысленно. Опять же не сказать, что у того же Эпла выбор был слишком большой.
Ну и да, изобрести язык можно хоть в гараже, но без "папы" он олимп не завоюет.
Re[10]: Ржавчина - новый системный язык программирования
От: BlackEric http://black-eric.lj.ru
Дата: 09.07.10 14:30
Оценка:
Здравствуйте, gandjustas, Вы писали:

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


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


FR>>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто

FR>>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более
FR>>>высокоуровневых языков) и высокоэффективном прикладном языке.

BE>>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.


>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.


В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.

А FreePascal (Lazarus) кросплатформенен. Хотя экзотика редкая
https://github.com/BlackEric001
Re: Даёшь молодёжь
От: lazy_walrus  
Дата: 09.07.10 14:37
Оценка:
Здравствуйте, Курилка, Вы писали:

К>LtU сообщает о языке Rust, разрабатываемым Mozilla


Следующий язык программирования будет называться Башка
Re[11]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:38
Оценка:
Здравствуйте, BlackEric, Вы писали:

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


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


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


FR>>>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто

FR>>>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более
FR>>>>высокоуровневых языков) и высокоэффективном прикладном языке.

BE>>>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.


>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.


BE>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.


А на деле оказывается достаточно. Особенно когда касается бизнес-приложений.
Re[11]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 14:39
Оценка:
Здравствуйте, BlackEric, Вы писали:

>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.

BE>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.

А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.

BE>А FreePascal (Lazarus) кросплатформенен. Хотя экзотика редкая


.NET вообще-то тоже
Re[11]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:40
Оценка:
Здравствуйте, Mystic, Вы писали:

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


BE>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.


M>Не, некоторые вещи писать тяжело.

Например?

M>Во-первых, напрягает постоянно вставлять unsafe.

А ты что пишешь такое то?

M>Плюс часто генерируется ужасный код.

А оно тебя как волнует? Думаешь на делфи менее ужасный код генерируется со вставкой финализирющих блоков?
Re[12]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:45
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


>>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.

BE>>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.

ВВ>А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.


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

Что-то в районе 40 мб для большого фреймворка и 20 с мелочью для Client Profile.
Re[12]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 14:46
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>А на деле оказывается достаточно. Особенно когда касается бизнес-приложений.


В бизнес-приложениях зачастую производительность не главное. В случае .NET хорошо писать не задумываясь о том, что будет в результате на асемблере. В противном случае написание кода вытекает в реверс: мало написать код, надо его в уме откомпилировать и проверить, а не вставит компилятор туда что лишнее. В случае C++ для написания производительного кода иногда надо раскручивать шаблоны и перегрузку. Ну и C++ не очень хорошо дружит с очепятками, пропустил где-нить & в описании параметра, и уже будет вызываться конструктор копирования. Преимущество C в этом случае в том, что будет выполнятся то, что ты видишь глазами. И ничего больше. Иногда это удобно. Но бывает хочется чуть-чуть большего.
Re[13]: Ржавчина - новый системный язык программирования
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.07.10 14:49
Оценка:
Здравствуйте, Mystic, Вы писали:

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


G>>А на деле оказывается достаточно. Особенно когда касается бизнес-приложений.


M>В бизнес-приложениях зачастую производительность не главное.

Агащазблин. Много разработчиков обломалось из-за таких суждений. Сама скорость выполнения операций не сильно имеет значение, зато имеет значение User Experience.

M>В случае .NET хорошо писать не задумываясь о том, что будет в результате на асемблере.

Это не только .NET касается, даже C.
Re[15]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 14:52
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну например хотим дописывать на С++. Я вообще сишные либы упаковывал в менеджд библиотеки. А это как раз и получалось С -> С++, а поверху толстым слоем С++/CLI.


Не вижу проблем компилировать сишные файлы как сишные и добавить отдельно рядом C++ модули для расширения.
Если же охота в сишных модулях использовать C++ то по моему это будет некрасиво и коряво, или их так придется
переделывать что на этом фоне затраты "портирование" с Си на C++ будут очень малой величиной.
Кстати не стоит забывать что С++ не совместим не только с Си, но и с C++, даже сейчас когда компиляторы стремятся
все-таки следовать стандарту перенос например между bcc, gcc и скажем VC может быть более проблематичным чем с си на С++.

ВВ>>>Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали.

FR>>А получится?
FR>>В том же D можно легко так писать, практически D содержит в себе как подмножество яву, так что даже библиотеки в почти автоматическом режиме транслируют http://www.dsource.org/projects/dwt

ВВ>Не очень понял, что получится? На Obj C в ОО-стиле писать? А что мешает?


Скажем необходимость писать некоторые части на Си если ОО подмножество языка не достаточно мощно.
Вот например на C++ практически невозможно выделить безопасное подмножество языка.

ВВ>При таком подходе Apple Obj C тоже не папа, а сугубо отчим. Ибо появился сей язык тоже весьма давно.




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

ВВ>Ну и да, изобрести язык можно хоть в гараже, но без "папы" он олимп не завоюет.

Да ладно тот же питон и руби без папы как-то стали известными, папы уже позже пришли.
Re[12]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 09.07.10 15:00
Оценка:
Здравствуйте, gandjustas, Вы писали:

M>>Во-первых, напрягает постоянно вставлять unsafe.

G>А ты что пишешь такое то?

Поиск/перебор. Данные читаются из базы, обрабатываются и пишутся в файл, который проецируется в память. Потом все запросы идут в тулзовину, которая бегает по памяти и ищет результат.

M>>Плюс часто генерируется ужасный код.

G> А оно тебя как волнует? Думаешь на делфи менее ужасный код генерируется со вставкой финализирющих блоков?

Ну уж точно код вроде этого

            System.Drawing.Color Color = System.Drawing.Color.Black;
            if (Color == System.Drawing.Color.Black)
                System.Console.WriteLine("Catastrophic execution");


Не будет скомпилирован как

;            System.Drawing.Color Color = System.Drawing.Color.Black;
0000005c  lea         rcx,[rsp+40h] 
00000061  call        FFFFFFFFF5A8CBF0 
00000066  mov         qword ptr [rsp+000000D0h],rax 
0000006e  lea         rcx,[rsp+40h] 
00000073  mov         rax,qword ptr [rcx] 
00000076  mov         qword ptr [rsp+20h],rax 
0000007b  mov         rax,qword ptr [rcx+8] 
0000007f  mov         qword ptr [rsp+28h],rax 
00000084  mov         rax,qword ptr [rcx+10h] 
00000088  mov         qword ptr [rsp+30h],rax 

;            if (Color == System.Drawing.Color.Black)
0000008d  lea         rcx,[rsp+20h] 
00000092  mov         rax,qword ptr [rcx] 
00000095  mov         qword ptr [rsp+58h],rax 
0000009a  mov         rax,qword ptr [rcx+8] 
0000009e  mov         qword ptr [rsp+60h],rax 
000000a3  mov         rax,qword ptr [rcx+10h] 
000000a7  mov         qword ptr [rsp+68h],rax 
000000ac  lea         rcx,[rsp+70h] 
000000b1  call        FFFFFFFFF5A8CBF0
000000b6  mov         qword ptr [rsp+000000D8h],rax 
000000be  lea         rcx,[rsp+70h] 
000000c3  mov         rax,qword ptr [rcx] 
000000c6  mov         qword ptr [rsp+000000B0h],rax 
000000ce  mov         rax,qword ptr [rcx+8] 
000000d2  mov         qword ptr [rsp+000000B8h],rax 
000000da  mov         rax,qword ptr [rcx+10h] 
000000de  mov         qword ptr [rsp+000000C0h],rax 
000000e6  lea         rcx,[rsp+58h] 
000000eb  mov         rax,qword ptr [rcx] 
000000ee  mov         qword ptr [rsp+00000090h],rax 
000000f6  mov         rax,qword ptr [rcx+8] 
000000fa  mov         qword ptr [rsp+00000098h],rax 
00000102  mov         rax,qword ptr [rcx+10h] 
00000106  mov         qword ptr [rsp+000000A0h],rax 
0000010e  lea         rdx,[rsp+000000B0h] 
00000116  lea         rcx,[rsp+00000090h] 
0000011e  call        FFFFFFFFF5A7DEA0 
00000123  mov         byte ptr [rsp+000000E0h],al 
0000012a  movzx       eax,byte ptr [rsp+000000E0h] 
00000132  test        eax,eax 
00000134  je          0000000000000148 

;                System.Console.WriteLine("Catastrophic execution");
00000136  mov         rcx,12969090h 
00000140  mov         rcx,qword ptr [rcx] 
00000143  call        FFFFFFFFF81DFAE0
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 15:00
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Это Pascal (Delphi)?


Компиляторы слабоваты, ну и синтаксис уже маргинальный

BE>Если в нем разрешить описывать переменные в любом месте (как в Java) и для любителей разрешить вместо begin/end писать {}, то будет почти идеально


Ну с сишным синтаксисом может что и выйдет толковое, но тогда лучше с нуля написать, в том же Дельфи мусора тоже немало накопилось.
Re[16]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 15:09
Оценка:
Здравствуйте, FR, Вы писали:

FR>Не вижу проблем компилировать сишные файлы как сишные и добавить отдельно рядом C++ модули для расширения.

FR>Если же охота в сишных модулях использовать C++ то по моему это будет некрасиво и коряво, или их так придется
FR>переделывать что на этом фоне затраты "портирование" с Си на C++ будут очень малой величиной.
FR>Кстати не стоит забывать что С++ не совместим не только с Си, но и с C++, даже сейчас когда компиляторы стремятся
FR>все-таки следовать стандарту перенос например между bcc, gcc и скажем VC может быть более проблематичным чем с си на С++.

Ну мне, например, охота получить одну-единственную динамическую библиотеку, которую к тому же можно подписать и кинуть в ГАК.
Кстати, справедливости ради, некоторые вещи все же собирались так практически без приседаний.

И это, если такой способ некошерный, то что же тогда эта "совместимость"-то означает? Может, я не хочу для большой библиотеки сидеть импорт описывать, мне прилинковаться хочется. В моем понимании — независимо даже от практической ценности — совместимость языка Х и языком У означает, что я могу использовать статическую либу на Х в языке У без приседаний вообще.

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

ВВ>>Не очень понял, что получится? На Obj C в ОО-стиле писать? А что мешает?

FR>Скажем необходимость писать некоторые части на Си если ОО подмножество языка не достаточно мощно.
FR>Вот например на C++ практически невозможно выделить безопасное подмножество языка.

Да там нет никакого безопасного подмножества тоже. Можешь по-прежнему в память из ружья стрелять. Там есть своя система типов, эта система типов, извините за тавтологию, более типобезопасна. Вот и все. Но на самом деле это не мало.
Re[17]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 15:18
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Ну мне, например, охота получить одну-единственную динамическую библиотеку, которую к тому же можно подписать и кинуть в ГАК.

ВВ>Кстати, справедливости ради, некоторые вещи все же собирались так практически без приседаний.

ВВ>И это, если такой способ некошерный, то что же тогда эта "совместимость"-то означает? Может, я не хочу для большой библиотеки сидеть импорт описывать, мне прилинковаться хочется. В моем понимании — независимо даже от практической ценности — совместимость языка Х и языком У означает, что я могу использовать статическую либу на Х в языке У без приседаний вообще.


А где есть проблемы прилинковать, если конечно сишный lib собран тем же компилятором?

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




ВВ>Да там нет никакого безопасного подмножества тоже. Можешь по-прежнему в память из ружья стрелять. Там есть своя система типов, эта система типов, извините за тавтологию, более типобезопасна. Вот и все. Но на самом деле это не мало.


Конечно немало, но хочется большего
Re[18]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 16:24
Оценка:
Здравствуйте, FR, Вы писали:

FR>А где есть проблемы прилинковать, если конечно сишный lib собран тем же компилятором?


Да много где. Например, несовместимость extern C и extern C++ указателей.
Т.е. не сказать, что прям проблемы, но, скажем так, необходимость тратить время на всякую фигню, и часто время немалое.

ВВ>>Да там нет никакого безопасного подмножества тоже. Можешь по-прежнему в память из ружья стрелять. Там есть своя система типов, эта система типов, извините за тавтологию, более типобезопасна. Вот и все. Но на самом деле это не мало.

FR>Конечно немало, но хочется большего

А большего — это явно выделенный безопасный сабсет языка с GC, блекджеком и шлюхами? Что-то мне начинает казаться, что описанный тобой язык давно существует и называется C++\CLI
Re[7]: Ржавчина - новый системный язык программирования
От: 24  
Дата: 09.07.10 16:39
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>А что есть нормальная статическая проверка типов? По сравнению с чем ее нет в Obj C?

По сравнению с C++, например. Я имел ввиду, что в Obj-C любому объекту можно послать любое сообшение, и если объект его не может обработать, то оно упадёт в рантайме, в отличии от С++, где такое компилятор не пропустит. Если к функции добавить один параметр, то в С++ все её "старые" вызовы станут ошибками компиляции, а в Obj-C — ошибками времени выполнения (предупреждения компилятора будут, но это совсем не то же, что и ошибки.)

ВВ>Отсутствие шаблонов — минус. Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат. А так, в Obj C есть свои фишки: вместо параметрического полиморфизма — полиморфизм через протоколы, в качестве модных ныне extension methods из C# — категории. Вообще язык совсем не примитивен.

А можно подробнее, каким образом шаблоны не дружат со статической типизацией?
Протоколы в С++ реализуются с помощью классов без членов-данных (и в других языках множественное наследование для интерфейсов присутствует.) Категории (extension methods) — я не очень в курсе того, по каким причинам они появились, но на данный момент для меня они выглядят как синтаксический сахар, и не больше. А кстати зачем они нужны? (Просто интересно, может у них есть какая-то дополнительная польза, кроме сахарной.)
Re[8]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 16:59
Оценка:
Здравствуйте, 24, Вы писали:

24>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>А что есть нормальная статическая проверка типов? По сравнению с чем ее нет в Obj C?

24>По сравнению с C++, например. Я имел ввиду, что в Obj-C любому объекту можно послать любое сообшение, и если объект его не может обработать, то оно упадёт в рантайме, в отличии от С++, где такое компилятор не пропустит. Если к функции добавить один параметр, то в С++ все её "старые" вызовы станут ошибками компиляции, а в Obj-C — ошибками времени выполнения (предупреждения компилятора будут, но это совсем не то же, что и ошибки.)

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

ВВ>>Отсутствие шаблонов — минус. Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат. А так, в Obj C есть свои фишки: вместо параметрического полиморфизма — полиморфизм через протоколы, в качестве модных ныне extension methods из C# — категории. Вообще язык совсем не примитивен.

24>А можно подробнее, каким образом шаблоны не дружат со статической типизацией?

Может, у нас путаница в терминах или в чем-то еще? Речь о C++ templates. Каким образом они могут дружить-то? Там чистая утиная типизация — что смогу, то и вызову. В отличие, скажем, от стандартного ОО-полиморфизма.
Про генерики в шарпе речи нет.

24>Протоколы в С++ реализуются с помощью классов без членов-данных (и в других языках множественное наследование для интерфейсов присутствует.) Категории (extension methods) — я не очень в курсе того, по каким причинам они появились, но на данный момент для меня они выглядят как синтаксический сахар, и не больше. А кстати зачем они нужны? (Просто интересно, может у них есть какая-то дополнительная польза, кроме сахарной.)


Во многом сахарная, но вообще механизм более мощный, чем в шарпе. Например, можно перегружать методы, создавать информал протоколы.
Re[2]: Ржавчина - новый системный язык программирования
От: Курилка Россия http://kirya.narod.ru/
Дата: 09.07.10 17:01
Оценка:
Здравствуйте, Mazay, Вы писали:

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

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

Типа того, там же репозиторий доступен — всё видно.
Re[14]: Ржавчина - новый системный язык программирования
От: Курилка Россия http://kirya.narod.ru/
Дата: 09.07.10 17:09
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


ВВ>>>.NET вообще-то тоже

BE>>Ага. Только Mono из всех линуксовых дистрибов кроме Novell пытаются вытравить.

ВВ>Ну в виндовых "дистрибутивах" Джавы, например, нет, однако это совсем не мешает мне пользоваться десктопными приложениями на Джаве — тем же ОО или Эклипсом.


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

ВВ>>Ну в виндовых "дистрибутивах" Джавы, например, нет, однако это совсем не мешает мне пользоваться десктопными приложениями на Джаве — тем же ОО или Эклипсом.

К>OO не на Джаве

Как так? По всем признакам на Джаве, JRE запускается и все такое. Может, там не все на Джаве, конечно. Тут не знаю, не проверял.
Re[10]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 17:29
Оценка:
Здравствуйте, 24, Вы писали:

ВВ>>Может, у нас путаница в терминах или в чем-то еще? Речь о C++ templates. Каким образом они могут дружить-то? Там чистая утиная типизация — что смогу, то и вызову. В отличие, скажем, от стандартного ОО-полиморфизма.

24>Именно о C++ templates. Типизация внешне выглядит как утиная, но все проверки допустимости вызова при инстанциировании шаблона делает компилятор, и в рантайм ошибочных вызовов не пропустит. Единственный побочный эффект — километровые сообщения об ошибках в случае таковых.

Проверки делают при раскручивании шаблонов. А вот определено ли в стандарте С++ *когда* именно, т.е. на какой стадии, должны инстанцироваться шаблоны? Я, честно говоря, уже не помню, но что-то мне кажется, что нет.
Опять же допустимость вызова == наличие соответствующего члена, к примеру, а не соответствие определенному контракту. Это не только выглядит, но это и есть утиная типизация. На ваш твой взгляд тот факт, что в существующих реализациях это делает компилятор позволяет говорить о статической типизации? А ведь в сущности это чистая динамика только в компайл-тайме.
Re[19]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 17:30
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Да много где. Например, несовместимость extern C и extern C++ указателей.

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

На фоне всего остального фигня.


ВВ>А большего — это явно выделенный безопасный сабсет языка с GC, блекджеком и шлюхами? Что-то мне начинает казаться, что описанный тобой язык давно существует и называется C++\CLI


Блин я тут мечтаю о прекрасной лани, ну на худой конец и лось сгодится, а ты мне вместо одногорбого верблюда впариваешь двугорбого да еще прихрамывающего, тьфу
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 17:35
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Может, у нас путаница в терминах или в чем-то еще? Речь о C++ templates. Каким образом они могут дружить-то? Там чистая утиная типизация — что смогу, то и вызову. В отличие, скажем, от стандартного ОО-полиморфизма.


Утиная типизация никак ни противоречит жесткой статической как пример OCaml объекты и ML структуры утино типизированы. Ну и в версии языка 3.12 которая должна скоро выйти введены явно полиморфные типы которые по сути вводят аналог С++ шаблонов для обычных функций.
Re[10]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 17:42
Оценка:
Здравствуйте, FR, Вы писали:

ВВ>>Может, у нас путаница в терминах или в чем-то еще? Речь о C++ templates. Каким образом они могут дружить-то? Там чистая утиная типизация — что смогу, то и вызову. В отличие, скажем, от стандартного ОО-полиморфизма.

FR>Утиная типизация никак ни противоречит жесткой статической как пример OCaml объекты и ML структуры утино типизированы.

Да нету в Ocaml никакой утиной типизации. То, что ты называешь утиной типизацией, это просто структурные типы. ИМХО это разные все же вещи.

FR>Ну и в версии языка 3.12 которая должна скоро выйти введены явно полиморфные типы которые по сути вводят аналог С++ шаблонов для обычных функций.


Полиморфные типы? Не знаю таких Знаю полиморфные варианты — но они откровенно weakly typed.
Re[20]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 17:45
Оценка:
Здравствуйте, FR, Вы писали:

ВВ>>Да много где. Например, несовместимость extern C и extern C++ указателей.

ВВ>>Т.е. не сказать, что прям проблемы, но, скажем так, необходимость тратить время на всякую фигню, и часто время немалое.
FR>На фоне всего остального фигня.

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

ВВ>>А большего — это явно выделенный безопасный сабсет языка с GC, блекджеком и шлюхами? Что-то мне начинает казаться, что описанный тобой язык давно существует и называется C++\CLI

FR>Блин я тут мечтаю о прекрасной лани, ну на худой конец и лось сгодится, а ты мне вместо одногорбого верблюда впариваешь двугорбого да еще прихрамывающего, тьфу

Неужели тебя не привлекает написать шаблоно-генерик для класса, который будет контролироваться GC?
Re[11]: Ржавчина - новый системный язык программирования
От: 24  
Дата: 09.07.10 17:49
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Опять же допустимость вызова == наличие соответствующего члена, к примеру, а не соответствие определенному контракту. Это не только выглядит, но это и есть утиная типизация. На ваш твой взгляд тот факт, что в существующих реализациях это делает компилятор позволяет говорить о статической типизации? А ведь в сущности это чистая динамика только в компайл-тайме.


Возможно я не совсем корректно выразился, но имелось ввиду, что ошибки, связанные с несоответствием типов, в С++ проявляются на этапе компиляции, в отличии от Objective C, где большинсто из них попадают в рантайм — например невозможно создать массив объектов определённого типа (аналог std::vector), чтоб о добавлении "неправильных" объектов сообщал компилятор.
Re[12]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 18:00
Оценка:
Здравствуйте, 24, Вы писали:

24>Возможно я не совсем корректно выразился, но имелось ввиду, что ошибки, связанные с несоответствием типов, в С++ проявляются на этапе компиляции, в отличии от Objective C, где большинсто из них попадают в рантайм — например невозможно создать массив объектов определённого типа (аналог std::vector), чтоб о добавлении "неправильных" объектов сообщал компилятор.


NSArray просто принципиально полиморфен, так сказать, но можно описать свой, который будет вполне себе статически типизированным.
Re[21]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 09.07.10 18:02
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Да как сказать. Если кода много, а разработчик о С++ особо не думал, то вполне можно повозиться.

ВВ>Но, честно говоря, я уже давно этими вещами не занимался, может, я и преувеличиваю проблемы.

Угу преувеличиваешь.

ВВ>>>А большего — это явно выделенный безопасный сабсет языка с GC, блекджеком и шлюхами? Что-то мне начинает казаться, что описанный тобой язык давно существует и называется C++\CLI

FR>>Блин я тут мечтаю о прекрасной лани, ну на худой конец и лось сгодится, а ты мне вместо одногорбого верблюда впариваешь двугорбого да еще прихрамывающего, тьфу

ВВ>Неужели тебя не привлекает написать шаблоно-генерик для класса, который будет контролироваться GC?


Если уж брать верблюда, то лучшего, а это OСaml, тем более с новой версии на нем тоже можно писать шаблонный код контролируемый GC
Re[13]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 18:23
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

24>>Возможно я не совсем корректно выразился, но имелось ввиду, что ошибки, связанные с несоответствием типов, в С++ проявляются на этапе компиляции, в отличии от Objective C, где большинсто из них попадают в рантайм — например невозможно создать массив объектов определённого типа (аналог std::vector), чтоб о добавлении "неправильных" объектов сообщал компилятор.

ВВ>NSArray просто принципиально полиморфен, так сказать, но можно описать свой, который будет вполне себе статически типизированным.
Контейнеров значений в принципе ты не сделаешь в ObjectiveC.
Sapienti sat!
Re[13]: Ржавчина - новый системный язык программирования
От: 24  
Дата: 09.07.10 18:34
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>но можно описать свой, который будет вполне себе статически типизированным.


Каким образом? Только чтоб один раз написать, а потом использовать с любым типом, а не для каждого типа писать полностью контейнер.
Re[14]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 18:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

24>>>Возможно я не совсем корректно выразился, но имелось ввиду, что ошибки, связанные с несоответствием типов, в С++ проявляются на этапе компиляции, в отличии от Objective C, где большинсто из них попадают в рантайм — например невозможно создать массив объектов определённого типа (аналог std::vector), чтоб о добавлении "неправильных" объектов сообщал компилятор.

ВВ>>NSArray просто принципиально полиморфен, так сказать, но можно описать свой, который будет вполне себе статически типизированным.
C>Контейнеров значений в принципе ты не сделаешь в ObjectiveC.

Не понял, что мешает?
Re[14]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 18:47
Оценка:
Здравствуйте, 24, Вы писали:

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


Так, конечно, без шаблонов сделать нельзя.
Re[4]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 18:52
Оценка:
Здравствуйте, Cyberax, Вы писали:

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

FR>>>не был так переусложнен как C++. Плюс язык должен быть гораздо более безопасным чем C/C++.
ВВ>>Objective C?
C>Это уродец для задач общего назначения. Причины:
C>1) Нет типобезопасности.

Сдается мне, что ты путаешь типобезопасность со статической типизацией. Руби тоже нетипобезопасный по твоему?
Re[2]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:24
Оценка:
Здравствуйте, FR, Вы писали:

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

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

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

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

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

Если посмотреть на список общих черт, то легко понять, что это как раз достижения управляемых языков, ну, кроме компилируемости в нэйтив без премоежуточного управления.
Учитывая наработки Сингулярити я бы поостерегся утвержать: "развеялись иллюзии что управляемые платформы...".

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

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

Но что меня действительно заинтересовало, так это то, что Ржавчина вроде как предоставляет расширение синтаксиса. Так в примерах имеется демонстрация подгрузки синтаксиса регулярных выражений. Казалось бы причем тут... Э... молчу, молчу .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:27
Оценка:
Здравствуйте, FR, Вы писали:

FR>Си не выбирал так как не вижу его преимуществ кроме простоты перед C++.


Это офигительное преимущество!

FR>Но полно задач для которых один язык на котором удобно работать как на низком так и на высоком

FR>уровне будет лучше. Сейчас такой язык (в мейнстриме) один C++, но к сожалению он слишком переусложнен
FR>и небезопасен.

Может такой язык и есть, но это точно не С++.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:28
Оценка:
Здравствуйте, FR, Вы писали:

FR>Это параллельный мир

FR>Ну если сравнить даже последние версии дельфи с замыканиями и т. п. с тем же D не впечатляет.

Ди?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 09.07.10 20:33
Оценка:
Здравствуйте, FR, Вы писали:

FR>>>C++, но к сожалению он слишком переусложнен

CC>>Чем же? На С++ можно писать как на "C с классами". "Переусложнённые" фичи ж никто не принуждает использовать.
FR>Во первых даже на "C с классами" есть немало не очевидных мест, те же виртуальные деструкторы,
А что с ними не очевидно то?
Ну и потом классы ещё не означают обязательное использование виртуальных функций. Да и нужны они далеко не всегда.

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

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

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

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

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

Дык тот же RAII на "C с классами" реализуется на ура.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:42
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Вот, высокоэффективный прикладной язык. Остановимся на этом. А что может повысить эффективность? Например, прямая работа с памятью. И тут же по швам трещит вся безопасность.

ВВ>ИМХО высокоэффективный и высокобезопасный — это оксюморон.

Мне кажется имеет смысл начать с того, что определиться с терминологией.

Меня интересуют термины:
* Системный.
* Эффективный.
* Высокоуровневый.

Прямая манипуляция памятью (наплевательское отношение на типы) — это ситемно, эффекитвно, высокоуровнево?

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

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

Что за системные задачи предполагается решать на языке, если это не написание ОС?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:49
Оценка:
Здравствуйте, gandjustas, Вы писали:

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

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

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

И какие проблемы в наше время даже 2 гига скачать? Я вот периодически покачиваю фильмы в HD-форматах. И ничего так.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:51
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Ага. Только Mono из всех линуксовых дистрибов кроме Novell пытаются вытравить.


Чушь это. Даже если Моно будет ставиться отдельно от этого он не исчезнет.

Его реальные проблемы — это не полная библиотека, отставание в фичах и (пожалуй, главное) отставание в производительности.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 20:51
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>>>NSArray просто принципиально полиморфен, так сказать, но можно описать свой, который будет вполне себе статически типизированным.

C>>Контейнеров значений в принципе ты не сделаешь в ObjectiveC.
ВВ>Не понял, что мешает?
Объекты Objective-C не имеют семантики value-объектов. Так что в контейнер значений их можно разве что только грязными хаками положить.
Sapienti sat!
Re[16]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:52
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Как так? По всем признакам на Джаве, JRE запускается и все такое. Может, там не все на Джаве, конечно. Тут не знаю, не проверял.


Не он нэйтивный (С++ кажется). Ява там для разных примочек. Скрипты, например.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:52
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Не, некоторые вещи писать тяжело. Во-первых, напрягает постоянно вставлять unsafe. Плюс часто генерируется ужасный код.


И много раз в жизни ты unsafe вставлял?
Я вот раза три. И все в тестах.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 20:53
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Меня интересуют термины:

VD>* Системный.
VD>* Эффективный.
VD>* Высокоуровневый.

VD>Прямая манипуляция памятью (наплевательское отношение на типы) — это ситемно, эффекитвно, высокоуровнево?


Я здесь не вижу строгой дизьюнкции. К примеру, высокоуровневый язык может включать в себя некоторый явно выделенный сабсет, который предоставляет низкоуровневые средства — та же прямая работа с памятью. Я тут проблемы в общем-то не вижу. Даже в C# без всяких ансейфов можно память попортить, как говорится, было бы желание.

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


В ряде случаев — да, неэффективно.
Ты будешь смеяться, но одна из вещей, которые мне нравились в CLI, это возможность явно сказать, как я хочу создать объект — если расширить это, то программист просто будет указывать, в каком хипе объект создается (и в хипе ли вообще). И волки сыты, и овцы целы. Нет?

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


ФП тут вообще ортогонально.

VD>Что за системные задачи предполагается решать на языке, если это не написание ОС?


Написание ОС (необязательно ядра) — очень хороший пример такой задачи. Любые задачи, где требуется эффективность — от кодеков до виртуальных машин. Кто во что горазд.
Re[17]: Ржавчина - новый системный язык программирования
От: Воронков Василий Россия  
Дата: 09.07.10 20:55
Оценка:
Здравствуйте, VladD2, Вы писали:

ВВ>>Как так? По всем признакам на Джаве, JRE запускается и все такое. Может, там не все на Джаве, конечно. Тут не знаю, не проверял.

VD>Не он нэйтивный (С++ кажется). Ява там для разных примочек. Скрипты, например.

Ну вот, а он для меня был практически иконой "прямого" десктопа на Джаве. Эх, теперь один Эклипс остается. Он-то не на С++, надеюсь?
Re[13]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:56
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Ну уж точно код вроде этого

M>
            System.Drawing.Color Color = System.Drawing.Color.Black;
M>            if (Color == System.Drawing.Color.Black)
M>                System.Console.WriteLine("Catastrophic execution");
M>


M>Не будет скомпилирован как

M>
M>;            System.Drawing.Color Color = System.Drawing.Color.Black;
M>0000005c  lea         rcx,[rsp+40h] 
M>00000061  call        FFFFFFFFF5A8CBF0 
M>00000066  mov         qword ptr [rsp+000000D0h],rax 
...
M>


Юморист, блин. Ты так не шути. Пупки у людей лопнут. Для начала научись получать реальный асм в релизе и без отладки. Тогда он будет выглядеть совсем по другому.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 20:58
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

ВВ>>Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат.


LCR>Что-то новенькое...


Они конечно дружат. Но в том виде как они сделаны в С++ в результате дружбы получается бардак.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 21:01
Оценка:
Здравствуйте, VladD2, Вы писали:

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

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

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

Обычно более-менее сильный ФП требует наличие GC, что см. выше.

VD>Что за системные задачи предполагается решать на языке, если это не написание ОС?

Написание браузера. Написание быстрого HTTP-сервера или там MapReduce-какой. Потребностей много.
Sapienti sat!
Re[14]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 21:02
Оценка:
Здравствуйте, VladD2, Вы писали:

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

VD>И какие проблемы в наше время даже 2 гига скачать? Я вот периодически покачиваю фильмы в HD-форматах. И ничего так.
На Андроиде и iPhone всего 256Мб памяти, к примеру. Совсем много туда не засунешь.
Sapienti sat!
Re: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:14
Оценка:
Здравствуйте, Курилка, Вы писали:

К>LtU сообщает о языке Rust, разрабатываемым Mozilla (среди контрибьюторов небезызвестный Brendan Eich), позиционируемым как системный язык программирования с интересным набором фич.

К>Снова стало модным придумывать новые языки? (в голову почти сразу приходит ещё свежий гугловский Go)

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

На мой взгляд бредовая тенденция. Люди понимают, что им не нужен С++ и С, но еще не понимаю, а что же им реально нужно.

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

Отличной работой по "системизации" низкоуровневого языка является Сигулярити и СингШарп. Мне кажется такие языки как Шарп, ОКамл, Скала, Хаскель и Немерле спокойно можно "системизировать".

Вот только раньше я понимал термин "системные язык" как язык для написания ОС. Но в ближайшее время новых ОС похоже не привидится. Даже новая ОС Андройд — это старый добрый (а для кого не очень) Линукс. Перспективные работы по написанию ОС как раз ведутся на управляемых языках (и их адаптациях).

Так что народ снова делает мухослонопатамов. Если кому-то нужен упрощенный С++, то берите Ди. Если что его можно доработать. Это все равно проще чем клепать свои поделки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:27
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>бред полнейший.


На этом можно и закончить эту познавательную беседу.

BZ>просто в 80-е ява ввела моду на использование байт-кода.


Если ты помнишь, Ява вообще родилась как попытка сановских товарищей создать свой "идеальный С++" для разработки каких-то там проектов.

BZ>никаких принципиальных изменений он не даёт, всё то же прекрасно работает хоть с ним, хоть без него.


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

Конечно были разные маргинальные направления и язки, но они не были доступны массам. Массы же жили С++-ом, С-ями, Дельфями, ну еще быть может Обжектив-С-ями (немного).

BZ> а байт-код использовался для реализации и паскаля,


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

BZ>и смолтока, и бейсика — вы просто не знаете историю ФП


Не хуже тебя знаю. Расписать тебе что в упомянутых языках не вписывается в упомянутые концепции? Думаю, не надо. Ты и сам прекрасно знаешь.

Кстати, первое упоминание о дотнете во внешних источниках было очень забавным (на сегодня). Там речь шла о новой версии COM+ и ВБ. А в итоге получилась Ява.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ржавчина - новый системный язык программирования
От: Cyberax Марс  
Дата: 09.07.10 21:32
Оценка:
Здравствуйте, VladD2, Вы писали:

BZ>>просто в 80-е ява ввела моду на использование байт-кода.

VD>Если ты помнишь, Ява вообще родилась как попытка сановских товарищей создать свой "идеальный С++" для разработки каких-то там проектов.
Это ты плохо помнишь. Ява родилась как высокоуровневый кроссплатформенный язык для встраиваемых приложений (в основном для приставок к телевизорам). Идеальный С++ они делать не собирались.
Sapienti sat!
Re[11]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:34
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Я здесь не вижу строгой дизьюнкции. К примеру, высокоуровневый язык может включать в себя некоторый явно выделенный сабсет, который предоставляет низкоуровневые средства — та же прямая работа с памятью. Я тут проблемы в общем-то не вижу. Даже в C# без всяких ансейфов можно память попортить, как говорится, было бы желание.


А я даже не вижу зачем нужен этот низкоуровневый сабсет. Все что нужно можно оформить функциями применение который сильно оптимизировать (переписывать в эффективный код).

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


ВВ>В ряде случаев — да, неэффективно.


Да ну? У нас острая нехватка памяти?

ВВ>Ты будешь смеяться, но одна из вещей, которые мне нравились в CLI, это возможность явно сказать, как я хочу создать объект — если расширить это, то программист просто будет указывать, в каком хипе объект создается (и в хипе ли вообще). И волки сыты, и овцы целы. Нет?


Нет. Это все попытка поручить человеку работу машины. Лучше сосредоточиться на том, чтобы машина сама выбирала правильное место.

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


ВВ>ФП тут вообще ортогонально.


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

VD>>Что за системные задачи предполагается решать на языке, если это не написание ОС?


ВВ>Написание ОС (необязательно ядра) — очень хороший пример такой задачи.


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

ВВ> Любые задачи, где требуется эффективность — от кодеков до виртуальных машин. Кто во что горазд.


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

Вот тут кое-кто спорил о том что С мол плох по сравнению с С++. Ага плохо, если его рассатривать как универсальный современный язык. Но С — это ассемблер современности. Он как раз для манипуляции байтами и предназначен. Не надо на нем сложную логику не связанную с манипуляцией памятью писать и все будет ОК.

А для сложной логики языки уже созданы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:36
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


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

И, кстати, на мой взгляд Эклипс намного качественнее и расширяемее нежели ОпенОфис.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

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

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

А как же Сингулярити работает?

VD>>Что за системные задачи предполагается решать на языке, если это не написание ОС?

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

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

Писать браузеры на управляемых языка очень даже можно. Один хрен они теперь нужны только для представления ХТМЛ-я в виде ОО-медели. Что же до эффективности, то когда я смотрю на то как тормозит и жрет память ФайрФокс (вот сейчас 250 метров памяти и постоянные подтормаживания), то невольно возникает мысль "почему его на явае или дотете не переписали?".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

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

C>На Андроиде и iPhone всего 256Мб памяти, к примеру. Совсем много туда не засунешь.

Наверно по этому на андройде Ява-апи такой широкий?

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

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

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

Что у нас там осталось? Ах, да! Микроконтроллеры! Слушаю ваш рассказ о них .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.07.10 21:45
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


Не. Я вроде бы хорошо помню. Но это замечание очень в жилу в контексте твоего вот этого замечания
Автор: Cyberax
Дата: 10.07.10
.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
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]: Ржавчина - новый системный язык программирования
От: 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[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 чуваки не придумали. где я неправ?
Люди, я люблю вас! Будьте бдительны!!!
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 09:39
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

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



Ну так Си и С++ одно и тоже

BZ>т.е. у меня такое ощущение что ничего лучше ml чуваки не придумали. где я неправ?


Тут еще не понятно, очень мало пока информации, но из того что уже есть понятно что это все-таки не ml, похоже даже немерле
больший ml чем rust.
Re[5]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 10.07.10 10:13
Оценка:
Здравствуйте, WolfHound, Вы писали:

BZ>>бред полнейший. просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт,

WH>А вот тут ты сильно не прав.

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

BZ>>>бред полнейший. просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт,

WH>>А вот тут ты сильно не прав.
BZ>а ты читаешь то, на что отвечаешь?
А ты читаешь то что пишешь?
Ты сказал что байткод ничего не дает. Я тебе аргументированно объяснил где ты не прав.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 10.07.10 10:33
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Ты сказал что байткод ничего не дает. Я тебе аргументированно объяснил где ты не прав.


прочти всё же письмо целиком

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

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

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


бред полнейший. просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт, всё то же прекрасно работает хоть с ним, хоть без него. а байт-код использовался для реализации и паскаля, и смолтока, и бейсика — вы просто не знаете историю ФП
Люди, я люблю вас! Будьте бдительны!!!
Re[8]: Ржавчина - новый системный язык программирования
От: WolfHound  
Дата: 10.07.10 10:43
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>прочти всё же письмо целиком

И что?
Как это все отменяет твой наезд на байткод?

просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт


Тут
Автор: BulatZiganshin
Дата: 10.07.10
ты тоже говоришь что байткод не нужен.
Я тебе сказал что дает байткод по сравнению с прямой компиляцией в нативный код.
При этом у байткода по сравнению с прямой компиляцией нет минусов.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 10.07.10 10:51
Оценка:
Здравствуйте, FR, Вы писали:

FR>То что к ним примешано управление памятью, конструкторы копирования, оператор присваивания, почему-то даже бородатые сишники

FR>в этих вещах путаются.
Загадка. Не знаю почему там можно путаться. Вроде ж простые вещи.

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

Это совсем не обязательно. Можно пользоваться вообще без исключений.

FR>Про множественное наследование лучше промолчу.

Это тоже далеко не всегда надо да и если не выпендриваться то штука простая.

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

FR>Угу, только зачем тогда C++.
Т.е. для тебя С++ это обязательно виртуальные функции? Их и на plain C сделать несложно, возни только чуток больше.

FR>Проблема в том что про них часто забывают когда они нужны, что гарантированно UB.

FR>Другая проблема их пишут неправильно.
Вообще то это проблема квалификации программиста.

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

Да ну! Тем более что исключения опять таки не обязательны. Их можно не использовать вовсе.

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

CC>>И тем не менее он есть.
FR>Угу видел "шедевры".
"шедевров" спагетти кода написанного на Plain C я видел тоже достаточно, и что с того?
Программист в любом случае должен понимать что он делает и тот инструмент, которым он пользуется.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Ржавчина - новый системный язык программирования
От: BulatZiganshin  
Дата: 10.07.10 11:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Как это все отменяет твой наезд на байткод?

WH>

WH>просто в 80-е ява ввела моду на использование байт-кода. никаких принципиальных изменений он не даёт


во-первых, не могли бы вы перестать рассуждать в терминах наездов? :/

во-вторых, ты неправильно меня понял. я отвечал на конкретное письмо. и таки не случайно процитировал определённую его часть
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 11:47
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Загадка. Не знаю почему там можно путаться. Вроде ж простые вещи.


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

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

CC>Это совсем не обязательно. Можно пользоваться вообще без исключений.

Угу это не будем использовать то тоже.

FR>>Про множественное наследование лучше промолчу.

CC>Это тоже далеко не всегда надо да и если не выпендриваться то штука простая.

Угу, только куда не плюнь все "вроде бы простое"

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

FR>>Угу, только зачем тогда C++.
CC> Т.е. для тебя С++ это обязательно виртуальные функции? Их и на plain C сделать несложно, возни только чуток больше.

Нет, но если все запрещать тогда что вообще у тебя останется?

FR>>Проблема в том что про них часто забывают когда они нужны, что гарантированно UB.

FR>>Другая проблема их пишут неправильно.
CC>Вообще то это проблема квалификации программиста.

Угу, но не столько квалификации, сколько внимательности.
Re[6]: Ржавчина - новый системный язык программирования
От: WolfHound  
Дата: 10.07.10 12:42
Оценка:
Здравствуйте, FR, Вы писали:

FR>как работает тут

FR>http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdf

Each component runs in its own private address space.

Дальше можно не читать.
Этим авторы расписались в том что они не могут толком валидировать нативный код.
Если бы могли то и этого требования бы небыло.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 10.07.10 13:09
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Дальше можно не читать.


Какое это имеет отношение к верификации и валидации?

WH>Этим авторы расписались в том что они не могут толком валидировать нативный код.


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

WH>Если бы могли то и этого требования бы небыло.


Это требование идет от браузеров у которых теперь в моде пускать на каждый плагин или страничку по отдельному
процессу.
Re: Ржавчина - новый системный язык программирования
От: 4058  
Дата: 10.07.10 13:48
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Снова стало модным придумывать новые языки?


"Одни языки создаются для решения задачи, другие — для доказательства той или иной точки зрения"
(C) Деннис Ритчи.


Это всегда было (и по всей видимости будет) "модным", т.к. ЯП — это лакомый кусочек, для интеллектуальных и зачастую слабоплодотворных дисскусиий, ибо доказывать свою точку зрения и оспаривать чужую, для многих людей представляется очень увлекательным времяпровождением.

В более запущенных случаях, разработчики (или просто евангелисты) новомодных ЯП, пытаются в 1000-чный раз "вступать в новую эру" и "открывать глаза" своим собеседникам, причем на основании некоторого ряда фич, без которых решать их теоретические (или даже виртуальные) задачи отныне просто невозможно.
Re[8]: Ржавчина - новый системный язык программирования
От: WolfHound  
Дата: 10.07.10 15:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Странно, а как существует VMWare

Осталось выяснить при чем тут VMWare.
Ты вообще по ссылкам то ходил?

C>Нативный код валидировать вполне можно. Но зачем? Проще сделать отдельное адресное пространство и заставить работать механизм защиты памяти — он для того и создавался.

Ну вон авторы native client'а пытаются что-то там валидировать вот только всеравно без изоляции адресных пространств не могут ничего сделать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: Ржавчина - новый системный язык программирования
От: WolfHound  
Дата: 10.07.10 15:03
Оценка:
Здравствуйте, FR, Вы писали:

WH>>Дальше можно не читать.

FR>Какое это имеет отношение к верификации и валидации?
Прямое.
Это говорит о том что их "верификация" ничего не стоит.

FR>Это требование идет от браузеров у которых теперь в моде пускать на каждый плагин или страничку по отдельному процессу.

А почему это в моде?
А я тебе скажу: По тому что браузеры сами себе на право и на лево память разбивают.
native client также не предоставляет никаких средств по предотвращению порчи памяти.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[10]: Ржавчина - новый системный язык программирования
От: CreatorCray  
Дата: 10.07.10 17:50
Оценка:
Здравствуйте, FR, Вы писали:

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

CC>>Это совсем не обязательно. Можно пользоваться вообще без исключений.
FR>Угу это не будем использовать то тоже.
Ну дык во фразе "С с классами" нет "и с исключениями".

CC>> Т.е. для тебя С++ это обязательно виртуальные функции? Их и на plain C сделать несложно, возни только чуток больше.

FR>Нет, но если все запрещать тогда что вообще у тебя останется?
Не "запрещать" а "использовать только те фичи, что реально нужны".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 02:37
Оценка:
Здравствуйте, CreatorCray, Вы писали:

Да все возможно конечно, но я уже вдоволь пописал да и сейчас во многом пишу на подобных огрызках, что не радует.
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 02:48
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Это говорит о том что их "верификация" ничего не стоит.


Нет, с практической точки их верификация ничем ни хуже. Тем более если исключить религиозные требования "все в одном процессе".

WH> А почему это в моде?

WH>А я тебе скажу: По тому что браузеры сами себе на право и на лево память разбивают.
WH>native client также не предоставляет никаких средств по предотвращению порчи памяти.

По порче нет, но он гарантирует что никакая порча не позволит перехватить управление код и данные в разных сегментах.
Ну а по надежности та же эрланговская схема упал-умер-перезапуск ничем ни хуже.
Re[3]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 04:46
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Еще одна тенденция это то что "ООП не нужен".
Re[14]: Ржавчина - новый системный язык программирования
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 12.07.10 08:57
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Покажи свой вариант? Смотрел через cordbg, моя последовательность шагов была такая
Автор: Mystic
Дата: 14.06.07
. А сам вопрос поднимался мной три года назад: Оптимизация в .NET
Автор: Mystic
Дата: 14.06.07
Re[6]: Ржавчина - новый системный язык программирования
От: Klapaucius  
Дата: 12.07.10 11:56
Оценка:
Здравствуйте, FR, Вы писали:

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


Так GC или счетчик ссылок? Счетчик ссылок — это может быть очень накладно. А статический анализ не работает и в теории и на практике. Слишком много уходит в общий регион — а это, фактически, утечка. По крайней мере разработчикам MLKit и MLTon эту проблему решить не удалось. Вывод регионов может быть разве что только вспомогательным средством для уменьшения нагрузки на GC.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[22]: Ржавчина - новый системный язык программирования
От: Klapaucius  
Дата: 12.07.10 12:14
Оценка:
Здравствуйте, FR, Вы писали:

FR>Если уж брать верблюда, то лучшего, а это OСaml, тем более с новой версии на нем тоже можно писать шаблонный код контролируемый GC


Я что-то пропустил? С какой версии в OCaml появился новый сборщик мусора? Сравнивать то, что было там раньше с тем, что в .net — это даже не смешно.
Лерой же вроде как писал, что можно расходиться — никто ничего делать не планирует, потому как слишком сложно. Неужели все-таки сделали?
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[23]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 13:05
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Я что-то пропустил? С какой версии в OCaml появился новый сборщик мусора? Сравнивать то, что было там раньше с тем, что в .net — это даже не смешно.


Наверно, так как про новый сборщик и его сравнение с NET в этом треде я услышал только от тебя

K>Лерой же вроде как писал, что можно расходиться — никто ничего делать не планирует, потому как слишком сложно. Неужели все-таки сделали?


Делать пытались http://www.algo-prog.info/ocmc/web/ но пока ничего хорошего не вышло
Re[8]: Ржавчина - новый системный язык программирования
От: Klapaucius  
Дата: 12.07.10 13:18
Оценка:
А есть где-нибудь подборка примеров кода на этом языке, а то я что-то не нашел. Особенно интересует как будет выглядеть лямбда с замыканием.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.10 13:20
Оценка:
Здравствуйте, FR, Вы писали:

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

FR>иммутабельность, статический контроль над распределением памяти (тут не понял регионы что-ли),
FR>ну и Typestate
FR>http://www.cs.wustl.edu/~mdeters/seminar/spring2002/torri-typestate.pdf
FR>http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf
FR>как я понял при беглом просмотре что-то вроде автоматических контрактов.

Ну, дай бог. В конце концов конкуренция она всегда только на руку потребителю.

ЗЫ

Где-то есть более менее внятное и последовательное описание языка? А то то что я читал было какое-то не заверешное и поверхностное.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 13:31
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>А есть где-нибудь подборка примеров кода на этом языке, а то я что-то не нашел. Особенно интересует как будет выглядеть лямбда с замыканием.


В исходниках http://github.com/graydon/rust.git есть, но очень мало. Язык пока скорее теоретический, есть прототипный компилятор на OCaml
бустрап еще не сделан. Лямбду я тоже не нашел.
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 13:32
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Еще одна тенденция это то что "ООП не нужен".


VD>Не ООП, а наследование. Наследование — это всего лишь фишка для повторного использования кода. Если есть альтернативные пути, то почему бы и нет?


Да скорее не ООП вообще а менстримный (C++/C#/Java)
Re[5]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 13:33
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Где-то есть более менее внятное и последовательное описание языка? А то то что я читал было какое-то не заверешное и поверхностное.


Есть http://cloud.github.com/downloads/graydon/rust/rust-2010-07-08-snap.pdf но там тоже много мутноты
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 12.07.10 13:39
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>А есть где-нибудь подборка примеров кода на этом языке, а то я что-то не нашел. Особенно интересует как будет выглядеть лямбда с замыканием.


Вот что нашел:

Argument binding
Rust provides a mechanism of partially binding arguments to functions, producing new
functions that accept the remaining un-bound arguments. This mechanism combines
some of the features of lexical closures with some of the features of currying, in a smaller
and simpler package.


И пример кода:

fn add(int x, int y) -> int {
ret x + y;
}
type single_param_fn = fn(int) -> int;

let single_param_fn add4 = bind add(4, _);

let single_param_fn add5 = bind add(_, 5);

check (add(4,5) == add4(5));
check (add(4,5) == add5(4));


Корявенько по моему
Хотя на Н то есть Dylan похоже
Re[6]: Ржавчина - новый системный язык программирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.07.10 16:57
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Не ООП, а наследование. Наследование — это всего лишь фишка для повторного использования кода. Если есть альтернативные пути, то почему бы и нет?


FR>Да скорее не ООП вообще а менстримный (C++/C#/Java)


Ну, наследование было практически во всех языках. Если не ошибаюсь оно еще в Симуле было. А далее: Смолток, С++, Ява, Шарп, Васик, Комон Лисп...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Ржавчина - новый системный язык программирования
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.07.10 13:02
Оценка:
Здравствуйте, FR, Вы писали:

FR>Мне кажется сама по себе сложность/простота не так важны, важно удобство и простота использования и отсутствие подводных камней.

FR>В том же C++ на эти камни можно наткнутся даже используя "простое" его подмножество.
FR>С другой стороны излишнее упрощение так же легко губит язык как и переусложнение, как пример — Оберон.

+1

FR>D по моему как-раз близок к золотой середине


ИМХО нет. Слишком он, на мой вкус, бессистемен.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[9]: Ржавчина - новый системный язык программирования
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.07.10 13:03
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


FR>>D по моему как-раз близок к золотой середине


AVK>ИМХО нет. Слишком он, на мой вкус, бессистемен.


А кто "системен" на твой взгляд?
Re[9]: Ржавчина - новый системный язык программирования
От: FR  
Дата: 26.07.10 13:23
Оценка:
Здравствуйте, AndrewVK, Вы писали:

FR>>D по моему как-раз близок к золотой середине


AVK>ИМХО нет. Слишком он, на мой вкус, бессистемен.


Есть такое, но это не мешает
Re[10]: Ржавчина - новый системный язык программирования
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.07.10 13:29
Оценка:
Здравствуйте, Курилка, Вы писали:

AVK>>ИМХО нет. Слишком он, на мой вкус, бессистемен.


К>А кто "системен" на твой взгляд?


А ХЗ. По ходу эволюции все языки расплываются (либо упорну пытаются не эволюционировать, привет джаве). Но D, мне кажется, преуспел в этом более других. Там изначально многие фичи добавлялись без единого царя в голове. Увидели Х — круто, давай добавим. Увидели Y — тоже круто, добавляем. И т.п. Периодически были какие то поползновения упорядочится (например, при начале планирования 2.0), но какие то робкие.
Повторюсь, это все на мой вкус. Абсолютно объективно оценить подобные вещи вряд ли возможно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.