2 din avantajele pe care le-ai precizat sunt defapt dezavantaje.
- Auto-complete-ul e bun in industrie unde numele variabilelor ajunge la 20-40 de caractere, in concurs e esential sa codezi repede. Daca depinzi de auto-complete nu iti dezvolti prea mult viteza de implementare.
- Ce voi scrie aici nu functioneaza cand vine vorba de industrie. Oricine scrie surse cu bug-uri, indiferent la ce nivel e, dar a depinde de un debugger pentru greseli mici, pe timp de concurs iarasi nu te dezvolta cu nimic. Cu cat ai mai putine chesti care sa te ajute sa-ti rezolvi problemele cu atat vei fi tu mai bun la a le gasi, in timp evident
De ce nu recomand code::blocks: Nu pune accent pe warning-uri. In Vim comanda mea de compilare contine "-Wall -Wextra" care te anunta de foate multe lucruri. E mai usor sa previi o greseala decat sa o repari.
Si motive pentru care prefer vim:
1) Pune accentul pe tastatura: Ca programator ar trebui in timp sa renunti la mouse atunci cand codezi, el e principalul motiv pentru care esti incet
2) Fisiere mari si find & replace: In vim dupa ce inveti un pic find si replace o sa-ti fie foarte usor sa schimbi anumite lucruri prin sursa. De exemplu daca iti declari o variabila globala left o sa ai probleme de confuzie pe anumite versiuni de gcc. Eu vreau sa mi-o redenumesc in Left -> ":%s/left/Left/g" o comanda pe care o scriu in 3 secunde.
3) SSH editing: Daca te conectezi vreodata la un calculator la distanta o sa ai nevoie in general de un editor de consola. Optiunile tale sunt deobicei nano, vim si emacs. Dintre acestea 3 vim si emacs sunt cele mai puternice dar vim e mai usor de invatat. O sa ai nevoie de asta la facultate
4) Customizing: In concurs asta nu conteaza, dar pentru munca mea de zi cu zi mi-e foarte util ca eu sa depun mai putin efort sa fac acelasi lucru (evident atat timp cat nu pierd din vedere lucruri care ma dezvolta). Exista multe plugin-uri excelente pentru vim: Syntastic, Easymotion, etc