| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Какой язык программирования круче ! КОНКУРС ) |
| Автор: Remiznik 20.9.2009, 15:44 |
| Счас в теме С++ для начинающих опять развернулась война кто круче ! Чеснов говоря мне стало просто интересно и вот какое у меня предложение ! Давайте проведём КОНКУРС какой язык круче . Например от каждого языка команда ну наприпмер по 3 человека. Устанавливаются условия например платформа на которой она должна работать . Потом организаторы ( самые уважаемые админы и модераторы форума ) дают задание . И каждая команда на своём языке решает её . И потом начинаем сравнивать программы по как-то параметрам. Например быстродействие, количество строк , и ешо каким-то ! Так например люди которые решают на каком языке программирования им решить задачу сразу будут видеть на примерах реальных задач что им выбрать ! Ну а люди которые соревнуются получат возможность на реальных примерах доказать что выбранный ими язык программирования действительно крут ) |
| Автор: log1c 20.9.2009, 15:59 |
| тут все зависит от *крутизны*, т.е. от профессионализма программиста в первую очередь. То есть если допустим команда пишущая на языке *А* проигрывает команде пишущей на языке *Б*, то это не означает что язык *А* хуже *Б* , это скорее всего означает что уровень 1й команды ниже. Либо команды должны формироваться из профессионалов в своей области... |
| Автор: Remiznik 20.9.2009, 16:02 |
| согласен ... но я думаю каждый Язык Программирования сможет найти самого достойного для зашиты чести языка ))) |
| Автор: kemiisto 20.9.2009, 16:06 |
| |
| Автор: Remiznik 20.9.2009, 16:09 |
| log1c ну значит язык не так хорош как утверждают его поклоники если нет проффесианало способного доказать что он дествительно хорош ) |
| Автор: LamerTM 20.9.2009, 16:22 |
| Мне тема интересна. Сам сейчас сравниваю Delphi и C#. По моим тестам, C# по скорости превосходит Delphi. А вот C++ показал более высокую скорость чем C#, но на нем я подробно не останавливался. Еще хочу добавить что скорость языка не зависит от кривизны рук программиста. Реализация алгоритма - зависит. А скорость его выполнения зависит только от языка. |
| Автор: Remiznik 20.9.2009, 16:40 |
| я тут подумал )) можно даже чтоб не люди соревновались а форумы например ! каждый заявившийся язык предоставляет одного человека который будет главным . Потом организаторы выдают задание и время сдачи. Потом на каждом форуме посвященному конкретному языку ведутся обсуждения по созданию наиболее оптимального кода . И потом человек выдвинутый от каждого языка выкладывает завершенный код и пусковой фаел. Таким образом могут поучаствовать все люди которые заинтересованы в победе своего языка программирования . |
| Автор: LamerTM 20.9.2009, 16:51 | ||
Такая постановка дает возможность менять условие задачи, и, как следствие, выиграть за счет изменения задачи на более мягкую, а не за счет преимущества языка. Кто лучше извернется и упростит задачу тот и победил. Это покажет не преимущества языка, а только ум программиста. Чтобы сравнить языки, надо брать какой-то код и тупо переводить его на разные языки. Тут особой квалификации не требуется. Просто все должны проследить что код переведен корректно, а не с ухищрениями. |
| Автор: Remiznik 20.9.2009, 16:54 |
| как раз наоборот .... тот язык програмирования который позволяет проводить разные трюки для упрошения и улудшения кода и будет лудшим ... покрайне мере по функцианалу и возможностям )) |
| Автор: GoldFinch 20.9.2009, 17:23 |
| fasm лучше всех. |
| Автор: fixxer 22.9.2009, 10:36 |
| Давайте уже задачку, не тяните. |
| Автор: LSD 22.9.2009, 11:21 |
| А кто даст бабло на призовой фонд? Может TS? |
| Автор: Remiznik 22.9.2009, 16:36 |
| да я смотрю народ крутой токо словами может кидаться что какойто язык програмирования круче ! А чтоб на реальных примерах доказать свою правоту желающих нет ))) |
| Автор: wester 22.9.2009, 16:50 |
| Remiznik, а) нету примера б) сама тема глупая )) |
| Автор: Rohoss 22.9.2009, 17:50 |
| Классная идея! |
| Автор: Remiznik 22.9.2009, 23:41 |
| я не предлагал писать большие программы, банальных школьных задач хватило бы ))) но раз желающих нет и тема глупая давайте продолжать водить вилами по воде .... и не обоснована доказывать что тот язык который каждый из нас выбрал самый крутой только потому что его выбрал именно я ... а я же не могу ошибаться ))) зачем сравнивать я и так всё знаю ))) |
| Автор: Rohoss 22.9.2009, 23:45 | ||
Для чего хватило бы? Ты считаешь, о крутости языка можно судить из "Hello world"? |
| Автор: Remiznik 23.9.2009, 00:10 |
| ну думаю несложных алгоритмов например по сортировке хватило бы .... для начал ) потом несколько примеров по ООП не сложных просто чтоб сравнить читабельность, обьём кода, вес исходника ! Ведь большие программы состоят из маленьких модулей и если какой-то язык даёт преимущество в меленьком коде весьма вероятно что эти преимущества будут складываться ! Хотя признаюсь честно я точно незнаю. Просто как я уже писал в теме по С++ люди пользующимися Липсом утверждают что на Липсе можно сделать всё проше! Вот я и подумал может и правда какой-то язык более эффективнее С++. А так чтоб не читать море документации по каждому языку будет ряд примеров разработанный на каждом языке и каждый желающий сможет посмотреть и оценить что ему больше подходит и начать изучение того языка который ему действительно нравиться !я не предлагал писать большие программы, банальных школьных задач хватило бы ))) но раз желающих нет и тема глупая давайте продолжать водить вилами по воде .... и не обоснована доказывать что тот язык который каждый из нас выбрал самый крутой только потому что его выбрал именно я ... а я же не могу ошибаться ))) зачем сравнивать я и так всё знаю ))) П.С Если такие сравнения уже проводились то не могли бы вы поделиться ссылками ! Мне это действительно интересно. |
| Автор: Akella 23.9.2009, 09:04 |
| Думаю, что проект растянется не на несколько месяцев, а дольше. Потом кто-то уйдёт и не один, потом времени не будет хватать. Так оно и забудется Добавлено через 15 секунд А тем более, что хотите сразу несколько проектов. Добавлено через 1 минуту и 15 секунд А если крупные проекты для предприятий, то это нужно соображать в делопроизводстве, планировании, бухгалтерии, экономике, финансах и т.д. А кто будет ТЗ писать? Добавлено через 3 минуты и 3 секунды Думаете, что тяп-ляп - пиписками померялись и всё? Ну-ну. |
| Автор: Zloxa 23.9.2009, 10:09 |
| Remiznik, Вы не забываете что язык это всего лишь инстумент. И как любой инструмент имеет свою предпочтительную область применения. По каким критериям оценить что "круче" - напильник, натфель или болгарка? Как можно сравнить HTML и C++? |
| Автор: Rohoss 23.9.2009, 10:52 |
Akella, а ты не замечаешь в моём сообщении сарказма? Remiznik, был бы идеальный язык, сидели бы все на нём. А так вы не определили даже параметров, по которым собрались мерятся. К примеру, какая писька круче, длинная или толстая? Я своим сообщением хотел намекнуть вам, что не вся крутость языка сводится к скорости сортировки динамического массива или прочих подобных задач. Сейчас, во многих случаях, важно такое понятие, как повторное использование кода. Например, в Делфи вы не сможете в своём приложении использовать классы, определенные в dll, так же легко и удобно как в .net. А тем более наследовать их. В общем для сравнения нужен критерий |
| Автор: LSD 23.9.2009, 11:31 | ||
Болгарка круче, т.к. позволяет легко запилить умников с надфилем и напильником |
| Автор: Zloxa 23.9.2009, 11:39 |
За то я и люблю SQL |
| Автор: Akella 23.9.2009, 11:39 |
| Автор: mekhanikus 23.9.2009, 15:08 |
| Могу предложить задачу для конкурса. Например, написать функцию сжатия-разжатия файла. Выбрать какой-нибудь известный алгоритм и реализовать его на разных языках. При этом должны использоваться только стандартные средства языка, использование сторонних библиотек запрещено. Критерии оценки будут следующие: - размер исходника; - размер исполняемого файла; - скорость работы программы; - ну, и другие обьективные параметры. |
| Автор: Zloxa 23.9.2009, 15:13 |
Асемблер рулит. тут и к бабке ходить не надо Ж) |
| Автор: fixxer 23.9.2009, 16:02 | ||
Угу. Особенно по первому критерию Добавлено через 53 секунды Не, боюсь числодробилки не показательны будут. |
| Автор: W4FhLF 23.9.2009, 16:19 |
| Давайте алгоритм Хаффмана? |
| Автор: W4FhLF 23.9.2009, 17:02 |
| Сразу просто говорю на F# реализация 50 строк |
| Автор: fixxer 23.9.2009, 18:10 | ||
Кодирование или декодирование? |
| Автор: W4FhLF 23.9.2009, 18:17 |
| И то, и другое. |
| Автор: Void 23.9.2009, 19:11 |
| Хаффман в вакууме неинтересен, надо специфицировать формат ввода-вывода. И что может быть лучше, чем реальный формат со всеми его вывихами Экзамен простой: разархивировать данные, сжатые gzip, либо в виде файла, заданного в качестве первого аргумента командной строки, либо поступающие на stdin. Во всех случаях вывод на stdout, т.е. аналог zcat. И, нет, я не обещаю это реализовать сам |
| Автор: nerezus 23.9.2009, 19:43 | ||||
Думаю нет смысла писать систему менее ~50кб кода. Только на больших проектах можно понять удобство технологий. Добавлено через 3 минуты и 31 секунду 2all: давайте РЕАЛЬНУЮ а не писькомерную задачу решим?) Предлагаю написать IDE для ЯП X используя ЯП X. Сразу заденем и проектирование, и ГУЙ, илекс/ синт/семант анализы, и работу с внешней средой. Естественно надо найти лаве на призы, ибо никто просто так писать не будет такое, думаю. Добавлено через 13 минут и 19 секунд
Предлагаю критерием сделать такие: 1) Отсутствие визуальных тормозов GUI. 2) Правильность работы редактора. 3) Полноценность основных узлов. 4) Количество кода для реализации однотипных узлов. 5) Время разработки(тут сложно будет объективно оценить). Наверное через svn смотреть ревизии. |
| Автор: wester 23.9.2009, 20:33 |
| nerezus, не очень понял пункт 2 что понимать под правильностью работы редактора ? |
| Автор: Void 23.9.2009, 20:50 | ||
Тебя зовут Сергей Брин и ты хочешь устроить ещё один Summer of Code? Задачка эта: 1) Крайне расточительна в плане человеческих ресурсов. Для любого языка написана IDE, функционал которой придётся повторять месяцы, а для мейнстримных языков — годы. Т.е. проблема хоть и практическая, но в действительности огромное количество времени будет вбухано в никому не нужную пузомерку. 2) Вводит глубоко нелинейную связь между возможностями языка и сложностью реализации. Особенно тут C++ достаётся, просто удар ниже пояса. (Не то чтобы я против, но это надо отметить). Затея в целом — бесполезная трата времени, но если уж задаваться правилами, то мне оптимальным кажется такой вариант: 1) Условия задаются существующим стандартом, спецификацией и т.д. С одной стороны, это обеспечивает минимум разночтений, с другой придаёт задаче практический характер. 2) По любому почти стандарту существует реализация, которая упрощает тестирование, выступает в некотором роде референсной. Если она написана на Си, то одновременно задаёт верхний порог объёма исходников и планку эффективности. |
| Автор: nerezus 23.9.2009, 21:28 | ||
Void, Задача на неделю времени 1 человеку, имхо.
|
| Автор: Void 23.9.2009, 21:46 |
| nerezus, либо ты шутишь, либо у нас разные представления о том, что должно получиться. Дай список функциональности или, ещё лучше, ссылку на проект, её реализующий (для любого динамического языка, если уж мы про Lua заговорили) опять же с перечислением, что надо, а что нет. |
| Автор: LamerTM 23.9.2009, 22:21 |
| Можно поступить гораздо проще и прикольнее: посмотреть какой язык более востребован на рынке. В остальном же верно пишут. Критериев много. Кому нужна скорость, будут говорить что асм рулит. Кому удобство и скорость написания программы, те асм назовут отстоем. ТАк что приходится согласиться с тем, что всё зависит от задачи. Особенно учитывая что некоторые критерии взаимоисключающие. |
| Автор: GoldFinch 23.9.2009, 22:31 |
| напишите-ка мне хороший вебинтерфейс на С++ а то я смотрю один хрен вам тут делать нечего, ИДЕ писать собрались... |
| Автор: nerezus 23.9.2009, 22:37 |
| GoldFinch, что ты понимаешь под "вебинтерфейс"? |
| Автор: GoldFinch 23.9.2009, 23:01 | ||
| это когда со стороны юзера - небольшой http сервер, а со стороны кода который этот вебинтерфейс его использует - это библиотека которой надо задать коллбеки на каждый URI, и тогда вебинтерфейс будет вызывать эти коллбеки когда ему будут приходить запросы от юзера, и передавать в эти каллбеки параметры запроса (GET,POST,etc) например
|
| Автор: fixxer 24.9.2009, 00:11 |
| Предлагаю реализовать одну из задач http://www.boundvariable.org/task.shtml |
| Автор: nerezus 24.9.2009, 00:15 |
| А какой смысл сравнивать ЯП/технологии на алгоритмических задачах? |
| Автор: W4FhLF 24.9.2009, 06:51 |
| GoldFinch, в Qt для этого есть http://labs.trolltech.com/blogs/2009/09/18/qt-in-the-cloud-with-qwebclient/ или можешь посмотреть в сторону отдельной библиотеки http://www.webtoolkit.eu/wt (WebToolkit). |
| Автор: nerezus 24.9.2009, 09:56 | ||||
|
| Автор: mekhanikus 24.9.2009, 11:39 |
Пример в студию! Добавлено через 4 минуты и 33 секунды GUI разный бывает. Можно на Direct'е забубенить и сравнивать с WinAPI. Кто победит? |
| Автор: W4FhLF 24.9.2009, 11:46 |
| http://blogs.msdn.com/lukeh/archive/2008/05/05/huffman-coding-with-f.aspx |
| Автор: nerezus 24.9.2009, 12:50 | ||
|
| Автор: W4FhLF 24.9.2009, 13:12 |
CEGUI |
| Автор: GoldFinch 24.9.2009, 17:54 | ||
посмотрел. не хотеть такую архитектуру %) мне не нужно Application с вебинтерфейсом, мне нужна моя программа с вебинтерфейсом слишком уж там все тяжело да понял. разве что написал видимо не очень понятно ------------------------------------------------------------------------------- по теме: задачу надо выбирать такую, чтобы она затронула много всяких направлений в программировании, но в то же время сравнительно небольшую, строк на тысячу. |
| Автор: Void 24.9.2009, 18:08 | ||
GoldFinch, http://www.pion.org/projects/pion-network-library посмотри. Boost, asio и прочий очень идиоматичный C++.
Перечисли что ли эти загадочные направления... штук пять хотя бы. |
| Автор: nerezus 24.9.2009, 18:10 | ||||||||
Добавлено через 1 минуту и 32 секунды
|
| Автор: GoldFinch 24.9.2009, 19:01 | ||
ну очень идеоматичный С++ но вообще да, уже полегче чем QT и т.п. что-то мне подсказывает, что придется всетаки писать webUI самому... Добавлено @ 19:16 gui, сеть, обработка данных (математика, алгоритмы), хранение и преобразование данных (ввод-вывод, сохранение в файлы, передача по сети), взаимодействие с ОС ------------------------- гуй должен быть в любой нормальной программе, он должен по крайней мере говорить юзеру чем программа сейчас занята, и иметь кнопку прерывающую это занятие сеть может использоваться для вебинтерфейса, тоже ГУЙ, или для взаимодействия с какими-то существующими серверами, или для распределенных вычислений взаимодействие с ОС может означать, что объем данных должен быть сопоставим с доступным объемом памяти. тогда хочешь-не хочешь, придется учитывать наличие ОС и особенности платформы хранение данных означает, что данные должны как-то храниться между запусками программы, читаться из файла, писаться в файл, выводиться пользователю в понятном для него виде обработка данных должна быть сложной, чтобы все эти объемы данных реально использовались, а не простое суммирование ряда, как например вычисление числа Пи. |