infoarena

Comunitate - feedback, proiecte si distractie => Off topic => Subiect creat de: Petcu Ioan Vlad din Aprilie 21, 2013, 10:56:29



Titlul: VIM vs Code::Blocks
Scris de: Petcu Ioan Vlad din Aprilie 21, 2013, 10:56:29
De cand invat informatica am folosit un ide pentru a coda.
De-a lungul timpului tot mai multi colegi au renuntat la Ide-uri in favoarea VIM-ului,
intrebarea mea este: Cu ce este mai bun VIM-ul fata de un ide, din cate vad eu, pot
face aceleasi lucruri, numai ca in IDE ai mai multe features.


Titlul: Răspuns: VIM vs Code::Blocks
Scris de: Paul-Dan Baltescu din Aprilie 21, 2013, 12:59:49
Iata cateva avantaje pentru care folosesc vim:

  • E utilizabil cu orice limbaj de programare cu efort minim. In cazul concursurilor de programare, nu te obliga sa folosesti un compilator de C++ invechit.
  • Nu obstructioneaza codul. Nu exista n-spe ferestre pe care nu le folosesc niciodata pe toate partile ecranului.
  • Imi ofera un control excelent asupra codului. Din combinatii de 2-3 taste fac lucruri pentru care in alt IDE as avea nevoie de meniuri si ferestre noi.
Problema principala cu vim-ul e ca e greu de invatat. Majoritatea participantilor la concursurile de programare folosesc un set minimal de feature-uri din vim pe care le-au vazut la alte editoare.


Titlul: Răspuns: VIM vs Code::Blocks
Scris de: Adrian Craciun din Aprilie 21, 2013, 20:39:13
Pentru concursurile de programare nici code::blocks nu te obliga sa folosesti un compilator invechit.
Code::Blocks poti sa il configurezi (in maxim 1 minut) astfel incat sa elimini ferestrele inutile.

Intradevar principalul avantaj al VIM-ului e ca are combinatii de taste care iti permit sa te misti mai rapid ca in alte editoare/ide-uri. Consider ca in cazul olimpiadei acest lucru nu constituie un avantaj major (recunosc totusi ca nefiind vim pro user, parerea mea poate sa fie gresita :) ).

Avantaje la code::blocks.
  • Auto-complete mai bun.
  • Ai debugger. Chiar te ajuta in timp de concurs sa scoti unele bug-uri mai repede decat cu printf (desi daca ai pretentii de ioi etc. acele bug-uri nu ar trebui sa existe).
  • Easy to use. Nu necesita timp de invatare (prea mare).

Consider ca VIM-ul fiind overrated. Atata timp cat nu esti pro user, nu ai nici un motiv sa folosesti vim pentru concursuri etc.


Titlul: Răspuns: VIM vs Code::Blocks
Scris de: Adrian Budau din Aprilie 23, 2013, 11:30:20
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


Titlul: Răspuns: VIM vs Code::Blocks
Scris de: Andrei Grigorean din Aprilie 23, 2013, 19:33:13
Pur si simplu te misti mai repede in Vim decat in Code::Blocks.