1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

What IDE Or Editor Do You Use?

Discussion in 'Programming & Webmastering' started by Kreij, Mar 8, 2013.

  1. Kreij

    Kreij Senior Monkey Moderator Staff Member

    Joined:
    Feb 6, 2007
    Messages:
    13,881 (4.87/day)
    Thanks Received:
    5,616
    Location:
    Cheeseland (Wisconsin, USA)
    Just out of curiosity, to get some insight and to spark a little discussion I thought I would bring this up in this section.

    What IDE or editor to you use to write your code?
    What features do you like and what are good plug-ins or enhancements?
    Features can be things like highlighting, code completion, versioning, etc.

    Many people use more than one as they don't all fit the bill for all types of coding environments and languages, so feel free to comment on what suits you the best in various scenarios ... and please state the type of languages you use with them.
     
    stinger608 says thanks.
  2. dcf-joe

    dcf-joe

    Joined:
    Feb 11, 2008
    Messages:
    387 (0.16/day)
    Thanks Received:
    22
    Location:
    Nebraska, USA
    I use Visual Studio 2012 Ultimate for my C# coding and a little bit of C++.

    I am getting into Android development, so I downloaded the ADK from Google which comes with Eclipse already setup to work with android.

    I use notepad when I am teaching myself HTML.
     
  3. hellrazor

    hellrazor

    Joined:
    Feb 18, 2010
    Messages:
    1,580 (0.91/day)
    Thanks Received:
    319
    Right now I'm using Pluma (because I'm running Linux Mint and MATE), but back in the days I really enjoyed Notepad++.
     
  4. FordGT90Concept

    FordGT90Concept "I go fast!1!11!1!"

    Joined:
    Oct 13, 2008
    Messages:
    13,965 (6.24/day)
    Thanks Received:
    3,803
    Location:
    IA, USA
    Visual Studio 2010 (just updated to 2012, kind of don't like it) for C#, VB, ASP, and XAML. EditPlus for everything else (flat files, HTML, CSS, PHP, Javascript, etc.).

    VS, I really like the auto-complete and debugger. EP, I really like the syntax highlighting and all the options it has for manipulating documents (e.g. column select). I don't use plugins for either.
     
    Crunching for Team TPU
  5. W1zzard

    W1zzard Administrator Staff Member

    Joined:
    May 14, 2004
    Messages:
    15,012 (3.90/day)
    Thanks Received:
    11,879
    Visual Studio 2010 for C++/.NET (must have Visual Assist plugin installed)
    Eclipse for Android
    UltraEdit for PHP, HTML
     
    Castiel and CrackerJack say thanks.
  6. Easy Rhino

    Easy Rhino Linux Advocate

    Joined:
    Nov 13, 2006
    Messages:
    13,504 (4.60/day)
    Thanks Received:
    3,354
    eclipse for JAVA. vim for PHP,HTML,CSS,BASH,CSH,ZCH. ultraedit and TOAD for PL/SQL.
     
    Last edited: Mar 8, 2013
    Crunching for Team TPU
  7. Jizzler

    Jizzler

    Joined:
    Aug 10, 2007
    Messages:
    3,455 (1.30/day)
    Thanks Received:
    645
    Location:
    Geneva, FL, USA
    When provided by employer (free), I do like Dreamweaver for HTML/PHP. None of the tools or anything like that - just the code view. Has excellent hinting, highlighting, etc.

    Most of the time I'm in: http://www.sublimetext.com/
    Nice and light, no need to create a project. Had a few irritating default actions (code hint select with tab), but much better now that I've set options to how I like it.

    Visual Studio Express for C++/C#.

    I tried Netbeans to unify Java, PHP, and C++ development under one IDE, but didn't like it that much. Felt clunky. Only keep it installed for the rare time I need to do some Java.
     
  8. Easy Rhino

    Easy Rhino Linux Advocate

    Joined:
    Nov 13, 2006
    Messages:
    13,504 (4.60/day)
    Thanks Received:
    3,354
    i do not like netbeans for java. eclipse is great and has a nice plugin if you need to do J2EE stuff.
     
    Crunching for Team TPU
  9. Mindweaver

    Mindweaver Moderato®™ Staff Member

    Joined:
    Apr 16, 2009
    Messages:
    5,370 (2.62/day)
    Thanks Received:
    2,969
    Location:
    Statesville, NC
    Right now..

    1. vb6, Vbs 2010, 2012 (I still use vb6 on a few things, but I'm slowly moving everything over to 2010)
    2. SQL Server Management studio
    3. Sybase Central
    4. Toad (I don't use it as much anymore)
    5. Notepad++
    6. I'm sure I'm forgetting something (Some stuff I may not touch for a month)....
     
    Crunching for Team TPU
  10. digibucc

    digibucc

    Joined:
    May 21, 2009
    Messages:
    4,937 (2.45/day)
    Thanks Received:
    1,502
    I found and love JetBrains PHPStorm. they have some other IDEs for different languages, but this is the one I use. Before that I used Notepad++ but for real work it's just easier with an IDE.
     
  11. CrackerJack

    CrackerJack

    Joined:
    Dec 13, 2007
    Messages:
    2,709 (1.07/day)
    Thanks Received:
    451
    Location:
    East TN
    Visual Studio 2010/2012
    Dreamweaver

    Been thinking about getting into Android programming.

    That's the name of that plugin! I couldn't find it forever till just now! Thanks :)
     
  12. Aquinus

    Aquinus Resident Wat-man

    Joined:
    Jan 28, 2012
    Messages:
    6,686 (6.46/day)
    Thanks Received:
    2,339
    Location:
    Concord, NH
    I don't really use any IDEs. I have VS 2012 handy so I can mess around with .NET occasionally, but more often than not whatever I need to write I can write using just VIM.

    So I write the following using only VIM in *nix land:
    PHP, Ruby, Java, BASH, C, Python (rarely,), and SQL for PostgreSQL.

    The only languages I've written where I've used an IDE are:
    Netbeans with Java (for shits and giggles, I typically use just VIM when it comes to Java.)
    MiniIDE with HCS12 assembly.
    C# in VS.NET. (Currently have 2012 express installed but I do have a copy of 2008 Ultimate and Team Dev as well as 2010 Ultimate.)

    More often than not when I'm using an IDE, I'm developing in Windows and not *nix.

    I'm not going to lie though, programming assembly was a lot of fun with a HCS12-based micro-controller. I just don't have the time for it and I would need to pickup another dev board to do it.

    Sample (this is an old bit of an old version of a program I wrote several years ago, I could paste the entire thing but its over 500 lines of assembly I changed my mind, I think I have an older version of the application but I'll just post the entire thing up anyways. :p):
    Code:
    #include        Reg9s12.h
    
    ;---------- START OF CONSTANTS -------------------
    ;---------- KEYPAD CONSTANTS ------------------
    MAXLN:		equ		8
    DIGIT0:		equ		8
    DIGIT1:		equ		4
    DIGIT2:		equ		2
    DIGIT3:		equ		1
    ;---------- LCD CONSTANTS ---------------------
    ONE_MS:		equ		4000        ; 4000 x 250ns = 1 ms at 24 MHz bus speed
    FIVE_MS:	equ		20000
    TEN_MS:		equ                40000
    FIFTY_US:   equ                200
    
    
    DB0:        equ     1
    DB1:        equ     2
    REG_SEL:    equ     DB0        ; 0=reg, 1=data
    NOT_REG_SEL:equ     $FE
    ENABLE:     equ     DB1
    NOT_ENABLE: equ     $FD
    
    LCD:        equ     portk
    LCD_RS:     equ     portk
    LCD_EN:     equ     portk
    
    REGBLK:     equ     $0
    
    STACK:      equ     $2000
    ;---------- END CONSTANTS ---------------------
    
    ;----------------------------------------------------------------------------------------
    ;---------- Start Variables -------------------
    			org        $1000
    ;------ Keypad Vars ----------
    ;-- Password --
    passwd:		rmb		4 ; Password will be stored in the last 4 bytes of EEPROM.
    tmppasswd:	rmb		4
    pwchkvalid:	rmb		1
    spstr:		fcc		"Set New Password"
    spsetstr:	fcc		"New Password Set"
    epstr:		fcc		"Enter Password  "
    ;-- Main Loop Vars --
    incount		rmb		1
    strpt		rmb		1
    ;-- Delay Variables.
    R1:         rmb     1
    R2:         rmb     1
    R3:         rmb     1
    ;-- keypad output store
    KEY:        rmb     1
    TEMPKEY:	rmb		1
    KEYS:       rmb     8
    ;------ LCD Vars -------------
    pkimg:                rmb                1
    temp1:                rmb                1
    ;str1:                rmb                16     ;line 1 string variable
    str1:                fcc                "                " ;initialize as blank..
    cnt1:                rmb                1         ;line 1 length variable
    ;str2:                rmb                16     ;line 2 string variable
    str2:                fcc     "                " ;initialize as blank..
    cnt2:                rmb     1       ;line 2 length variable
    
    LCDimg:                equ                pkimg
    LCD_RSimg:        equ                pkimg
    LCD_ENimg:        equ                pkimg
    ;----------------------------------------------------------------------------------------
    
    ;---------- START OF PROGRAM ------------------
    			org     $2000
                lds     #$2000  ; Initialize the stack.
                ldaa    #16              ; just for testing, replace with buttons
                staa    cnt1            ; ditto
                staa    cnt2            ; ditto
    			ldaa	#0
    			staa	strpt
    			staa	incount
    
    			jsr		SETPASSWD
    
    			jsr		CHKPASSWD
    
    lp1:        jsr     GETKEY
                ldab    KEY
                ldx		incount
    			stab	str1,x
    			inx
    			stx		incount
                jsr     LCDOUT
                jmp		lp1
                end
    
    ;----------------------------------------------------------------------------------------
    ;----------------------------- SUBROUTINES! ---------------------------------------------
    ;----------------------------------------------------------------------------------------
    
    ;-------------------------------
    ;-- Set password subroutine. ---------------------------------------------
    ;-- Check 4-char string starting at address stored in index register x. --
    ;-------------------------------------------------------------------------
    SETPASSWD:	clr		incount
    			ldx		#0
    SPSLOOP:	ldaa	spstr,x
    			staa	str1,x
    			inx
    			cmpx	#16
    			bne		SPSLOOP
    			jsr		LCDOUT
    			
    			ldx		#0
    SPNEXTKEY:	jsr		GETKEY
    			ldaa	KEY
    			staa	passwd,x
    			ldaa	#$2A
    			staa	str2,x
    			inx
    			jsr		LCDOUT
    			cmpx	#4
    			bne		SPNEXTKEY
    			jsr		LCDOUT
    
    			ldx		#0
    pwsetlp:	ldaa	spsetstr,x
    			staa	str1,x
    			inx
    			cmpx	#16
    			bne		pwsetlp
    			jsr		LCDOUT
    
    			rts
    
    ;-------------------------------
    ;-- Check password subroutine --
    ;-------------------------------
    CHKPASSWD:	clr		incount
    			ldx		#0
    CPSLOOP:	ldaa	epstr,x
    			staa	str1,x
    			inx
    			cmpx	#16
    			bne		CPSLOOP
    			jsr		LCDOUT
    			
    			ldx		#0
    CPNEXTKEY:	jsr		GETKEY
    			ldaa	KEY
    			staa	tmppasswd,x
    			ldaa	#$2A
    			staa	str2,x
    			inx
    			jsr		LCDOUT
    			cmpx	#4
    			bne		CPNEXTKEY
    			jsr		LCDOUT
    
    ;-- At this point the passwd has been entered.
    
    			ldx		#0
    checkpwlp:	ldaa	passwd,x
    			ldaa	tmppasswd,x
    			cba
    			bne		cp_fail
    			inx
    			cmpx	#4
    			bne		checkpwlp
    			cmpx	#4
    			beq		cp_pass
    
    cp_pass:	ldaa	#1
    			staa	pwchkvalid
    			rts
    cp_fail:	ldaa	#0
    			staa	pwchkvalid
    			rts
    ;----------------------------------------------------------------------------------------
    ;----------------------------- Get key from keypad subroutine ---------------------------
    ;----------------------------------------------------------------------------------------
    KEYRETURN:	ldaa	TEMPKEY
    			beq		INITCHECK
    			staa	KEY
    			puld
    			rts
    
    GETKEY:		clr		KEY
    			clr		TEMPKEY
                pshd
                ldaa        #$F0
                staa        ddra
                ldaa        #$ff
                staa        ddrb,x
                staa        ddrj,x
                bclr        ptp,x,DIGIT0
                bset        ptp,x,DIGIT1
                bset        ptp,x,DIGIT2
                bset        ptp,x,DIGIT3
    ;--------- POLLING HERE! ----------------------
    POLL:		
    			ldaa	KEY
    			ldab	#0
    			cba
    			beq		KEYRETURN
    			cba
    			bne		SET_TK
    
    SET_TK:		staa	TEMPKEY
    INITCHECK:  bclr    porta,#%11110000        ; This disables all other bits.
    			bset    porta,#%00010000        ; This is first row.
    			jsr		DELAY
    CHECKROW1:  jsr     DELAY
    
                brset   porta,#%00010001,D1
                brset   porta,#%00000010,D2
                brset   porta,#%00000100,D3
                brset   porta,#%00001000,D_A
                jmp		CHECKROW2;
    
    ;--------- DISPLAY FOR 7SEG DISP. --------------
    
    ;--------- DISPLAYS FOR FIRST ROW -------------
    D1:                        ldaa    #$31
                            staa    KEY
                            jmp     POLL
    
    D2:                        ldaa    #$32
                            staa    KEY
                            jmp     POLL
    
    D3:                        ldaa    #$33
                            staa    KEY
                            jmp     POLL
    
    D_A:                ldaa    #$61
                            staa    KEY
                            jmp     POLL
    
    ;----------- Check row 2 ----------------------
    CHECKROW2:        asl     porta
    
                            brset   porta,#%00000001,D4
                            brset   porta,#%00000010,D5
                            brset   porta,#%00000100,D6
                            brset   porta,#%00001000,D_B
                            jmp                CHECKROW3
    ;----------- DISPLAYS FOR SECOND ROW ----------
    D4:                        ldaa    #$34
                            staa    KEY
                            jmp     POLL
    
    D5:                        ldaa    #$35
                            staa    KEY
                            jmp     POLL
    
    D6:                        ldaa    #$36
                            staa    KEY
                            jmp     POLL
    
    D_B:                ldaa    #$62
                            staa    KEY
                            jmp     POLL
    ;------------- CHECK ROW 3 -----------------
    CHECKROW3:        asl     porta
    
                            brset   porta,#%00000001,D7
                            brset   porta,#%00000010,D8
                            brset   porta,#%00000100,D9
                            brset   porta,#%00001000,D_C
                            jmp                CHECKROW4
    ;------------- ROW 3 -----------------------
    D7:                        ldaa    #$37
                            staa    KEY
                            jmp     POLL
    
    D8:                        ldaa    #$38
                            staa    KEY
                            jmp     POLL
    
    D9:                        ldaa    #$39
                            staa    KEY
                            jmp     POLL
    
    D_C:                ldaa    #$63
                            staa    KEY
                            jmp     POLL
    
    ;-------------- CHECK ROW 4 ----------------
    CHECKROW4:        asl     porta
    
                            brset   porta,#%00000001,DSTAR
                            brset   porta,#%00000010,D0
                            brset   porta,#%00000100,DPOUND
                            brset   porta,#%00001000,D_D
                            ldaa    #0
    			stab	KEY
                            jmp     POLL ;; Restart, nothing left to check.
    ;-------------- ROW 4 ----------------------
    DSTAR:                ldaa    #$2A
                            staa    KEY
                            jmp     POLL
    
    D0:                        ldaa    #$30
                            staa    KEY
                            jmp     POLL
    
    DPOUND:                ldaa    #$23
                            staa    KEY
                            jmp     POLL
    
    D_D:                ldaa    #$64
                            staa    KEY
                            jmp     POLL
            
    ;----------DELAY
    DELAY:                PSHA                ;Save Reg A on Stack
                            LDAA    #100                ;
                            STAA    R3                  ;
    ;--1 msec delay. The D-Bug12 works at speed of 48MHz with XTAL=8MHz on Dragon12+ board
    ;Freq. for Instruction Clock Cycle is 24MHz (1/2 of 48Mhz).
    ;(1/24MHz) x 10 Clk x240x10=1 msec. Overheads are excluded in this calculation.
    L3:                        LDAA    #5
                            STAA    R2
    L2:                        LDAA    #240
                            STAA    R1
    L1:                        NOP         ;1 Intruction Clk Cycle
                            NOP         ;1
                            NOP         ;1
                            DEC     R1  ;4
                            BNE     L1  ;3
                            DEC     R2  ;Total Instr.Clk=10
                            BNE     L2
                            DEC     R3
                            BNE     L3
    ;--------------
                            PULA                        ;Restore Reg A
                            RTS
    
    ;----------------------------------------------------------------------------------------
    ;--------------------------- END OF GET_KEY SUBROUTINE ----------------------------------
    ;----------------------------------------------------------------------------------------
    
    ;----------------------------
    ;-- Clear LCD out strings. --
    ;----------------------------
    clear_strs:	pshx
    			psha
    			ldx		#0
    			ldaa	#0
    
    clrloop:	staa	str1,x
    			staa	str2,x
    			inx
    			cmpx	#16
    			bne		clrloop
    
    			ldaa	#16
    			staa	cnt1
    			staa	cnt2
    
    			pula
    			pulx
    			rts
    			
    ;----------------------------------------------------------------------------------------
    ;--------------------------- START OF LCD SUBROUTINE ------------------------------------
    ;----------------------------------------------------------------------------------------
    
    lcd_ini:        ldaa        #$ff
                            staa        ddrk                ; port K = output
                            clra        
                            staa        pkimg
                            staa        portk
    
                            ldx                #inidsp         ; point to init. codes.
                            pshb                    ; output instruction command.
                            jsr                sel_inst
                            ldab        0,x
                            inx
    onext:                ldaa        0,x
                            jsr                wrt_nibble         ; initiate write pulse.
                            inx
                            jsr                delay_5ms       ; every nibble is delayed for 5ms
                            decb                    ; in reset sequence to simplify coding
                            bne                onext
                            pulb
                            rts
                  
    inidsp:                fcb                12                ; number of high nibbles
    *                                ; use high nibbles only, low nibbles are ignored
                            fcb                $30                ; 1st reset code, must delay 4.1ms after sending
                            fcb                $30                ; 2nd reste code, must delay 100us after sending
            
    ; all following 10 nibbles must be delay 40us each after sending
                            fcb                $30             ; 3rd reset code,
                            fcb                $20                ; 4th reste code,
                            fcb                $20                   ; 4 bit mode, 2 line, 5X7 dot
                            fcb                $80                   ; 4 bit mode, 2 line, 5X7 dot
                            fcb                $00                ; cursor increment, disable display shift
                            fcb                $60                ; cursor increment, disable display shift
                            fcb                $00                ; display on, cursor off, no blinking
                            fcb                $C0                ; display on, cursor off, no blinking
                            fcb                $00                ; clear display memory, set cursor to home pos
                            fcb                $10                ; clear display memory, set cursor to home pos
    *
    sel_data:        psha
    ;                        bset        LCD_RSimg REG_SEL        ; select instruction
                            ldaa        LCD_RSimg
                            oraa        #REG_SEL
                            bra                sel_ins
    
    sel_inst:        psha
    ;                        bclr        LCD_RSimg REG_SEL        ; select instruction
                            ldaa        LCD_RSimg
                            anda        #NOT_REG_SEL
    
    sel_ins:        staa        LCD_RSimg
                            staa        LCD_RS
                            pula
                            rts
    
    lcd_line1:        jsr                sel_inst                ; select instruction
                            ldaa        #$80                     ; starting address for the line1
                            bra                line3
    lcd_line2:        jsr                sel_inst
                            ldaa        #$C0                     ; starting address for the line2
    line3:                jsr                wrt_byte
    
                            jsr                sel_data
                            jsr         msg_out
                            rts        
    ;
    ; at entry, x must point to the begining of the message,
    ;           b = number of the character to be sent out
               
    msg_out:        ldaa        0,x
                            jsr                wrt_byte
                            inx
                            decb
                            bne                msg_out
                            rts
    
    wrt_nibble:        anda        #$f0                     ; mask out 4 low bits
                            lsra
                            lsra                            ; 4 MSB bits go to pk2-pk5
                            staa        temp1                         ; save high nibble
                            ldaa        LCDimg                    ; get LCD port image
                            anda        #$03                     ; need low 2 bits
                            oraa        temp1                    ; add it with high nibble
                            staa        LCDimg                    ; save it
                            staa        LCD                            ; output data to LCD port
                            jsr                enable_pulse
                            rts
    *
    
    ;       @ enter, a=data to output 
    ;
    wrt_byte:
                            pshx
                            psha                                ; save it tomporarily.
                            anda        #$f0                     ; mask out 4 low bits.           
                            lsra
                            lsra                                ; 4 MSB bits go to pk2-pk5                                
                            staa        temp1                         ; save nibble value.
                            ldaa        LCDimg                    ; get LCD port image.
                            anda        #$03                     ; need low 2 bits.
                            oraa        temp1                    ; add in low 4 bits. 
                            staa        LCDimg                    ; save it
                            staa        LCD                            ; output data          
    
                            bsr                enable_pulse
                            pula
                            asla                            ; move low bits over.
                            asla
                            staa        temp1                        ; store temporarily.
                            ldaa        LCDimg                         ; get LCD port image.
                            anda        #$03                           ; need low 2 bits.
                            oraa        temp1                          ; add in loiw 4 bits. 
                            staa        LCDimg                    ; save it
                            staa        LCD                            ; output data          
    
                            bsr                enable_pulse
                            jsr                delay_50us
                            pulx
                            rts
    
    enable_pulse:
    ;                        bset        LCD_ENimg ENABLE        ; ENABLE=high
                            ldaa        LCD_ENimg
                            oraa        #ENABLE
                            staa        LCD_ENimg
                            staa        LCD_EN
            
    ;                        bclr        LCD_ENimg ENABLE        ; ENABLE=low
                            ldaa        LCD_ENimg
                            anda        #NOT_ENABLE
                            staa        LCD_ENimg
                            staa        LCD_EN
                            rts
    
    delay_10ms:        pshx
                            ldx                #TEN_MS
                            bsr                del1
                            pulx
                            rts
    
    delay_5ms:        pshx
                            ldx                #FIVE_MS
                            bsr                del1
                            pulx
                            rts
    
    delay_50us:        pshx
                            ldx                #FIFTY_US
                            bsr                del1
                            pulx
                            rts
    ;
    ; 250ns delay at 24MHz bus speed
    ;
    del1:                dex                                ; 1 cycle
                            inx                                ; 1 cycle
                            dex                                ; 1 cycle
                            bne                del1                        ; 3 cylce
                            rts
            
            
    ;;;;;;;;;;;FUNCTIONS TO CALL BY USER BELOW;;;;;;;;;;;;;;
    LCDOUT:
    			pshx
    			pshy
    			pshd
    			jsr                delay_10ms                ; delay 20ms during power up
    			jsr                delay_10ms
    
    			jsr                lcd_ini                        ; initialize the LCD 
    			jsr                disp                           ;display blank to start
    			puld
    			puly
    			pulx
    			rts
                                  
    disp:
                            ldx                #str1                        ; str1 for line1, x points to message 1
                            ldab    cnt1                     ; send out cnt1 characters
                            jsr                lcd_line1
    
    
                            ldx                #str2                        ; str2 for line2, cnt2 points to message 2
                            ldab        cnt2                     ; send out cnt2 characters
                
                            jsr                lcd_line2
                            jsr                delay_10ms
                            jsr                delay_10ms
    ;                        jmp                disp                       loop on display to refresh
                            rts        ;rts instead of auto-loop refresh
    
    ;----------------------------------------------------------------------------------------
    ;--------------------------- END OF LCD SUBROUTINE --------------------------------------
    ;----------------------------------------------------------------------------------------
     
  13. syeef

    Joined:
    Jul 5, 2008
    Messages:
    287 (0.12/day)
    Thanks Received:
    68
    Dreamweaver CS5 for HTML, JS, CSS and PHP
    NetBeans for JAVA/J2ME
    Visual Studio 2010 for C# and VC++
    Eclipse for Android
    Notepad++ for everything :)
     
  14. Castiel

    Castiel

    Joined:
    May 5, 2008
    Messages:
    3,319 (1.38/day)
    Thanks Received:
    310
    I work on a Mac, so for HTML, CSS, JavaScript, PHP, and Ruby I use TextMate.
     
  15. Vinska

    Vinska

    Joined:
    Jul 23, 2011
    Messages:
    1,419 (1.16/day)
    Thanks Received:
    1,259
    Location:
    Kaunas, Lithuania
    vim for everything 95% of the time. At the remaining 5% - gedit/pluma. (That "everything" is mostly C, bash and asm; Some C++ and Java; and li'l bit of other languages.)
    I also used some nano before moving to vim and used a bit of VS2010ee and Dev-C++ while on my university computers.
     
    Last edited: Apr 23, 2013
    Crunching for Team TPU
  16. Aquinus

    Aquinus Resident Wat-man

    Joined:
    Jan 28, 2012
    Messages:
    6,686 (6.46/day)
    Thanks Received:
    2,339
    Location:
    Concord, NH
    Aha! I have another to add to my list: emacs with EVIL. I'm starting to learn Clojure and apparently emacs is the tool to use for LISPs.
     
  17. jonnyhocks New Member

    Joined:
    May 3, 2013
    Messages:
    6 (0.01/day)
    Thanks Received:
    1
    I used to use Coda for all my HTML and CSS stuff.

    I'm doing more PHP and Ruby so have moved over completely to Sublime Text 2.
     
  18. Castiel

    Castiel

    Joined:
    May 5, 2008
    Messages:
    3,319 (1.38/day)
    Thanks Received:
    310
    Sublime Text 2 is great, I use it on Windows when I work on my personal stuff. Kinda feels like Textmate on MAC.
     
  19. Aquinus

    Aquinus Resident Wat-man

    Joined:
    Jan 28, 2012
    Messages:
    6,686 (6.46/day)
    Thanks Received:
    2,339
    Location:
    Concord, NH
    I despise using anything gui for languages that don't need it, so unless I'm using visual studio, I'm usually working on a *nix environment on a real server or on a VM that has no GUI tools whatsoever. Either way, if I'm using more than a terminal and a web browser, there is a problem.

    You don't need to over-complicate code by adding bells and whistles. As long as it shows me the code, shows me it well, and lets me edit it quickly and efficiently there is absolutely no need for anything else. Plus, I like having regex search and replace, I would go nuts without sed and grep, and GIT is terrible to use with a GUI.

    All in all, I only use Windows to house my SSH session and browser. If I'm on my mac at work, I do the exact same thing.

    Remember: You get good at what you use a lot. The more you use it the better get at it and everything you need to do in VIM is pretty much a couple keystrokes away, never a click unless you're cheating and using GVIM.
     
    Vinska says thanks.
  20. digibucc

    digibucc

    Joined:
    May 21, 2009
    Messages:
    4,937 (2.45/day)
    Thanks Received:
    1,502
    I appreciate the highlighting, color settings (a dark background with different colored words is easier for me), as well as autocompletion and built in server sync, etc. unless i am missing what you mean by bells and whistles.

    just because you get good at what you use doesn't mean it's the best option. you'll get really good at using a hammer if that's all you use but when the job calls for a pair of needlenose and you're only awesome with a hammer you're ill suited. why not get really good at the best option available, instead of being really good at the old way of doing something when there are newer (imho better) alternatives?

    i'm just saying, no matter how good you are, making it harder for yourself doesn't make any sense. I don't see how things like built in libraries, highlighting, etc could possible make your work harder - and so to me it seems you are sticking to less developed methods with no real benefit over newer programs. the reason for this i don't know, but i can't think of a good one.
     
  21. Aquinus

    Aquinus Resident Wat-man

    Joined:
    Jan 28, 2012
    Messages:
    6,686 (6.46/day)
    Thanks Received:
    2,339
    Location:
    Concord, NH
    Well maybe you should try a text-based editor so you actually know what you're talking about. Just because it's text based doesn't mean you don't have syntax highlighting, auto indentation, and the like. It's how it's delivered and the extent in which it is delivered. Maybe you should give it a try before bashing it. Hard to learn does not imply hard to use and anything is hard to use before you learn how to use it. Text-based is just harder because you don't have an easy to use interface to do thing which only snowballs functionality and quickly makes it take more time to do the same thing.

    [​IMG]

    You're editor doesn't need to do that, you're complecting what the editor does if it does more than edits code. That's what rsync is for and if it's more complex than a single command then write a
    script.

    Edit: Here, this is a good question on stack exchange about why some people use cli based editors. Everyone has their own reasons:
    http://programmers.stackexchange.com/questions/195226/why-do-people-use-terminal-text-editors

    Edit 2: I should also make this clear that this is for things that can run on *nix. If I'm using C# or any other MS product, I won't be using a cli editor because that isn't how MS rolls and there aren't better solutions on the cli.
     

    Attached Files:

    Last edited: May 7, 2013
    Vinska says thanks.
  22. Easy Rhino

    Easy Rhino Linux Advocate

    Joined:
    Nov 13, 2006
    Messages:
    13,504 (4.60/day)
    Thanks Received:
    3,354
    Have you ever worked on a large scale project with a dozen other developers? It is pure chaos if everyone uses VIM. You end up spending too much time going through each file updating methods,classes,objects etc after one little change in strategy. Using Netbeans or Eclipse makes it much easier. You can all work within a desired framework and let the IDE take care of developers tromping all over other people's code.
     
    Crunching for Team TPU
  23. Vinska

    Vinska

    Joined:
    Jul 23, 2011
    Messages:
    1,419 (1.16/day)
    Thanks Received:
    1,259
    Location:
    Kaunas, Lithuania
    THIS^^^

    A couple of more things:
    When using vim, I can execute up to 2 advanced commands in the time it normally takes to lift the hand from the keyboard and place it on a mouse properly. i.e. I can execute commands before one would even get ready to start doing stuff on an IDE with a mouse. Since in IDEs control is quite mouse centered, it's quite an advantage for speed to NOT use an IDE.

    Yep, GIT is so terrible under GUI, I kept thinking that everything is completely broken during the whole 30 minutes I used it under GUI through my life. On CLI it's a breeze & I love it.

    At first I used gdb under a GUI frontend (KDbg). I then learned to use it in CLI. Surprise! Debugging goes much faster and easier while using gdb in command line. One strange reason for it is that I need to request gdb to show me things. Because of that, I center my attention on the things that are important and don't get tossed 'dem red herrings by the complete list of everything I get shown with a GUI frontend. The odd case of "less is more".

    P.S. it always takes me a minute to get used to the fact the forums don't have 'dem vim's hjkl cursors, lol. :laugh:

    EDIT: @Easy Rhino
    I should point out that many FOSS developers on large projects use vim || emacs. For example: Wine - a large scale project indeed, with many developers. They all use git && (vim || emacs) [1]. No such chaos and/or stomping over whatsoever.
    [1]source - the developer mailing list.
     
    Last edited: May 7, 2013
    Crunching for Team TPU
  24. digibucc

    digibucc

    Joined:
    May 21, 2009
    Messages:
    4,937 (2.45/day)
    Thanks Received:
    1,502
    I wasn't bashing anything, I said I didn't understand. I threw a disclaimer in there, that I was possibly misunderstanding what you meant by gui. I was. when you say gui, I think mouse and buttons. i'm guessing you meant wysiwig like dreamweaver or visual studio?.

    when you say you use cli I think of the most basic cli environment available. no mouse. yes it has highlighting and indentation but not much else, with what i consider a rudimentary autocomplete. to be honest it has been years since I have used vim, etc, but I see no reason to go back when what I use now does everything I need and more.

    regardless of the features I can't stand the look. For something I spend 10hrs in most days i'd rather not feel like i'm still in the 90s. that may be stupid to you but it matters to me. I like buttons and a file listing and more features than a cli offers.
    http://www.soft32download.com/i/screen/PhpStorm.png
    that's not my screen, as I customized my colors and layout, but it's close enough.


    And I say you are complicating it by using multiple programs or scripts when one program CAN do everything you need. I can edit a file, and with a single keystroke upload & preview it. I can set up the program to keep files in sync automatically. why would I EVER use rsync or write a script when the program I am already using to edit the file can do it all for me?
    honestly those sound like people who got used to one way of doing things and then found reasons to keep it. the only thing that makes sense is if you are already using terminal or you NEED to cli ssh for some reason. nothing else in that post is a good reason imo to keep using such an old method. this is NOT me bashing you, your skills, or your program. this is me saying I do not understand the reasoning and I wish that I could.

    I've seen your code, you are better than me by miles. but that doesn't mean I'm just going to accept that your method is better when it doesn't seem that way to me. To me it seems more likely that you are just that much better, and if you used current software you could be even more efficient.

    I should be clear I only do php professionally, and I do it all on windows. I've already explained how I think skill factors in though so my level of talent shouldn't preclude me from having an opinion... in my opinion ;)

    I completely disagree. Mouse should always be an option, hence my disdain for cli. however any programmer worth their salt should have everything they need bound to keystrokes, and should rarely if ever be using the mouse while inside their IDE. I have the buttons and menus for things I do rarely, and things I do 90% of the time are all tied to the keyboard. it would only take longer to accomplish something if I couldn't just use my mouse in those rare instances it's necessary. Or I would need to memorize keystrokes for things that I do less than 10% of the time, which isn't worth it.
     
    Last edited: May 7, 2013
  25. Easy Rhino

    Easy Rhino Linux Advocate

    Joined:
    Nov 13, 2006
    Messages:
    13,504 (4.60/day)
    Thanks Received:
    3,354
    It doesn't surprise me that an open source project would use vim and emacs. I am not saying one is better than the other. Anyone who does so has never spent any significant amount of time developing in a large corporate environment.
     
    Crunching for Team TPU

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page