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

What IDE Or Editor Do You Use?

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.94/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
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.

That's what a version control system is for. Pretty sure I mentioned git before. It does a pretty good job at merging code together and telling you about conflicts. Also if you're merging in changes and you're not reviewing how they've been merged in, that bad to begin with. You don't need a GUI to manage a framework for you. More software than not has some thought about how code for any particular part of a project should be written, hence why projects like Moodle have guidelines you must follow to contribute code back upstream.

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

There is a time and a place for GUI tools and I understand that. I also don't want you to think that I don't want you to have an opinion because I have a strong one of my own. If a GUI IDE helps you do what you do, that's fantastic. All the code I work with lives on Linux servers so I have to work with a Linux platform and the easiest way to do that is stick with what I have to run stuff on. So I don't develop locally. If I write Java I'll use Netbeans and VS for C#, but when it comes to editing scripts, I can't find much justification to use an IDE.

You can't have good advanced code completion with PHP anyways because the data can always mutate. Just because it was initially set to some class "Foobar" doesn't mean that at another point it won't be "Barfoo". Most dynamically typed languages have this problem and code completion really is best suited for languages like C# and Java, languages that are strongly typed, but when it comes to scripting languages like PHP and Ruby it very well could be incomplete. I too write php professionally and it all runs on a *nix server. At work I develop on a pair Ubuntu server and deploy to a pair RHEL servers.

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.

Not at all, there is a time and a place for everything. If you don't need a GUI, there is no reason to use it imho. I can't fathom why anyone would want to run PHP on a Windows server unless there is another piece of software you're using that needs Windows (except MSSQL, MSSQL and PHP together has always been a mess). That's just me though. I've heard horror stories about using PHP with MSSQL, and I can believe it after trying to use IIS with PHP. Also, why pay for Windows Server licenses if you can get away with Linux on your server? I do understand that not all software runs on *nix, so it's not always an option.

Also just because CLIs came first doesn't mean that they're obsolete.

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?

I didn't say complicate, I said complect. As in, to make compound.
The exact definition is:
MerriamWebster Dictionary said:
transitive verb
: intertwine, embrace; esp : to plait together : interweave

I personally think that a lot of IDEs have a lot of features and have, quite frankly, snow balled by making any one particular tool overly complex (not necessarily complicated to use,) by having it do multiple things. I personally believe that having one tool for one job is the appropriate approach. That way each tool focuses on what it has to do well and by doing that you're not introducing interdependencies between different aspects of whatever application you're working on.

I just like simple tools that do simple things with scripts that put these simple parts together to do something complex. That's just a preference though.

I respect that you like GUI IDEs and such. I think there are some pretty good ones out there. My experiences with Netbeans for Java have been very good in fact, but as far as what I enjoy the most and has been consistently my favorite and best platform to use has been a cli with some from of *nix using vim as an editor.

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.

The right tools for the right job, man. To validate your point, you're right. I haven't worked in a large corporate environment so I can't say, but I can say I have experience with small to medium sized teams, but even with teams up to 8-10 people you'll still see people using subversion or git with vim or some other editor.

I don't see either tool being better or worse in a larger environment when people know how to properly use the tools they need for either platform.

I'm just saying from my own personal experience, I've enjoyed working on the CLI on *nix more so than not, particularly with PHP and Ruby applications.

I apologize for my abrasive attitude for anyone who may be offended, I tend to have that effect on people. I don't mean to put anyone down, I just feel strongly about this. Remember, I'm talking about what I prefer, not what is better for all use cases. What might be better for me, might be completely different than what is good for someone else.
 
Joined
May 21, 2009
Messages
4,966 (0.91/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 can't fathom why anyone would want to run PHP on a Windows server
no i should have been clearer. I only code I don't host myself, I use dedicated or shared lamp servers & just use windows as my os. since I work from home it's my work and personal machine, which is the main reason for using windows. even using linux though I just can't go as far as cli.

Also just because CLIs came first doesn't mean that they're obsolete.
not necessarily obsolete, but I wonder other than small imprint what can they do that you can't configure an ide to do as well? you can use an ide just like a cli but with more features, no? to your next point though i do see it as a simple individual part.
I didn't say complicate, I said complect. As in, to make compound.
and I thought I had a good vocabulary. I saw the red underline and didn't even bother to look it up. :shadedshu

but I definitely see your point, I just feel the opposite about it. If I can find one program I like to do multiple parts of the job, i don't need to find the individual parts. flashfxp + debug wamp stack + notepad++ was the closest I had come before moving to phpstorm. and I just needed a little bit more that wasn't available without imho pita plugins. not only do i like the editor in phpstorm better than notepad++, but it made my job a lot simpler by requiring less software juggling and letting me code more.

I apologize for my abrasive attitude for anyone who may be offended, I tend to have that effect on people. I don't mean to put anyone down, I just feel strongly about this. Remember, I'm talking about what I prefer, not what is better for all use cases. What might be better for me, might be completely different than what is good for someone else.

same here. it really seems it is as simple as different opinions. I always try to understand ... sometimes that's the best answer I can get :)
 

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,444 (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
That's what a version control system is for. Pretty sure I mentioned git before. It does a pretty good job at merging code together and telling you about conflicts. Also if you're merging in changes and you're not reviewing how they've been merged in, that bad to begin with. You don't need a GUI to manage a framework for you. More software than not has some thought about how code for any particular part of a project should be written, hence why projects like Moodle have guidelines you must follow to contribute code back upstream.

yes, that's true you can use Git or something similiar for control. But let's see you walk into a project halfway through and you need to review 100's of .class files with little to no documentation. a gui ide is prefect because you can quickly review those files using tabs and switch back and forth with no hassle. i am talking hundreds of .class files. then, if you are working with a compiled language like java try writing a .class file that imports a dozen or so other .class files and external jar's using the cli. And if you make a mistake or change one aspect of the code to recompile you have to reenter every single .class you want to include during compile time. an ide like netbeans/eclipse manages all of that for you.
 

Frick

Fishfaced Nincompoop
Joined
Feb 27, 2006
Messages
18,928 (2.86/day)
Location
Piteå
System Name Black MC in Tokyo
Processor Ryzen 5 5600
Motherboard Asrock B450M-HDV
Cooling Be Quiet! Pure Rock 2
Memory 2 x 16GB Kingston Fury 3400mhz
Video Card(s) XFX 6950XT Speedster MERC 319
Storage Kingston A400 240GB | WD Black SN750 2TB |WD Blue 1TB x 2 | Toshiba P300 2TB | Seagate Expansion 8TB
Display(s) Samsung U32J590U 4K + BenQ GL2450HT 1080p
Case Fractal Design Define R4
Audio Device(s) Line6 UX1 + some headphones, Nektar SE61 keyboard
Power Supply Corsair RM850x v3
Mouse Logitech G602
Keyboard Cherry MX Board 1.0 TKL Brown
VR HMD Acer Mixed Reality Headset
Software Windows 10 Pro
Benchmark Scores Rimworld 4K ready!

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.94/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
yes, that's true you can use Git or something similiar for control. But let's see you walk into a project halfway through and you need to review 100's of .class files with little to no documentation. a gui ide is prefect because you can quickly review those files using tabs and switch back and forth with no hassle. i am talking hundreds of .class files. then, if you are working with a compiled language like java try writing a .class file that imports a dozen or so other .class files and external jar's using the cli. And if you make a mistake or change one aspect of the code to recompile you have to reenter every single .class you want to include during compile time. an ide like netbeans/eclipse manages all of that for you.

Lack of documentation is the fault of the developer. Every method, class variable, and class should be documented imho (I also think that Netbeans will read javadoc style comments for auto-completion documentation). If it's not you're just making it harder regardless of what IDE you use.

VIM lets you have multiple files open and lets you switch between them as well as slitting the screen as well as showing diffs. (Man, I love vim-diff,) but on top of that you can use ctags with vim with languages like php where all you need to do is select a keyword, press ctrl+] and it will open the file and show you where that word is defined. So without any gui at all, I was just able to navigate classes by method with a two button keystroke. I don't call that bad at all.

Also I think I mentioned how there are some languages where GUI IDEs work well, java is one of them. I happen to like Netbeans when I write Java myself, but I'm speaking generally here, as a tool, vim lets you do many things very quickly. As primarily a web developer who writes php, ruby, and bash, I have some incentives to want to use vim.

If I were to write Java, I would rather have real code completion and the ease of navigating Java APIs instead. I think I would want that for almost any strictly typed language to be honest.

So let me rephrase, I like vim for writing scripts. I like GUI IDEs when I use strictly typed and compiled languages.
OUch ouch black background, white power etc etc.
What? I think TPU is in a browser under that screenshot, so the light background is probably TPU. I use black on white or white on black depending on the ambient lighting and which ever I feel like using.
 

Easy Rhino

Linux Advocate
Staff member
Joined
Nov 13, 2006
Messages
15,444 (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
So let me rephrase, I like vim for writing scripts. I like GUI IDEs when I use strictly typed and compiled languages.

that is exactly where i was going with that. :toast:
 
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 like vim for writing scripts. I like GUI IDEs when I use strictly typed and compiled languages.

I tried this before, using the same method. But I just feel weird while using vim, to the point that it is old, and hasn't been updated so much. I just find myself sticking with GUI IDE's.
 

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.94/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 tried this before, using the same method. But I just feel weird while using vim, to the point that it is old, and hasn't been updated so much. I just find myself sticking with GUI IDE's.

Weird doesn't mean that it's worse. Vi is old, VIM is less old but the version I'm running isn't even a year old so, no, you're wrong. :)

It has a steeper learning curve, but it doesn't mean that it isn't a good option. There is more to remember, that's definitely true but like anything else, you get better at what you use a lot and the added advantage to having a GUI is that you can visually search for what you want as opposed to figuring out what commands or keystroke combinations you have to make to do any one particular thing, but on the other hand on a command line editor, most actions you'll do are within one or two keystrokes so the time it takes to do any one thing can be less if you know what you're doing.

As I said before, I would use a GUI editor for something like Java or C# but for a scripting or command languages, VIM is pretty powerful for things like Ruby, PHP, and BASH. Not knowing how to use a tool is not the fault of the tool. Hard to learn doesn't imply hard to use. ;)

Learning VIM is like learning regular expressions. You don't get very good at it unless you use it practically and you use it a lot.
 
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
I tried this before, using the same method. But I just feel weird while using vim, to the point that it is old, and hasn't been updated so much. I just find myself sticking with GUI IDE's.

Read this.
 
Top