Проект с таким названием был и, к сожалению, уже умер. Суть — в собирании отрывков кода на разных языках, их использовании и сравнении. По-моему, достаточно перспективно, как вы считаете? Практика пока этого не подтвердила — есть несколько похожих сайтов, которые уже года три не слишком успешно пытаются взлететь. Вот они: http://www.codecodex.com/wiki http://www.rosettacode.org/wiki http://www.rosettacode.org/wiki/Help:Similar_Sites http://www.snippets.dzone.com
Не факт, что вы найдете там что-то интересное, я написал это с другой целью — приглашаю вас самих публиковать свой код.
Кстати, в Wikimedia также уже несколько лет обсуждается подобный проект — Wikicode.
Программировать сложно. Но не программировать еще сложнее.
Здравствуйте, DSblizzard, Вы писали:
DS>Проект с таким названием был и, к сожалению, уже умер. Суть — в собирании отрывков кода на разных языках, их использовании и сравнении. По-моему, достаточно перспективно, как вы считаете? Практика пока этого не подтвердила — есть несколько похожих сайтов, которые уже года три не слишком успешно пытаются взлететь. Вот они:
Еще есть http://pleac.sourceforge.net/
DS>Не факт, что вы найдете там что-то интересное, я написал это с другой целью — приглашаю вас самих публиковать свой код. DS>Кстати, в Wikimedia также уже несколько лет обсуждается подобный проект — Wikicode.
Здравствуйте, FR, Вы писали:
FR>Но я имел в виду все-таки с точки зрения именно пользователей, какая предполагается польза?
Ну да, нужно было сразу понять, что вы это имели в виду. А то уже как комп стал — отвечаю ровно то, что спрашивают .
1) Вы когда-нибудь сражались с простой задачей на незнакомом языке? Решение задачи очевидно, но язык не позволяет идти простыми путями. Не поверите, но для меня, когда только начинал знакомиться с Лиспом, сложностью было обменять значения у двух переменных. Наверняка подобные проблемы возникают у многих программистов при переходе к новому языку. Иметь возможность посмотреть, как это должно делаться — отличный способ не терять время.
2) Представьте, что Викикодия будет таких же масштабов, как и Википедия. Стремление изобретать велосипеды значительно уменьшится, программы наполовину будут строиться как сейчас программы в Дельфи — накидал компонентов и все работает.
3) Сейчас сравнение языков реализовано не слишком хорошо — Хэлло, Ворлд, 99 бутылок пива да сортировка на Хаскеле. Это смешно. Программист должен иметь возможность видеть программы или по крайней мере небольшие участки кода из его проблемной области для полноценного сравнения.
Наверняка есть и другие достоинства, просто сразу не пришли в голову. В общем, вспомните то, чем вам нравится Википедия и решите сами, будет ли это в Викикодии.
Программировать сложно. Но не программировать еще сложнее.
DS>Ну да, нужно было сразу понять, что вы это имели в виду. А то уже как комп стал — отвечаю ровно то, что спрашивают . DS>1) Вы когда-нибудь сражались с простой задачей на незнакомом языке? Решение задачи очевидно, но язык не позволяет идти простыми путями. Не поверите, но для меня, когда только начинал знакомиться с Лиспом, сложностью было обменять значения у двух переменных. Наверняка подобные проблемы возникают у многих программистов при переходе к новому языку. Иметь возможность посмотреть, как это должно делаться — отличный способ не терять время. DS>2) Представьте, что Викикодия будет таких же масштабов, как и Википедия. Стремление изобретать велосипеды значительно уменьшится, программы
Очень неудобный поиск. Любой код должен быть снабжен кучей тэгов и, желательно, подробным описанием, чтобы его было проще искать. Розетта в этом отношении получше.
Программировать сложно. Но не программировать еще сложнее.
Здравствуйте, DSblizzard, Вы писали:
DS>Очень неудобный поиск.
Это у гугла то неудобный?
DS>Любой код должен быть снабжен кучей тэгов и, желательно, подробным описанием, чтобы его было проще искать. Розетта в этом отношении получше.
Это надо толпу народа сажать анализировать код и тэги с описаниями колбасить.
Здравствуйте, DSblizzard, Вы писали:
DS>Проект с таким названием был и, к сожалению, уже умер. Суть — в собирании отрывков кода на разных языках, их использовании и сравнении. По-моему, достаточно перспективно, как вы считаете? Практика пока этого не подтвердила — есть несколько похожих сайтов, которые уже года три не слишком успешно пытаются взлететь. Вот они: DS>http://www.codecodex.com/wiki DS>http://www.rosettacode.org/wiki DS>http://www.rosettacode.org/wiki/Help:Similar_Sites DS>http://www.snippets.dzone.com DS>Не факт, что вы найдете там что-то интересное, я написал это с другой целью — приглашаю вас самих публиковать свой код. DS>Кстати, в Wikimedia также уже несколько лет обсуждается подобный проект — Wikicode.
Здравствуйте, DSblizzard, Вы писали:
dmz>http://rosettacode.org/wiki/Main_Page DS>Не понял, что вы хотели сказать dmz>>А чем она вам не нравится? DS>Слишком маленькая.
Вы это про 394 задачи на (чуть менее чем) 266 языках, или в вашем интернете какой-то другой сайт Rosetta Code, на котором есть только "Хэлло, Ворлд, 99 бутылок пива да сортировка на Хаскеле"?
Здравствуйте, Honeyman, Вы писали:
H>Вы это про 394 задачи на (чуть менее чем) 266 языках
Да. В практической работе этот сайт использовать затруднительно. Я мечтаю о сайте, по размерам сопоставимым с Википедией (конечно, с учетом отношения программисты / все люди)
Программировать сложно. Но не программировать еще сложнее.
Здравствуйте, DSblizzard, Вы писали:
H>>Вы это про 394 задачи на (чуть менее чем) 266 языках DS>Да. В практической работе этот сайт использовать затруднительно. Я мечтаю о сайте, по размерам сопоставимым с Википедией (конечно, с учетом отношения программисты / все люди)
А что в данном случае имеется в виду под "практической работой"?
Сравнение синтаксиса языков для одинаковых семантических конструкций?
Функции высшего порядка? — вот они, рядышком, на С (с описанием ограничений), Python (без описания ограничений) и Haskell (с описанием альтернативных вариантов). List comprehensions? — вот, где они есть, там они почти везде одинаковые, а где их нет, там их либо можно сконструировать, либо аналоги длинны и печальны, как реквием Бетховена. И так далее, зная один язык и слышав о другом, можно понемногу изучать его.
Сравнение использования языков на практике, на более сложных задачах?
Вот вам код Хаффмана в 170 строках на C, 120 строках на С++, 22 строках на Haskell и 14 — на J; множество Мандельброта (интересно, он ещё преподаёт?); тест Миллера-Рабина; разбиение Катмулла-Кларка; решения Судоку... это всё задачи из настолько разных областей, что оценить возможности языка можно будет достаточно разносторонне.
... или вы, упаси господи, об акценте не на произведение количества задач на среднее количество языков, на котором решена эта задача, а просто на количество задач? Чтобы была вики, на которой были бы статьи с примерами кода по каждому алгоритму сортировки из третьего тома Кнута? Ну, оно бы тоже было забавно, только намного менее реально и перспективно — ибо алгоритмов слишком много. И плюсы Rosetta Code терялись бы — подавляющее большинство алгоритмов были бы описаны только на одном (реже — двух) языках, потому что только одному-двум человекам почесалось это написать; и соответственно, сравнивать языки уже было бы невозможно, а кому-то, не использующему язык статьи (ну вот неинтересны мне C++, Java и C#), статья бы вообще оказалась бесполезной.
А главное — что такой сайт, с упором на сами алгоритмы, вообще не факт что является полезным (если не является вредным) сам по себе. Потому что незачем копипастить очередную бинарную сортировку с сайта, надо один раз её вынести в библиотеку, и потом все пользователи эту библиотеку просто прилинкуют.
Но если подойти более оптимистично, то профит от такого сайта/такому сайту можно было бы получить при следующих условиях:
Грамотная мотивация пользователей на создание новых реализаций/правку имеющихся. Социальная сеть, набор кармы за совсем новые алгоритмы/реализации, за их оптимизацию, за версии optimized by size/optimized by compactness/optimized by scalability whatever, за юнит-тесты/багрепорты. Таблица рекордов — как абсолютная, так и прироста, как за всё время, так и за день/неделю/месяц. Тот же Project Euler интересен именно тем, что даёт небольшой соревновательный эффект. И...
... генерация вышеупомянутой библиотеки для каждого языка автоматом. Чтобы да, захотел — почитал на сайте, захотел — взял уже готовую реализацию. По достаточно либеральной лицензии, чтобы можно было включить в любой проект.
Но вообще, для такой задачи намного лучше отталкиваться от уже имеющегося. От того же Rosetta Code — лучше всего, наверное. Т.е., начать можно с того, что добавить туда все алгоритмы сортировки из третьего тома
Здравствуйте, DSblizzard, Вы писали:
DS>Да. В практической работе этот сайт использовать затруднительно. Я мечтаю о сайте, по размерам сопоставимым с Википедией (конечно, с учетом отношения программисты / все люди)
Ну, так что мечтать то? Учитывая маразм тварящийся в педивикии любые альтернативы будут востребованы.
Только надо не допускать тот маразм что есть в педивикии. Форумы не должны быть просто текстом. Не должно быть независимых языковых вариантом. Нужно чтобы было как гуглькодовской вики — одна страница с переключателем языков.
И главное чтобы политика была простой и не бюрократичной. Известность и т.е. в задницу. Надо только чтобы это действительно не было местом описания своих собачек. Тут надо подумать. Может ввести некий индекс доверия статье. Ну, как оценки на РСДН. Если статья набрала 10 минусов, то конечно читать ее можно, доверять ей нужно осторожно.
Может правда создать такую хрень?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, DSblizzard, Вы писали:
> Надо только чтобы это действительно не было местом описания своих собачек. Тут надо подумать.
почему бы и нет? это же энциклопедия. и в отличии от бумажной место ничем не лимитировано. какой смысл вводить ограничения на значимость? даже если это что-то богом забытое и никому не нужное -- если кто-то потрудился написать статью -- пусть будет.
другой вопрос, что статьи рекламного характера, в которых нет ничего, кроме эпитетов "супер/ультра/мега/щас_всех_порву_блин" действительно должны выпилиться.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, мыщъх, Вы писали:
>> Надо только чтобы это действительно не было местом описания своих собачек. Тут надо подумать. М>почему бы и нет? это же энциклопедия. и в отличии от бумажной место ничем не лимитировано.
Мусор. Тут IT где-то рядом очень хорошо изложил теорию о том почему нужно зарывать трупы.
Если 100 лет собирать собачек, то потом в таком объеме никому не нужной информации нельзя будет найти нужную.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, мыщъх, Вы писали:
>>> Надо только чтобы это действительно не было местом описания своих собачек. Тут надо подумать. М>>почему бы и нет? это же энциклопедия. и в отличии от бумажной место ничем не лимитировано.
VD>Мусор. Тут IT где-то рядом очень хорошо изложил теорию о том почему нужно зарывать трупы.
VD>Если 100 лет собирать собачек, то потом в таком объеме никому не нужной информации нельзя будет найти нужную.
Проблему большого объема информации нужно решать не ее уменьшением, а методами работы. Конечно, какой толк от списка в 1000 языков програмирования, если нельзя наложить фильтр.
Здравствуйте, VladD2, Вы писали:
VD>Если 100 лет собирать собачек, то потом в таком объеме никому не нужной информации нельзя будет найти нужную.
Значит стоит сосредоточиться на технологиях поиска нужной информации. Иначе твой любимый Nemerle попадет в категорию собачек, а ты опять станешь ругаться.