Login
Nemerle
NEW 31.07.06 22:08
Вот на что я бы с удовольствием перешёл на тех задачах, где мы используем сишарп: http://nemerle.org/Main_Page
Статья на русском языке: http://rsdn.ru/article/nemerle/NemerleIntro.xml
Quick guide to all Nemerle features: http://nemerle.org/Quick_Guide
Задолбал идиоцкий сишарп, для которого у нас .Net даже не 2.0. Тупой синтаксис для кухарок, с кастрированным мозгом и нерасширяемая семантика самого языка. А хочется хорошего! Вот такого:
Или такого:
Или такого:
И такого:
Ещё такого:
И ещё много чего хочется: "ленивые" вычисления, лямбда-функции, тупели, макросы изменяющие семантику языка, передачу функций как значений и...
Интересно, когда они до ума доведут сей продукт? Шефу моск я бы смог промыть, а всю остальную братию потряс бы крутым поворотом в их работе.
Статья на русском языке: http://rsdn.ru/article/nemerle/NemerleIntro.xml
Quick guide to all Nemerle features: http://nemerle.org/Quick_Guide
Задолбал идиоцкий сишарп, для которого у нас .Net даже не 2.0. Тупой синтаксис для кухарок, с кастрированным мозгом и нерасширяемая семантика самого языка. А хочется хорошего! Вот такого:
В ответ на:
private foo(f : int -> int, v : int) : int
{
f(f(v));
}
private foo(f : int -> int, v : int) : int
{
f(f(v));
}
Или такого:
В ответ на:
unless (match (a) { | 1 => true | _ => false })
Foo();
unless (match (a) { | 1 => true | _ => false })
Foo();
Или такого:
В ответ на:
try {
code
}
catch {
| e is ArgumentNullException => ...
| e is OverflowException => ...
| _ => ...
}
try {
code
}
catch {
| e is ArgumentNullException => ...
| e is OverflowException => ...
| _ => ...
}
И такого:
В ответ на:
def a = 1;
def b = Dictionary.[string, int]();
def a = 1;
def b = Dictionary.[string, int]();
Ещё такого:
В ответ на:
def newList = $[x | x in list1, x > 5, x < 30];
def newList = $[x | x in list1, x > 5, x < 30];
И ещё много чего хочется: "ленивые" вычисления, лямбда-функции, тупели, макросы изменяющие семантику языка, передачу функций как значений и...
Интересно, когда они до ума доведут сей продукт? Шефу моск я бы смог промыть, а всю остальную братию потряс бы крутым поворотом в их работе.

Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 00:38
in Antwort voxel3d 31.07.06 22:08
Безнадега...
Мне вот завтра совсем простую штукенцию надо сделать - динамический массив, содержащий интерфейсы... потом построить навигацию - по интерфейсам, но с референсами на реальный объекта... ПОлучается три уровня одних интерфейсов, не считая, разумеется, стандартных имплементаций... вроде все понятно, но вот как я буду удалять объекты и соответственно - интерфейсы, не имея деструкторов - пока не придумкал...
В остальном - детище Билли - если работает и в чем-то совпадает с документацией - уже много...
Мне вот завтра совсем простую штукенцию надо сделать - динамический массив, содержащий интерфейсы... потом построить навигацию - по интерфейсам, но с референсами на реальный объекта... ПОлучается три уровня одних интерфейсов, не считая, разумеется, стандартных имплементаций... вроде все понятно, но вот как я буду удалять объекты и соответственно - интерфейсы, не имея деструкторов - пока не придумкал...
В остальном - детище Билли - если работает и в чем-то совпадает с документацией - уже много...

NEW 01.08.06 00:58
in Antwort voxel3d 31.07.06 22:08, Zuletzt geändert 01.08.06 01:12 (scorpi_)
Ну и кто не даёт промывать моск шефу, если язык ".NET compatible"?
ЗЫ Ну и кто недавно наезжал на С++, напирая на сложность языка? А это не сложно?
ЗЗЫ Кстати ещё ни разу не встречал человека, сразу легко и просто воспринявшего "functional programming". И причина у этого по-моему скромному мнению крайне проста - functional programming не является для человека нормальным способом мышления. Человек мыслит именно императивно - сделай то, сделай это, если третье сделай четвёртое. functional programming является ломкой естественного мышления человека, и именно поэтому оно не получило распостранения до сих пор, и не получит его в будущем.
ЗЫ Ну и кто недавно наезжал на С++, напирая на сложность языка? А это не сложно?
ЗЗЫ Кстати ещё ни разу не встречал человека, сразу легко и просто воспринявшего "functional programming". И причина у этого по-моему скромному мнению крайне проста - functional programming не является для человека нормальным способом мышления. Человек мыслит именно императивно - сделай то, сделай это, если третье сделай четвёртое. functional programming является ломкой естественного мышления человека, и именно поэтому оно не получило распостранения до сих пор, и не получит его в будущем.
NEW 01.08.06 01:04
in Antwort Russman 31.07.06 23:49
> Перл, как всегда, рулит.
Да ну, нет, нифига он рулит. Его дизайн это тихий ужас. Не зря его в мейнстриме нет. Emerle очень многообещающе выглядит и весьма подходящая замена была бы шарпу, С++ и жабе, а на Perl перелезать, нафиг-нафиг...
Да ну, нет, нифига он рулит. Его дизайн это тихий ужас. Не зря его в мейнстриме нет. Emerle очень многообещающе выглядит и весьма подходящая замена была бы шарпу, С++ и жабе, а на Perl перелезать, нафиг-нафиг...
Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 01:08
in Antwort scorpi_ 01.08.06 00:58
Он ещё не готов. Релиза ещё не было, у компилятора пока детские болезни -- баги при выдаче сообщений об ошибках и ещё что-то там; отладка пока не работает, некоторые фичи заявленные не работают пока, гуй не в чем рисовать пока. Сырой он, чтобы на него переходить.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 01:15
in Antwort Murr 01.08.06 00:38, Zuletzt geändert 01.08.06 01:55 (voxel3d)
А нафиг объекты удалять? Обнуляйте ссылки, сборщик мусора сам прибъёт всё когда-нибудь. Если ресурсы надо освобождать, имплементируйте IDisposable и дёргайте либо Dispose(), либо, что лучше, используйте using() {...} А так, строго говоря, никак - детерминированного уничтожения объектов в дотнете нет, хаки с:
obj = null;
GC.Collect();
GC.WaitForPendingFinalizers()
GC.Collect();
не в счёт.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 01:47
in Antwort scorpi_ 01.08.06 00:58
> ЗЫ Ну и кто недавно наезжал на С++, напирая на сложность языка? А это не сложно?
Это сложно. Хотя, мне это выучить проще, чем запомнить 26 уровней приоритетов операций в Perl.
Но, вс╦-таки, это меньше спецификации C++ на тысячу страниц. Потом, Nemerle позволяет использовать в начале привычный императивный стиль написания, используя местами привычный си подобный синтаксис и используя привычную систему классов .Net. Разговоры же о сложности С++ не озачают, что на н╦м нельзя писать, я говорил о том, что у С++ есть недостатки.
> Кстати ещ╦ ни разу не встречал человека, сразу легко и просто воспринявшего "functional programming". И причина у этого по-моему скромному мнению крайне проста - functional programming не является для человека нормальным способом мышления. Человек мыслит именно императивно - сделай то, сделай это, если третье сделай четв╦ртое.
Нее, литературы мало нормальной, потом, функциональное программирование очень незнакомая вещь в стране, где вместо computer science преподают Паскаль в универах. Императивный тоже не совсем нормальный способ мышления. Надо голову сначала в машину Тьюринга превратить.
Это сложно. Хотя, мне это выучить проще, чем запомнить 26 уровней приоритетов операций в Perl.

> Кстати ещ╦ ни разу не встречал человека, сразу легко и просто воспринявшего "functional programming". И причина у этого по-моему скромному мнению крайне проста - functional programming не является для человека нормальным способом мышления. Человек мыслит именно императивно - сделай то, сделай это, если третье сделай четв╦ртое.
Нее, литературы мало нормальной, потом, функциональное программирование очень незнакомая вещь в стране, где вместо computer science преподают Паскаль в универах. Императивный тоже не совсем нормальный способ мышления. Надо голову сначала в машину Тьюринга превратить.

Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 10:25
in Antwort voxel3d 01.08.06 01:15
Дело в том, что удалить объект - просто. Занулил и нет его... вроде как нет... потому как физически он живет до обнуления последней ссыллки на себя - только после этого ГЦ его прибирает. У меня же как раз ситуация, когда я _не_ знаю всех ссылок... Диспозе в этом случае не работает...
Хаки - не устраивают. Да и накладно дергать ГЦ напрямую. Тестили это уже - чистит не все, времени занимает кучу... Для себя решил - прибивать не буду, буду помечать как убитые... благо, объем там не слишком большой...

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

NEW 01.08.06 11:23
Когда я учился в Ганноверском университете, первым языком был Scheme :-P
in Antwort voxel3d 01.08.06 01:47
В ответ на:
функциональное программирование очень незнакомая вещь в стране, где вместо computer science преподают Паскаль в универах.
функциональное программирование очень незнакомая вещь в стране, где вместо computer science преподают Паскаль в универах.
Когда я учился в Ганноверском университете, первым языком был Scheme :-P
NEW 01.08.06 12:00
in Antwort Simple 01.08.06 11:23
Я про Россию, полагаю, там у Скорпи было большинство знакомых-программистов, которым функциональщина сложна.
Dropbox - средство синхронизации и бэкапа файлов.
01.08.06 12:01
in Antwort Murr 01.08.06 10:25
Так я не понял, проблема-то в чём, чтобы ресурсы освобождать или что?
Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 12:23
in Antwort voxel3d 01.08.06 12:00
Я давным-давно живу в Германии, и моё настоящее знакомство с программированием произошло уже здесь. Кстати машина Туринга и императивное программирование также требует разного мышления, и МТ также неестественна для человека.
NEW 01.08.06 13:24
in Antwort scorpi_ 01.08.06 12:23
Тогда, странно это слышать. У меня нет ни одного знакомого, отучившегося в универе здесь, чь╦ обучение не начиналось с какого-нибудь ML.
Dropbox - средство синхронизации и бэкапа файлов.
NEW 01.08.06 13:50
in Antwort voxel3d 01.08.06 13:24
При чём тут обучение?
Я сказал, что фп не является для человека нормальным образом мышления.
PS В Хагене фп в обязательную программу не входит.

PS В Хагене фп в обязательную программу не входит.
NEW 01.08.06 13:57
in Antwort voxel3d 01.08.06 12:01
Проблема в том, что имеющийся механизм не устраивает, а альтернативы нету.
Если проще - то см. Симпла...
Если проще - то см. Симпла...

NEW 01.08.06 13:59
in Antwort scorpi_ 01.08.06 12:23
МТ также неестественна для человека
-------
Не совсем. Шизоиды, на начальной стадии, как раз реализуют именно ее - сколь глубоко бы не забрались в свом бреду, но всегда возвращаются на ту же точку...
-------
Не совсем. Шизоиды, на начальной стадии, как раз реализуют именно ее - сколь глубоко бы не забрались в свом бреду, но всегда возвращаются на ту же точку...

NEW 01.08.06 15:58
in Antwort Simple 01.08.06 14:07
Если бы больше людей не удерживались - Билли был бы вынужден признать, что делать софт он толком не умеет...
