Skip to content

Instantly share code, notes, and snippets.

@brianv0
Last active November 19, 2016 00:12
Show Gist options
  • Save brianv0/57e15211e7fa317f033e12b7cedc3a21 to your computer and use it in GitHub Desktop.
Save brianv0/57e15211e7fa317f033e12b7cedc3a21 to your computer and use it in GitHub Desktop.
Software Development Tools - Applications and Services
Continuous Integration and Deployment (Build Automation)
Jenkins, Travis, CircleCI, Bamboo
Build Tools[1]
Make, Maven (Gradle, sbt, etc...), CMake, SCons, Other: (TeamCity, Bazel, Buck, Waf)
Code Quality/Static Analysis
Coverity, Sonarqube. Typically integrated with CI: PMD, FindBugs, CPPCheck, Clang Analyzer. Other: (CI Plugins, Language tools)
Code Review
Gerritt, GitHub, Crucible/Stash, Phabricator
Artifact Repository and Package Management
Artifactory, Nexus 3. Platform/Language Specific: Conda, PyPI, Archiva, Maven, Bower, yum/rpm, apt/deb
Source Code Management
Git, Perforce, Mercurial, Subversion. Platforms: GitHub, GitLab, BitBucket, Fisheye. Other: (Bazaar, CVS).
IDEs/Text Editors
Visual Studio, Eclipse, Netbeans, JetBrains Suite (IntelliJ, PyCharm, CLion, etc..). Other: (Sublime Text, Emacs, Vim, Atom, Notepad++)
Project Management (Agile), Development Workflows, CCBs, Defects and Issues
Jira, GitHub/GitLab Issues, BugZilla, Trac. Other: (YouTrack, Team Foundation Server, VersionOne)
Design, Modeling, and Concept Mapping
GenMyModel, Sparx, MagicDraw, Visio, Altova, Omnigraffle, Mindmup
Debugging, Profiling, Monitoring:
gdb, Allinea, Vampir/VampirTrace, Valgrind, JVM tools. Other: (dtrace, strace, Language and Platform specific tools)
Notes, Documentation, Technical Notes:
OneNote, Evernote, Jupyter Notebooks, Confluence. Other: (Read The Docs, Language-Specific tools)
Configuration and Deployment
SaltStack, Ansible, Chef, Puppet, Vagrant, Containers/Docker
[1] For More, see: https://en.wikipedia.org/wiki/List_of_build_automation_software
@davidslac
Copy link

Hi Brian, I don't know if this is what you are looking for, but

Package management
conda

One thing I struggled with on the build engineering package management side (and finally gave up on), regarding conda is creating a build environment so that I can build one conda package that works for rhel5/rhel6 and rhel7. There is all sorts of technical stuff out there, about using virtual machines or docker images, including a later version of glibc in your package, etc.

IDE - emacs? although it's hard to setup full IDE features, but if we made it easy for people to setup some things in emacs, might be nice, like here is the syntax highlighting for cython, here is how you do two hop remote editing of files on SLAC servers, ect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment