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

What IDE Or Editor Do You Use?

Kreij

Senior Monkey Moderator
Joined
Feb 6, 2007
Messages
13,817 (2.21/day)
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.
 
Joined
Feb 11, 2008
Messages
607 (0.10/day)
Location
Omaha, Nebraska, USA
System Name Built By Me
Processor Intel Core i9 9900K @ 5.1 GHz
Motherboard Gigabyte Z390 Aorus Ultra
Cooling Custom Water Cooling - CPU Only
Memory 32GB (2 x 16) GSkill Ripjaws V DDR4
Video Card(s) RTX 4080 - ASUS ROG Strix 16GB OC - P Mode
Storage 1TB Samsung 970 Evo NVMe
Display(s) Alienware AW2723DF @ 280 Hz @ 1440P
Case Fractal Design Define S2
Audio Device(s) Corsair Virtuoso Pro
Power Supply 850W Seasonic Platinum
Mouse Razer Viper V2 Pro @ 2k Hz
Keyboard Asus ROG Strix Scope II 96 Wireless - ROG NX Snow Switches
Software Windows 11 Pro
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.
 
Joined
Feb 18, 2010
Messages
1,850 (0.36/day)
System Name Eldritch
Processor AMD Ryzen 5 5800X3D
Motherboard ASUS TUF X570 Pro Wifi
Cooling Satan's butthole after going to Taco Bell
Memory 64 GB G.Skill TridentZ
Video Card(s) Vega 56
Storage 6*8TB Western Digital Blues in RAID 6, 2*512 GB Samsung 960 Pros
Display(s) Acer CB281HK
Case Phanteks Enthoo Pro PH-ES614P_BK
Audio Device(s) ASUS Xonar DX
Power Supply EVGA Supernova 750 G2
Mouse Razer Viper 8K
Software Debian Bullseye
Right now I'm using Pluma (because I'm running Linux Mint and MATE), but back in the days I really enjoyed Notepad++.
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.65/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
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.
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
26,956 (3.71/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Visual Studio 2010 for C++/.NET (must have Visual Assist plugin installed)
Eclipse for Android
UltraEdit for PHP, HTML
 

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,436 (2.43/day)
Location
Mid-Atlantic
System Name Desktop
Processor i5 13600KF
Motherboard AsRock B760M Steel Legend Wifi
Cooling Noctua NH-U9S
Memory 4x 16 Gb Gskill S5 DDR5 @6000
Video Card(s) Gigabyte Gaming OC 6750 XT 12GB
Storage WD_BLACK 4TB SN850x
Display(s) Gigabye M32U
Case Corsair Carbide 400C
Audio Device(s) On Board
Power Supply EVGA Supernova 650 P2
Mouse MX Master 3s
Keyboard Logitech G915 Wireless Clicky
Software The Matrix
eclipse for JAVA. vim for PHP,HTML,CSS,BASH,CSH,ZCH. ultraedit and TOAD for PL/SQL.
 
Last edited:
Joined
Aug 10, 2007
Messages
4,267 (0.70/day)
Location
Sanford, FL, USA
Processor Intel i5-6600
Motherboard ASRock H170M-ITX
Cooling Cooler Master Geminii S524
Memory G.Skill DDR4-2133 16GB (8GB x 2)
Video Card(s) Gigabyte R9-380X 4GB
Storage Samsung 950 EVO 250GB (mSATA)
Display(s) LG 29UM69G-B 2560x1080 IPS
Case Lian Li PC-Q25
Audio Device(s) Realtek ALC892
Power Supply Seasonic SS-460FL2
Mouse Logitech G700s
Keyboard Logitech G110
Software Windows 10 Pro
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.
 

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,436 (2.43/day)
Location
Mid-Atlantic
System Name Desktop
Processor i5 13600KF
Motherboard AsRock B760M Steel Legend Wifi
Cooling Noctua NH-U9S
Memory 4x 16 Gb Gskill S5 DDR5 @6000
Video Card(s) Gigabyte Gaming OC 6750 XT 12GB
Storage WD_BLACK 4TB SN850x
Display(s) Gigabye M32U
Case Corsair Carbide 400C
Audio Device(s) On Board
Power Supply EVGA Supernova 650 P2
Mouse MX Master 3s
Keyboard Logitech G915 Wireless Clicky
Software The Matrix
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.

i do not like netbeans for java. eclipse is great and has a nice plugin if you need to do J2EE stuff.
 

Mindweaver

Moderato®™
Staff member
Joined
Apr 16, 2009
Messages
8,193 (1.50/day)
Location
Charleston, SC
System Name Tower of Power / Sechs
Processor i7 14700K / i7 5820k @ 4.5ghz
Motherboard ASUS ROG Strix Z690-A Gaming WiFi D4 / X99S GAMING 7
Cooling CM MasterLiquid ML360 Mirror ARGB Close-Loop AIO / CORSAIR Hydro Series H100i Extreme
Memory CORSAIR Vengeance LPX 32GB (2 x 16GB) DDR4 3600 / G.Skill DDR4 2800 16GB 4x4GB
Video Card(s) ASUS TUF Gaming GeForce RTX 4070 Ti / ASUS TUF Gaming GeForce RTX 3070 V2 OC Edition
Storage 4x Samsung 980 Pro 1TB M.2, 2x Crucial 1TB SSD / Samsung 870 PRO 500GB M.2
Display(s) Samsung 32" Odyssy G5 Gaming 144hz 1440p, ViewSonic 32" 72hz 1440p / 2x ViewSonic 32" 72hz 1440p
Case Phantek "400A" / Phanteks “Enthoo Pro series”
Audio Device(s) Realtek ALC4080 / Azalia Realtek ALC1150
Power Supply Corsair RM Series RM750 / Corsair CXM CX600M
Mouse Glorious Gaming Model D Wireless / Razer DeathAdder Chroma
Keyboard Glorious GMMK with box-white switches / Keychron K6 pro with blue swithes
VR HMD Quest 3 (128gb) + Rift S + HTC Vive + DK1
Software Windows 11 Pro x64 / Windows 10 Pro x64
Benchmark Scores Yes
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)....
 
Joined
May 21, 2009
Messages
4,966 (0.92/day)
System Name i7-PC / HTPC / iMac
Processor i7 3820 / Phenom II 940
Motherboard GIGABYTE G1.ASSASSIN2 / M3A79-T Deluxe
Cooling Corsair Hydro H100i / Scythe II (HS only)
Memory G.SKILL Trident X Series 8GB (2 x 4GB) DDR3 1600mhz / 4GB DDR2 1066 (@800) Corsair Dominator
Video Card(s) GB Radeon HD 7950s 3GB / GB Radeon HD 7950s 3GB
Storage 2x 80GB Intel X-25, 2x600gb SATA, 1x1tb 5400RPM storage /1x600GB, 3x500GB,1x160,1x120 SATA
Display(s) 1x 27" Yamakasi / Vizio 42" HDTV
Case Lian Li Lancool PC-K58 / Antec 900
Audio Device(s) HT Omega Striker 7.1 / Onboard and HDMI from ATi Card
Power Supply PC Power & Cooling 750W / 610W
Software Ubuntu / Windows 8.1 Pro / OS X / PHPStorm / Gaming
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.
 
Joined
Dec 13, 2007
Messages
2,758 (0.46/day)
Visual Studio 2010/2012
Dreamweaver

Been thinking about getting into Android programming.

Visual Studio 2010 for C++/.NET (must have Visual Assist plugin installed)
Eclipse for Android
UltraEdit for PHP, HTML

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

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.96/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
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 --------------------------------------
;----------------------------------------------------------------------------------------
 
Joined
Jul 5, 2008
Messages
272 (0.05/day)
System Name WorkStation
Processor Intel i7 3770k @ 4.4GHz
Motherboard ASRock Z77 Extreme6
Cooling Corsair H110 Water Cooler AIO
Memory Corsair Vengeance 8GB DDR3 1600MHz
Video Card(s) MSI GTX680 Twin Frozr III OC
Storage WD 1TB Sata III
Display(s) Samsung 22-inch LED 1080p
Case Corsair Carbide Air 540
Audio Device(s) Onboard Realtek 898 HD
Power Supply Corsair CS750M Gold
Software Windows 8.1 Pro x64
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 :)
 
Joined
May 5, 2008
Messages
3,318 (0.57/day)
Location
Dallas, Tx
Processor Intel i5-3570K @ 3.4Ghz
Motherboard Asrock LGA1155 Z77 Extreme 4
Cooling Cooler Master Evo 212
Memory 16GB (4X4) G.Skill Ripjaw 2 DDR3-1600
Video Card(s) Nvidia gForce GTX 660ti
Storage 1x Samsung 840 EVO 256GB 6Gb/s, 1x WD 500GB 6Gb/s, 1x WD 80GB 3Gb/s
Display(s) ASUS VH242H Black + 2 HP 2311x 23" LED
Case Fractal Design R4
Audio Device(s) Realtek OnBoard Both
Power Supply Cooler Master 850w
Software Windows 7 Ultimate 64-bit SP1
I work on a Mac, so for HTML, CSS, JavaScript, PHP, and Ruby I use TextMate.
 
Joined
Jul 23, 2011
Messages
1,586 (0.34/day)
Location
Kaunas, Lithuania
System Name my box
Processor AMD Ryzen 9 5950X
Motherboard ASRock Taichi x470 Ultimate
Cooling NZXT Kraken x72
Memory 2×16GiB @ 3200MHz, some Corsair RGB led meme crap
Video Card(s) AMD [ASUS ROG STRIX] Radeon RX Vega64 [OC Edition]
Storage Samsung 970 Pro && 2× Seagate IronWolf Pro 4TB in Raid 1
Display(s) Asus VG278H + Asus VH226H
Case Fractal Design Define R6 Black TG
Audio Device(s) Using optical S/PDIF output lol
Power Supply Corsair AX1200i
Mouse Razer Naga Epic
Keyboard Keychron Q1
Software Funtoo Linux
Benchmark Scores 217634.24 BogoMIPS
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:

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.96/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
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.
 
Joined
May 3, 2013
Messages
6 (0.00/day)
Processor AMD FX4100
Motherboard ASUS M5A99X EVO AMD+3
Cooling OcUK Tech Lab - V6 Watercooling Kit 120
Memory 12GB CORSAIR VENGEANCE 1600MHZ DDR3
Video Card(s) AMD GIGABYTE 7970 GHZ EDITION
Storage 300GB HDD + OCZ VERTEX 4 (60GB) SSD
Case CM Storm Enforcer case
Power Supply CORSAIR CX 600W
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.
 
Joined
May 5, 2008
Messages
3,318 (0.57/day)
Location
Dallas, Tx
Processor Intel i5-3570K @ 3.4Ghz
Motherboard Asrock LGA1155 Z77 Extreme 4
Cooling Cooler Master Evo 212
Memory 16GB (4X4) G.Skill Ripjaw 2 DDR3-1600
Video Card(s) Nvidia gForce GTX 660ti
Storage 1x Samsung 840 EVO 256GB 6Gb/s, 1x WD 500GB 6Gb/s, 1x WD 80GB 3Gb/s
Display(s) ASUS VH242H Black + 2 HP 2311x 23" LED
Case Fractal Design R4
Audio Device(s) Realtek OnBoard Both
Power Supply Cooler Master 850w
Software Windows 7 Ultimate 64-bit SP1
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.

Sublime Text 2 is great, I use it on Windows when I work on my personal stuff. Kinda feels like Textmate on MAC.
 

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.96/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
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.
 
Joined
May 21, 2009
Messages
4,966 (0.92/day)
System Name i7-PC / HTPC / iMac
Processor i7 3820 / Phenom II 940
Motherboard GIGABYTE G1.ASSASSIN2 / M3A79-T Deluxe
Cooling Corsair Hydro H100i / Scythe II (HS only)
Memory G.SKILL Trident X Series 8GB (2 x 4GB) DDR3 1600mhz / 4GB DDR2 1066 (@800) Corsair Dominator
Video Card(s) GB Radeon HD 7950s 3GB / GB Radeon HD 7950s 3GB
Storage 2x 80GB Intel X-25, 2x600gb SATA, 1x1tb 5400RPM storage /1x600GB, 3x500GB,1x160,1x120 SATA
Display(s) 1x 27" Yamakasi / Vizio 42" HDTV
Case Lian Li Lancool PC-K58 / Antec 900
Audio Device(s) HT Omega Striker 7.1 / Onboard and HDMI from ATi Card
Power Supply PC Power & Cooling 750W / 610W
Software Ubuntu / Windows 8.1 Pro / OS X / PHPStorm / Gaming
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.
 

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.96/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
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.

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.

vim_example.PNG


built in server sync

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.
 
Last edited:

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,436 (2.43/day)
Location
Mid-Atlantic
System Name Desktop
Processor i5 13600KF
Motherboard AsRock B760M Steel Legend Wifi
Cooling Noctua NH-U9S
Memory 4x 16 Gb Gskill S5 DDR5 @6000
Video Card(s) Gigabyte Gaming OC 6750 XT 12GB
Storage WD_BLACK 4TB SN850x
Display(s) Gigabye M32U
Case Corsair Carbide 400C
Audio Device(s) On Board
Power Supply EVGA Supernova 650 P2
Mouse MX Master 3s
Keyboard Logitech G915 Wireless Clicky
Software The Matrix
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.

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.
 
Joined
Jul 23, 2011
Messages
1,586 (0.34/day)
Location
Kaunas, Lithuania
System Name my box
Processor AMD Ryzen 9 5950X
Motherboard ASRock Taichi x470 Ultimate
Cooling NZXT Kraken x72
Memory 2×16GiB @ 3200MHz, some Corsair RGB led meme crap
Video Card(s) AMD [ASUS ROG STRIX] Radeon RX Vega64 [OC Edition]
Storage Samsung 970 Pro && 2× Seagate IronWolf Pro 4TB in Raid 1
Display(s) Asus VG278H + Asus VH226H
Case Fractal Design Define R6 Black TG
Audio Device(s) Using optical S/PDIF output lol
Power Supply Corsair AX1200i
Mouse Razer Naga Epic
Keyboard Keychron Q1
Software Funtoo Linux
Benchmark Scores 217634.24 BogoMIPS
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.

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:
Joined
May 21, 2009
Messages
4,966 (0.92/day)
System Name i7-PC / HTPC / iMac
Processor i7 3820 / Phenom II 940
Motherboard GIGABYTE G1.ASSASSIN2 / M3A79-T Deluxe
Cooling Corsair Hydro H100i / Scythe II (HS only)
Memory G.SKILL Trident X Series 8GB (2 x 4GB) DDR3 1600mhz / 4GB DDR2 1066 (@800) Corsair Dominator
Video Card(s) GB Radeon HD 7950s 3GB / GB Radeon HD 7950s 3GB
Storage 2x 80GB Intel X-25, 2x600gb SATA, 1x1tb 5400RPM storage /1x600GB, 3x500GB,1x160,1x120 SATA
Display(s) 1x 27" Yamakasi / Vizio 42" HDTV
Case Lian Li Lancool PC-K58 / Antec 900
Audio Device(s) HT Omega Striker 7.1 / Onboard and HDMI from ATi Card
Power Supply PC Power & Cooling 750W / 610W
Software Ubuntu / Windows 8.1 Pro / OS X / PHPStorm / Gaming
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.

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.


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.
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?
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
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.

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.
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 ;)

Since in IDEs control is quite mouse centered, it's quite an advantage for speed to NOT use an IDE.

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:

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,436 (2.43/day)
Location
Mid-Atlantic
System Name Desktop
Processor i5 13600KF
Motherboard AsRock B760M Steel Legend Wifi
Cooling Noctua NH-U9S
Memory 4x 16 Gb Gskill S5 DDR5 @6000
Video Card(s) Gigabyte Gaming OC 6750 XT 12GB
Storage WD_BLACK 4TB SN850x
Display(s) Gigabye M32U
Case Corsair Carbide 400C
Audio Device(s) On Board
Power Supply EVGA Supernova 650 P2
Mouse MX Master 3s
Keyboard Logitech G915 Wireless Clicky
Software The Matrix
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.

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.
 
Top