IDE

From Things and Stuff Wiki
Jump to navigation Jump to search


Editor

VSCode


  • VSCodium - The advanced editor - a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity).

IDE

See also Python#IDE


KDevelop

  • KDevelop - A cross-platform IDE for C, C++, Python, QML/JavaScript and PHP

CodeLite

  • CodeLite - an open source, free, cross platform IDE specialized in C, C++, PHP and JavaScript (mainly for backend developers using Node.js) programming languages which runs best on all major Platforms ( OSX, Windows and Linux )

TKE

  • TKE - a full-featured source code editor with a minimalist UI.This editor is primarily written for programmers and contains support for many programming languages, syntax highlighting, optional built-in Vim support, multi-cursor/selection support, plugin support and many other features. The the feature list below for more details. [2]

Code::Blocks

  • Code::Blocks - 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.Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin. For instance, compiling and debugging functionality is already provided by plugins!

Simple Teaching Assistant

Symbol Flux

ideU


ChangeOver

  • ChangeOver - Powerful yet simple IDEOne file. No install. No setup. It just works! [4]


Light Table


Lamdu

  • Lamdu - aims to create a next-generation live programming environment that radically improves the programming experience.

Theia

juCi++

  • https://gitlab.com/eidheim/jucipp - one of the first IDEs to utilize libclang for improved C/C++ tooling. The integrated C/C++ support has since then improved steadily, and support for other languages has been made possible through the language server protocol. The main goals of juCi++ is effective resource usage, stability, and ease of use. Instead of relying on 3rd party addons, features expected in an IDE is instead integrated directly into juCi++. For effective development, juCi++ is primarily written for Unix/Linux systems. However, Windows users can use juCi++ through POSIX compatibility layers such as MSYS2.


Anjuta

  • Anjuta - Features a number of advanced programming facilities including project management, application wizard, interactive debugger, source editor, version control, GUI designer, profiler and many more tools. Focuses on providing simple and usable user interface, yet powerful for efficient development. It supports the following programming languages: C, C++, Java, Javascript, Python, Vala


GNOME Builder

  • https://en.wikipedia.org/wiki/GNOME_Builder - a general purpose integrated development environment (IDE) for the GNOME platform, primarily designed to aid in writing GNOME-based applications. It was initially released on March 24, 2015. The application's tagline is "A toolsmith for GNOME-based applications".


RStudio

  • RStudio - an integrated development environment (IDE) for R and Python. It includes a console, syntax-highlighting editor that supports direct code execution, and tools for plotting, history, debugging, and workspace management. RStudio is available in open source and commercial editions and runs on the desktop (Windows, Mac, and Linux).
  • https://en.wikipedia.org/wiki/RStudio - an integrated development environment for R, a programming language for statistical computing and graphics. It is available in two formats: RStudio Desktop is a regular desktop application while RStudio Server runs on a remote server and allows accessing RStudio using a web browser.


  • https://github.com/rstudio/plumber - allows you to create a web API by merely decorating your existing R source code with roxygen2-like comments. Take a look at an example.



Computational notebooks

to sort with Maths#Software, Computing#Runtime, Organising#Lab notebook

  • https://en.wikipedia.org/wiki/Notebook_interface - or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs. Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections. Notebooks share some goals and features with spreadsheets and word processors but go beyond their limited data models. Modular notebooks may connect to a variety of computational back ends, called "kernels". Notebook interfaces are widely used for statistics, data science, machine learning, and computer algebra.

Notebooks are traditionally used in the sciences as electronic lab notebooks to document research procedures, data, calculations, and findings. Notebooks track methodology to make it easier to reproduce results and calculations with different data sets. In education, the notebook interface provides a digital learning environment, particularly for the teaching of computational thinking. Their utility for combining text with code makes them unique in the realm of education. Digital notebooks are sometimes used for presentations as an alternative to PowerPoint and other presentation software, as they allow for the execution of code inside the notebook environment. Due to their ability to display data visually and retrieve data from different sources by modifying code, notebooks are also entering the realm of business intelligence software.

IPython / Jupyter

  • IPython - provides a rich architecture for interactive computing with:
    • A powerful interactive shell.
    • A kernel for Jupyter.
    • Support for interactive data visualization and use of GUI toolkits.
    • Flexible, embeddable interpreters to load into your own projects.
    • Easy to use, high performance tools for parallel computing.





  • Project Jupyter Documentation - a large umbrella project that covers many different software offerings and tools, including the popular Jupyter Notebook and JupyterLab web-based notebook authoring and editing applications. The Jupyter project and its subprojects all center around providing tools (and standards) for interactive computing with computational notebooks.


  • Jupyter/IPython Notebook Quick Start Guide - a brief step-by-step tutorial on installing and running Jupyter (IPython) notebooks on local computer for new users who have no familiarity with python. Briefly, if someone gave you a notebook to run and you don’t know what a notebook is, this document is for you. Jupyter Notebook App (formerly IPython Notebook) is an application running inside the browser. This guide describes how to install and use Jupyter Notebook App as normal desktop application, without using any remote server.


  • JupyterHub - brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening the users with installation and maintenance tasks. Users - including students, researchers, and data scientists - can get their work done in their own workspaces on shared resources which can be managed efficiently by system administrators. JupyterHub runs in the cloud or on your own hardware, and makes it possible to serve a pre-configured data science environment to any user in the world. It is customizable and scalable, and is suitable for small and large teams, academic courses, and large-scale infrastructure.


  • JupyterLab - a highly extensible, feature-rich notebook authoring application and editing environment, and is a part of Project Jupyter, a large umbrella project centered around the goal of providing tools (and standards) for interactive computing with computational notebooks. A computational notebook is a shareable document that combines computer code, plain language descriptions, data, rich visualizations like 3D models, charts, graphs and figures, and interactive controls. A notebook, along with an editor like JupyterLab, provides a fast interactive environment for prototyping and explaining code, exploring and visualizing data, and sharing ideas with others. JupyterLab is a sibling to other notebook authoring applications under the Project Jupyter umbrella, like Jupyter Notebook and Jupyter Desktop. JupyterLab offers a more advanced, feature rich, customizable experience compared to Jupyter Notebook.


  • nbviewer - A simple way to share Jupyter Notebooks


  • BeakerX - a collection of kernels and extensions to the Jupyter interactive computing environment. It provides JVM support, interactive plots, tables, forms, publishing, and more.

Pluto.jl

  • Pluto.jl - interactive Julia programming environment. A Pluto notebook is made up of small blocks of Julia code (cells) and together they form a reactive notebook. When you change a variable, Pluto automatically re-runs the cells that refer to it. Cells can even be placed in arbitrary order - intelligent syntax analysis figures out the dependencies between them and takes care of execution. Cells can contain arbitrary Julia code, and you can use external libraries. There are no code rewrites or wrappers, Pluto just looks at your code once before evaluation.
  • https://github.com/fonsp/Pluto.jl


SageMath

  • SageMath - a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers. Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.


Iodide

Observable

  • Observable - The magic notebook for exploring data