sentenz / convention

General articles, conventions, and guides.
https://sentenz.github.io/convention/
Apache License 2.0
4 stars 2 forks source link

Create an article about `Software Languages` #335

Open sentenz opened 5 months ago

sentenz commented 5 months ago

Software Languages

1. Category

The type of language are designed to address specific needs and use cases, making them suitable for a wide range of applications in software development, web design, data manipulation, or hardware design.

1.1. Programming Languages

Used to write software programs that control the behavior of a machine or express algorithms.

1.1.1. Low-Level Languages

1.1.2. Machine Language

Binary code that the computer's CPU can execute directly.

1.1.3. Assembly Language

Uses mnemonics and symbols to represent machine-level instructions, which are then converted to machine code by an assembler.

1.1.4. High-Level Languages

1.1.5. Procedural Languages

C, Fortran, Pascal.

1.1.6. Object-Oriented Languages

Java, C++, Python.

1.1.7. Functional Languages

Lisp, Haskell, Erlang.

1.1.8. Scripting Languages

JavaScript, Perl, Ruby.

1.1.9. Logic Programming Languages

Prolog.

1.2. Markup Languages

Used to annotate documents in a way that is syntactically distinguishable from the text.

1.2.1. HTML (Hypertext Markup Language)

1.2.2. XML (eXtensible Markup Language)

1.2.3. Markdown

  1. Conventions and Standards

1.2.4. Asciidoc

1.2.5. reStructuredText

1.2.6. LaTeX

1.2.7. SGML (Standard Generalized Markup Language)

1.3. Query Languages

Used to make queries in databases and information systems.

1.3.1. SQL (Structured Query Language)

1.3.2. SPARQL

1.3.3. XQuery

1.4. Stylesheet Languages

Used to describe the presentation of a document written in a markup language.

1.4.1. CSS (Cascading Style Sheets

1.4.2. XSL (eXtensible Stylesheet Language

1.5. Domain-Specific Languages (DSL)

Tailored to a specific application domain.

1.5.1. MATLAB

(for numerical computing)

1.5.2. VHDL

(for hardware description)

1.5.3. R

(for statistical computing)

1.5.4. SQL

(for database queries)

1.6. Configuration Languages

Used for configuration files to define settings and parameters.

1.6.1. YAML (YAML Ain't Markup Language)

1.6.2. JSON (JavaScript Object Notation)

1.6.3. TOML (Tom's Obvious, Minimal Language)

1.7. Modeling Languages

Used to model systems, often in software engineering and design.

1.7.1. UML (Unified Modeling Language)

1.7.2. SysML (Systems Modeling Language)

1.8. Interpreted Languages

Executed directly, line-by-line, by an interpreter.

1.8.1. Python

1.8.2. Ruby

1.8.3. PHP

1.9. Compiled Languages

Converted into machine code by a compiler before execution.

1.9.1. C

1.9.2. C++

1.9.3. Rust

1.10. Assembly Languages

Low-level languages that are closely related to machine code, providing a more understandable syntax.

1.10.1. x86 Assembly

1.10.2. ARM Assembly

1.11. Visual Programming Languages

Use graphical elements rather than text to represent programming concepts.

1.11.1. Scratch

1.11.2. LabVIEW

1.12. Hardware Description Languages (HDL)

Used to describe the behavior and structure of electronic circuits.

1.12.1. VHDL (VHSIC Hardware Description Language)

1.12.2. Verilog

1.13. Artificial Languages

Constructed for specific purposes, often within a fictional or theoretical context.

1.13.1. Esperanto

1.13.2. Klingon