[JAVA] [For beginners] A word summary of popular programming languages (2018 version)

programing.jpg

Overview

I just wrote it to kill time while waiting. Since it is a trivia of online information, please point out any mistakes.

Language links go to the wiki.

[Assembler](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E8%A8 % 80% E8% AA% 9E) (Unknown)

A language for machine language that the CPU can understand. Low-level language. I've never seen a site using it

AWK (1977)

Scripting language

Language for processing results with CSV, TSV or CLI Useful when performing shell art

hello.awk


#!/usr/bin/awk -f

BEGIN {
  print "Hello World!"
}

Bash (1988)

Scripting language

Language for manipulating the shell It can be easily automated at the level of death without it. Recently there is WSL and it can be used on windows.

hello.sh


#!/bin/bash

echo "Hello World!"

BASIC (1964)

Introductory programming language (when) Famous for Bemaga (BASIC Magazine) In "Beginner's All-purpose Symbolic Instruction Code", Named BASIC by taking its acronym It is a high-level language.

C (1972)

The origin of language. Procedural language It seems that if you master C language, you can afford to learn other languages It is unclear what can be said to be the ultimate An essential language in the embedded / kernel area

hello.c


#include <stdio.h>

int main(int argc, char **args) {
    printf("Hello, world!\n");
    return 0;
}

C # (2000)

Structured, imperative, object-oriented, functional, event-driven, generic, reflection, concurrency

Standard language in the .NET Framework A relatively new language with good Java and C ++ languages Languages that people who use Unity etc. must learn

hello.cs


using System;

namespace Hello {
  class Program {
    static void Main(string[] args) {
      Console.WriteLine("Hello, World!");
    }
  }
}

C ++ (1983)

Multi-paradigm (combination of procedural programming, data abstraction, object-oriented programming, generic programming)

A language developed 10 years after the introduction of C Add object-oriented to C language, rich library and fast processing It seems to be upward compatible with C just by looking, but there are also drawbacks ML is famous for mentioning why C ++ is not used in kernel development

https://cpplover.blogspot.com/2013/05/linus-torvalsc.html

hello.cpp


#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
}

COBOL (1959)

Still alive in the financial system Click here for coding style with 80 digits per line The official name is Common Business Oriented Language

The following is a program that outputs "Hello world!" In COBOL, which is sometimes said to be the most famous in the world.

000010 IDENTIFICATION                   DIVISION.
000020 PROGRAM-ID.                      SAMPLE-01.
000030*
000040 ENVIRONMENT                      DIVISION.
000050*
000060 DATA                             DIVISION.
000070*
000080 PROCEDURE                        DIVISION.
000090 MAIN.
000100     DISPLAY "Hello world!"  UPON CONSOLE.
000110     STOP RUN.

csh (1978)

A language for writing shell scripts in a C style The person who made vi called Bill Joy is the language of the creator Standard on Unix

hello.sh


#!/bin/csh -f
echo "Hello World"

D (2001)

The best language of C / C ++ Supports unit tests at the language level D language may have been heard even by people who do not know D language

hello.d


import std.stdio;

void main() {
    writeln("Hello World!");
}

Dart (2011)

Object-orientation

Languages that can be used both on the server side and on the front end It seems to be popular but not popular Coexistence with JavaScript / Language selected in the right place Easy to install so it's worth a try

hello.dart


main() {
  print("Hello World!");
}

[Elixir](https://ja.wikipedia.org/wiki/Elixir_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%] 9F% E3% 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (2012)

A Ruby-like functional language. Characterized by the function of parallel processing. It's not Shiseido's elixir.

hello.exs


defmodule Hello do

    def world do
        IO.puts "Hello world"
    end
end

Hello.world

Fortran (1957)

Procedural / structured / imperative / object-oriented

The originator of high-level languages! Still active in university research The language inherited by the professor is Fortran, and it feels like it is inherited from there. It seems that it remains. I hear a lot of voices saying that the library of numerical calculation is abundant and I can't switch. There is a laboratory that I use at my university.

hello.f90


program hello
  print *, 'Hello World!'
end program hello

[Go](https://ja.wikipedia.org/wiki/Go_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3 % 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (2009)

Compiled language, structured programming, procedural programming, imperative programming, concurrency, multi-paradigm programming

Processing speed, low learning cost, rich library! Is it like the language that is currently flowing? Docker etc. are also written in Go. The main will be the development of web server applications.

hello.go


package main

import "fmt"

func main() {
  fmt.Printf("Hello world\n")
}

Haskell (1990)

Pure function language. The feature is that all expressions and functions have no side effects Advanced language. I want to get started someday.

hello.hs


main = putStrLn "Hello World!"

Java (1995)

Object-oriented, structured, procedural

The most popular language from all industries. There are various uses such as business applications, web applications, and mobile applications. If you want to get started, you can eat rice if you start from now on. It seems that it is declining, but there is no doubt that it will be in demand for a while.

Write once, run anywhere. Languages that are almost OS-independent

java


public class Hello{
   public static void main(String[] args){
     System.out.println("Hello World!!");
   }
}

JavaScript (1995)

Multi-paradigm

Honor student who handles both front and server side. Since development can proceed only with a text editor and a web browser, it is very appreciated by beginners and also used by advanced users, so the learning value is very high.

[Julia](https://ja.wikipedia.org/wiki/Julia_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3 % 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (2012)

Procedural programming, multiple dispatch, functional languages, metaprogramming

A scientific and technological computing language. A rival to Python and R. It is both a scripting language and a compilation language

hello.jl


println("Hello World")

Kotlin (2011)

Object-orientation

It is attracting attention as a development language for Android applications. It feels like a rival to Scala. Recently, he is leading the way. It is a language of interest in the future.

fun main(args:Array<String>) {
    println("Hello World!")
}

Lisp (1958)

Multi-paradigm, functional, procedural, self-referential, meta

Quotations should be read http://www.geekpage.jp/blog/?id=2007/8/21

Nim (2008)

Multi-paradigm: Compiling language, concurrent programming language, procedural, imperative, object-oriented

I will omit the explanation. Please read this article. very interesting

One Nim for all developers to learn

nim


stdout.write("hello, world")

Objective-C (1983)

Object-oriented programming

iOS / macOS development language A language that can use C as it is rather than a C-like language Although swift has appeared and its popularity is decreasing, in local business iOS application projects It's still very popular (Isn't it just training swift engineers?)

main.m


#import <Foundation/Foundation.h>
 
int main(int argc, const char * argv[])
{
 
    @autoreleasepool {
 
        // insert code here...
        NSLog(@"Hello, World!");
 
    }
    return 0;
}

Pascal (1970)

Imperative, structured programming

Introductory language for education It is ideal for learning algorithms and is also called a structured language.

hello.pas


program hello;
begin
    writeln( 'Hello World!' );
end.

Perl (1987)

Multi-paradigm

A language that prevailed in the CGI era Mainly maintenance projects, but still very popular in text formatting Famous for its very low readability

There is also such a saying __Perl is a huge, insidious evil created by skilled but distorted professionals. __

hello.pl


print "Hello World!";

[PHP](https://ja.wikipedia.org/wiki/PHP_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3 % 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (1995)

Imperative programming

An introductory language with abundant frameworks, low learning costs, and easy environment construction It is also an attractive language that can be used by embedding it in HTML source.

Impression that the number of projects is still large. Backward compatibility may be lost due to version upgrade It is also true that there are many migration projects. (I don't know the situation in Tokyo ...)

hello.php


echo "Hello World"

Python (1991)

Object-oriented, imperative, procedural, functional

You can do anything from web apps to artificial intelligence to simple tools with the CLI. I often hear that even non-engineers have automated paperwork with a very low learning cost and abundant library. You can easily operate the browser and automatically enter excel. It seems that full-scale artificial intelligence can also be used.

However, it is not recommended to do anything in Python as the word "the right person in the right place" narrows the field of view as an engineer.

hello.py


print("Hello World!")

R (1995)

Multi-paradigm Functional object-oriented imperative

I am buying for data analysis and data visualization. A language that is essential to learn if you want to become a data scientist.

hello.R


print("Hello world")

Ruby (1995)

Structured, imperative, object-oriented

A language for enjoying programming. The author is Japanese Yukihiro Matsumoto. The lecture for young engineers is very emotional.

I personally think that Frame Ruby on Rails is a good introduction to the web industry. It's a pure object-oriented language.

hello.rb


print "hello world!"

[Rust](https://ja.wikipedia.org/wiki/Rust_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3 % 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (2010)

Compiled language, system programming language, multi-paradigm programming, functional language, object-oriented programming

Safe and fast general-purpose language Characterized by C-style control structure

I personally like the layout of the official documentation. https://doc.rust-lang.org/stable/reference/notation.html

hello.rs


fn main() {
    println!("Hello World!");
}

Scala (2003)

Object-oriented language, functional language

The best language to improve your skills from Java Functional and object-oriented dual wield. It also has an interpreter and can be used interactively from the CLI. By the way, Java can do the same with JShell recently.

hello.scala


object hello {
  def main(args: Array[String]) :Unit = {
    println("Hello World")
  }
}

[sed](https://ja.wikipedia.org/wiki/Sed_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3 % 82% BF)) (1973)

Scripting language

Text molding language Must learn if you do shell art / one liner To be honest, awk alone is fine, but when readability is important, it is necessary to use it properly.

$ echo | sed 's/.*/Hello World!/'

Smalltalk(1972)

Object-oriented language

The originator of object-oriented languages! Other languages that have had a great influence on object-oriented languages

SQL (1976)

A database manipulation language that does not fade. NoSQL has come out and there is a lot of momentum, but honestly it will not disappear. Each vendor has completely different extensibility, so learning is required each time. If you learn one, the rest is only application, so you need to learn something.

[Swift](https://ja.wikipedia.org/wiki/Swift_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3 % 83% B3% E3% 82% B0% E8% A8% 80% E8% AA% 9E)) (2014)

Functional language, imperative programming, object-oriented programming

The latest language recommended by Apple If you make an iOS app, learning will appear on the screen immediately in the required language It is easy to keep motivation for learning. The version change will make it incompatible.

Typescript (2012)

Multi-paradigm: scripting, object-oriented, structured, imperative, functional, generic Microsoft language. An intermediate language for converting to Javascript. Compared to Haxe.

[Visual Basic](https://ja.wikipedia.org/wiki/Microsoft_Visual_Basic#Visual_Basic_%E8%A8%80%E8%AA%9E%E3%81%8C%E6%8E%A1%E7%94%A8 % E3% 81% 95% E3% 82% 8C% E3% 81% A6% E3% 81% 84% E3% 82% 8B% E3% 81% 9D% E3% 81% AE% E4% BB% 96% E3 % 81% AE% E7% 92% B0% E5% A2% 83) (2001)

Required language for Windows business apps Still active language Made by Microsoft

Whitespace (2003)

Languages consisting only of spaces / tabs / newlines The so-called "esoteric programming language" I haven't seen anyone using it, but it may be good for learning heaps and stacks (a lie)

Recommended Posts

[For beginners] A word summary of popular programming languages (2018 version)
A brief summary of qubits (beginners)
Transition animation of the most popular programming languages (#programming languages #popular)
A guide to batch installation of version control tools for major scripting languages
Summary of pre-processing practices for Python beginners (Pandas dataframe)
A brief summary of Linux antivirus software for individuals
Building a Python environment for programming beginners (Mac OS)
10 Most Popular Programming Languages in 2020
[For beginners] Summary of standard input in Python (with explanation)
Features of programming languages [Memo]
Overview of Docker (for beginners)
The popularity of programming languages
A beginner's summary of Python machine learning is super concise.
Terminology for all programming languages
A brief summary of Linux
Reference resource summary (for beginners)
A brief summary of Graphviz in python (explained only for mac)
[For beginners] Summary of suffering from kaggle's EDA and its struggle
A brief summary of Python collections
What is scraping? [Summary for beginners]
A rough summary of OS history
[Must-see for beginners] Basics of Linux
A Tour of Go Learning Summary
Pandas basics summary link for beginners
[For competition professionals] Summary of doubling
Learning history of programming transcendence beginners
[Must read for beginners !?] Glossary of terms that stumbles when learning programming
A summary of Python e-books that are useful for free-to-read data analysis
[Summary of books and online courses used for programming and data science learning]
Programming for humans with a well-defined __repr__
Summary of methods for automatically determining thresholds
Beginning of Phtyon programming for Java acquirers ①
A complete understanding of Python's asynchronous programming
Programming environment for beginners made on Windows
[Linux] Summary of middleware version confirmation commands
[Linux command summary] Command list [Must-see for beginners]
Summary of various for statements in Python
Linux operation for beginners Basic command summary
A complete understanding of Python's object-oriented programming
Summary of petit techniques for Linux commands
Async / Await syntax Summary of available languages
Summary of useful techniques for Python Scrapy
A brief summary of Pinax overview #djangoja
Basic level performance evaluation of programming languages
Django tutorial summary for beginners by beginners ⑤ (test)
A textbook for beginners made by Python beginners
For beginners of SageMaker --Collection of material links -
Data analysis in Python Summary of sources to look at first for beginners
[For beginners of artificial intelligence] Machine learning / Deep Learning Programming Learning path and reference books
I tried a TensorFlow tutorial (MNIST for beginners) on Cloud9-Classification of handwritten images-
[Japanese version] Judgment of word similarity for polysemous words using ELMo and BERT
A memorandum of method often used when analyzing data with pandas (for beginners)
A memorandum of method often used in machine learning using scikit-learn (for beginners)