spamsink: (Default)
[personal profile] spamsink
Недавно закончился последний отборочный тур Google Code Jam, после которого из 25 участников, прошедших в финал, 6 - из России, 2 - из Украины, 1 - из Беларуси, и, раз уж упоминать братьев-славян, 3 - из Польши и по одному - из Чехии и Словакии (итого панславянское программистское содружество доминирует - 14 из 25). Остальные - по 3 из Китая и Японии, 2 из США, по одному из Канады, Южной Африки и Гонконга.

Но суть поста не в этом, а в выборе языков для решения задач.

Всем, кто в теме, известен рейтинг популярности языков программирования TIOBE, в котором за первое-второе места дерутся Си и Ява, а за третье-пятое с существенным отрывом от лидеров - C++, C# и Objective-C.
Рейтинг делается по частоте упоминания названий языков в программистских контекстах согласно выдачам поисковых систем.

Однако, когда надо быстро и эффективно решать задачи, а не болтать, C++ уходит в отрыв уже начиная с отборочного тура, причем чем дальше, тем больше: из всех участников отборочного тура С++ использовали 38.5%, из лучших 20% в отборочном туре его использовала уже практически половина, а к третьему туру С++ пользовались 75% участников.

Последние любители функциональных языков (Haskell и OCaml) в финал не попали. Удивляет присутствие языка D среди финалистов. Ну и ностальгисты-паскалисты тоже порадуются присутствию собрата в финале.

Date: 2012-06-13 12:30 am (UTC)
From: [identity profile] vgramagin.livejournal.com
В плане быстро сваять, чтобы работало здесь и сейчас, перл будет может и удобнее. К сожалению (а, может, и к счастью) большая часть кода пишется командами и планируется быть поддерживаемой. Здесь Java явно в лучшей позиции, чем C++ (не говоря уже о C). Ну и не забываем о таком нюансе, что разрабатывать все-таки удобнее и дешевле под Windows, а гнать под - под линуксом, что объяснят популярность Java.

Date: 2012-06-13 12:46 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
О! Нынче си++ - меньше кода, чем в джаве.

Date: 2012-06-13 08:43 am (UTC)
From: [identity profile] codedot.livejournal.com
Работа с языком C в чем-то похожа на изучение латыни: один абзац и неделя комментариев. Если изменения в Linux добавляют больше строчек кода, чем убирают, это почти всегда настораживает. Всегда возникает логичный вопрос о том, какой-такой новый код можно написать спустя сорок лет существования UNIX и зачем.

То есть не стоит вообще поминать C, если речь идет о гонке по написанию кода. Он подходит лишь для медленного и тщательного написания программ, где из кода должно быть совершенно очевидно и известно наверняка, как, когда и где именно результат компиляции будет работать. Это обычно либо сам UNIX, либо микроконтроллеры.
Edited Date: 2012-06-13 09:00 am (UTC)

Date: 2012-06-13 12:31 pm (UTC)
From: [identity profile] vgramagin.livejournal.com
Ну да, именно поэтому C и Java - далеко на первом месте: C нужен для размера, производительности и заточенности под конкретную архитектуру; Java - для крупных проектов со сроком поддержки существенно превосходящим сроки разработки.

Date: 2012-06-13 02:09 pm (UTC)
From: [identity profile] fatoff.livejournal.com
C не предоставляет никаких чётко определённых преимуществ перед C++ ни в чём, хотя бы потому, что в C++ есть весь C.

Date: 2012-06-13 02:10 pm (UTC)
From: [identity profile] vgramagin.livejournal.com
Преимущество заключается в том, что в С нет много чего из того, что есть в C++

Date: 2012-06-13 02:13 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Это преимущества для апологетов процедурного программирования, которое само по себе ничем не вредно, и в C++ в полный рост. ++ там есть много чего для избежания лишнего процедурного программирования. Впрочем я уже достаточно стар и типа мудр, чтобы подолгу не спорить. :-)

Date: 2012-06-13 02:15 pm (UTC)
From: [identity profile] vgramagin.livejournal.com
Да я вообще на Java, в основном, работаю. Но статистика говорит сама за себя.

Date: 2012-06-13 02:10 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Заче писать новый код для OS Linux? Ну вы даёте!
Вы не в курсе, что она продолжает развиваться, и быстро?

Date: 2012-06-13 03:06 pm (UTC)
From: [identity profile] codedot.livejournal.com
Периодически ядро Linux, конечно, растет небольшими рывками. В основном, когда очередной группе программистов надоедает поддерживать свою поделку вне дерева, что ужасный геморрой, должен сказать.

Date: 2012-06-13 05:14 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Там много больше, чем одно ядро.

Date: 2012-06-14 06:30 pm (UTC)
From: [identity profile] codedot.livejournal.com
У-у-у, если Linux не только ядро, то сразу садись, два.

Date: 2012-06-14 07:07 pm (UTC)
From: [identity profile] fatoff.livejournal.com
Да-да, вот поделитесь вашим пониманием, скажем, Linux Power Management спецификации. Linus про неё знает, определённо. Как она представлена только в ядре?

Date: 2012-06-14 07:15 pm (UTC)
From: [identity profile] codedot.livejournal.com
В огороде бузина, а в Киеве дядька.

Date: 2012-06-14 07:21 pm (UTC)
From: [identity profile] fatoff.livejournal.com
That is for sure.

Date: 2012-06-13 12:35 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Фигасе. Речь о том, что с++ лучше в смысле скорости кодирования? Или какие критерии?

А, вижу. Удобство в смысле применимости.

Ну тут же есть перекос. Всё-таки, при всём уважении, это специфическая публика.

Но любопытно.

Date: 2012-06-13 01:07 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Ну это-то как раз как бы очевидно. Джаву же учат те, кто потупее в нынешние времена, когда буст и stl обеспечивают какую-никакую а функциональность.

Date: 2012-06-13 02:35 am (UTC)
From: [identity profile] ninazino.livejournal.com
Ну прямо нету -- все наоборот, это буст кое-как подтягивает с++ функциональность к джаве.

Date: 2012-06-20 10:42 pm (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Разве? А в джаве дженерики уже нормально работают?

Date: 2012-06-13 05:33 am (UTC)
From: [identity profile] cema.livejournal.com
Нет, наоборот, конечно. Т.е. как [livejournal.com profile] ninazino написала.

Date: 2012-06-13 12:36 am (UTC)
From: [identity profile] fatoff.livejournal.com
Нисколько не удивлён. Есть ли статистика в разрезе использования STL / Boost, которые в умелых руках точно не мешают?
Edited Date: 2012-06-13 12:36 am (UTC)

Date: 2012-06-13 12:53 am (UTC)
From: [identity profile] rkatsyv.livejournal.com
Эх, на Паскале я лабы в институте писал...
Если честно, с первого дня работы на Джаве мое сердце безраздельно отдано ей.
Джава - это как будто хорошие люди взяли С++ и все что в нем было дурацкого и ненужного заменили на недурацкое и нужное (что, насколько я понимаю, и имело место в действительности) :)

Date: 2012-06-13 12:58 am (UTC)
From: [identity profile] rkatsyv.livejournal.com
Это нам хорошо известно :)

Date: 2012-06-13 01:28 am (UTC)
From: [identity profile] rkatsyv.livejournal.com
Эта мощность нужна по нынешним временам очень редко.

Date: 2012-06-13 01:08 am (UTC)
From: [identity profile] dvv.livejournal.com
Джава — это индусы в Сане создали экологическую нишу для программистов с Бангалора.

Date: 2012-06-13 01:13 am (UTC)
From: [identity profile] fatoff.livejournal.com
Вы даже не представляете, сколько бангалорцев изучив C вытягивают проекты из Долины к себе. В пище почти все вегетарианцы, а в программировании всеядны. :-)

Date: 2012-06-13 01:25 am (UTC)
From: [identity profile] rkatsyv.livejournal.com
Это неправда :)

Date: 2012-06-13 03:52 am (UTC)
From: [identity profile] potan.livejournal.com
Есть в статистике такое явление.
Пусть у нас есть очень редкая аномалия. И есть метод ее определения - достаточно надежный, ошибается примерно а проценте случаев. И если аномалия достаточно редкая, то детекторовав ее отсутствие мы наверняка будем правы, а ее наличие - ошибемся.
Сравнивая языки, этот эффект хорошо бы учитывать.

Date: 2012-06-13 07:05 am (UTC)
From: [identity profile] potan.livejournal.com
Использование редкого языка.
А "тест" успешное его применение.

Date: 2012-06-13 05:31 am (UTC)
From: [identity profile] cema.livejournal.com
So C++ is the best language for solving programming contests, hurrah! For doing work, however, it depends.

Date: 2012-06-14 03:21 am (UTC)
From: [identity profile] cema.livejournal.com
The last one is the crucial question.

Date: 2012-06-13 11:34 am (UTC)
From: [identity profile] spoon-gin.livejournal.com
Мне еще вот эта статистика понравилась- http://www.go-hero.net/jam/12/multilang

Profile

spamsink: (Default)
spamsink

February 2026

S M T W T F S
12345 67
8 91011 121314
15161718 192021
22 2324 25262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 5th, 2026 10:01 pm
Powered by Dreamwidth Studios