от модератора
От: WolfHound  
Дата: 10.06.07 09:41
Оценка:
Здравствуйте, trukhin.yuri, Вы писали:

За избыточное цитирование пологается бан.
Настоятельно рекомендую исправиться.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 10.06.07 09:47
Оценка: +1
Здравствуйте, FR, Вы писали:

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

А с использованием толкового инструмента на два.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Неужели управляемые языки действительно так отупляют
От: FR  
Дата: 10.06.07 12:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


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

WH>А с использованием толкового инструмента на два.

Угу только не порядка а раза.
Re[21]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 10.06.07 12:40
Оценка:
Здравствуйте, FR, Вы писали:

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

WH>>А с использованием толкового инструмента на два.

FR>Угу только не порядка а раза.


Ну-ну... перепиши компилятор немерле на С++ или хотябы питоне
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Неужели управляемые языки действительно так отупляют
От: FR  
Дата: 10.06.07 13:34
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

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


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

WH>>>А с использованием толкового инструмента на два.

FR>>Угу только не порядка а раза.


WH>Ну-ну... перепиши компилятор немерле на С++ или хотябы питоне


Без проблем давай полные формальные спецификации компилятора, обеспечь финансирование.
Думаю код на C++ будеть по объему в несколько раз больше и работать скорее всего шустрее.
Re[23]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 10.06.07 14:09
Оценка:
Здравствуйте, FR, Вы писали:

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

FR>Думаю код на C++ будеть по объему в несколько раз больше
И отлаживать С++ в несколько раз труднее.
Вот и получился порядок за счет инструмента + порядок за счет хороших программистов и того 2 порядка.

FR>и работать скорее всего шустрее.

Не факт.

ЗЫ А че на питоне не предложил? Он же рулит!
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: Неужели управляемые языки действительно так отупляют
От: FR  
Дата: 10.06.07 15:22
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

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


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

FR>>Думаю код на C++ будеть по объему в несколько раз больше

WH>И отлаживать С++ в несколько раз труднее.

WH>Вот и получился порядок за счет инструмента + порядок за счет хороших программистов и того 2 порядка.

Отладка никак не замедлит работу в несколько раз.

FR>>и работать скорее всего шустрее.

WH>Не факт.

Скорее да

WH>ЗЫ А че на питоне не предложил? Он же рулит!


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

Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках
Re: Про JIT и т.п.
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.06.07 15:59
Оценка: +1
Здравствуйте, minorlogic, Вы писали:

M>Я отступлю от темы , может мне ктонить кратко опяснить , почему современные JIT отстают от лучших оптимизирующих компиляторов по качеству кода. Хотя теоретически такого быть не должно ? Это связанно с тем что JIT не имеет право тратить много времени на компиляцию ?


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

Кроме того JIT не единственный механизм влияющий на производительность кода. Так чтобы GC работал хорошо приходится внедрять специльные инструкции (так называемый write-барьер), которые не могут не сказываться на некоторых видах алгоритмах (часто меняющих ссылки на объекты).
Компонентность Явы и дотнета отсекает некоторые решения которые можно было бы применить в статическом компиляторе. По этому те же дженерики не всегда порождают идеальный, с точки зрения производительности, код.

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

Еще одной проблемой является ковариантность массивов в Яве и дотнете. На мой взгляд — это совершенно бессмысленная и даже аредная фича, но она есть и ее надо учитывать. Компилятор вынужден вставлять рантайм-проверки чтобы неверное использвоание коваринтности не привело к проблемам.

Ну, и конечно CAS тоже кое что стоит.

В итоге получается оверхэд примерно в 10-20 процентов. В самых плохих случаях (когда на низкоуровневых языках можно сиграть за счет особенностей архитектуры процессара и прямого доступа к памяти) может получиться разрыв в два раза. Но обычно, у хороших программистов разрыв не привышает 10%. На практике такого различия заметить невозможно.

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

Рельной проблемой управляемых сред является большее потребление памяти. А JIT-ы как раз не проблема. Темболее, что есть пре-JIT.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 10.06.07 16:07
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Отладка никак не замедлит работу в несколько раз.

Смешно.
То что будет больше кода это ты признал.
Больше кода -> больше ошибок.
Плюс С++ отлавливает гараздо меньше ошибок чем немерле.
Меньше контроль -> больше вероятность совершить ошибку.
Плюс некоторые классы ошибок (причем очень не приятные типа порчи памяти) просто не могут появится в немерле.
Те отлаживать придется действительно в разы дольше чем на немерле.

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

Не факт. Вернее точно будет больше ибо нет сравнения с образцом.

FR>но компилятор будет сильно тормозить

А вот это точно.

FR>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках

Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... )
Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык.
Немерле на данный момент один из мощьнейших языков.
Только и всего.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Неужели управляемые языки действительно так отупляют?
От: Ruweb  
Дата: 10.06.07 16:27
Оценка: :))
Всё ниже описанное моё имхо, не принимайте близко к сердцу, возможно я ошибаюсь..

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

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

высокоуровневый язык это хорошо а к хорошему как говорится быстро привыкаешь, а отвыкаешь очень долго и трудно, так и товарищь топикстартера, который не смог решить задачу на асме, не смог потому что он привык к высокоуровнему языку, у него в подсознании этот язык, он мыслит на уровне этого языка. Человек не может сосредоточится на асм коде, я на 100% уверен, что этот человек сначала вообразит в уме как он будет эту задачу решать на делпхи, а потом уже будет пытаться это реализовать на асме, но у него и недолжно ничего получиться!) потому что он в психологическом шоке.

Подсознание не постоянное, вот попробуй по не попрограммировать с год, ты и математику забудешь и асм и алгоритмы, и всё на свете и это нормально! оно не забывается, нет, оно уходит на дно подсознания (ложится туда так же как в стёк) вытащить из этого своеобразного стёка знания можно какими нибуть упражнениями (кстати не разу их не видил, может пора уже их пустить на рынок?!) о помоему если не программировать вообще год, то будет намного легче вернуться к асу, нежели покодить год на высокоуровневом языке.

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

я когда в школе учился учитель по матиматике все время говорила нам "дайте нам задачи для одиннадцатого класса, я их не решу с ходу" мы тогда учились в классе 8м наверно,

в армию уйду когда, приду и всё всем расскажу.
Re[21]: Неужели управляемые языки действительно так отупляют
От: Delight  
Дата: 11.06.07 04:04
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>А ты будь умнее. Не говори, что хочешь, а говори что можешь. Уверяю тебя, что твой работадатель, если он сам что-то понимает в индустрии, будет только рад если ты напишешь, что в совершенстве владешь Лиспом и/или Немерле.


... но главным образом потому, что это является косвенным свидетельством хорошего программиста. Это вовсе не значит, что он кинется всё делать на Лиспе или Немерле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[25]: Неужели управляемые языки действительно так отупляют
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.07 14:35
Оценка:
Здравствуйте, FR, Вы писали:

FR>Отладка никак не замедлит работу в несколько раз.


Конечно, нет. Какие несколько раз? На порядок, минимум .

FR>>>и работать скорее всего шустрее.

WH>>Не факт.

FR>Скорее да


Зависит исключительно от того кто будет писать.

Но скорее всего вопроса о скрости кода просто не возникнет потому что проект будет завален в виду его сложности. Написать такой компилятор без паттерн-мачинга — это просто подвиг.

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


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

FR>но компилятор будет сильно тормозить


Тотмозить? Производительность полученного решения будет ниже плинтуса.

FR>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках


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

В общем, я согласен с вольфхаундом, что объем исходников увеличится на порядок при использовании С++. Или неизбежно понизится качество. Ну, а Питон тут просто не применим. Алгоритм вывода типов имеет настолько плохую O(), что даже дотнетные накладные расходы начинают чувствоваться очень сильно. Этот алгоритм и на С++ будет не супер. Да и написать его без рекурсии и паттерн-матчинга задача которую подсилу решить только МС или Сану.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Неужели управляемые языки действительно так отупляют
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.07 14:35
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... )

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

Согласен. Думаю, что на каком-нить Хаскеле или Эланге задача тоже в принципе решаемая и кода будет приблизительно столько же (если не меньше). Но вот производительность этих решений будет не приемлема для сегодняшнего железа.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неужели управляемые языки действительно так отупляют?
От: Anton Batenev Россия https://github.com/abbat
Дата: 11.06.07 16:08
Оценка: +1 :)
Здравствуйте, aka50, Вы писали:

A>Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.


А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука
Re[26]: Неужели управляемые языки действительно так отупляют
От: FR  
Дата: 12.06.07 09:11
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


FR>>Отладка никак не замедлит работу в несколько раз.

WH>Смешно.
WH>То что будет больше кода это ты признал.

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

WH>Больше кода -> больше ошибок.

WH>Плюс С++ отлавливает гараздо меньше ошибок чем немерле.
WH>Меньше контроль -> больше вероятность совершить ошибку.
WH>Плюс некоторые классы ошибок (причем очень не приятные типа порчи памяти) просто не могут появится в немерле.
WH>Те отлаживать придется действительно в разы дольше чем на немерле.

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

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

WH>Не факт. Вернее точно будет больше ибо нет сравнения с образцом.

В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет.

FR>>но компилятор будет сильно тормозить

WH>А вот это точно.



FR>>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках

WH>Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... )
WH>Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык.
WH>Немерле на данный момент один из мощьнейших языков.
WH>Только и всего.

Ладно не будем лучше религиозные вопросы затрагивать
Re[27]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 12.06.07 09:17
Оценка:
Здравствуйте, FR, Вы писали:

FR>Так это очевидно, N более высокоуровный язык. Кстати ты сам то же самое очень долго не признавал когда бодались насчет шарпа c питоном

Что я не признавал? Что немерле болие высокоуровневый язык чем шарп и питон вместе взятые? Ссылку можно?

FR>Да придется больше отлаживать, хотя все очень сильно зависит от фазы луны и стиля работы.

FR>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.
Бу-га-га.

FR>В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет.

Ну ПМ можно применять гораздо чаще чем многие думают...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Неужели управляемые языки действительно так отупляют?
От: WolfHound  
Дата: 12.06.07 09:17
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука

Ну не знаю. У меня сразу открылся.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[28]: Неужели управляемые языки действительно так отупляют
От: FR  
Дата: 12.06.07 09:49
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


FR>>Так это очевидно, N более высокоуровный язык. Кстати ты сам то же самое очень долго не признавал когда бодались насчет шарпа c питоном

WH>Что я не признавал? Что немерле болие высокоуровневый язык чем шарп и питон вместе взятые? Ссылку можно?

Я думал что склероз только у меня
Тогда когда мы бодались про немерле здесь никто не знал, и второй шарп еще не вышел. Вы тогда (может и не ты конкретно а скорее Влад) утверждали что компактность кода фигня.

FR>>Да придется больше отлаживать, хотя все очень сильно зависит от фазы луны и стиля работы.

FR>>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.
WH>Бу-га-га.

То есть ты большую часть времени работы над проектами проводишь в отладчике? Сочувствую.

FR>>В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет.

WH>Ну ПМ можно применять гораздо чаще чем многие думают...

Конечно, я же с рефалом балуюсь .
Но во многих других местах они не дают никаких преимуществ, хотя когда в руках молоток конечно все гвоздями кажется.
Re[27]: Неужели управляемые языки действительно так отупляют
От: AndreiF  
Дата: 12.06.07 10:04
Оценка:
Здравствуйте, FR, Вы писали:

FR>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.


Нет инструмента, который может на порядок уменьшить время разработки. Зато есть инструменты, которые могут на порядок его увеличить.
Re[29]: Неужели управляемые языки действительно так отупляют
От: WolfHound  
Дата: 12.06.07 10:10
Оценка:
Здравствуйте, FR, Вы писали:

FR>Я думал что склероз только у меня

FR>Тогда когда мы бодались про немерле здесь никто не знал, и второй шарп еще не вышел. Вы тогда (может и не ты конкретно а скорее Влад) утверждали что компактность кода фигня.
Ты ссылки давай. А то как всегда вырываешь из контекста да еще и своими словами.
Анегдот напомнило:

- Фигня это ваш Карузо. Фальшивит, шапелявить...
— А где ты его слышал?
— Да Петрович напел.


FR>То есть ты большую часть времени работы над проектами проводишь в отладчике? Сочувствую.

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

FR>Но во многих других местах они не дают никаких преимуществ, хотя когда в руках молоток конечно все гвоздями кажется.

Давай больше демагогии. Может тебе кто нибудь поверит.
А на практике берем вот такой код
            def GetDx(K, F)
            {
                def (ck: double :: klast) = K;
                def (cf: array[double] :: flast) = F;
                
                def Lf = cf.Length;
                
                mutable fres;
                
                def dx = array(Lf);
                for (mutable i = 0; i < Lf; i++)
                {
                    dx[i] = cf[i] * ck;
//                    Console.WriteLine($"$(cf[i]) * $(ck)");
                }

                if (klast != [])
                {
                    def (incDx, cflast) = GetDx(klast, flast);
                    for (mutable i = 0; i < Lf; i++)
                    {
                        dx[i] += incDx[i];
                    }
                    fres = cf::cflast;
                }
                else
                {
                    fres = [];
                };
                
                (dx,  fres)
            }
(С)
Автор: FDSC
Дата: 11.06.07

и превращаем в такой
        def GetDx(_, _)
        {
        | ([ck], [cf]) =>
            (cf.Map(_ * ck), [])
            
        | (ck :: klast, cf :: flast) =>
            def (incDx, cflast) = GetDx(klast, flast);
            (cf.MapI((i, f) => f * ck + incDx[i]), cf :: cflast)
        
        | _ => throw Exception();//Если списки разной длинны.
        }
(С)
Автор: WolfHound
Дата: 11.06.07


Как видишь ПМ и ФВП ужали код в 3 раза на ровном месте.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.