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.
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
- Atom - Hackable text editor for the 21st century.
- Bluefish - Bluefish is a powerful editor targeted towards programmers and web developers, with many options to write websites, scripts and programming code.
- Brackets - A modern text editor that understands web design.
- Emacs - An extensible, customizable, free/libre text editor — and more.
- 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.
- Gedit -gedit is the GNOME text editor. While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor.
- Kakoune - Kakoune code editor - Vim inspired. Faster as in less keystrokes. Multiple selections. Orthogonal design. Has a strong focus on interactivity.
- Kate - Kate is a multi-document editor part of KDE since release 2.2.
- Komodo Edit - Free and open source multilanguage development environment.
- Lighttable - The next generation code editor! Support live coding.
- Spacemacs - A community-driven Emacs distribution.
- Sublime - A very capable text editor with advanced search capabilities, and many powerful plugins to improve its functionality.
- Textadept - Minimalist text editor for programmers. Textadept is extensible with Lua programming language.
- 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.
- 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.
- Nano - GNU Nano is a text editor which aims to introduce a simple interface and intuitive command options to console based text editing.
- Neovim - Neovim is a fork of Vim aiming to improve user experience, plugins, and GUIs.
- 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.
- HexChat - HexChat is an IRC client based on XChat, but unlike XChat it’s completely free for both Windows and Unix-like system.
- Irssi - Irssi is a modular chat client that is most commonly known for its text mode user interface.
- KVIrc - KVIrc is a free portable IRC client based on the excellent Qt GUI toolkit.
- 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.
- 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.
- QT Creator - Fully-stocked cross-platform integrated development environment for easy creation of connected devices, UIs and applications.
- 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.
- 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.
- DBeaver - A universal database client supporting multiple platforms and databases.
- MariaDB - One of the most popular database servers. Made by the original developers of MySQL.
- MongoDB - MongoDB is a free and open-source cross-platform document-oriented database program, uses JSON-like documents with schemas.
- 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.
- MyCLI - MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.
- OracleDB - Object-relational database management system produced and marketed by Oracle Corporation, one of the most trusted and widely-used relational database engines.
- Percona MongoDB - Percona Server for MongoDB provides all features and benefits of MongoDB Community Server.
- 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.
- 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.
- 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.
- 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
- Sqlite - SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
- Sqlite Browser - Visually create, manage, and view sqlite database files.
- OmniDB - Browser-based tool that visually create, manage, and view databases.
- GoLand - GoLand is the codename for a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.
- 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.
- Webstorm - Powerful IDE for modern JavaScript development, made by JetBrains.
- Arduino IDE - The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board.
- Fritzing - Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone.
- Sloeber IDE - Sloeber IDE. The Arduino IDE for Eclipse.
- Aptana - Aptana Studio harnesses the flexibility of Eclipse and focuses it into a powerful web development engine.
- KDevelop - It is a free, open source IDE, feature-full, plugin extensible IDE for C/C++ and other programming languages.
- MonoDevelop - Cross platform IDE for C#, F# and more.
- 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.
- PHPStorm - Lightning-smart and powerful PHP IDE from Jetbrain.
- PyCharm - Powerful IDE for Python
- Fish - A smart and user-friendly command-line shell.
- Fisherman - A plugin manager for fish shell.
- Ipython - Powerful Python shell.
- Oh-my-fish - Provides various packages and themes to extend the functionality of your fish shell.
- Oh-my-zsh - A delightful community-driven framework for managing your zsh configuration.
- Zsh - A powerful command line shell.
- 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.
- 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.
- 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.
- Giggle - Giggle is a graphical frontend for the git content tracker.
- 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.
- 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.
- GitLab - GitLab is a web-based Git repository manager with wiki and issue tracking features.
- 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.
- Jupyter Notebook - An open source program that provides interactive data and scientific computing information across over 40 programming languages.
- 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.
- Nemiver - Nemiver is a project to write a standalone graphical debugger that integrates well in the GNOME desktop environment.
- Pencil - An open-source GUI prototyping tool that's available for ALL platforms.
- Pick - Simple color picker.
- Postman - Postman, allows a user to develop and test APIs quickly.
- Rabbit VCS - RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use.
- SmartGit - SmartGit is a Git client with support for GitHub Pull Requests+Comments and SVN.
- StarUML - A sophisticated software modeler.
- Uncrustify - Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA. See UniversalIndentGUI below.
- UniversalIndentGUI - UniversalIndentGUI offers a live preview for setting the parameters of nearly any indenter.
- 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.
- Zeal - Zeal is an offline documentation browser for software developers.