esolol said:
I am a girl and I like computer science and I always do a variety of things, e.g., artificial intelligence, web development, but when it comes to competitive programming or informatics olympiad competitions, i just suck at them, i participated in them for like 2 years already and I never enter the final round... Should i quit programming?
Heck no, don't quit programming unless you decide that you really don't like programming ##-## the computer doesn't know whether you've won competitions, or have advanced degrees ##-## as a programmer, you already know this ##-##
As a kid programmer in the '70s, I found out at age 12 that I wasn't as good as Prof. Donald Knuth is at programming ##-##
(Prof. Don is the inventor of ##\TeX## and the author of
The Art of Computer Programming ##-## please don't let that
magnum opus discourage you ##-## it's very advanced, and please understand that Prof. Knuth wrote it to help computer scientists and programmers to understand things better and to write elegant code; not to convince people that it's too hard and that they should quit),
but I didn't take that as discouragement ##-## I understood that I didn't necessarily have to be one of the world's top 100 best supernerds to make good contributions ##-## sometimes coding can feel like tedium and drudgery, but building systems and solving problems and writing good working code can be very rewarding, mentally and materially ##-## hang in there, girl ##\dots##
A guy I was tutoring in programming in the early '80s said something that was very gratifying to me: he said he liked my 'don't just give up' attitude ##-## he had tried to compile a fairly simple PL/1 (that's an IBM mainframe programming language) program, and the compiler had issued dozens of error messages (the PL/I compiler is not terse and not shy about issuing multiple error messages) ##-## I guided him through reading and interpreting just the first few messages, and addressing the associated issues ##-## the next time he tried the compile there were a lot fewer messages, and after more working and thinking, soon enough there were no more compilation errors ##-## then it came time to make sure that the output was correct ##-## and so on.
For me at least, programming is more about competing against the problem; not so much about trying to be a better programmer than other programmers ##-## some of the best programmers I know are very collaborative ##-## they can code very well solo, but they can't write a million lines of working code in a year or two ##-## big projects require programmers of different levels of sophistication ##-## competitions can be excellent motivators and can help us to find exceptional talent and skill, but we need programmers at all levels of brilliance ##-##
Most of the code that we're using to read and post on this forum was written by 'regular' programmers ##-## and the 'superstars' would not have many ways to present their superstar work without the huge amount of work done by regular programmers ##-## and I think that at all levels of ability, the discipline of programming helps to cultivate habits of clear thinking.