|
|
3.205, Аноним (-), 11:22, 29/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Я в курсях, спасибо. Я вспомнил мульт "Тачки" просто. Там было Rusteze, евжли память мне не врет. :)
| |
|
|
1.2, Аноним (-), 12:07, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
по описанию выглядит круто, хорошо бы, чтоб из него получилось что-то путное.
| |
1.5, Anonus (?), 12:25, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
а результирующие бинарники будут жестко завязаны на libxul и libxpcom, да?
| |
|
2.20, oWeRQ (ok), 13:03, 24/01/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Учитывая что libxul и libxpcom возможно будут частично на rust, да, они будут завязаны.
| |
|
1.7, terr0rist (ok), 12:37, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Продолжаем строить вавилонскую башню? Стопицот языков с одинаковыми возможностями, разница только в том, как писать слово function или fn или func или def или "мнепофигкакэтоназватьглавноечтобработало"?
| |
|
2.206, Аноним (-), 11:22, 29/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Продолжаем строить вавилонскую башню? Стопицот языков с одинаковыми возможностями, разница
> только в том, как писать слово function или fn или func
> или def или "мнепофигкакэтоназватьглавноечтобработало"?
Фатальный недостаток же. Оно написано не нами.
| |
|
1.8, Ваня (??), 12:42, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Ориентация на безопасность и отсутствие типов данных. Это как?
И что будет если "i=ptr[0]"? Не зная размера?
Это вообщене понял: "никаких нулевых и потерянных указателей. Автоматическое управление памятью".
ptr = malloc();
free(ptr);
И чему будет равен ptr?
А вообще, ещё один бесполезный язык, ещё один С/С++, коих уже пару сотен, а то и тысяч.
| |
|
|
3.15, Ваня (??), 12:57, 24/01/2012 [^] [^^] [^^^] [ответить]
| –6 +/– |
Т.е. живём без динамической памяти? Без списков, деревьев и дин.массивов?
| |
|
4.24, rain87 (?), 13:09, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
ну почему же. с ними, просто память под них будет выделяться и освобождаться автоматически, а не вручную программистом
| |
|
5.30, Ваня (??), 13:21, 24/01/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Если есть указатели, динамическая память и функция её освобождения, то я могу указатель сделать невалидным.
Без явного контроля над освобождением памяти ни о какой эффективности речь не идёт.
| |
|
6.32, Аноним (-), 13:25, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> и функция её освобождения
Никаких функции освобождения, ты читать умеешь?
> Без явного контроля над освобождением памяти ни о какой эффективности речь не идёт.
Очередная анонимная икспертиза. Конечно же без пруфов.
| |
|
7.34, Ваня (??), 13:28, 24/01/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Я комментирую статью. И высказываю свою точку зрения. Мне на этот язык начхать, как и всем собственно.
| |
|
8.88, Аноним (-), 15:34, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А я думал что ты кормишь троллей сухим кормом, путем просто сказочного торможени... текст свёрнут, показать | |
|
|
6.61, тоже Аноним (ok), 14:42, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ждем примера с превращением std::tr1::shared_ptr в невалидный.
Это возможно, конечно.
Но только на более низком уровне, который в Rust'е, очевидно, будет недоступен.
| |
|
7.66, Ваня (??), 14:51, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
free(ptr)
Функцию free прошу заменить на функцию освобождения дин.памяти.
После указатель будет либо NULL, либо ссылаться хрен пойми на что. И то, и другое описано как невозможное, с чего собственно и начался наш с вами диалог.
| |
|
|
9.119, Ваня (??), 17:38, 24/01/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Повторюсь ещё раз если есть указатели, динамическая память и функция её освобож... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
3.16, Ваня (??), 12:58, 24/01/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
"Ориентация на практическое применение: Нет номинальных типов или иерархии типов"
| |
|
4.31, Аноним (-), 13:23, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> "Ориентация на практическое применение: Нет номинальных типов или иерархии типов"
"Rust является языком со строгой типизацией, сфокусированным на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий", вообще-то.
"нет номинальных типов или иерархии типов" значит всего лишь, что не получится использовать long int и short int в одном выражении. (http://en.wikipedia.org/wiki/Nominative_type_system)
| |
|
5.33, Ваня (??), 13:26, 24/01/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Под типами данных (базовыми, стандартными, номинальными, типовыми, ..) всю жизнь подразумевал как раз эти самые char, int, float, ..
long, short, signed, unsigned, .. - всю жизнь называл модификаторами.
Ну да ладно, вопрос терминологии.
| |
|
|
7.57, Ваня (??), 14:16, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Спорно.
int - целое число.
long int - целое число с бОльшим количеством значений
signed int - знаковое целое число
Было целое число и осталось целое число.
| |
|
8.162, шифер (?), 09:42, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Слежу за дискуссией и не понимаю Вот парень вроде какое-то отношение имеет к пр... текст свёрнут, показать | |
|
9.165, Ваня (??), 11:48, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Хмм Вот мне тоже вас оскорблять, обвинять в непрофессионализме и грязно ругат... текст свёрнут, показать | |
|
|
|
|
13.193, arisu (ok), 19:59, 25/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | ну не мучай ванюшу, ну что ты, право 8230 он же тебе уже намекнул, что окончат... текст свёрнут, показать | |
|
|
11.191, arisu (ok), 19:53, 25/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | подожди, не спеши, ванюша спешно читает хотя вон в другом каменте утверждает, ч... текст свёрнут, показать | |
|
10.192, arisu (ok), 19:55, 25/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | тебя таки окончательно выгнали с должности стажёра и перевели в вечные дежурные ... текст свёрнут, показать | |
|
|
|
7.145, arisu (ok), 00:58, 25/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> модификаторы здесь разве что signed/unsigned
у ванюши всё, что с пробелом — «модификатор». то, что название типа может быть более, чем в одно слово — в череп не помещается.
| |
|
8.159, www2 (??), 07:25, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Ну вообще-то, long и short - это и в самом деле модификаторы типа int, так же ка... текст свёрнут, показать | |
|
9.160, arisu (ok), 07:39, 25/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | вопрос достаточно спорный, конечно трактовать можно и так, и иначе я бы, всё-т... текст свёрнут, показать | |
|
10.170, Ваня (??), 12:48, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Спецификации языка программирования С99 и более поздние больше не авторитет Т... текст свёрнут, показать | |
|
|
12.173, Ваня (??), 13:28, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Для компилятора языка программирования Си спецификация практическая реализация ... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
3.62, Crazy Alex (??), 14:44, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Сорри, погорячился, оно таки инопланетное. То есть может за многими рещениями и есть толковые обоснования, но их тогда надо было описать на сайте. Я всего лишь кратенько пробежался по описанию типов - и слегка очумел. Как минимум, конструкция alt для биндинга переменных к членам структуры и отсутствие нормального доступа через точку вызывают сомнения. Также как и требование явного боксинга для объектов при преедаче в функцию, принимающую итерфейс. Из замеченного - ещё угловые скобки для параметров шаблонов - им что, проблем плюсов с парсингом хочется?
| |
|
4.72, Crazy Alex (??), 15:07, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
так, что-то я сегодня туплю. Можно там через точку обращаться, это меня конструкция alt с толку сбила. И в общем язык довольно забавный - эдакий конкурент D, авторы явно много чему научились на дишном опыте и стараются не наступать на грабли (находя, впрочем другие).
Хотя кое-где явная чушь. Допустим, что им мешает immutable shared boxes гонять между тасками - я не понимаю. Но они для таких случаем используют зачем-то unique boxes, которые в один момент могут быть доступны только одному таску. Всё, что можно предположить - что это артефакт подсчета ссылок, который между потоками работает откровенно паршиво.
| |
|
|
|
1.13, Crazy Alex (ok), 12:50, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
судя по описанию - язык довольно адекватный, начиная с бинарной совместимости структур с сишными
| |
|
2.17, Ваня (??), 13:00, 24/01/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
"бинарной совместимости структур с сишными"
Это как?
| |
|
|
4.28, Ваня (??), 13:19, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
А теперь объясни мне "на пальцах" что из себя представляет "бинарная совместимость со структур данных двух разных языков программирования".
| |
|
5.35, Аноним (-), 13:29, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> А теперь объясни мне "на пальцах" что из себя представляет "бинарная совместимость
> со структур данных двух разных языков программирования".
Существуют конвенции о том, как должны выглядеть структуры данных после компиляции. Так, struct {int_8_t a; long b int_32_t} может в целом занимать как пять байт, так и шестьдесят четыре, если не придерживаться какой-то конкретной конвенции выравнивания (т.е. b может находиться по смещению +4, так и по смещению +1). Однако если её не придерживаться, между собой не будут совместимы не только обьектные файлы разных языков, но и обьектные файлы одного языка, скомпилированные разными компиляторами. Поскольку основная часть библиотек написана на Си, совместимость с Си важна для любого языка. Так понятно?
| |
|
6.36, Ваня (??), 13:33, 24/01/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
Открываю вам Америку: структуры АБСОЛЮТНО ВСЕХ языков программирования "бинарно совместимы".
| |
|
7.39, Аноним (-), 13:44, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Открываю вам Америку: структуры АБСОЛЮТНО ВСЕХ языков программирования "бинарно совместимы".
Ловлю на слове и жду демонстрации использования структур из Си в питоне. Или в яве. Или, если уж на то пошло, перловских хешей в паскале.
| |
|
8.40, Ваня (??), 13:48, 24/01/2012 [^] [^^] [^^^] [ответить] | –4 +/– | Формат объектных файлов один Значит могут использоваться Формат файлов obj в... текст свёрнут, показать | |
|
|
10.49, Ваня (??), 14:04, 24/01/2012 [^] [^^] [^^^] [ответить] | –3 +/– | Ещё раз А теперь с пояснениями для женщин, обезьян, и детей младшей группы фо... текст свёрнут, показать | |
|
|
12.55, Ваня (??), 14:12, 24/01/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Вы из милиции Нужно было сказать сразу, я бы повторил дважды А теперь с поя... текст свёрнут, показать | |
|
|
14.70, Ваня (??), 15:00, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Сами же ответили на свой вопрос - Покажи мне формат файла объектника Если объ... текст свёрнут, показать | |
|
|
|
|
|
9.50, Аноним (-), 14:05, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А еще 640 килобайтов хватит всем, да Не, ну ты бы ради приличия посмотрел чтоли... текст свёрнут, показать | |
|
10.54, Ваня (??), 14:11, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А теперь с пояснениями для женщин, обезьян, и детей младшей группы формат файл... текст свёрнут, показать | |
|
11.60, Аноним (-), 14:40, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Так я не понял, а ты к какой из этих категорий относишься Ко всем сразу учиты... большой текст свёрнут, показать | |
|
12.64, Ваня (??), 14:47, 24/01/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Я ни говорил ничего из того, что вы опровергаете Если вам нравится высказывать ... текст свёрнут, показать | |
|
11.93, Аноним (-), 16:06, 24/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Ваня, ты неадекват Это же твоя фраза - Формат объектных файлов один Значит мо... большой текст свёрнут, показать | |
|
12.95, Ваня (??), 16:31, 24/01/2012 [^] [^^] [^^^] [ответить] | –2 +/– | - Формат объектных файлов один - У Си и Rust формат объектных файлов один Что ... текст свёрнут, показать | |
|
|
14.107, Ваня (??), 17:13, 24/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, я это к тому что слова, предложения и абзацы нужно читать целиком, а не выд... текст свёрнут, показать | |
|
|
|
|
|
|
|
7.47, Аноним (-), 14:01, 24/01/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Открываю вам Америку: структуры АБСОЛЮТНО ВСЕХ языков программирования "бинарно совместимы".
Размечтался. Попробуй в яваскрипте отпарсить "массив байтов", заведомо адресуя его как именно байты, а не абстрактные символы в вакууме. Тебя будет ждать немало интересных открытий насчет того какой ты все-таки ламер.
| |
|
8.51, Ваня (??), 14:07, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А попробуй в Прологе работать с бинарным деревом, созданным в С Зачем бред пи... текст свёрнут, показать | |
|
9.58, Аноним (-), 14:26, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Так если по твоему мнению структуры бинарно одинаковые - фигня вопрос, должно бы... текст свёрнут, показать | |
|
10.63, Ваня (??), 14:46, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Rust и С - языки программирования Толпа анонимов утверждает что бинарно совмес... текст свёрнут, показать | |
|
11.75, Аноним (-), 15:13, 24/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Изначально ты утверждал какой-то булшит насчет форматов объектников При том сов... текст свёрнут, показать | |
|
|
|
|
7.65, Crazy Alex (??), 14:49, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Вы либо идиот, либо не знаете, к чему прицепиться. И то и другое выглядит, мягко говоря, не очень.
Ничего, объясню, мне не жалко. Совместимость структур означает, что выполняются сишные правила по лайауту - отсутствие лишних полей, совпадающий порядок полей, в конце концов, то, что структура - это простая последовательность полей а не какое-нибудь b-дерево или хеш-таблица.
Другими словами, если отдать в C-библиотеку адрес структуры, созданной в Rust, то там с ней можно будет работать без дополнительных плясок с бубном, определив аналогичную по типам полей и порядку их следования структуру.
| |
|
8.69, Ваня (??), 14:55, 24/01/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Свои оскорбления оставьте при себе struct xxx float f 1 int i 1 char c... текст свёрнут, показать | |
|
|
|
11.91, xxx (??), 15:45, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Эт конечно хорошо, однако как быть с так часто используемыми расширениями в Си к... текст свёрнут, показать | |
|
12.96, Ваня (??), 16:47, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Оставь Он пишет о чём-то своём, игнорируя всё что ему говорят Пример с битовым... текст свёрнут, показать | |
12.97, Ваня (??), 16:50, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Я уж не говорю про union и пр сяшные заморочки typedef struct _OVERLAPPED U... текст свёрнут, показать | |
|
|
|
|
|
Часть нити удалена модератором |
17.128, Аноним (-), 17:57, 24/01/2012 [ответить] | +/– | А, ну конечно В качестве примеров языков программирования следует приводить лиш... текст свёрнут, показать | |
17.150, arisu (ok), 02:14, 25/01/2012 [ответить] | +/– | то ли дело няшный m vc как там дела с поддержкой C99 что, всё по-прежнему ах,... текст свёрнут, показать | |
|
|
15.137, 1 (??), 19:48, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А ты это писал в файлик с расширением c или cpp попробуй файлик с расшире... текст свёрнут, показать | |
15.139, 1 (??), 19:51, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А ты это писал в файлик с расширением c или cpp попробуй файлик с расшире... текст свёрнут, показать | |
|
14.111, Ваня (??), 17:19, 24/01/2012 [^] [^^] [^^^] [ответить] | –2 +/– | Ещё раз поднимите глаза где я это утверждал и прочтите 2 раза Если не поймёте о... текст свёрнут, показать | |
|
|
16.115, Ваня (??), 17:32, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | А теперь ещё выше, ответом на что были мои слова Даю подсказку я спросил что т... текст свёрнут, показать | |
|
17.120, Аноним (-), 17:41, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Еще раз поднимите глаза к своему вопросу про бинарную совместимость и прочтите 2... большой текст свёрнут, показать | |
|
18.124, Ваня (??), 17:46, 24/01/2012 [^] [^^] [^^^] [ответить] | –2 +/– | Вот уж не знал что в скомпилированном коде структуры живут своей отдельной жизнь... текст свёрнут, показать | |
|
|
|
|
|
13.143, xxx (??), 22:57, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален Это строки из той самой известной Божественной комедии ... текст свёрнут, показать | |
|
14.166, Ваня (??), 12:12, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Вовсе нет 8-байтный указатель сохранили как верхнюю и нижнюю часть чтобы не п... текст свёрнут, показать | |
|
15.169, xxx (??), 12:36, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Эт, понятно и нормально Мне больше нравится не писать с использованием так назы... текст свёрнут, показать | |
|
16.175, Ваня (??), 13:33, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Вы пожаловались на ад, я объяснил нормальность и услышал это понятно и нормальн... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
15.184, Ваня (??), 14:33, 25/01/2012 [^] [^^] [^^^] [ответить] | +/– | Хмм Язык Си может использоваться для написания программ только на процессорах... текст свёрнут, показать | |
|
|
17.199, Ваня (??), 11:02, 26/01/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Можно написать программу для процессора в котором 10 бит - да, можно скомпилиров... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
10.100, Ваня (??), 16:56, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Поправлюсь если возможности языка это позволяют Сути это не меняет бинарные д... текст свёрнут, показать | |
|
|
|
|
14.121, Ваня (??), 17:43, 24/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | В Си нет типа строка Этим он отличается от многих ЯВУ, и максимально приближен ... текст свёрнут, показать | |
|
|
16.127, Ваня (??), 17:56, 24/01/2012 [^] [^^] [^^^] [ответить] | +/– | Вообще то в Паскале никто не запрещает создать динамический массив типа СИМВОЛ ... текст свёрнут, показать | |
|
|
|
|
22.200, Ваня (??), 11:06, 26/01/2012 [^] [^^] [^^^] [ответить] | +/– | Я открою вам Америку 1 программа в конечном счёте будет выполняться в среде ОС... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.19, Аноним (-), 13:01, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А чем их vala не устроила?
И безопасность, а автоуправление памятью, и распараллеливание - всё есть.
И не нужно ждать пока оптимизатор допилят - вала компилируется в С, для которого всё уже заоптимизировано по самое не балуйся :)
| |
|
|
|
4.71, Ищавин (ok), 15:01, 24/01/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это значит пока хардкорной оптимизации и невероятно сложное прогнозирование скорости исполнения кода.
| |
|
3.208, Аноним (-), 11:30, 29/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Наверное потому, что Вала отдает Джавой и пошарпанным Си.
Она просто не ими написана :D:D:D:D:D
| |
|
2.48, Аноним (-), 14:02, 24/01/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А чем их vala не устроила?
NIH. Каждая команда должна написать свою операционку, браузер и язык программирования. Даже если половина из них будут нафиг никому не нужны :)
| |
|
3.209, Аноним (-), 11:30, 29/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> А чем их vala не устроила?
> NIH. Каждая команда должна написать свою операционку, браузер и язык программирования.
> Даже если половина из них будут нафиг никому не нужны :)
Фатальный недостаток же :D:D:D:D
| |
|
2.86, Crazy Alex (??), 15:33, 24/01/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Лучше скажите, чем их D не устроил. Тут же соврешенно явно по мотивам написано, и сложность не меньше. С другой стороны - язык, в общем-то, инетересный. После того как понаступают на грабли и выпустят следующую версию (как у D и было, и как бывает у любого языка с кучей экспериментальных фич) - может оказаться вполне рабочим. И даже если нет - это полигон дя обкатки этих самых фич, а особенно - их взаимодействия, на которое и приходится 90% проблем. Так что как ни крути - хорошо, что делают.
| |
2.130, netch (ok), 18:27, 24/01/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А чем их vala не устроила?
> И безопасность, а автоуправление памятью, и распараллеливание - всё есть.
> И не нужно ждать пока оптимизатор допилят - вала компилируется в С,
> для которого всё уже заоптимизировано по самое не балуйся :)
Rust, Vala, D, Go, ещё десяток других...
Я думаю, просто дошли до того уровня технологий, когда такой язык (и переводчик из него в Си, чтобы не мучаться с глубинным уровнем компиляции и взять готовые средства) способен написать любой продвинутый студент. И теперь идёт борьба вариантов.
Я бы апеллировал в этой возне за Go, если бы он не был таким эстетически уродливым (чисто на мой вкус), а за 0 как префикс восьмеричной константы в XXI веке и прочие раритеты я бы просто расстреливал на месте. В Rust хоть этого нет - чуть лучше умеют чиститься от прошлых гадостей. Но надо смотреть и на другие особенности.
| |
|
1.52, qwerty (??), 14:08, 24/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вот зачем в определении функции добавлять fn, с ним синтаксис выглядит как-то коряво.
| |
|
2.68, Crazy Alex (??), 14:54, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Там у них этого "зачем" - талмуд написать можно. А еще больше будет, когда попытаются со всем этим взлететь. Уже то, что тип структуры определяется её полями, а не именем, создаст им массу проблем вида "суммируем груши с чемоданами".
| |
|
3.79, Аноним (-), 15:19, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> проблем вида "суммируем груши с чемоданами".
И получаем чемодан груш. Вроде все логично :)
| |
|
4.85, Crazy Alex (??), 15:30, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Это если код ожидал, что получит груши и чемоданы. А тут скорее получим чемоданогрушу... ну или грушечемодан, как больше нравится.
| |
|
3.123, userd (ok), 17:46, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Однако, груши с чемоданами сложатся только тогда, когда их программист сложит.
Ослабление статического контроля типов, конечно, может показаться регрессом по сравнению со многими другими языками. Нужно смотреть, что такой ценой "покупается".
| |
3.138, mf (ok), 19:48, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Уже то, что тип структуры определяется её полями, а не именем...
Для библиотек на динамических языках это норма и называется duck typing, может для этого.
| |
|
2.101, userd (ok), 17:04, 24/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Вот зачем в определении функции добавлять fn, с ним синтаксис выглядит как-то коряво.
Вероятно, для грамматики LL(1).
Довольно полезное свойство для ускорения компиляции и формирования понятных сообщений.
| |
|
|
4.154, arisu (ok), 02:25, 25/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
> И поэтому они сделали шаблоны через <>…
а это уже потому, что: «а? как? что? можно и по-другому? ёлы-палы… алё! пацаны! срочно всё переделываем, тут малява пришла, что шаблоны можно делать и не так, как в C++!»
| |
4.185, userd (ok), 14:51, 25/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Если рассматривать шаблон как своего рода функцию, то использование круглых скобок было бы предпочтительнее. Но автор решил использовать <>, и написал подходящую LL(1) грамматику. Очевидно, автор не собирается параметризовать шаблоны произвольными выражениями, а только именами типов. Поэтому затруднений подобных затруднениям при компиляции шаблонов в C++ нет.
Право слово, на практике применялись языки с более серьёзными заморочками в синтаксисе.
Вспомните PL/I или Pick BASIC. В первоначальном варианте языка C были операторы типа =+, которые потом заменились на +=. А тут версия 0.1, всё ещё может измениться.
| |
|
5.194, arisu (ok), 20:35, 25/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
на самом деле всё выглядит намного проще: дизайном языка никто не занимался. собралась Могучая Кучка и решила, что вместо нормального дизайна вполне покатит солянка из фич. не то, чтобы это было очень плохо, но всё-таки…
| |
|
6.197, Crazy Alex (ok), 04:28, 26/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ага, у меня такое же впечатление собралось. Это не просто не плохо - это очень полезно - в отличие от тщательно разработанной системы такая солянка даёт довольно свободно добавлять/удалять/менять фичи, так что в смысле наработки опыта создания языков тут очень много выгод. А взлетит/не взлетит - от качества языка, конечно зависит - но весьма слабо. Чего стоит только веб - подавляющее большинство серверов - PHP, а на клиентах застрял JS (и эти люди называют Перл write-only языком!). На их фоне проблемы какого-нибудь D или Rust - детские игры. Хотя PHP сейчас сильно окультурили, конечно - вон, даже типизацию тихой сапой вводят.
| |
|
7.198, arisu (ok), 04:36, 26/01/2012 [^] [^^] [^^^] [ответить]
| +/– |
js нормальный вполне, хоть и корявый немного.
а вот насчёт создания языка… оно, конечно, ничего бы — но авторы, я так понимаю, делают это на деньги тормозилла фаундэйшн? честное слово: если бы я давал тормозилле денег, то немедленно бы прекратил. я понимаю, когда студенты от избытка сил играют в то, во что взрослые уже наигрались и знают, как не надо делать; но когда достаточно взрослые и опытные, вроде бы, лбы — и занимаются тем же самым, да ещё и на зарплате… неплохо устроились, тоже хочу ваньку валять за деньги. да хоть здешнего.
| |
|
|
|
|
|
|
1.152, Аноним (-), 02:19, 25/01/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я не знаю как популярен станет этот язык,
но название реализации от МикроСофт должно начинатся с приставки Пидо
| |
|