Skip to content

Source Code Editors

Marco BARNIG edited this page Jan 10, 2020 · 2 revisions

Source Code Editors

A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. Source-code editors have features specifically designed to simplify and speed up typing of source code, such as syntax highlighting, indentation, autocomplete and brace matching functionality. These editors also provide a convenient way to run a compiler, interpreter, debugger, or other program relevant for the software-development process.

I use the following editors :

Notepad++

Notepad++ is a free source code editor that supports several languages. It's only available for Windows and governed by a GPL License. The project started in September 2003. My current version is Free Uyghur v7.8.2, released on December 5, 2019. The author is the french senior software engineer Don HO.

I use Notepad++ mainly for quick and small projects.

notepad

GNU nano

GNU nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the Pico text editor and is licensed under the GPL License. Released as free software by Chris Allegretta in 1999, nano became part of the GNU Project in 2001.

My current version is GNU nano 4.6, released on November 29, 2019.

I use Nano as embedded code editor in my Docker container projects.

nano-editor

ATOM

Atom is a free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in Node.js, and embedded Git Control, developed by GitHub. It's called "A hackable text editor for the 21st Century". Most of the extending packages have free software licenses and are community-built and maintained.

Atom was released from beta, as version 1.0, on 25 June 2015. When Atom first came out, it was novel in that it was built on web technologies and therefore pretty flexible and exciting for folks who worked in those technologies. Like most other configurable text editors, Atom enables users to install third-party packages and themes to customize the features and looks of the editor. Packages can be installed, managed and published via Atom's package manager apm.

My current version is v1.42.0, relased on December 16, 2019.

I use ATOM for my large projects on different platforms, mainly for writing Markdown texts.

atom-editor

Markdown

Markdown is a lightweight markup language with plain text formatting syntax. John Gruber created the Markdown language in 2004 in collaboration with Aaron Swartz on the syntax. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

In 2017, GitHub released a formal specification of their own GitHub Flavored Markdown (GFM).

Here are some syntax examples:

  • Titles: tags # , ## , ### , #### before text
  • Bullet list: tag * before text
  • Numbered list: tag 1. , 2. , ... before text
  • Italic: *text*
  • Bold: **text**
  • Links: [text](url)
  • Images: ![text](path or url)
  • Code inline: has back-ticks around it
  • Code block: is fenced by lines with three back-ticks ``` and code language name
  • Example: language c++
#include <Plugins/Samples/Common/OrthancPluginCppWrapper.h>
#include <Core/SystemToolbox.h>
#include <Core/Toolbox.h>

Jupyter

Jupyter is a spin-off of IPython (interactive Python), started in 2001 by Fernando Pérez. He received in 2013 the Free Software Award from the Free Software Foundation and in 2018 the ACM Software System Award for his work on Project Jupyter.

Jupyter was presented in 2014 by Fernando Perez. The name refers to the three core programming languages initially supported by Jupyter, Julia, Python and R.

In mid 2017 version 0.0.1 of Xeus-Cling a C++ kernel for Jupyter was released. The current release of this kernel is 0.8.1, the current version of Jupyter core is 4.6.1.

Programming code in Jupyter is interactively executed in Notebooks, a web-based interactive computational environment.

I started my first trials with Jupyter end 2019.

Jupyter Notebook

The name Notebook in the Jupyter environement is a homage to Galileo's notebooks recording the discovery of the moons of Jupiter.

A Jupyter Notebook document is a JSON document, following a versioned schema, and containing an ordered list of input/output cells which can contain code, text (using Markdown), mathematics, plots and rich media, usually ending with the ".ipynb" extension. In 2015, GitHub and the Jupyter Project announced native rendering of Jupyter notebooks file format (.ipynb files) on the GitHub platform.

A Jupyter Notebook can be converted to a number of open standard output formats (HTML, presentation slides, LaTeX, PDF, ReStructuredText, Markdown, Python) through Download As in the web interface via the nbconvert library. To simplify visualisation of Jupyter notebook documents on the web, the nbconvert library is provided as a service through NbViewer which can take a URL to any publicly available notebook document, convert it to HTML on the fly and display it to the user.

My first Jupyter Notebook, written early 2020, is based on Python and is related to a speech synthesis project for the luxembourgish language. I have not yet set up a C++ project in Jupyter Notebook.

spacy

Jupyter Lab

JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook in a flexible and powerful user interface. The first stable release was announced on February 20, 2018.

Links

Clone this wiki locally