Re[10]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.07 00:56
Оценка: +2
Здравствуйте, Константин Л., Вы писали:

КЛ>повеселил А может еще расскажешь, что такое атомарность функций?


Слушай, ты бы не позорился бы, а?

КЛ>PS: тот, кто часто использует кортежи в качестве возвращаемых значений явно что-то не то делает. Или у него слишком специфичная задача. Отсутствие кортежей — не смертельно.


Тебе, конечно, видней.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: "альтернативные" языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.07 00:56
Оценка:
Здравствуйте, Mckey, Вы писали:

M>Добавил бы еще


Ребят, чеснослово задолбали!

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

Я понимаю, что у разных людей разные предпочтения, но и вы меня поймите. Это мои предпочтения. Не надо в них добавлять ничего! Создайте свой и хоть всю вселенную в него впихните.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: "альтернативные" языки
От: Дм.Григорьев  
Дата: 09.02.07 01:50
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Обжегшись на молоке (DTD) стали дуть на воду (XSD, XSLT)


Эммм... Можно вот здесь поподробнее, для чайников?
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[10]: "альтернативные" языки
От: FR  
Дата: 09.02.07 07:08
Оценка: +9
Здравствуйте, Константин Л., Вы писали:

КЛ>PS: тот, кто часто использует кортежи в качестве возвращаемых значений явно что-то не то делает. Или у него слишком специфичная задача. Отсутствие кортежей — не смертельно.


Конечно не смертельно. Но такая вроде с виду фигня реально сокращает объем кода. Но дело даже не в сокращении объема, а в удобстве, уже привыкаешь что не нужно заводить бестолковые временные структуры, не нужно задумыватся о том как вернуть результат.
Re[4]: "альтернативные" языки
От: cl-user  
Дата: 09.02.07 07:55
Оценка: 3 (1) +2
Здравствуйте, VladD2, Вы писали:

VD>Ребят, чеснослово задолбали!


На обиженных... ну ты сам знаеш

VD>Поймите, просто перечислить все языки которые знаешь или о которых слышал — это задача для дауна. Я попытался создать минимально достаточный список. В него ничего не надо вставлять!


"Я тут сказал мысль, а вы не сметь критиковать!"

VD>Я понимаю, что у разных людей разные предпочтения, но и вы меня поймите. Это мои предпочтения. Не надо в них добавлять ничего! Создайте свой и хоть всю вселенную в него впихните.


Ну и ты нас пойми, нас очень интересует не сам список, а _почему_ он именно такой!
Или так сильно влом вежливо и без наездов объяснить, почему именно этот язык не включён в список?
Или с тебя шапка упадёт/нимб свалится, если ты признаешся, что не знаешь какой-то язык?
Re[5]: "альтернативные" языки
От: BulatZiganshin  
Дата: 09.02.07 08:49
Оценка: +1
CU>Ну и ты нас пойми, нас очень интересует не сам список, а _почему_ он именно такой!
CU>Или так сильно влом вежливо и без наездов объяснить, почему именно этот язык не включён в список?
CU>Или с тебя шапка упадёт/нимб свалится, если ты признаешся, что не знаешь какой-то язык?

мне этот список очень понравился, и я его готов поддержать на все 100. и не только поддержать, но и объяснить его. разные языки программирования поддерживают разные парадигмы. при этом парадигмы не являются полностью взаимоисключающими. основные из них:

чистое (функциональное) vs императивное программирование
процедурный / АТД / ООП / функциональный / логический подход
динамические / статические языки

для того, чтобы изучить все эти подходы, нужно изучать поддерживающие их языки, и разумеется брать наилучших их представителей. теперь смотрим. процедурный и АТД подход стали частью ООП, так что их можно отдельно не изучать. лучшие ООП языки — эйфель (компилируемый) и руби (интерпретируемый). функциональные — схема (динамический, императивный), окамл (компилируемый, императивный, с прикрученным сбоку ООП), хаскел (чистый, компилируемый); логические — пролог (динамический, условно-императивный). немерл — противоположность окалму, это ООП язык с прикрученным императивным FP

если человеку рассказать про парадигмы программирования и дать изучить эти языки, то у него появится гибкость в осмысленрии задачи, в порджумывании алгоритма её решения. даже если писать он будет продолжать на C++
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: "альтернативные" языки
От: creatman Германия  
Дата: 09.02.07 09:17
Оценка:
Здравствуйте, VladD2, Вы писали:

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


D>>Здесь наверное более уместно упомянуть оператор as (As is или история о том как не надо писать код
Автор(ы): Владислав Чистяков (VladD2)
Дата: 18.12.2004
Работая над открытыми проектами, автор заметил, что операторы as и is многими программистами зачастую используются ненадлежащим образом. Результатом очередного двухчасового поиска ошибки и стала эта статья.


).


VD>Да, уместно. Но о нем еще надо знать. А rsn81 явно не из тех кто обсуждает то, что знает.


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


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


D>>Лично я не разделяю крайне пуристские взгляды на ref-out параметры. И считаю, что они в некоторых случаях бывают весьма полезны. Тем более, что в C#'е они реализованы, на мой взгляд, лучше, чем в C++ (например, есть разделение на ref и out (а не просто ссылка); и необходимость явно помечать ref out аргументы при вызове).


VD>В С++ их вообще нет. За то есть указатели позволяющие эмулировать их, но эта эмуляция черевата ошибками, и опасными. Плюс явное указание этих модификаторов четко описывает намерение, а значит делает код более понятным и предсказуемым.


Чего нет? ссылок?
void f(string& s)
{
....
}


Где тут указатели?


Re[10]: "альтернативные" языки
От: creatman Германия  
Дата: 09.02.07 09:19
Оценка:
Здравствуйте, creatman, Вы писали:

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


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


D>>>Здесь наверное более уместно упомянуть оператор as (As is или история о том как не надо писать код
Автор(ы): Владислав Чистяков (VladD2)
Дата: 18.12.2004
Работая над открытыми проектами, автор заметил, что операторы as и is многими программистами зачастую используются ненадлежащим образом. Результатом очередного двухчасового поиска ошибки и стала эта статья.


).


VD>>Да, уместно. Но о нем еще надо знать. А rsn81 явно не из тех кто обсуждает то, что знает.


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


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


D>>>Лично я не разделяю крайне пуристские взгляды на ref-out параметры. И считаю, что они в некоторых случаях бывают весьма полезны. Тем более, что в C#'е они реализованы, на мой взгляд, лучше, чем в C++ (например, есть разделение на ref и out (а не просто ссылка); и необходимость явно помечать ref out аргументы при вызове).


VD>>Плюс явное указание этих модификаторов четко описывает намерение, а значит делает код более понятным и предсказуемым.


чем вам не явное указание?

C>
C>void f(const string& s_in, string& s_out)
C>{
C>....
C>}

C>


Re[6]: "альтернативные" языки
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.02.07 09:45
Оценка: 18 (3) +2
Здравствуйте, Дм.Григорьев, Вы писали:

AVK>>Обжегшись на молоке (DTD) стали дуть на воду (XSD, XSLT)


ДГ>Эммм... Можно вот здесь поподробнее, для чайников?


Можно. В составе стандарта SGML (помним, что именно от него произрости и HTML и XML) была часть для описания ряда синтаксических правил документа, выходящих за рамки стандартных ограничений. Т.е. набор допустимых тегов, атрибутов, их взаимоотношения и т.п. Описывалось это все специальным языком Document Type Definition. Засада была в том, что для этого языка нужен был свой отдельный парсер. В результате далеко не все реализации XML этот самый DTD контроллировали. Поэтому, во-первых начали делать DTD, но с синтаксисом XML, т.е. XML Schema, а во-вторых при разработке XSLT побоялись повторения аналогичной ситуации и отбросили варианты с не-XML синтаксисом (а они были).
... << RSDN@Home 1.2.0 alpha rev. 669>>
AVK Blog
Re[11]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 09:57
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Константин Л., Вы писали:


КЛ>>повеселил А может еще расскажешь, что такое атомарность функций?


VD>Слушай, ты бы не позорился бы, а?


ну дай попозориться, пожалуйста

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

КЛ>>PS: тот, кто часто использует кортежи в качестве возвращаемых значений явно что-то не то делает. Или у него слишком специфичная задача. Отсутствие кортежей — не смертельно.


VD>Тебе, конечно, видней.
Re[11]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 10:02
Оценка: 9 (1) +1 -7 :))
Здравствуйте, FR, Вы писали:

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


КЛ>>PS: тот, кто часто использует кортежи в качестве возвращаемых значений явно что-то не то делает. Или у него слишком специфичная задача. Отсутствие кортежей — не смертельно.


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


поинт в том, что если ты возвращаешь "бестолковые временные структуры", то значит у тебя метод делает "все сразу и еще кучу вещей", что часто говорит о его избыточности или неправильности. Если же так нужно и это осмысленная операция, то эти "бестолковые временные структуры" должны стать нормальными логическими сущностями и уж тут кортежи нафиг не нужны. Кароче моё мнение, что кортежи — это затычки для костылей, которые мы сами и сажаем.
Re[9]: "альтернативные" языки
От: creatman Германия  
Дата: 09.02.07 10:22
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Языки типа Явы и C# ВООБЩЕ не рассчитаны на работу в многопоточном окружении.


synchronized? lock? Это не расчет на многопоточность???


Re[12]: "альтернативные" языки
От: Quintanar Россия  
Дата: 09.02.07 10:51
Оценка: +3 -1
Здравствуйте, Константин Л., Вы писали:

КЛ>> Кароче моё мнение, что кортежи — это затычки для костылей, которые мы сами и сажаем.


А мое мнение, что вы с умным видом рассуждаете о вещах, о которых понятия не имеете.
Re[10]: "альтернативные" языки
От: BulatZiganshin  
Дата: 09.02.07 10:56
Оценка: +4
VD>>Языки типа Явы и C# ВООБЩЕ не рассчитаны на работу в многопоточном окружении.

C>synchronized? lock? Это не расчет на многопоточность???


это как раз костыли вокруг mutable values, чтобы затащить их в brave new world эрланг, созданный для программирования АТСок, таких затычек не имеет, а ведь там тысячи процессов — это не подвиг, а норма
Люди, я люблю вас! Будьте бдительны!!!
Re[12]: "альтернативные" языки
От: FR  
Дата: 09.02.07 10:59
Оценка:
Здравствуйте, Константин Л., Вы писали:

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


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


Так нужно и это осмысленные операции, только от бестолковых временных структур это не избавляет.
Те же std::pair, boost::tuple тоже нафиг не нужны?
Re[6]: "альтернативные" языки
От: cl-user  
Дата: 09.02.07 11:22
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>лучшие ООП языки — эйфель (компилируемый) и руби (интерпретируемый).


Автор списка первый не включил вообще, а второй совсем не в качестве ООП-языка
Re[13]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 13:12
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>Здравствуйте, Константин Л., Вы писали:


КЛ>>> Кароче моё мнение, что кортежи — это затычки для костылей, которые мы сами и сажаем.


Q>А мое мнение, что вы с умным видом рассуждаете о вещах, о которых понятия не имеете.


кортежи настолько простая вещь, что не надо быть академиком, чтобы рассуждать о ней.
Re[13]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 14:23
Оценка:
Здравствуйте, FR, Вы писали:

[]

FR>Так нужно и это осмысленные операции, только от бестолковых временных структур это не избавляет.

FR>Те же std::pair, boost::tuple тоже нафиг не нужны?

не знаю...ты сам себе противоречишь. Так нужно — но бестолковые структуры...
Re[9]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 14:29
Оценка:
Здравствуйте, VladD2, Вы писали:

[]


VD>Но у них есть одна проблема — они неудобны. Или скажем, так в большинстве случаев вместо них удобнее использовать озврат множетсва значений (котреж, напимер). Такой подход решает и проблему многопточности (при условии что весь многопоточный код написан в фукнциональном стиле) решает, и просто удобен.


поправь меня, но в Nemerle можно обращаться к элементам кортежа только по индексам, которые должны быть известы в compile-time и нельзя по элементам пробежаться. Так что это лучше "бестолковых безымянных структур" только их отсутствием (структур). А об их отсутствии (точнее о том, что это плохо и они заменяются кортежами.) я уже писал.
Re[10]: "альтернативные" языки
От: Константин Л.  
Дата: 09.02.07 14:30
Оценка:
Здравствуйте, Константин Л., Вы писали:

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


КЛ>[]



VD>>Но у них есть одна проблема — они неудобны. Или скажем, так в большинстве случаев вместо них удобнее использовать озврат множетсва значений (котреж, напимер). Такой подход решает и проблему многопточности (при условии что весь многопоточный код написан в фукнциональном стиле) решает, и просто удобен.


КЛ>поправь меня, но в Nemerle можно обращаться к элементам кортежа только по индексам, которые должны быть известы в compile-time и нельзя по элементам пробежаться. Так что это лучше "бестолковых безымянных структур" только их отсутствием (структур). А об их отсутствии (точнее о том, что это плохо что они заменяются кортежами.) я уже писал.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.