Which one should we use?
Competitive Programming is used more often but it has stupid abbreviation (Cerebral Palsy and Child Pornography). Some Youtube accounts about Pokemon Go were actually banned for using that because of Combat Points. Here you can read things like "My Club Penguin video had been flagged for sexual content". This also means it isn't cool to write "I'm addicted to CP" in any social media. Urban Dictionary says that SP means Sex Party, but I don't think it's common and at least it isn't something shameful/harmful.
I think the Polish term is "programowanie sportowe" (sports programming) but sometimes we just say English words "competitive programming". The Russian say "Спортивное программирование" (sports programming), in Portuguese it is "Maratona de Programação" (programming marathon). What do you say in your language? In particular, I would like to hear native speakers to state their opinion.
And Sports Programming is arguably cooler.
I'm asking because I want to make videos like "What is Competitive Programming?" and "How to start with ...", "TOP FIVE BEST COMPETITIVE PROGRAMMING PLATFORMS OF 2019, YOU WON'T BELIEVE NUMBER 4" etc. If we prefer Sports Programming, I will use it instead.
EDIT: A huge argument for CP is ofc. that we use it like 99% of time. There are some single occurrences of SP, e.g. "The ICPC is the world’s premiere university sports programming competition" on the ICPC 2019 website, but it's a minority.
Upvote for Competitive Programming.
Upvote for Sports Programming.
Downvote to keep Radewoosh at top1 of top contributors.
Competitive Blogging or Sports Blogging?
Blogewoosh #7
Thousands of comment upvotes and not a single additional contribution score for dear Errichto :D
One argument against sports programming can be made saying that this isn't a "sport".
Don't get me wrong, I think this is a sport, just like e-sports. But perhaps some people might care that others do not think this is a sport.
I think calling it a sport (just like chess) can only help in getting more people interested in that, or getting companies to sponsor contests.
Or maybe not, I hope to see a lot of discussion under this blog.
I agree, my vote goes for Sports Programming.
I've heard that the chess community also faces incredulity when referring to chess as a sport. Wikipedia has this page: https://en.wikipedia.org/wiki/Mind_sport, but I've never heard anyone say the phrase "mind sport" in real life.
The acronym "CP" is unfortunate. To get around it, I usually abbreviate it as PC, for programming contests. Unfortunately that has a lot of other name collisions (personal computer, political correctness, etc.)
In Brazil there are a lot of close-minded (?) people that argue against calling chess or e-sports in general a sport.
This however is not a problem for the growth of e-sports in the country, the biggest sports tv network has been transmitting e-sports gaming for a while now.
Calling it sports programming could help shed some visibility for us and attract newcomers.
Sports programming is misleading because it's not really a sport. A sport is supposed to be brutal and easy to understand. That's why it attracts spectators and fame and sponsors: "Wow, that ball just flew into the goal", "Oh man, that guy looks like he might be dead after that tackle". Yeah, it takes a ton of effort to become the best, but for a viewer it's easy to understand and see how an athlete's amazing skill and practice translates to results.
On the other hand, competitive programming is nearly impossible to understand, unless you're at a high enough level to tell how top contestants are solving problems. And the most intense thing that can come out of cp is basically "Dang, he submitted with 18 seconds left".
(In my opinion chess used to not be a sport, but now that any random patzer can boot up stockfish and say "hah, this GM's move just lost him 30 centipawns, he's destined to lose now" while the twitch chat goes wild, it's more accessible and sportlike.)
That is indeed a valid point that I've never seen before.
All successful e-sports are very easy to watch and understand.
Marketing doesn’t need to be accurate
You're right. In terms of marketing, to me competitive programming sounds way cooler than sports programming.
A sport is supposed to be brutal and easy to understand.
No it is not. Let's look at the olympic weightlifting for example. It is neither brutal, nor easy to understand. Yes, you can see whether a competitor managed to lift the weight, but you don't really understand how difficult it was to snatch 200kg if you can't even squat half of it. Same in here, you can see whether a contestant's solution got accepted or not, but if you are not familiar with the field, you have no idea whether it was difficult to achieve, or not.
Competitive/sports programming probably isn't going to attract spectators. But truth is olympic weightlifting, powerlifting and crossfit never managed to be a "let's watch this!" popular (only strongmen competitions get some views) and still, more and more people go to gyms and lift something.
Because programming and lifting are more than sports — they are lifestyles. Some people compete, some not. Some guys' motivation is just to have a huuuuge rating, some want to win the ICPC, others simply want to be better than their friends and almost everyone hates doing geometry.
But let's be honest, most of guys visiting the gym just want to get that sweet ass coding job in their favourite tech company.
It seems like the struggle to lift 200kg is intense and brutal, no? And it is easy to understand that the lifter has performed a monumental feat of strength; anyone can see a man lifting a huge weight and think "wow, he is really strong!". It is something that is naturally awe-inspiring because it is a physical task.
Someone getting AC on a tough problem in half an hour is extremely disconnected from the viewer. Even people who are competitors will probably think "yeah, neat, ok". Of course, top competitors can be equally awe-inspiring, but that requires a much more personal and up-close experience of genius, as opposed to watching some dudes code for 20 minutes and get a green Accepted.
Eating healthily is a lifestyle but it is not a sport. Neither is competitive programming.
lol our chinese school had mind sports so it's a legit thing. i don't know how accepted it is though
We simply use "Olympiad" in Turkey even after high school. IMHO it's really hard to change your habits. We're just getting started to call it Competitive Programming.
Anyway, I'm not sure if this is really up to us. "Competitive Programming" is highly used in communities and also in Wikipedia and books.
But yeah, we should find a solution to the abbreviation.
(I'm red again after a long period so writing unnecessary comments in general.)
Also a simple realistic solution to "I'm addicted to CP" stuff.
Let's not write it. If it looks wrong or misunderstandable, especially in other platforms than Codeforces, don't use it.
"Ibadet" is an option if "inzva" was an option too lol
No idea what you meant
https://www.instagram.com/inzva.space/
What's up with the downvotes? They started out as algorithms training camp after all.
Sports programming sounds cooler though
I've recently started referring to it as "sports programming", particularly when talking to people who have no idea what it is. "Sports programming" seems to better convey the sense of competition (ironically), the timed aspect and the pressure during competition, whereas "competitive programming" is much more ambiguous.
In brazilian portuguese is very common to call "Maratona de Programação" (programming marathon) when talking about the ACM-ICPC exam itself. "I'm studying for the programming marathon", for example.
But when we talk about what we do, generally we speak "Programação competitiva" (competitive Programming) too.
By the way i also think that Sports Programming is better =D
So the two arguments you have for sports programming over competitive programming are the acronym and that it sounds cooler?
First, if you say something like "I'm making a CP video," I would think it's a Club Penguin video, and I do competitive programming all the time. Saying "I'm making an SP video" is no better. Someone who doesn't know what you're talking about won't know the acronym; You'll have to say the full thing. Someone who does know what they're talking about won't mistake your acronym for something it's not, so it's pretty pointless.
And we competitive programmers aren't cool. Rebranding us would be dishonest and false advertising.
What made U convinced that sports programmers arent cool?
The point is this isn't a real counterargument, because I'm responding to an argument that's not real. But it seems you all are treating both like real arguments.
Perhaps you'd like a little dose of self-esteem? I don't know about you but some friends from sports programming and I are very cool
I'm sure you are cool, you said so yourself.
You are cool too! Don't let anyone tell you otherwise
The acronym thing is important. "I'm making a CP video" is much worse than "I'm making a SP video" and it's about the other meaning.
It's bad if they will think it's something else that isn't legal.
I don't use an acronym expecting random people to understand. But it will still be read out of context from time to time.
The other thing is how it sounds to other people and I wanted to hear the opinion of native speakers too. KieranHorgan says it conveys the meaning better and I agree — I would use it when explaining the whole thing to a friend.
The name and its meaning+coolness might affect things like sponsorship. It's sometimes hard to get funds to go to a camp. Companies don't want to just give money to random people. kostka thinks about creating a fund that would get money from companies and then support people going to contests or camps. Maybe companies would prefer to support Sports Programming Foundation rather than Competitive Programming Foundation? "Yeah, we want to advertise by being a patron of a sport about programming." This might be false/stupid, I don't know.
EDIT: I think your comment is currently the best argument for leaving it as CP btw., even though I don't agree.
If my memory is correct, I heard that it's called "Problem Solving" in Korean. I like it because it's closer to what we really do. Maybe "Sports Problem Solving"?
Although it does explain better what we really do, it doesn't look like an appealing name to me, we are programmers after all and we use code to solve problems, programming seems a better fit.
While I like the sentiment, it sounds like we sit around trying to solve Sudoku puzzles quickly.
They even abbreviate the term to "PS" (like Seoul National University's competitive programming group is called "SNUPS"). I had no idea when I heard PS for the first time.
We call it PS. I only say CP when I talk with foreigners. Interesting to hear that it’s only for Korea.
Possible reasons would be:
Personally, I think it’s unclear why we should consider it as sports or competition. We just solve problems for own fun. Competitions are fun too, but they are fun cause we solve problems there.
Why was Problem Solving course discontinued?
In short, the professor retired, and we couldn't find another professor to continue.
I think that
We cannot choose the one and only term for this right now. Many of my friends (and I) still call the international collegiate programming contest ACM, despite we know it's incorrect and the fact that ACM is not its sponsor anymore.
Whatever you call your videos, it's quite clear and explicit what you mean.
Yes, it'd be a pity to be banned for the use of cp abbreviation after similar precedents you are aware of, so better not use this abbreviation.
If you want to use an abbreviation of competitive programming, you may choose, for instance, c/p, cpr, cppr (don't try to concatenate first two letters of each word), but I still think it's unnecessary.
But when you name a video or something bigger like a book/contest/foundation, you can promote the name/acronym. It will cause some people to use that name, especially if it's their first time hearing about SP/CP.
Indeed, one should concatenate first two letters of the first word and first three letters of the second word
The Japanese term is kyogi-puroguramingu..., I mean kyogi-programming. It literally means "competition programming" or "contest programming" or possibly "sport programming" (as the two languages differ vastly, I don't think there is an exact translation).
Meanwhile, as the term is too long, it is mostly abbreviated as kyopro. Everyone including some programming contest assistant tools or the Slack server name uses this term. I bet almost nobody will understand you when you say "CP" to mean competitive programming. They would think it's an abbreviation of computer or something.
Addition: "programming contest" is also abbreviated to procon (less commonly used than kyopro). But it has pros and cons, you know.
One of the major plus points of sticking to the conventional nomenclature is higher chances of appearing in SERP (search engine ranking position). You can use the terms interchangeably in the videos.
In Jordan we use "Competetive Programming" between us, and usually translate it to Arabic for non-programmers as "برمجة تنافسية" meaning the same.
However, "Sports Programming" would translate way better, "رياضة البرمجة" or "البرمجة الرياضية" is easier to undetatand for non-programmers and sounds way cooler.
The first translates as "The sport of programming". The other translates as "Sports programming".
Less confusing now that Club Penguin shut down.
Algorithm Competition sounds miles better than any of the two.
Beside the awkward abberviation, everybody is a competitive programmer (be it in algorithms, machine learning, or competing to get a raise in his job) :P Being that Kaggle has more traffic than CF and its prize pool dwarves all the other coding contest, the word "algorithm" should be there somewhere in the abbreviation to distance ourselves from the large and rapidly growing ML competing community.
Sports programming just sounds lame, and explaining it to non competitors would make me cringe (no bro, I am an athlete with a keyboard, it's a sport).
Algorithm competition sounds too abstract. Should one submit idea or pseudocode of algorithm? Shouldn't one implement it?
Let's make Errichto top1 of top contributors, he worth it.
Downvoted this article and all your replies, cause I think Blogewoosh rocks.
Downvoted this comment and all Blogewoosh blogs, cause I think Errichto streams rock.
Let the fight begin! Radewoosh #1
What about upvoting the coming Blogewoosh instead?
Kamil personally told me to write a new Blogewoosh, so people won't think that he's going to do Swistakk-like things for contribution, so the Blogewoosh is coming. :P
Streaming how I scratch my balls is not my pair of shoes though
My favorite word in Finnish is "kisakoodaus" — it means "competitive coding".
In English, "competitive programming" is already established, but you can also use "programming contests" in many cases (like "I'm addicted to programming contests"). I think there is no need to use an abbreviation.
In funding applications etc., I would emphasize the learning part in competitive programming. Not "we will organize a camp for training competitive programming" but "we will organize a camp for learning problem solving and algorithms".
Yell coding? :D
you know, I started the trend of using sp instead of cp.
But now I'm considering changing it to Algorithm Contests (the abbr AC is cool).
As you can see I'm always one step ahead of you Errichto :D
use CC="Competitive Coding". Problem Solved
When I see the word "coding", I think of some 3 week bootcamp that teaches you how to write a for loop in javascript and claims you'll be on par with top programmers.
Yeah I agree with you.
But also I think "programming" has a similar sense but we don't think it like that maybe because we're part of competitiv programming community. I remember one of my friends told me the exact same thing you mentioned when I said competitive programming.
In my opinion, "sports programming" sounds a bit weird to me (maybe it's just because of my mother tongue).
Grammatically speaking, "sports programming" could refer to "the act of programming a sport", like scheduling a sportive event or something. That's because it's a noun + noun (sports + programming), whereas "competitive programming" is a adjective + noun; the equivalent would be "sportive programming", which sounds weird. I'm not an expert, I think that "sports programming" is not incorrect when replacing the idea behind competitive programming, sometimes a noun can act as an adjective (e.g. "history teacher"), but the other interpretation I mentioned is also possible. In Portuguese, "sports" always behaves as a noun and "sportive" always behaves as an adjective, maybe that's just why it sounds so strange to me.
My suggestion, by the way, is to simply use "competitive programming" and never abbreviate it. xD
Problem Solving Programming (PSP) ?
PlayStationPortable
What should be the abbreviation for Dynamic Programming then. DP can be even more misleading then CP.
But it isn't illegal.
Things related to it are quite funny though like Educational DP Stream, I am good at DP, I hate DP etc etc.
Let's brainstorm alternative abbrevations to CP? CompProg? ComProg? ComPro? ProCom?
.
How about this: Competitive Programming Sports?
CP = Competitive Programming
UP = Underage Pornography
Problem solved.
UP is the abbr of University of Portland
1 point to Errichto and he woud be the number one.
Hold the cam guys)
YouTube: Pewdiepie vs T-Series
Codeforces: Radewoosh vs Errichto
T-series is the fastest growing channel but Errichto was already popular from long time ago.
Whatever, in both cases someone from Poland is gonna win.
In Bengali, we say Programming Protizogita(Competitive Programming). But I always like to say Sports Programming.
Maybe just CMP or CPR?
In spanish we say "Programacion Competitiva" which is literally competitive programming. Sports programming would be something like "Programacion Deportiva" which would sound like you are trying to program something related to sports
:)
In Hindi, we call it "Placements ki tayyaari".
In China, we call it "算法竞赛" which means "Algorithmic Competition", or "信息学竞赛"/"信息学奥赛" which means "Olympiad in Informatics". High school students often use "OI" as the abbreviation, while university students use "ACM".
However, when chatting with foreigners, I use "CP" :)
Wow Algorithmic Competition is pretty cool!
How about Athletic Programming ?? At least AP doesn't stand for anything bad.
I know this is a very old post now but still can someone please let me know what to prefer Sports or Competitive? I upvote for Sports by the way. Sounds cool.