/TheDevGuide

A list of resources for newbies interested in software development

MIT LicenseMIT

TheDevGuide

The world of computer science is vast and intimidating especially for a newbie developer, that is why the IIIT-Bh Programming Society has compiled this list of resources for you (1st years) so that you can explore different domains and technologies that this world of Computer Science has to offer and learn from the best resources that exists out there on the web.

Note: Each category might have links to several resources which some may find intimidating but keep in mind that you only have to choose only one resource (which suits you best) from each category to learn that tool or technology.

Editors

The most import tool of a developer. If you are still using Notepad on your windows laptop then you don't know much you are missing out on. So come out of the dark age and embrace any one of the following editors

  • Open-Source Software Atom - Hackable text editor for the 21st century.
  • Open-Source Software Bluefish - Bluefish is a powerful editor targeted towards programmers and web developers, with many options to write websites, scripts and programming code.
  • Open-Source Software Brackets - A modern text editor that understands web design.
  • Open-Source Software Emacs - An extensible, customizable, free/libre text editor — and more.
  • Open-Source Software Geany - Geany is a text editor using the GTK+ toolkit with basic features of an integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
  • Open-Source Software Gedit -gedit is the GNOME text editor. While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor.
  • Open-Source Software Kakoune - Kakoune code editor - Vim inspired.  Faster as in less keystrokes.  Multiple selections.  Orthogonal design. Has a strong focus on interactivity.
  • Open-Source Software Kate - Kate is a multi-document editor part of KDE since release 2.2.
  • Open-Source Software Komodo Edit - Free and open source multilanguage development environment.
  • Open-Source Software Lighttable - The next generation code editor! Support live coding.
  • Open-Source Software Spacemacs - A community-driven Emacs distribution.
  • Sublime - A very capable text editor with advanced search capabilities, and many powerful plugins to improve its functionality.
  • Open-Source Software Textadept - Minimalist text editor for programmers. Textadept is extensible with Lua programming language.
  • Open-Source Software Vim -Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. It's useful whether you're already using vi or using a different editor.
  • Open-Source Software VSCode - Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, OS X and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (C++, C#, Python, PHP, Golang) and runtimes.
  • Open-Source Software Nano - GNU Nano is a text editor which aims to introduce a simple interface and intuitive command options to console based text editing.
  • Open-Source Software Neovim - Neovim is a fork of Vim aiming to improve user experience, plugins, and GUIs.
  • Open-Source Software Micro - Micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the full capabilities of modern terminals.

IRC Client

  • Open-Source Software HexChat - HexChat is an IRC client based on XChat, but unlike XChat it’s completely free for both Windows and Unix-like system.
  • Open-Source Software Irssi - Irssi is a modular chat client that is most commonly known for its text mode user interface.
  • Open-Source Software KVIrc - KVIrc is a free portable IRC client based on the excellent Qt GUI toolkit.

Android

  • Open-Source Software Anbox - Run Android applications on any GNU/Linux operating system.
  • Android studio - The Official IDE for Android: Android Studio provides the fastest tools for building apps on every type of Android device.

C++

  • Non Free Clion - A cross-platform and powerful IDE for C and C++! Nonfree
  • Code::Blocks - Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.
  • Codelite - A Free, open source, cross platform C,C++,PHP and Node.js IDE.
  • Open-Source Software QT Creator - Fully-stocked cross-platform integrated development environment for easy creation of connected devices, UIs and applications.

Database

  • Open-Source Software Cassandra - Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data.
  • Open-Source Software CouchDB - Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.
  • DataGrip - DataGrip is a cross-platform IDE that is aimed at DBAs and developers working with SQL databases. It has built-in drivers that support DB2, Derby, H2, HSQLDB, MySQL, Oracle, PostgreSQL, SQL Server, Sqlite and Sybase.
  • Open-Source Software DBeaver - A universal database client supporting multiple platforms and databases.
  • Open-Source Software MariaDB - One of the most popular database servers. Made by the original developers of MySQL.
  • Open-Source Software MongoDB - MongoDB is a free and open-source cross-platform document-oriented database program, uses JSON-like documents with schemas.
  • Open-Source Software MySQL - MySQL is the world's leading open source database thanks to its proven performance, reliability and ease-of-use. It is used by high profile web properties including Facebook, Twitter, YouTube, Yahoo! and many more.
  • Open-Source Software MyCLI - MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.
  • Non Free OracleDB - Object-relational database management system produced and marketed by Oracle Corporation, one of the most trusted and widely-used relational database engines.
  • Open-Source Software Percona MongoDB - Percona Server for MongoDB provides all features and benefits of MongoDB Community Server.
  • Open-Source Software Percona Monitoring - Percona Monitoring and Management (PMM) is a free and open-source platform for managing and monitoring MySQL, MariaDB and MongoDB performance. You can run PMM in your own environment for maximum security and reliability. It provides thorough time-based analysis for MySQL, MariaDB and MongoDB servers to ensure that your data works as efficiently as possible.
  • Open-Source Software Percona MySQL - Percona Server for MySQL is a free, fully compatible, enhanced, open source drop-in replacement for MySQL that provides superior performance, scalability and instrumentation.
  • Open-Source Software Percona XtraDB Cluster - Percona XtraDB Cluster is an active/active high availability and high scalability open source solution for MySQL clustering. It integrates Percona Server and Percona XtraBackup with the Codership Galera library of MySQL high availability solutions in a single package that enables you to create a cost-effective MySQL high availability cluster.
  • Open-Source Software PostgreSQL - PostgreSQL is a powerful, open source object-relational database system with more than 15 year development. PostgreSQL is not controlled by any corporation or other private entity and the source code is available free of charge
  • Open-Source Software Sqlite - SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
  • Open-Source Software Sqlite Browser - Visually create, manage, and view sqlite database files.
  • OmniDB - Browser-based tool that visually create, manage, and view databases.

Golang

  • GoLand - GoLand is the codename for a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.

Java

  • Open-Source Software BlueJ - A free Java Development Environment designed for beginners, used by millions worldwide.
  • Eclipse - Eclipse is famous for our Java Integrated Development Environment (IDE), but can also download packages to support C/C++ IDE and PHP IDE.
  • IntelliJ IDEA - Powerful IDE for JAVA.

Javascript

  • Webstorm - Powerful IDE for modern JavaScript development, made by JetBrains.

Microcomputer and Embedded Devices

  • Arduino IDE - The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board.
  • Open-Source Software Fritzing - Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone.
  • Open-Source Software Sloeber IDE - Sloeber IDE. The Arduino IDE for Eclipse.

Multiple Languages Support

  • Open-Source Software Aptana - Aptana Studio harnesses the flexibility of Eclipse and focuses it into a powerful web development engine.
  • Open-Source Software KDevelop - It is a free, open source IDE, feature-full, plugin extensible IDE for C/C++ and other programming languages.
  • Open-Source Software MonoDevelop - Cross platform IDE for C#, F# and more.
  • Open-Source Software Netbeans - NetBeans IDE lets you quickly and easily develop Java desktop, mobile, and web applications, as well as HTML5 applications with HTML, JavaScript, and CSS.

PHP

  • PHPStorm - Lightning-smart and powerful PHP IDE from Jetbrain.

Python

  • Open-Source Software PyCharm - Powerful IDE for Python

Shell

  • Open-Source Software Fish - A smart and user-friendly command-line shell.
  • Open-Source Software Fisherman - A plugin manager for fish shell.
  • Open-Source Software Ipython - Powerful Python shell.
  • Open-Source Software Oh-my-fish - Provides various packages and themes to extend the functionality of your fish shell.
  • Open-Source Software Oh-my-zsh - A delightful community-driven framework for managing your zsh configuration.
  • Open-Source Software Zsh - A powerful command line shell.

Supporting Tools

  • Open-Source Software Cscope - Cscope is a developer's tool for browsing source code. Although cmd-line application, it is nativelly integrated with Vim editor. It allows searching code for symbols, definitions, functions (called/calling), regex, files.
  • Open-Source Software Diffuse - Diffuse is a graphical tool for comparing and merging text files. It can retrieve files for comparison from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK repositories.
  • Open-Source Software Fossil - Self-contained, distributed software configuration management system with integrated bug-tracking, wiki, technotes and web interface.
  • Genymotion - Genymotion is a fast third-party emulator that can be used instead of the default Android emulator.
  • Open-Source Software Giggle - Giggle is a graphical frontend for the git content tracker.
  • Open-Source Software Gisto - Gisto is a code snippet manager that runs on GitHub Gists and adds additional features such as searching, tagging and sharing gists while including a rich code editor.
  • GitCola - Git Cola is a sleek and powerful graphical Git client. Written in Python and GPL-licensed.
  • Open-Source Software Gitg - gitg is the GNOME GUI client to view git repositories.
  • GitKraken - The downright luxurious Git GUI client,for Windows, Mac & Linux.
  • Git - Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
  • Open-Source Software GitLab - GitLab is a web-based Git repository manager with wiki and issue tracking features.
  • Open-Source Software Gitolite - Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features.
  • Insomnia - A simple, beautiful, and free REST API client.
  • Open-Source Software Jupyter Notebook - An open source program that provides interactive data and scientific computing information across over 40 programming languages.
  • Open-Source Software Meld - Meld is a visual diff and merge tool that helps you compare files, directories, and version controlled projects.
  • Mockingbot - Mockingbot is an easy-to-use prototyping tool.
  • Open-Source Software Nemiver - Nemiver is a project to write a standalone graphical debugger that integrates well in the GNOME desktop environment.
  • Open-Source Software Pencil - An open-source GUI prototyping tool that's available for ALL platforms.
  • Open-Source Software Pick - Simple color picker.
  • Postman - Postman, allows a user to develop and test APIs quickly.
  • Open-Source Software Rabbit VCS - RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use.
  • Nonfree SmartGit - SmartGit is a Git client with support for GitHub Pull Requests+Comments and SVN.
  • Non Free StarUML - A sophisticated software modeler.
  • Open-Source Software Uncrustify - Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA. See UniversalIndentGUI below.
  • Open-Source Software UniversalIndentGUI - UniversalIndentGUI offers a live preview for setting the parameters of nearly any indenter.
  • Open-Source Software Wdiff - The GNU wdiff program is a front end to diff for comparing files on a word per word basis. It collects the diff output and uses it to produce a nicer display of word differences between the original files.
  • Wireshark - Wireshark is the world's foremost network protocol analyzer. It lets you see what's happening on your network at a microscopic level. It is the de facto (and often de jure) standard across many industries and educational institutions.
  • Open-Source Software Zeal - Zeal is an offline documentation browser for software developers.