Before you jump into competitive programming, there are a few things you might want to look at:
You could use an text editor of your choice, such as Vim or VS Code or Sublime Text.
Sublime Text is our personal text editor of choice due to it's speed and minimalist interface.
You may also choose to look at the following:
- VS Code Extension for CC: [https://github.com/agrawal-d/cph]
- Guide to setting up Sublime Text: [https://github.com/the-hyp0cr1t3/CC/blob/master/Setting%20up%20Sublime.md]
C++ and Java are the most commonly used languages due to their 'speed' of execution which is an important factor in competitive programming.
Here's a short overview on both sides of the debate:
- Speed: C++ is certainly faster than Java but the difference isn't large enough to cause substantial issues unless the time constraints are really tight.
- Functionalities: Java provides certain in-built capabilities through which we can avoid writing complex code(for example - BigInteger Class). However, C++ posesses the superior Standard Template Library (STL) that allows you to easily implement simple and complex Data Structures and Algorithms.
- Verbosity: Java is more verbose and so it might take more time writing in Java code for simple programs.
The C++ STL is a huge library of useful functions and it is almost imperative for every C++ competitive programmer to be familiar with the STL.
Read Up: [https://www.hackerearth.com/practice/notes/standard-template-library/]
Practise: [https://www.hackerrank.com/domains/cpp/stl/page/1]