Difference between revisions of "IDE"

From Things and Stuff Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{menu}}
 
{{menu}}
  
== Editor ==
+
== General ==
 +
See also [[Editors]], [[Python#IDE]]
  
=== VSCode ===
+
* https://en.wikipedia.org/wiki/Integrated_development_environment - a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not. The boundary between an IDE and other parts of the broader software development environment is not well-defined; sometimes a version control system or various tools to simplify the construction of a graphical user interface (GUI, are integrated. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram for use in object-oriented software development.
 +
 
 +
 
 +
 
 +
* https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments
 +
 
 +
 
 +
 
 +
 
 +
* [https://editorconfig.org/ EditorConfig] - helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control systems.
 +
** https://github.com/editorconfig
 +
 
 +
== VSCode / VSCodium ==
 
* [https://code.visualstudio.com/ Visual Studio Code]
 
* [https://code.visualstudio.com/ Visual Studio Code]
 
** https://github.com/Microsoft/vscode
 
** https://github.com/Microsoft/vscode
Line 9: Line 22:
  
  
* [https://vscodium.com/ 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).  
+
* [https://vscodium.com/ VSCodium] - 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).  
 
** https://github.com/VSCodium/vscodium
 
** https://github.com/VSCodium/vscodium
  
Line 15: Line 28:
  
  
=== Lapce ===
+
* [https://code.visualstudio.com/docs/cpp/cpp-ide Edit and navigate C++ code in Visual Studio Code]
 +
 
 +
 
 +
=== Syntax ===
 +
* [https://marketplace.visualstudio.com/items?itemName=evgeniypeshkov.syntax-highlighter Syntax Highlighter - Visual Studio Marketplace] - Syntax highlighting based on Tree-sitter
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax Better C++ Syntax - Visual Studio Marketplace] - The bleeding edge of the C++ syntax
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=baleiko.syntax-highlighting-scopes-showroom Syntax Highlighting Scopes Showroom - Visual Studio Marketplace] - Highlights syntax scopes to simplify syntax highlighting extensions development
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-shellscript-syntax Better Shell Syntax - Visual Studio Marketplace] - enables your theme to better color your
 +
 
 +
 
 +
=== Visualiser ===
 +
* [https://marketplace.visualstudio.com/items?itemName=YaobinOuyang.CodeAtlas Code Graph - Visual Studio Marketplace] - Visualize call graph, inheritance graph and variable usage graph for C/C++, C#, Python and other languages.
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer Debug Visualizer - Visual Studio Marketplace] - A visual watch window that lets you visualize your data structures while debugging.
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=visualprogrammingx.SourceCodeVisualizer Source Code Visualizer - Visual Studio Marketplace] - Visualize the calling structure of source code in a class diagram-like fashion
 +
 
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=trailofbits.starknet-explorer StarkNet Explorer - Visual Studio Marketplace] - Visualize StarkNet contracts: view storage variables, external and view functions, and events.
 +
 
 +
 
 +
* [https://marketplace.visualstudio.com/items?itemName=grappl.grappl Grappl - Visual Studio Marketplace] - Spend less time deciphering code and more time innovating
 +
 
 +
 
 +
* [https://docs.gradle.org/current/userguide/visual_studio_plugin.html Gradle: Visual Studio]
 +
 
 +
== Lapce ==
 
* https://github.com/lapce/lapce - written in pure Rust with a UI in Floem. It is designed with Rope Science from the Xi-Editor which makes for lightning-fast computation, and leverages Wgpu for rendering. More information about the features of Lapce can be found on the main website and user documentation can be found on GitBook.
 
* https://github.com/lapce/lapce - written in pure Rust with a UI in Floem. It is designed with Rope Science from the Xi-Editor which makes for lightning-fast computation, and leverages Wgpu for rendering. More information about the features of Lapce can be found on the main website and user documentation can be found on GitBook.
  
== IDE ==
 
See also [[Python#IDE]]
 
  
* http://en.wikipedia.org/wiki/Integrated_development_environment
+
== Eclipse ==
 +
* [https://www.eclipse.org The Eclipse Foundation] - provides our global community of individuals and organizations with a mature, scalable, and business-friendly environment for open source software collaboration and innovation.
  
* https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python
+
* [https://www.eclipse.org/downloads/packages/release/kepler/sr2/eclipse-ide-cc-developers Eclipse IDE for C/C++ Developers | Eclipse Packages]
  
  
=== KDevelop ===
+
== KDevelop ==
 
* [https://www.kdevelop.org/ KDevelop] - A cross-platform IDE for C, C++, Python, QML/JavaScript and PHP
 
* [https://www.kdevelop.org/ KDevelop] - A cross-platform IDE for C, C++, Python, QML/JavaScript and PHP
  
=== CodeLite ===
+
== CodeLite ==
 
* [https://codelite.org/ 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 )
 
* [https://codelite.org/ 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 ==
 
* [http://tke.sourceforge.net 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. [https://news.ycombinator.com/item?id=18494623]
 
* [http://tke.sourceforge.net 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. [https://news.ycombinator.com/item?id=18494623]
  
=== Code::Blocks ===
+
== Code::Blocks ==
 
* [http://www.codeblocks.org/ 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!
 
* [http://www.codeblocks.org/ 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 ===
+
== Simple Teaching Assistant ==
 
* http://tomrothe.de/posts/sketchbook.html [https://news.ycombinator.com/item?id=11658239]
 
* http://tomrothe.de/posts/sketchbook.html [https://news.ycombinator.com/item?id=11658239]
 
** https://github.com/motine/sta
 
** https://github.com/motine/sta
  
=== Symbol Flux ===
+
== Symbol Flux ==
 
* [http://tiledtext.com/projects/avd Symbol Flux]
 
* [http://tiledtext.com/projects/avd Symbol Flux]
 
** YouTube: [https://www.youtube.com/watch?v=NvfMthDInwE Symbol Flux Data Structure Debugger Demo]
 
** YouTube: [https://www.youtube.com/watch?v=NvfMthDInwE Symbol Flux Data Structure Debugger Demo]
  
=== ideU ===
+
== ideU ==
 
* https://github.com/fredvs/ideU
 
* https://github.com/fredvs/ideU
  
  
=== ChangeOver ===
+
== ChangeOver ==
 
* [https://milansuk.github.io/ChangeOver/ ChangeOver] - Powerful yet simple IDEOne file. No install. No setup. It just works! [https://news.ycombinator.com/item?id=18543468]
 
* [https://milansuk.github.io/ChangeOver/ ChangeOver] - Powerful yet simple IDEOne file. No install. No setup. It just works! [https://news.ycombinator.com/item?id=18543468]
  
  
=== Light Table ===
+
== Light Table ==
 
* https://github.com/LightTable/LightTable [https://news.ycombinator.com/item?id=8394381]
 
* https://github.com/LightTable/LightTable [https://news.ycombinator.com/item?id=8394381]
  
  
=== Lamdu ===
+
== Lamdu ==
 
* [http://www.lamdu.org/ Lamdu] - aims to create a next-generation live programming environment that radically improves the programming experience.
 
* [http://www.lamdu.org/ Lamdu] - aims to create a next-generation live programming environment that radically improves the programming experience.
  
=== Theia ===
+
== Theia ==
 
* [https://theia-ide.org/ Theia] - an extensible platform to develop multi-language Cloud & Desktop IDEs with state-of-the-art web technologies
 
* [https://theia-ide.org/ Theia] - an extensible platform to develop multi-language Cloud & Desktop IDEs with state-of-the-art web technologies
 
** https://github.com/eclipse-theia/theia
 
** https://github.com/eclipse-theia/theia
  
=== juCi++ ===
+
== 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.
 
* 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 ==
 
* [https://wiki.gnome.org/Apps/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
 
* [https://wiki.gnome.org/Apps/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
  
Line 75: Line 116:
  
  
=== GNOME Builder ===
+
== GNOME Builder ==
 
* [https://wiki.gnome.org/Apps/Builder Apps/Builder - GNOME Wiki!]
 
* [https://wiki.gnome.org/Apps/Builder Apps/Builder - GNOME Wiki!]
  
Line 81: Line 122:
  
  
=== RStudio ===
+
== RStudio ==
  
 
* [https://posit.co/products/open-source/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://posit.co/products/open-source/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).
Line 93: Line 134:
  
 
* http://rmarkdown.rstudio.com/r_notebooks.html
 
* http://rmarkdown.rstudio.com/r_notebooks.html
 
 
== 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.
 
 
 
 
 
* https://github.com/executablebooks - an international collaboration to build open source tools that facilitate publishing computational narratives using the Jupyter ecosystem.
 
** [https://executablebooks.org/en/latest/ The Executable Books Project] - the team documentation for the ExecutableBooksProject, an international collaboration to build open source tools that facilitate publishing computational narratives using the Jupyter ecosystem
 
 
We are a community who steward:
 
* Jupyter Book: Build beautiful, publication-quality books and documents from computational material like Jupyter Notebooks.
 
* MyST Markdown: An extended Markdown format designed for the future of technical communication and publication.
 
As well as many other tools for parsing, headless execution of Jupyter Notebooks (caching and in the browser), popular sphinx extensions (e.g. copy-button, sphinx-design, sphinx-thebe), and many scientific templates for writing journal articles and presentations.
 
 
* [https://executablebooks.org/en/latest/tools/ Ecosystem of tools] - There are several major tools that we have developed, or are contributing to, as a part of this project. This page describes a few major components.
 
 
 
=== IPython / Jupyter ===
 
* [https://ipython.org 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.
 
 
 
* LWN.net: [https://lwn.net/SubscriberLink/756192/ebada7ecad32f3ad/ Advanced computing with IPython] - [https://news.ycombinator.com/item?id=17236788]
 
 
 
* [http://jupyter.org/ Project Jupyter] - exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.
 
** https://github.com/jupyter/help
 
 
* https://en.wikipedia.org/wiki/Project_Jupyter - a project to develop open-source software, open standards, and services for interactive computing across multiple programming languages. It was spun off from IPython in 2014 by Fernando Pérez and Brian Granger. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R. Its name and logo are an homage to Galileo's discovery of the moons of Jupiter, as documented in notebooks attributed to Galileo. Project Jupyter has developed and supported the interactive computing products Jupyter Notebook, JupyterHub, and JupyterLab. Jupyter is financially sponsored by NumFOCUS.
 
 
 
* [https://docs.jupyter.org/en/latest/ 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.
 
 
 
* https://wiki.archlinux.org/title/Jupyter - a project which produces browser-based interactive environments for programming, mathematics, and data science. It supports a number of languages via plugins ("kernels"), such as Python, Ruby, Haskell, R, Scala, Julia and Kotlin. JupyterLab is "Jupyter’s Next-Generation Notebook Interface", while Jupyter Notebook is the original.
 
 
 
 
* [https://jupyter-notebook-beginner-guide.readthedocs.io 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.
 
 
 
 
* [https://jupyter.org Jupyter Notebook] - The Classic Notebook Interface. The Jupyter Notebook is the original web application for creating and sharing computational documents. It offers a simple, streamlined, document-centric experience.
 
** [https://jupyter.org/try Try Jupyter]
 
 
* [https://jupyter.org/hub 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.
 
 
 
* [https://jupyterlab.readthedocs.io/en/stable/ 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.
 
** https://github.com/jupyterlab/jupyterlab
 
 
 
* [https://nbviewer.jupyter.org/ nbviewer] - A simple way to share Jupyter Notebooks
 
 
 
* [http://beakerx.com/ BeakerX] - a collection of kernels and extensions to the Jupyter interactive computing environment. It provides JVM support, interactive plots, tables, forms, publishing, and more.
 
 
 
 
* [https://mybinder.org/ Binder] - Have a repository full of Jupyter notebooks? With Binder, open those notebooks in an executable environment, making your code immediately reproducible by anyone, anywhere.
 
** https://github.com/jupyterhub/binderhub
 
 
* [https://the-turing-way.netlify.app/communication/binder/zero-to-binder.html Zero-to-Binder — The Turing Way] - In this chapter, we will create a Binder project from scratch: we will first make a repository on GitHub and then launch in on mybinder.org. Sections where you are expected to complete a task are denoted by three traffic light 🚦 emojis. Some steps give you the option of Python, Julia or R - click on the tab of your preferred language.
 
 
 
* [https://notebooks.gesis.org/about.html GESIS Notebooks] - a free and hosted instance of BinderHub, that is part of the mybinder.org Federation, for running Jupyter Notebooks requiring no installation. We aim to enable you to get started quickly with your research ideas, prototyping your data science projects, or learning to program languages such as R, Python or Julia.
 
 
 
* [https://wikitech.wikimedia.org/wiki/PAWS PAWS - Wikitech] - a service that hosts Jupyter notebooks for use by Wikimedia's contributors. PAWS users can launch, publish, and fork notebooks without having to install Jupyter on a local computer. Users only need a Wikimedia SUL and an internet connected web-browser to use the service. PAWS makes it easier for volunteers along the spectrum to work in technical spaces and make contributions to Wikimedia's technical projects.
 
 
 
 
 
* [https://jupyterbook.org Jupyter Book] - Build beautiful, publication-quality books and documents from computational content. [https://news.ycombinator.com/item?id=28505408]
 
** https://github.com/executablebooks/jupyter-book
 
** https://github.com/executablebooks/jupyter-book/wiki/The-Jupyter-Book-Wiki
 
 
 
=== Knitr ===
 
* [https://yihui.org/knitr/ knitr] - Elegant, flexible, and fast dynamic report generation with R
 
** https://github.com/yihui/knitr
 
 
 
* https://en.wikipedia.org/wiki/Knitr
 
 
 
* [https://www.r-project.org/nosvn/pandoc/knitr.html R: Knitr] - The R package knitr is a general-purpose literate programming engine, with lightweight API's designed to give users full control of the output without heavy coding work. It combines many features into one package with slight tweaks motivated from my everyday use of Sweave.
 
 
* [https://kbroman.org/knitr_knutshell/ knitr in a knutshell] - a really important tool for reproducible research. You create documents that are a mixture of text and code; when processed through knitr, the code is replaced by the results and/or figures produced. Note: people are moving from R Markdown to Quarto, so maybe stop reading this and go look at Quarto.
 
 
 
=== Quarto ===
 
* [https://quarto.org/ Quarto] - An open-source scientific and technical publishing system using Pandoc. Author using Jupyter notebooks or with plain text markdown in your favorite editor. Create dynamic content with Python, R, Julia, and Observable. Publish reproducible, production quality articles, presentations, dashboards, websites, blogs, and books in HTML, PDF, MS Word, ePub, and more. Share knowledge and insights organization-wide by publishing to Posit Connect, Confluence, or other publishing systems. Write using Pandoc markdown, including equations, citations, crossrefs, figure panels, callouts, advanced layout, and more. Analyze. Share. Reproduce. You have a story to tell with data—tell it with Quarto.
 
** https://github.com/quarto-dev/quarto
 
 
* https://github.com/quarto-dev/quarto-cli - an open-source scientific and technical publishing system built on Pandoc. Quarto documents are authored using markdown, an easy to write plain text format.
 
 
In addition to the core capabilities of Pandoc, Quarto includes:
 
* Embedding code and output from Python, R, Julia, and JavaScript via integration with Jupyter, Knitr, and Observable.
 
* A variety of extensions to Pandoc markdown useful for technical writing including cross-references, sub-figures, layout panels, hoverable citations and footnotes, callouts, and more.
 
* A project system for rendering groups of documents at once, sharing options across documents, and producing aggregate output like websites and books.
 
* Authoring using a wide variety of editors and notebooks including JupyterLab, RStudio, and VS Code.
 
* A visual markdown editor that provides a productive writing interface for composing long-form documents.
 
 
 
=== Pluto.jl ===
 
* [https://plutojl.org/ 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 ===
 
* [http://www.sagemath.org/ 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.
 
** https://en.wikipedia.org/wiki/Sage_(mathematics_software)
 
 
* Vimeo: [https://vimeo.com/146334254 Kenneth Ribet - UC Berkeley Professor]
 
 
* https://cloud.sagemath.com/
 
 
 
* https://blog.rstudio.org/2016/11/01/announcing-rstudio-v1-0/
 
 
=== Iodide ===
 
* [https://alpha.iodide.io/ Iodide] - Create, share, collaborate, and reproduce powerful reports and visualizations with tools you already know.
 
** https://github.com/iodide-project/iodide
 
 
* [https://hacks.mozilla.org/2019/03/iodide-an-experimental-tool-for-scientific-communicatiodide-for-scientific-communication-exploration-on-the-web/ Iodide: an experimental tool for scientific communication and exploration on the web – Mozilla Hacks] - Jupyter
 
 
=== Observable ===
 
* [https://observablehq.com Observable] - Data visualization platform. Accelerate how you build and share data visualizations by using Observable to turn your most complex data sets into actionable insights.
 
** https://github.com/observablehq
 

Latest revision as of 16:11, 2 December 2023

General

See also Editors, Python#IDE

  • WP: Integrated_development_environment - a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not. The boundary between an IDE and other parts of the broader software development environment is not well-defined; sometimes a version control system or various tools to simplify the construction of a graphical user interface (GUI, are integrated. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram for use in object-oriented software development.




  • EditorConfig - helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control systems.

VSCode / VSCodium


  • VSCodium - 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).



Syntax


Visualiser




Lapce

  • https://github.com/lapce/lapce - written in pure Rust with a UI in Floem. It is designed with Rope Science from the Xi-Editor which makes for lightning-fast computation, and leverages Wgpu for rendering. More information about the features of Lapce can be found on the main website and user documentation can be found on GitBook.


Eclipse

  • The Eclipse Foundation - provides our global community of individuals and organizations with a mature, scalable, and business-friendly environment for open source software collaboration and innovation.


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

  • WP: 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).
  • WP: 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.