Re[18]: Потерялся, ищу совета
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.02.08 18:36
Оценка:
Здравствуйте, Gaperton, Вы писали:

AVK>>Как показывает практика native совсем не означает быстро работать


G>Есть примеры, когда JIT или интерпретатор обходит native?


Есть конечно. МСовский .NET, например, практически всегда быстрее нативного Delphi.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[7]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 08.02.08 18:36
Оценка:
Здравствуйте, Klapaucius, Вы писали:

M>>Эта проблема решается в SymADE изначально — программу можно представлять (отображать) как угодно, с разной степенью детальности.


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


А не делает потому, что нельзя определить семантически новых понятий — не очень надо. В мета-программировании (языке вроде Lisp-а) это само напрашивается.
Если такое IDE будет, то так станут делать и для традиционных языков. Врядли для Java, а вот для OCaml, Haskel и т.п. — наверняка будут. Потому как сама концепция разного отображения кода уже будет привычной.

M>>Например то, чем так гордятся в FP — вывод типов — в SymADE просто нафиг не нужен, поскольку эти типы в декларации меторов/переменных можно отображать, а можно и не отображать.


K>Сильное заявление. А декларировать?


Аналогично. Можно декларировать, можно не декларировать. Если не декларировать — то некий плагин к IDE будет выводить типы и сам их дорисовывать. Может дорисовывать как автокомплит (то есть предлагать, и вставлять в исходники), а может выводить их уже только на стадии компиляции (то есть не сохраняя в исходном коде). Разумеется, показывать или не показывать эти автовыводимые типы тоже можно.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[10]: Потерялся, ищу совета
От: Дм.Григорьев  
Дата: 08.02.08 19:40
Оценка: +1
Здравствуйте, Gaperton, Вы писали:

G>Вот, господа, смотрите внимательно. Мы сейчас наблюдаем практическое, и самое существенное отличие наколенной поделки энтузиастов — пусть даже и удачной технически, от зрелой промышленной платформы.


А как Вы в этом плане к Scala относитесь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[8]: Потерялся, ищу совета
От: FR  
Дата: 09.02.08 03:58
Оценка: +2
Здравствуйте, mkizub, Вы писали:

M>Если такое IDE будет, то так станут делать и для традиционных языков. Врядли для Java, а вот для OCaml, Haskel и т.п. — наверняка будут. Потому как сама концепция разного отображения кода уже будет привычной.


Нафига седло корове?
Эти языки достаточно выразительны чтобы обходится без подобных костылей.
Re[22]: Потерялся, ищу совета
От: GlebZ Россия  
Дата: 09.02.08 08:40
Оценка: +1
Здравствуйте, Gaperton, Вы писали:

G>1) JIT это одна из схем построения эффективного интерпретатора байт-кода.

Just In Time compilation — это интерпретатор?

G>2) Что такое JIT и как он работает- знает подавляющее большинство присутствующих.

Канечно. Разницу между генерацией машинного кода, и непосредственно выполнения байт-кода, я думаю, понимают все. И ты в том числе.

G>3) В глупый флейм по идиотскому поводу я ввязываться не намерен. Отвечать тебе и комментировать подобные ответы больше не буду.

Хотелось бы.

G>4) Не можешь ничего сказать по существу вопроса — зачем пишешь вообще, просто чтоб написать? Не понимаю.

А я тебе и ответил по существу. В данном вопросе существа то нет. Как и смысла. То же время отклика в Java зачастую больше чем в системах C++ из-за культуры построения систем. В Java культура программирования такая, из нескольких универсальных монстроидальных пакетов собрать нужное тебе решение. Монстроидально универсальное всегда медленее, чем специализированное решение. Но это отнюдь не значит что решения C++ всегда опережают по скорости решения Java или Net.
Re[9]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 09.02.08 16:51
Оценка:
Здравствуйте, FR, Вы писали:

FR>Нафига седло корове?

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

Особенно меня раздражает в собеседниках неумение следить за ходом разговора, и как следствие — вечное хождение по одним и тем-же граблям.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[10]: Потерялся, ищу совета
От: deniok Россия  
Дата: 09.02.08 17:01
Оценка: +2
Здравствуйте, mkizub, Вы писали:

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


FR>>Нафига седло корове?

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

M>Особенно меня раздражает в собеседниках неумение следить за ходом разговора, и как следствие — вечное хождение по одним и тем-же граблям.


Непонятна мне претензия.

Алгебраическая нотация — плод нескольких веков развития естественных наук, и она наилучшим образом подходит для сложных абстракций. То есть, если я могу написать
x = что-то очень абстрактное

и в дальнейших доказательствах/рассуждениях/коде/etc. смогу ссылаться на этот x, то все остальные красоты могут идти лесом. Ну разве чтобы финансирование выбивать, можно генератор модных красивых картинок использовать.
Re[11]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 09.02.08 17:48
Оценка:
Здравствуйте, deniok, Вы писали:

D>Непонятна мне претензия.


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

D>
D>x = что-то очень абстрактное
D>

D>и в дальнейших доказательствах/рассуждениях/коде/etc. смогу ссылаться на этот x, то все остальные красоты могут идти лесом. Ну разве чтобы финансирование выбивать, можно генератор модных красивых картинок использовать.

Особенно похоже на алгебраическую нотацию нечто вроде

s = [ 2*x | x <- [0..], x^2 > 3 ]


Математическую запись ты годами изучал в школе, а потом в институте. Возьми формулу из физики и попробуй в ней разобраться. Я физфак кончал, и гарантию даю — если ты физику не изучал, хрен ты в этой формуле что поймёшь, кроме значка интеграла.

Ещё раз, медленно и два раза. Есть удобная запись для профессионала, она осваивается годами. Она компактная и выразительная, но тем самым совершенно непонятна начинающему — это неизбежное следствие вытекающее из самых основ теории информации и кибернетики. А понятная новичку запись — будет раздражать своей многословностью и неудобством профессионала. Иметь несколько синтаксисов для одного языка — не спасает положения, так как новичку надо разбираться в уже написанном коде. Единственный варинат — это уметь один и тот-же код (один и тот-же кусок программы) отображать по разному для разных людей. Об этом тут речь и идёт, а не о выразительности или невыразительности языка, красоте или некрасивости математической записи.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[12]: Потерялся, ищу совета
От: deniok Россия  
Дата: 09.02.08 18:06
Оценка: +1
Здравствуйте, mkizub, Вы писали:

M>Особенно похоже на алгебраическую нотацию нечто вроде


M>
M>s = [ 2*x | x <- [0..], x^2 > 3 ] 
M>


Ага, в точности теоретико-множественное


M>Математическую запись ты годами изучал в школе, а потом в институте. Возьми формулу из физики и попробуй в ней разобраться. Я физфак кончал, и гарантию даю — если ты физику не изучал, хрен ты в этой формуле что поймёшь, кроме значка интеграла.


И зачем человеку, незнакомому с применяемыми в коде абстракциями доступ к этому коду?

M>Ещё раз, медленно и два раза. Есть удобная запись для профессионала, она осваивается годами. Она компактная и выразительная, но тем самым совершенно непонятна начинающему — это неизбежное следствие вытекающее из самых основ теории информации и кибернетики. А понятная новичку запись — будет раздражать своей многословностью и неудобством профессионала. Иметь несколько синтаксисов для одного языка — не спасает положения, так как новичку надо разбираться в уже написанном коде. Единственный вариант — это уметь один и тот-же код (один и тот-же кусок программы) отображать по разному для разных людей. Об этом тут речь и идёт, а не о выразительности или невыразительности языка, красоте или некрасивости математической записи.


Зачем человеку читать некоторый код? Наверное, чтобы его развивать и модифицировать, или, по крайней мере поддерживать, нес па? А это означает, что он должен понимать все программистские абстракции, которые использовались плюс абстракции предметной области. И хорошо понимать, иначе его допускать до любых изменений просто нельзя. И ни язык, ни среда здесь ничем делу не помогут.
Re[13]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 09.02.08 18:26
Оценка:
Здравствуйте, deniok, Вы писали:

M>>Особенно похоже на алгебраическую нотацию нечто вроде


s = [ 2*x | x <- [0..], x^2 > 3 ]


D>Ага, в точности теоретико-множественное

D>

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

M>>Математическую запись ты годами изучал в школе, а потом в институте. Возьми формулу из физики и попробуй в ней разобраться. Я физфак кончал, и гарантию даю — если ты физику не изучал, хрен ты в этой формуле что поймёшь, кроме значка интеграла.


D>И зачем человеку, незнакомому с применяемыми в коде абстракциями доступ к этому коду?


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

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


А с какого бодуна он научится делать эти изменения, если ему их не дают делать?
Это как в анекдоте про психбольницу — вначале мы научимся плавать,а потом нам нальют воду.
Вспомни (надеюсь, есть что вспоминать) себя, когда тебя брали на работу на новый для тебя проект, который уже многие годы разрабатывался другими программистами. Тебе что, не давали его исследовать, и понемногу менять? Давали, но вначале самые простые вещи, и контролировали твои изменения. А через год работы ты уже сам правил код вовсю, и контролировал изменения делаемые новичками.
Повторяю третий раз — человек знаком с абстракцией, но он ещё не настолько автоматизировал свою работу и образ мыслей, чтоб думать в конкретной записи этой абстрации, или вообще привык к другой записи этой же абстракции.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[12]: Потерялся, ищу совета
От: FR  
Дата: 10.02.08 05:05
Оценка: +1
Здравствуйте, mkizub, Вы писали:

M>Ещё раз, медленно и два раза. Есть удобная запись для профессионала, она осваивается годами. Она компактная и выразительная, но тем самым совершенно непонятна начинающему — это неизбежное следствие вытекающее из самых основ теории информации и кибернетики. А понятная новичку запись — будет раздражать своей многословностью и неудобством профессионала. Иметь несколько синтаксисов для одного языка — не спасает положения, так как новичку надо разбираться в уже написанном коде. Единственный варинат — это уметь один и тот-же код (один и тот-же кусок программы) отображать по разному для разных людей. Об этом тут речь и идёт, а не о выразительности или невыразительности языка, красоте или некрасивости математической записи.


А почему ты уверен что развернув абстракцию мы получим нечто более простое и понятное?
Если будет машиная развертка точно получим только лишнюю детализацию без всякого упрощения для понимания, посмотри например сишный код который генерируют ML или Haskell компиляторы.
(то что на другом языке не принципиально если этот си дословно перевести на тот же ML будет не менее страшно)
Re[10]: Потерялся, ищу совета
От: FR  
Дата: 10.02.08 05:09
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Особенно меня раздражает в собеседниках неумение следить за ходом разговора, и как следствие — вечное хождение по одним и тем-же граблям.


А меня раздражет то, что некторые собеседники, предполагают что кругом телепаты
Кстати у тебя грабли тоже одни и те же, так и не можешь никому показать реальные преимущества твоего подхода.
Re[14]: Потерялся, ищу совета
От: deniok Россия  
Дата: 10.02.08 05:28
Оценка: +2
Здравствуйте, mkizub, Вы писали:

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


M>>>Особенно похоже на алгебраическую нотацию нечто вроде


M>
M>s = [ 2*x | x <- [0..], x^2 > 3 ] 
M>


D>>Ага, в точности теоретико-множественное

D>>

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


А разницы нет. Они изоморфны

M>>>Математическую запись ты годами изучал в школе, а потом в институте. Возьми формулу из физики и попробуй в ней разобраться. Я физфак кончал, и гарантию даю — если ты физику не изучал, хрен ты в этой формуле что поймёшь, кроме значка интеграла.


D>>И зачем человеку, незнакомому с применяемыми в коде абстракциями доступ к этому коду?


M>Вот, ты опять путаешь саму абстракцию и способ её отображения.

M>Второе, доступ к этому коду человеку нужен когда он только включается в данный проект. Речь изначально шла именно об этом, что при освоении проблемы человеку нужна избыточность информации, а когда он её уже освоил — эта избыточность ему начинает мешать. Я это уже третий раз повторяю — и это тоже пример необходимой избыточности.

Нету никакой необходимой избыточности, которую можно автоматически сгенерировать. Для того, чтобы изучить некоторую библиотеку нужно её использовать, то есть дёргать в разных контекстах и смотреть, что получается. А потом думать — почему так получается. "Освоение проблемы" — это активная игра с проблемой в её внутренних терминах, а не пассивное созерцание ее разнообразных эквивалентных интерпретаций.
Re[11]: Потерялся, ищу совета
От: Gaperton http://gaperton.livejournal.com
Дата: 10.02.08 11:29
Оценка:
Здравствуйте, Дм.Григорьев, Вы писали:

G>>Вот, господа, смотрите внимательно. Мы сейчас наблюдаем практическое, и самое существенное отличие наколенной поделки энтузиастов — пусть даже и удачной технически, от зрелой промышленной платформы.


ДГ>А как Вы в этом плане к Scala относитесь?


Коммьюнити вроде как больше. По крайней мере, ссылок в гугле в 10 раз больше, чем на Nemerle — только что проверил. Больше я ничего не знаю про эту сторону Scala — не интересовался.
Re[12]: Потерялся, ищу совета
От: Дм.Григорьев  
Дата: 10.02.08 13:21
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Коммьюнити вроде как больше. По крайней мере, ссылок в гугле в 10 раз больше, чем на Nemerle — только что проверил. Больше я ничего не знаю про эту сторону Scala — не интересовался.


Допустим, я добавлю в качестве дополнительной информации, что десять учёных делают язык на фуллтайме. Теперь, предположим, вам делают предложение (к примеру, ваши же программисты): а давайте сделаем вот этот вот новый проектик на Scala! Ваши действия/реакция?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[20]: Потерялся, ищу совета
От: Cyberax Марс  
Дата: 10.02.08 13:34
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>>>Есть примеры, когда JIT или интерпретатор обходит native?

C>>HotSpot JVM на некоторых микротестах.
G>Ты же понимаешь, что это не совсем "практика". Это спорт.
Все ближе к реальной практике. Я бы сказал, что года через четыре уже будет реально заметно на макроскопических программах.

G>В реальности все знают, что у JVM-приложений хуже отклик и они медленнее — это реально заметно на апликухах.

В реальности хорошие Java-приложения работают без всяких проблем с откликом и не медленнее нативных. Можно сравнить по той же Eclipse и MSVS, Eclipse полностью на Java написана (за исключением небольшого куска нативного кода в SWT), а MSVS по большей части на С++.

Естественно, в некоторых случаях могут быть проблемы из-за сборщика мусора — но он в Sun JVM пока что самый лучший в индустрии не-realtime-коллектор.
Sapienti sat!
Re[13]: Потерялся, ищу совета
От: Gaperton http://gaperton.livejournal.com
Дата: 10.02.08 17:32
Оценка: 14 (3) +6
Здравствуйте, Дм.Григорьев, Вы писали:


G>>Коммьюнити вроде как больше. По крайней мере, ссылок в гугле в 10 раз больше, чем на Nemerle — только что проверил. Больше я ничего не знаю про эту сторону Scala — не интересовался.


ДГ>Допустим, я добавлю в качестве дополнительной информации, что десять учёных делают язык на фуллтайме. Теперь, предположим, вам делают предложение (к примеру, ваши же программисты): а давайте сделаем вот этот вот новый проектик на Scala! Ваши действия/реакция?


1) Зависит от проекта.
2) "десять учёных делают язык на фуллтайме" — этой информации мало. Меня, вероятно, заинтересовали бы их планы лет на 5 вперед, цели проекта Scala, источник финансирования, а также активность сообщества — как много людей кроме авторов имеет реальный доступ к репозиторию.
3) Меня заинтересовала бы ситуация с тулзами, отладчиками, профайлерами, библиотеками, и прочим "обвесом".
4) Еще — мне стало бы интересно, есть ли стандарт языка. И его спецификация.
5) Также, меня заинтересовало бы, есть ли кто-то, кто сделал нечто коммерческое на scala, или я буду первым.
6) Меня заинтересовал бы опыт моих людей со scala.
7) А также, расписание выхода mantenance releases, и насколько оперативно исправляются проблемы.

Если выяснится, что у моих орлов нет толком опыта работы со scala, что я буду первым, кто наступит на грабли при реальном применении языка, что стандарт языка не готов, и спецификация плывет — то ничего, кроме скрипта подсчета строк кода я на scala делать не разрешу.

Дело в том, что работая поверх JVM этот язык не имеет выраженного преимущества, скажем, перед Java, — по сути, это одна и та же платформа. А вот недостатки — серьезные, например, фактически неподдерживаемый код, который я скорее всего получу в результате (с офигенно большой вероятностью). Нужны очень сильные аргументы, чтобы предпочесть его java (назовете?). Поэтому, ничего, кроме скромных пилотных проектов/прототипов (короче, фигни, которую не жалко переписать), я скорее всего делать на нем не дал бы.
Re[13]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 10.02.08 17:55
Оценка:
Здравствуйте, FR, Вы писали:

FR>А почему ты уверен что развернув абстракцию мы получим нечто более простое и понятное?


Приведённый выше пример можно записать как
s = [ 2*x | x <- [0..], x^2 > 3 ]
а можно как
"S is the list of all 2*x where x is an item in the list of natural numbers, and x squared is greater than 3."
Ты уверен, что для незнакомого с хаскелевским синтаксисом человека, вторая запись не будет более простой и понятной?

FR>Если будет машиная развертка точно получим только лишнюю детализацию без всякого упрощения для понимания, посмотри например сишный код который генерируют ML или Haskell компиляторы.


Это не развёртка, это выражение одной абстракции через другие, более примитивные. При этом первоначальная абстрация уже отсутствует, она теряется. Такой же пример я могу привести из собственного опыта написания компиляторов — развёртка декларативного пролог-подобного кода в императивную state machine. При этом теряется как понятность так и декларативность. Но эти записи не эквивалентны, это потеря информации.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[15]: Потерялся, ищу совета
От: mkizub Литва http://symade.tigris.org
Дата: 10.02.08 18:00
Оценка:
Здравствуйте, deniok, Вы писали:

M>>
M>>s = [ 2*x | x <- [0..], x^2 > 3 ] 
M>>


D>>>Ага, в точности теоретико-множественное

D>>>

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


D>А разницы нет. Они изоморфны


Изоморфны — не значит идентичны. И потом, они не изоморфны — они есть разное выражение одной и той-же абстракции, но выражены различным синтаксисом, используют различные соглашения (контекст). Ты ещё скажи, что слово "стул" и реальный стул — изоморфны.

D>Нету никакой необходимой избыточности, которую можно автоматически сгенерировать.


Есть. Форматирование кода — простейший пример. Компьютерю (компилятору) в форматировании нет никакой необходимости, а вот человеку есть. Подумай над этим, может через это ты поймёшь о чём я говорю.

D>Для того, чтобы изучить некоторую библиотеку нужно её использовать, то есть дёргать в разных контекстах и смотреть, что получается. А потом думать — почему так получается. "Освоение проблемы" — это активная игра с проблемой в её внутренних терминах, а не пассивное созерцание ее разнообразных эквивалентных интерпретаций.


Я с этим и не спорю.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[4]: Потерялся, ищу совета
От: Gaperton http://gaperton.livejournal.com
Дата: 10.02.08 18:35
Оценка: 56 (3) :))) :))) :))) :))) :)))
Здравствуйте, Трурль, Вы писали:

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


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


Т>Ну, про мощность уже выяснили. А по сопротивлению надо оценивать упругость языка.


Отчего же. Сопротивление языка можно выразить через его мощность, причем для этого хватит знаний школьной физики.

I = U / R, P = I U

следовательно

R = U / I = U^2 / P

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

Метод оценки мощности по сопротивлению языка — это, безусловно, новое слово в инженерной науке.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.