Re[2]: "альтернативные" языки
От: Cyberax Марс  
Дата: 02.02.07 10:28
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>7. Пролог, как демонстрация красивой идеии логического программирования практичски бесполеной на прктие.

Кстати, прологоподбные языки замечательно используются для описания бизнес-логики для запутаных случаев.
Sapienti sat!
Re[2]: "альтернативные" языки
От: Кодт Россия  
Дата: 02.02.07 12:55
Оценка: 1 (1) +2 :))) :))) :))
Здравствуйте, VladD2, Вы писали:

VD>9. Регулярные выражения и Перл, как пример того что и на системах фирования можно писать программы.


В качестве систем шифрования лучше выбирать J или K.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[3]: "альтернативные" языки
От: raskin Россия  
Дата: 02.02.07 13:24
Оценка:
Кодт wrote:
> VD>9. Регулярные выражения и Перл, как пример того что и на системах
> фирования можно писать программы.
>
> В качестве систем шифрования лучше выбирать J или K.
А вот не всегда.. У J очень жёсткий синтаксис, да и семантика
последовательная. Единственная тонкость — краткие имена в стандартной
библиотеке (а для единства стиля — и в коде) и непривычность
синтаксических решений. Первое можно имитировать и в Perl, второе
автоматически можно преобразовать в любой функциональный язык, возможно,
дописав небольшую понятную библиотеку для. Причём не так много и надо
(если не думать про производительность и всю ту часть стандартной
библиотеки, что на J, тупо конвертировать). А вот с Perl трюк может не
пройти... Он большой, состоит из граблей и всё связано.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: "альтернативные" языки
От: Андрей Хропов Россия  
Дата: 02.02.07 13:40
Оценка:
Здравствуйте, VladD2, Вы писали:

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


TI>>Как считаете, стоит ли тратить время на изучения "альтернативных" языков и технологий ? Под альтернативными я понимаю не C++/Java/Php/Perl/C# Или это будет пустая трата времени и сил ?


VD>Мой список языков котрый может расширить кругозор:


Тут говорили про альтернативные языки

VD>1. C# — классика ООП, компонентность, статическая типизация, обобщенное программирование.

Ну это мейнстрим. Тут все равно что его, что Java. Это и так все знают.

VD>2. Руби — классика скриптов, динамика, гибкость.

Я бы не сказал, что это классика, классика скриптов — Bourne Shell . Но опять же BASh — это мейнстрим в Linux.

VD>3. Хаскель — функциональный подход, вывод типов, красивая идея классов типов (похожая на интерфейсы в C#, но которые можно подключать к уже имеющися типам), ленивое исполнение.

+1

VD>4. XQuary/XSLT — как пример языков трансформации данных.

Ну, опять же, это практически мейнстрим (ну или скоро будет (XQuery)). Хотя я считаю, что использовать синтаксис XML для программирования (XSLT) — это извращение . Лучше нормальная языконезависимая модель (типа DOM) преобразований и ее реализация в библиотеках для разных языков.

VD>5. Схема — как пример языка без синтаксиса и мощи макросов.

+1, Хотя можно и Common Lisp, правда он больше, зато более практичен.

VD>6. Рад, что даждались ожидаемого. Правильно немерле как квинтесенция свсего перечисленного выше.

+1

VD>7. Пролог, как демонстрация красивой идеии логического программирования практичски бесполеной на прктие.

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

VD>8. SQL — пример декларативного языка обраобтки данных.

Опять же, это мейнстрим который все знают.

VD>9. Регулярные выражения и Перл, как пример того что и на системах фирования можно писать программы.

Регэкспы — это мейнстрим. Перл, в принципе, тоже. Хотя я думаю, что его постепенно вытеснят Python/Ruby.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.02.07 19:07
Оценка: :))) :)
Здравствуйте, rsn81, Вы писали:

VD>>1. C# — классика ООП, компонентность, статическая типизация, обобщенное программирование.

R>+Java.

Ява идет в лес за грязный дизай языка.

VD>>4. XQuary/XSLT — как пример языков трансформации данных.

R>+более частные спецификации: XSL-FO, SVG, X-Path и т.п.

X-Path часть XQuary/XSLT, а остальные в лес за ненадобностью.

VD>>8. SQL — пример декларативного языка обраобтки данных.

R>+объектные подходы в БД

В лес по тем же сообрежениям.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: "альтернативные" языки
От: Yuri Khomich  
Дата: 03.02.07 18:04
Оценка: +1
Здравствуйте, Андрей Хропов, Вы писали:

VD>>4. XQuary/XSLT — как пример языков трансформации данных.

АХ>Ну, опять же, это практически мейнстрим (ну или скоро будет (XQuery)). Хотя я считаю, что использовать синтаксис XML для программирования (XSLT) — это извращение . Лучше нормальная языконезависимая модель (типа DOM) преобразований и ее реализация в библиотеках для разных языков.

Типа DOM? Тогда лучше сразу застрелиться.
Из вынесения языка транформации в библиотеку вряд ли что-то хорошее получится кроме ужасного синтаксиса.
Да и зачем? Подходящая модель данных для XML есть, есть язык для работы с ней (XPath), непонятно только зачем было строить синтаксис XSLT на основе XML.
Re[4]: "альтернативные" языки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.02.07 20:08
Оценка: +1
Здравствуйте, Yuri Khomich, Вы писали:

YK>непонятно только зачем было строить синтаксис XSLT на основе XML.


Обжегшись на молоке (DTD) стали дуть на воду (XSD, XSLT)
... << RSDN@Home 1.2.0 alpha rev. 673 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[4]: "альтернативные" языки
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 05.02.07 06:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ява идет в лес за грязный дизай языка.

Разжуйте, пожалуйста.

VD>X-Path часть XQuary/XSLT, а остальные в лес за ненадобностью.

?

VD>В лес по тем же сообрежениям.

?
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[2]: "альтернативные" языки
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.02.07 08:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. C# — классика ООП, компонентность, статическая типизация, обобщенное программирование.


Идея ООП чище выражена в Smalltalk, можно поглядеть его.
Re[3]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.07 14:52
Оценка: :)
Здравствуйте, lomeo, Вы писали:

VD>>1. C# — классика ООП, компонентность, статическая типизация, обобщенное программирование.


L>Идея ООП чище выражена в Smalltalk, можно поглядеть его.


Добавляй, что это твое мнение. Я считаю Смолток языком с прототипной орканизации. И она мне категорически не нравится. Так что мое мнение — смолток для начального обучения лучше не применять. Он даст отрицальный эффект.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.07 14:52
Оценка: +1 :)))
Здравствуйте, rsn81, Вы писали:

VD>>Ява идет в лес за грязный дизай языка.

R>Разжуйте, пожалуйста.

Ява перенела довольно много граблей из С++. Например, отсуствие явного указания переопределения методов (ключевое слово override) или отсуствие возможности явно описать, что функция возращает множество результатов (в виде кортежей или ref/out-параметров). И таких проблем в ней много. C# можно считать наследником Явы в котором вычещено большинство проблем этого языка. Еще более чистым решением является Немерле, но так что в принципе им можно заменить C#, но им можно заменить и многое другое. Если же говорить о чистых представителях, то я их перечислил и расширять список не намерен. Если у гого-то свои взгляды на такой список, то высказывайте их отдельно, а не прытайтесь подправить мой список. Если я решу его изменить, то скажу об этом сам.

А вообще, есть много языков с различными особенностями. Например ОКамл. Но они не дают представления о чем-то радикально новом и имеют ряд недостатков. Именно по этому я не называю эти зяыки. А то можно было бы просто перечислить все языки начиная с С и заканчивая J с K.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: "альтернативные" языки
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 06.02.07 00:12
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Идея ООП чище выражена в Smalltalk, можно поглядеть его.


VD>Добавляй, что это твое мнение.


Ты же не добавлял, когда говорил, что С# классический ОО, а я всего лишь говорю об идее "всё есть объект, объекты общаются сообщениями". В смолтолке эта идея выражена чище. Ой, прости, это моё мнение.

VD>Я считаю Смолток языком с прототипной орканизации.


Твоё изобретательство в области новых определений старых терминов не знает границ, поясни. что ты понимаешь под прототипной организацией?

VD>И она мне категорически не нравится. Так что мое мнение — смолток для начального обучения лучше не применять. Он даст отрицальный эффект.


"Мне не нравится, так что лучше не применять". Железная логика! :-)
Re[5]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.02.07 01:26
Оценка: +1 -3 :)
Здравствуйте, lomeo, Вы писали:

L>Ты же не добавлял, когда говорил, что С# классический ОО,


Для особо невнимательных цитирую себя любимого:
[b]Мой список языков котрый может расширить кругозор:[/b]

L> а я всего лишь говорю об идее "всё есть объект, объекты общаются сообщениями". В смолтолке эта идея выражена чище. Ой, прости, это моё мнение.


Еще раз. Создай отдельно свой список и хоть Перл туда запиши. Мой списко трогать не надо.
На мой взгляд за чистоту Смолтака по рукам надо бить. Если возникнет вопрос "почему", то воспользуйся поиском.

VD>>Я считаю Смолток языком с прототипной орканизации.


L>Твоё изобретательство в области новых определений старых терминов не знает границ, поясни. что ты понимаешь под прототипной организацией?


За самобразованием обращайся к Википедии. Ключевое слово для поиска Prototype-based.

VD>>И она мне категорически не нравится. Так что мое мнение — смолток для начального обучения лучше не применять. Он даст отрицальный эффект.


L>"Мне не нравится, так что лучше не применять". Железная логика!


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

Мой ответ исчерпывающий? Если, да, то просба отвязаться от меня. Мня утамляет навязчивость.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.02.07 01:30
Оценка:
Здравствуйте, lomeo, Вы писали:

Да, собственно, забыл сказать. Я не зря упоминул Руби. Это как раз язык из серии продолжателей идей Смолтока только с "человеческим лицом". Так что еще раз поторюсь, смысла включать в свой список такой архики как Смолток не вижу.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: "альтернативные" языки
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 06.02.07 02:59
Оценка: 107 (6) +6
Здравствуйте, Timur I., Вы писали:

TI>Как считаете, стоит ли тратить время на изучения "альтернативных" языков и технологий ? Под альтернативными я понимаю не C++/Java/Php/Perl/C# Или это будет пустая трата времени и сил ?


Если ты уже делишь языки на "основные" и "альтернативные" — это уже ошибочная постановка вопроса. Посему предложу тебе другую методику. В начале, пожалуй, математика в объёме первых 3-х курсов любого вуза. Это — минимум. Дальше в некотором роде смесь: системное программирование, формальные языки и построение компиляторов, дискретная математика, основы электроники, вопросы связанные с искусственным интеллектом. Присоединюсь к тем, кто советовал SICP и добавлю сюда ещё дядьку Кнута. Потом — применение тех или иных языков для определённых задач. Ну и в процессе уже определишься, что к чему и почему, и откуда и куда у чего ноги растут.

А так... Ну скажут тебе, что, к примеру, Lisp полезно знать. А почему? Его же относительно редко применяют. Потому что Пол Грэхем о нём балладу спел? Так баллады много о чём пели! Что ж теперь?

Так что, копай, а там вопросы подобные онтопику сами собой отпадут.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: "альтернативные" языки
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 06.02.07 04:39
Оценка: 1 (1) +2 -1
Здравствуйте, VladD2, Вы писали:

VD>Ява перенела довольно много граблей из С++. Например, отсуствие явного указания переопределения методов (ключевое слово override)

В чем собственно недостаток? Если уж грабельный разговор... заодно расскажите, используете ли вы модификатор new в C#?

VD> или отсуствие возможности явно описать, что функция возращает множество результатов (в виде кортежей или ref/out-параметров).

Возвращение примитива по ссылке противоречит объектно-ориентированному методу. Это уже множество раз обсуждалось: передача параметра "по ссылке"
Автор: dev_m
Дата: 21.12.06
— в C# это оставили, потому на нем удобно писать в том числе и "процедурно" (к примеру, вычислители), а Java более "чистый" в этом отношении ООЯ.

VD> И таких проблем в ней много.

Да?

VD> C# можно считать наследником Явы в котором вычещено большинство проблем этого языка.

Извините, но вы пока не убедили.

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

Да как вам угодно: на ваш список никто не посягает — просто вы сказали достаточно резкое утверждение без аргументации, вот и заинтересовало.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[6]: "альтернативные" языки
От: Last Cjow Rhrr Россия lj://_lcr_
Дата: 06.02.07 06:32
Оценка:
VladD2,

VD>>>Ява идет в лес за грязный дизай языка.

R>>Разжуйте, пожалуйста.

VD>Ява перенела довольно много граблей из С++. Например, отсуствие явного указания переопределения методов (ключевое слово override) или отсуствие возможности явно описать, что функция возращает множество результатов (в виде кортежей или ref/out-параметров). И таких проблем в ней много.


Грязь и бедность — это не одно и то же однако. То что ты привёл — это бедность в выразительных средствах. Грязь (то есть именно непоследовательность и обилие граблей) в Jave конечно есть, я бы туда отнёс некрасивую работу с плоскими типами (особенно когда туда приплели автобоксинг в 5-й джаве).

Алексей Ефимов хорошо написал здесь об этом.

Ещё совершенно непоследовательно введение свойств (!) length и class. Без скобок и в качестве ключевых слов. Идиотизм.

synchronized методы — это взведённые грабли, ждущие когда на них наступят.

проваливающийся switch/case. Редкие, но грабли.

char d = '9' - '0'; // ашыпка

Если есть байтовое значение, большее 127 и к нему прибавить другое значение, то получаем не то что ожидали. Нужно сначала преобразовать значения к интам, потом уже производить арифметику.

List<String>[] data = new ArrayList<String>[10]; // такие коллекции недопустимы
List<String> data1 = new ArrayList<String>(); // а так мона

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

Ну в течение работы можно ещё встречал, но сейчас прямо всё упомнить не могу.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[7]: "альтернативные" языки
От: Yuri Khomich  
Дата: 06.02.07 08:19
Оценка:
Здравствуйте, Last Cjow Rhrr, Вы писали:

LCR>synchronized методы — это взведённые грабли, ждущие когда на них наступят.


О как. И в чем же там грабли?
Re[6]: "альтернативные" языки
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 06.02.07 08:47
Оценка: +2
Здравствуйте, VladD2, Вы писали:

L>>Ты же не добавлял, когда говорил, что С# классический ОО,


VD>Для особо невнимательных цитирую себя любимого:

VD>[b]Мой список языков котрый может расширить кругозор:[/b]

При чем тут твой список? Где ты сказал, что то, что С# классический ОО, это твоё мнение?

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

VD>Еще раз. Создай отдельно свой список и хоть Перл туда запиши. Мой списко трогать не надо.


Правила форума это запрещают?

VD>За самобразованием обращайся к Википедии. Ключевое слово для поиска Prototype-based.


Термин я знаю. Ок, обратимся к Википедии.

Prototype-based programming is a style of object-oriented programming in which classes are not present, and behaviour reuse (known as inheritance in class-based languages) is accomplished through a process of cloning existing objects which serve as prototypes.


Я, наверное, что то путаю, но в Смолтолке есть и классы и переиспользование там достигается совсем другими механизмами.

Так что ты опять что то изобрел. Я и спрашиваю — что?

VD>А мне по барабуну ты лично и то что ты думаешь о моей логие в частности.


Зачем тогда ты это пишешь?
Re[6]: "альтернативные" языки
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 06.02.07 08:48
Оценка: :))) :)
Здравствуйте, VladD2, Вы писали:

VD>Да, собственно, забыл сказать. Я не зря упоминул Руби. Это как раз язык из серии продолжателей идей Смолтока только с "человеческим лицом". Так что еще раз поторюсь, смысла включать в свой список такой архики как Смолток не вижу.


Уговорил, не включай.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.