DEV Community

What tools do you use for programming? Like editors and environments?

Aravind Balla on January 22, 2018

Collapse
 
codemouse92 profile image
Jason C. McDonald

After years of experimentation, my development stack has mostly settled out.

Environment:

  • Ubuntu 17.10 (currently MATE)
  • LLVM Clang 5.0 (for C and C++)
  • CMake (3.9.1 right now)
  • Python 3.6
  • Sphinx: for documentation
  • Git

Editors and IDEs:

  • Atom: My primary IDE/editor for C/C++/Python/RestructuredText/Markdown/HTML/CSS/etc.
  • Visual Studio Code: I'm experimentally using this right now, and I may switch to it from Atom.
  • Vim: Any time I need a command-line or quick-and-dirty text editor
  • Guake: This serves for most of my terminal needs.
  • Terminator: I use this when I need a dedicated terminal for a long work session.

Coding Tools:

  • cppcheck (1.80)
  • Pylint
  • Pytest: Python testing
  • PawLIB Goldilocks: C++ testing
  • Banshee and Spotify (because music IS a programming tool!)
  • Valgrind: Memory checking and dynamic analysis
  • KCachegrind: Profiling data visualizer
  • Clang memory sanitizers: Memory checking and dynamic analysis
  • Speedcrunch: Calculator

Other Tools:

  • LibreOffice Draw (migrating to Dia): Flowcharts and diagrams
  • Hamster Indicator: Time tracking.
  • Calibre: eBook viewer
  • Hexchat: IRC client
  • Jenkins: CI
  • Phabricator: Issue tracking/repository hosting/wiki (I use GitHub instead for personal projects)
  • Inkscape: Vector graphics
Collapse
 
usama_baig8 profile image
Usama Baig

JetBrains IDEs for code and vagrant for environment

Collapse
 
stephanie profile image
Stephanie Handsteiner

Atom as an editor (sometimes even emacs) and vagrant (with VirtualBox) for the environment.

Collapse
 
gonsie profile image
Elsa Gonsiorowski • Edited

I just switched to Emacs from SublimeText and I'm really loving it. I don't spend my whole day deep in code, so a full-blown IDE isn't something I need, but the built-in shell and git integration (via magit) are amazing.

Also, I highly recommend Fish Shell

The best pro-tip I've ever received is to set my font size in all my applications to be relatively large (14pt+). This decreases eye strain and has had the biggest impact on making my day more enjoyable.

Collapse
 
aravindballa profile image
Aravind Balla • Edited

Here is mine.

  • iTerm 2 with oh-my-zsh configured. (always open)
  • VSCode (with material theme)
  • Docker, if environments are necessary
  • Chrome for dev, Firefox otherwise.
Collapse
 
maxdevjs profile image
maxdevjs

Why Firefox otherwise?

Collapse
 
aravindballa profile image
Aravind Balla

I wanted to try the new rendering engine and it looks like its faster!

Thread Thread
 
cmmata profile image
Carles Mata

If you like Firefox engine, you have firefox developer edition for development purposes too :)

Thread Thread
 
aravindballa profile image
Aravind Balla

Recently tried this out.

Collapse
 
verboze profile image
Kwami

My toolchain is as follows:

  • Macbook / MacOS, Ubuntu machines in the cloud, and Termux on Android for dev
  • Docker for application containers, still testing the waters for a good orchestration tool (Using Convox atm, Kubernetes seems to be what ppl recommend these days)
  • Homebrew / Linuxbrew for software management
  • Iterm2 (probably the most used app on my mac after the browser, always open)
  • ZSH shell (zplug for plugin management, and many, many functions and aliases, I don't know how I manage to remember most)
  • Tmux (iTerm tmux integration is godsent!)
  • Vim is my "IDE" (too many plugins I've crafted over the years, and now things just work right. First thing I do on a new dev box is open vim, source my .vimrc, PlugInstall)
  • various shell tools
  • Gitlab for personal stuff (shell config, scripts, etc)
  • Github + SemaphoreCI for actual work
  • Dash for API documentation
  • Alfredapp for navigation (it has a great plugin for dash which allows searching docs a breeze)
  • Android Studio / XCode when I really, really have to (haven't been able to replicate their toolchain at the shell to a level I'm comfortable with yet)
  • Chrome + Devtools, Firefox here and there (need to spend more time with FF, I like their devtools better)

I don't really use graphical IDEs because they tend to be resource-heavy on my underpowered machines, and I like my dev environment as portable as can possibly be. My routine whenever I connect to a new box is to run a shell script that installs the tools I use and configures the shell just the way I like :)

Collapse
 
aurelkurtula profile image
aurel kurtula

Here it is:

  • Mac book pro (with an external monitor and a wireless keyboard)
  • sublime text - for front end stuff
  • vs code
  • gitlab.com - I see it as part of my tooling.
    • I create a private repo for all the projects
    • I have a ES6, Webpack, Gulp and Grunt builder which I clone and use

  • Codekit - when I want to design something and can't be bothered using a builder

  • terminal - of course, it's always open

  • Photoshop - I've been a "design on browser" person since it was questionable but when I have a fuzzy layout idea, moving things around a photoshop canvas is easier

  • Frank a fantastic color picker

Strange but extremely helpful:

Mac's text-to speech feature! - When writing the best advice is to read your content out loud. I can't be bothered, so I use the text-to-speech feature and I manage to get all the spellings but also, if I can be bothered, I'm able to make what I write sound more like me!

Collapse
 
abiduzz420 profile image
abiduzz420

Here are the tools I use:

Editors: VS Code, Atom, LightTable, Emacs(amateur though)
IDEs: CodeBlocks, JetBrains
Browser: Chrome(mostly), Quantum Firefox for a change
Terminals: Git Bash, Powershell,Cmder, Ubuntu Bash (too many)
Note taking: Typora, Sticky Notes
Chat apps during dev: Slack, Gitter
Resources & Bookmarks: Airtable,Chrome
Hosting code: Github, Bitbucket
Blog: Medium
Project Plan: Asana, Trello
Prototyping: JustInMind, Pencil & Paper

Collapse
 
nasa9084 profile image
nasa9084

Editor: emacs
Version Control: git/GitHub
GitClient: magit(emacs)
OS: macOS(office), Arch Linux(home)
Language: Go, Python
Shell: zsh
Terminal: iTerm2
CI: Travis CI
Other:

  • Vagrant
  • Docker
  • Slack
Collapse
 
thejohnstew profile image
John Stewart
  • vscode - take time and setup your debugging environments depending on what app you working on. The debugging features have saved me tons of time. There is a bit of a learning curve but worth it.

  • iTerm - always open

  • Insomnia - for API requests

  • nvm - switching between node envs

  • Pomy - personal pomodoro time keeper, I like working in 25 minutes increments and breaking my tasks up that way. Then 5 minutes of whatever to think about something else for a bit then back to it. Goal is 4 - 8 Poms each day which is ~2 - 4 hours of solid coding which yields more than you might think.

  • Brave - browsing and reading for breaks in between poms

  • Chrome + Devtools - majority work and some browsing

  • SimpleNote - quick notes, pseudocode, articles to read later

Pretty much all of these are open all the time. Also when I am working I mute my notifications as they get pretty distracting and annoying.

Collapse
 
darksmile92 profile image
Robin Kretzschmar

I use Cloud9 for a couple of years now and I am very happy with it! It offers a cloud IDE where you can create multiple workspaces. They have templates for workspace setups like Django app, NodeJS, Angular, Python and more but what you get in the end is a container with an ubuntu system that you can configure how you need it. With it the IDE of course!
Recently Amazon teamed up with them and now there are different pricing models and it uses AWS now. I still enjoy the "old" control panel and contracts but the new ones look promising also!

Collapse
 
adele profile image
Adele Francois

Sublime Text & Cloud 9 have been a joy to work with! Definitely makes things easier. Also honorable mention would be Eclipse!

Collapse
 
cess11 profile image
PNS11 • Edited

Debian, Arch/Manjaro or OBSD. Termux under Android.

vim for editing. strace and gdb for low level debugging.

tmux or XFCE, usually.

picoLisp for general programming, sh/bash/dash for general scripting environment.

tcl and pdflatex for fun and fud.

Tools like socat, nmap, tcpdump, sqlmap, gforth, swipl, NightCode.

Collapse
 
blouzada profile image
Bruno Louzada

Vs Code - for JS, TS projects
Intelijidea - for Java and Groovy
Dbeaver - for postgresql connection
Vim
Ngrok for https tunnel
Bitbucket and bitbucket pipelines
Slack

Collapse
 
mraza007 profile image
Muhammad

Sublime as my Text Editor and Linux as my Enviroment

Collapse
 
dspillere profile image
Daniel Andrade

Sublime Text, then jetBrains IDEs. Now I am giving VIM a try. Initially, it is a brainf***, but it is slowly getting better! But it is great to be able to use the same text editor anywhere.

Collapse
 
aravindballa profile image
Aravind Balla

Same text editor anywhere => vim ?

Collapse
 
dspillere profile image
Daniel Andrade

Yeah, for example when you are SSHing into a server, you can use the same environment you have in your computer, for example. As long as you install your .vimrc file ;)

Thread Thread
 
aravindballa profile image
Aravind Balla

Aahh. That's cool

Collapse
 
jfrankcarr profile image
Frank Carr

Since I'm primarily a Microsoft stack developer, I use Visual Studio 2015 and Visual Studio Code. I use Notepad++ sometimes for quick editing of stuff.

Collapse
 
rhymes profile image
rhymes

iterm 2 with zsh
pyenv, rvm and nvm for multiple versions of python, ruby and node
visual studio code