Блог пользователя A.K.Goharshady

Автор A.K.Goharshady, 15 лет назад, перевод, По-русски

Итак, языком этого раунда является Io. Io (первая буква — заглавная i) — скриптовый, чисто объектно-ориентированный язык программирования с динамической типизацией. Язык был разработан Стивом Декортом (Steve Dekorte) в 2002 году. Реализация является кросплатформенной, открытой (лицензия BSD) и рассчитана на лёгкость встраивания в качестве скриптового языка (из Wikipedia). Версия, установленная на Codeforces — Io-2008-01-07 (Win32).

Одна из основных особенностей языка — минималистичность синтаксиса. Код знаменитой программы "Hello World!" на этом языке выглядит так:

"Hello World!" println

А вот пример решения задачи "A+B" (числа заданы на разных строках):

a := File standardInput readLine asNumber
b := File standardInput readLine asNumber
c := a+b
c println

Вы можете скачать интерпретатор отсюда и следовать инструкциям из дистрибутива для установки. Также дистрибутив доступен по ссылке. Пароль — f0ca4da70e5c5f80

Дополнительную информацию можно прочесть в Wikipedia, а документация доступна на официальном сайте здесь. Вы можете найти больше еще информации, используя Google. Удачи и веселого вам контеста!

Во время контеста, вы можете пользоваться вкладкой "Запуск", но мы не гарантируем ее работоспособность при большом ажиотаже. В таком случае будьте готовы установить интерпретатор локально.

Обратите внимание, что так как интерпретатор Io всегда возвращает код возврата 0 и не имеет возможности проверить синтаксис программы до запуска, то вердикты "Ошибка компиляции" и "Ошибка времени исполнения" будут отображаться как "Неправильный ответ".

Задачи не отсортированы от простой к сложной.


Для предварительной загрузки доступен зашифрованный по паролю архив. Контест задерживается примерно на 10 минут. Пароль будет доступен примерно за 1 минуту до начала контеста.

[Вольный перевод оригинального поста]

Всем привет!

Unknown language round #1 был проведен 21-го февраля и мы решили повторить этот эксперимент.

Он будет проведен по правилам обычного ACM-ICPC контеста. Единственная особенность раунда - задачи на нем можно будет сдавать, используя один-единственный язык программирования. Какой именно это будет язык? Пока - секрет! Мы надеемся, что вам придется его изучить во время контеста, а сам язык будет анонсирован примерно за одну минуту до начала соревнования.

Участие в этом раунде не повлияет на рейтинг - это такой веселый эксперимент. Задачи будут в большей степени ориентированы на умение писать код, чем на применение каких-либо алгоритмов.

Дата раунда выбрана не случайна - это канун Нового Года в Иране и некоторых других странах.

Хафт син

Авторы задач — Alireza Farhadi, Saeed Ilchi, Sajjad Ghahramanpour, Zahra Rohanifar и я. Мы очень благодарны Михаилу Мирзаянову и Артему Рахову.

Кроме того, 20-е марта это день национализации нефти в Иране. Поэтому, мы посвящаем этот раунд Мосаддык.


Мосаддык, Иранский бывший премьер-министр и лидер национального фронта в национализации нефти
  • Проголосовать: нравится
  • +52
  • Проголосовать: не нравится

15 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится
Happy  New Year (Norouz)

I like  Unknown Language Round 2 #
15 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится
When this match will appear on the 'Contests' page?
15 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится
Happy Nowruz to all!
15 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
unrated?
15 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится
yes, it's unrated like unknown language round #1.
15 лет назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится
Happy norowz to all.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Bad thing it will coincide with CodeChef Cook-off. I wanted to finally participate in ULR. Probably next time
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Happy new year (1390)!


15 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
It will overlap with March Cook-Off Challenge on CodeChef!
15 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится
это какун(?) Нового Года.
15 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится
А у казахов этот новогодний праздник называется Наурыз (Nauryz).
15 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится
Есть предположения, что это может быть за язык? Делаем ставки ))
15 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится
Could we not have a separate rating for the Unknown Language Rounds? It would be great and it would invite more serious participants.
15 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится
Почему контест не рейтинговый? Что мешает ему стать таковым?
15 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Замечательный контест!

Сродни тому, как выжить в незнакомой стране. Нужно быстро овладеть языком, чтобы тебя не съели :)

Так держать!

15 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
Согласен, Unknown-Lnaguage Contest должен быть рейтинговым. Люди, которые знают язык на момент начала соревнования (если такие вообще существуют), все равно составляют статистическую погрешность и на рейтинг влияют так же: в рамках погрешности. 
Если кто-то, наоборот, боится за свой рейтинг, сомневается в своих способностях к обучению и не хочет участвовать, то он может не участвовать =)
Практическая же польза огромная: язык программирования - всего лишь средство, инструмент, и настоящий программист (скажу громче, Инженер =) должен уметь быстро учиться пользоваться любым инструментом с прикладной целью, даже если раньше его никогда не "держал в руках".
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Хотел узнать - когда выбирается время проведение соревнования на другие олимпиады ориентируются, чтобы не перекрывались, а то вот? Очень хотелось поучаствовать, но...

P.S. Sorry that
is not in English
15 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
Прикольно. Этот контест понравился Павлу.
15 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится
А что лежит в архиве? что-то вроде компилятора / интерпретатора?
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Тут люди иностранные реквестировали про русские традиции...
Так вот всё же спрошу) Будет ли 1го апреля контест в честь Дня дурака смеха?)
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
A .7z? Really?
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Не компилится это чудо из архива... :(
...
[ 88%] Building C object addons/Socket/CMakeFiles/IoSocket.dir/source/IoEvOutRequest.c.o
/tmp/other/stevedekorte-io-4907d9d/addons/Socket/source/IoEvOutRequest.c: In function ‘IoEvOutRequest_RequestDoneCallback’:
/tmp/other/stevedekorte-io-4907d9d/addons/Socket/source/IoEvOutRequest.c:110:48: error: dereferencing pointer to incomplete type
/tmp/other/stevedekorte-io-4907d9d/addons/Socket/source/IoEvOutRequest.c:110:48: error: dereferencing pointer to incomplete type
make[2]: *** [addons/Socket/CMakeFiles/IoSocket.dir/source/IoEvOutRequest.c.o] Error 1
make[1]: *** [addons/Socket/CMakeFiles/IoSocket.dir/all] Error 2
make: *** [all] Error 2

P.S. GCC 4.5.2
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
В задаче H на входные данные "-0" надо выводить "0" или "-0"?  Это не очевидно из условия.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Как на мове Іо будет целый тип данных, например int64?
15 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -6 Проголосовать: не нравится
Все, wrong можно поздравлять с победой
15 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +3 Проголосовать: не нравится
Версия компилятора из архива, собранная под линукс, ругается на функцию slice и не работает с ней, зато работает с exSlice. Версия на сервере не работает с exSlice, зато работает со slice. Обидно, кучу времени убил на это. Причем все это время выдавало wa. Было бы хорошо видеть там рантайм или вообще вывод чекера (допустим, только для тестов из условия, если они не проходят).
  • 15 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    Версия под Линух вообще не собирается последним GCC.

    И вообще кстати странно, что exSlice не работает на сервере - такое впечатление, что у них там не такая версия, исходники которой в архиве, а более старая. Я смог собрать только версию из Генту более двухлетней давности - там exSlice уже было, мало того на использование slice ругалось "Warning in Command Line: 'slice' is deprecated. Use 'exSlice' instead.", но работало.

15 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
We can congratulate the participants wrong with a victory and tomek with a second place ahead of time
15 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится
Спасибо за контест, было интересно.
15 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
Really nice round!

But wasnt 00000 a litte too evil test case on H :)
15 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится
Nice round!
Unfortunately, i was late by 40 minutes.

Everyone, you must see my solution for D :)

http://www.iolanguage.com/paste/p/40c888e58.html
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
What is the way to convert a number to integer number?
 n = n / 10---> here n comes to be decimal and i want it to be integer....
15 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится
Some functions suck as slice, exSlice seem to have different behavior between my laptop and the judge. I got some WA at sample due to this difference.
I built the Io interpreter from the given archiver (on ubuntu 10.04).
Anyway, this is an extremely funny contest. Thanks to the authors.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
How to read two numbers in one line?
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
по больше таких контестов :)
15 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится
А я один писал в F поиск в ширину для подсчета компонент связности?
Раунд хороший получился, я первый, у кого 6 задач. Седьмую не сдал, т.к. писал фигню (см. выше)
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
python + lisp = io
15 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

as an author,i really wondered when i saw ivan.poplyshev's solution for problem D!

nice work man!

15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
like the event...It is really fun to code in other language and got to know about Io...
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Похоже я один нашел способ заставить язык самому разобрать строку в D. Хотя видимо написать разбор было быстрее.
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Nice contest, thanks.
I think these unknown languages can be added to the list of usual languages on usual rounds.
15 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +13 Проголосовать: не нравится
Today is one of the authors birthday!

Happy Birthday Amir ! :D
15 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится
Congratulation!!  wrong 2 won straight victories on Unknown Language Round!!
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Nice problems and nice language, it was very fun (:
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
А решения других участников будут доступны? Интересно же, как остальные писали.
15 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос к администрации:  можно ли немного уменьшить время между посылками в меню "запуск"? Просто очень много времени теряется во время отладки после первого запуска (пока все экзепшены соберешь) и во время запуска претестов. По второму пункту можно сделать кнопку вроде "запуск претестов".
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Теперь каждый, кто решил хотя бы две задачи может в резюме писать, что умеет программировать на Io. А ещё можно в резюме на вакансию, где требуется знание Io, давать ссылочку на таблицу результатов. :-D

А если серьёзно, то желательно, чтобы предлагался какой-то пусть и мало кому знакомый, но более востребованный язык, например, Shell, Perl, Lisp, Smalltalk, Objective C. Tcl из первого раунда - хороший пример. В противном случае получается, что интересно, но слишком безполезно. ИМХО
15 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
Вообще надо отметить что классная идея все же-проводить такие вот раунды. Совершенно согласен с высказывавшимся неоднократно мнением что надо делать отдельный зачет по unknown language rounds, вроде marathon matches на топкодере
15 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится
Отличный контест получился. Только я так и не осилила установить Io локально, пришлось на сайте тестировать. Зато не было расхождений локальной версии с официальным тестером.