Comparison of Programming languages

[Mobile version(QRCode)] Total views:69,200 / Applauds for blog:1
Welcome to my page. I am an adminisrator of this site.
If you are this db's user, please contact with me by private mail. If not, please contact with me by email or twitter or facebook
Access record[Graph / PV Info.(Past 1 day / Past 1 week) / Access from outside (Yesterday / Past 1 week) / Vistors's list]
ProfilePmail(Mail)
Inbox   /Send   /Sent
Reviews(List   /Limit)
Poll   /Agree:Got   /Sent
Fan
Works/Music
Blog
[Write]
Links
My Play List
<=Newer article How to use translation service through API
=>Older article Tips

1.
2017/05/22 (Updated 2017/12/08) "Programming > Comparison of Programming languages"
[Show only this article / Modify / Delete / Send trackback / Add to the shared category]

1. Purpose of this documentation
2. Programming Language Comparison
  1. Hello, world
    1. C
    2. C++
    3. C#
    4. Go
    5. Java
    6. Javascript(node.js)
    7. Ruby
    8. Perl
    9. PHP
    10. Python
  2. Print ARGV
    1. JavaScript (node.js)
    2. Perl
    3. PHP
    4. Python 3
  3. Trim blank characters from the head and tail of the string
    1. JavaScript (node.js)
  4. Output to file
    1. Javascript (node.js)
    2. Perl
    3. PHP
    4. Python 3
  5. Array
    1. C
    2. C++
    3. C#
    4. Go
    5. Java
    6. Javascript(node.js)
    7. Ruby
    8. Perl
    9. PHP
    10. Python
  6. Associative array
    1. C
    2. C++
    3. C#
    4. Go
    5. Java
    6. Javascript(ES6)
    7. Ruby
    8. Perl
    9. PHP
    10. Python
  7. Dump associative array
    1. Javascript(node.js)
    2. Ruby
    3. Perl
    4. PHP
    5. Python 3
  8. Get the lowest value from array
    1. Javascript(node.js)
    2. Ruby
    3. Perl
    4. PHP
    5. Python 3
  9. if defined or not
    1. Javascript (node.js)
    2. Ruby
    3. Per
    4. PHP
    5. Python 3
  10. Regex match
    1. Javascript(node.js)
    2. Ruby
    3. Perl
    4. PHP
    5. Python 3
  11. Replace all - with _ in the string with lowering the string
    1. Javascript(node.js)
    2. Ruby
    3. Perl
    4. PHP
    5. Python 3
  12. Return the length of the string
    1. Javascript(node.js)
  13. Get only first 2 characters
    1. Javascript(node.js)
    2. Perl
  14. Anonymous function
    1. Javascript (node.js)
  15. Immediately invoked function without name
    1. Javascript (node.js)
  16. Loop associative array sorted by key number
    1. Javascript (node.js)
    2. Perl
    3. PHP
    4. Python3
  17. Create human class
    1. Java
    2. Perl
    3. PHP
    4. Python
  18. Create Doctor class extending human class
    1. PHP
  19. Convert vertical columns to horizontal columns
    1. JavaScript (node.js)
    2. Perl
    3. PHP
    4. Python
3. React
  1. Update parent's component state

1. Purpose of this documentation

- Make the cost of switching programming language lower by writing down basic procedure of each programming language.
- Use for questioning the understanding of programming language

I will put the code at
https://github.com/hikarine3/programming_language_comparison
in public status.
2. Programming Language Comparison


  1. Hello, world


    1. C

hello_world.c
/* 
 * cc -o hello_world hello_world.c;./hello_world;rm hello_world;
 */
#include<stdio.h>
int main() {
    printf("Hello World\n");
}

    2. C++

hello_world.cpp
/*
 * g++ -o hello_world hello_world.cpp;./hello_world;rm hello_world;   
 */
#include <iostream>
int main() {
     std::cout << "Hello World\n";
}

    3. C#

hello_world.cs
/*
* mcs hello_world.cs;mono hello_world.exe;rm hello_world.exe;
*/
using System;
public class HelloWorld {
    public void helloWorld() {
        Console.WriteLine("Hello World");
    }
    public static void Main()  {
         HelloWorld hw = new HelloWorld();
         hw.helloWorld();
    }
}

    4. Go

hello_world.go
// go build hello_world 
package main
import "fmt"
func main() {
    fmt.Println("hello world")
}

    5. Java

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

    6. Javascript(node.js)

console.log("Hello World");
    7. Ruby

print("Hello World")
    8. Perl

print("Hello World");
    9. PHP

print("Hello World");
    10. Python

print("Hello World")
  2. Print ARGV


    1. JavaScript (node.js)

console.log(process.argv[2]);
    2. Perl

print $ARGV[0];
    3. PHP

<?php
print $argv[1];

    4. Python 3

import sys
argvs = sys.argv
print(argvs[1])
  3. Trim blank characters from the head and tail of the string


    1. JavaScript (node.js)

trim.js
import assert from 'assert';
let str = "    aaa    ";
assert.equal(str, "aaa");

  4. Output to file


    1. Javascript (node.js)

// Async write
const fs = require('fs');
let output_file = "/tmp/output_js.txt";
fs.writeFile(output_file, "Hello World!", (err, resp) => {
    if (err) throw err;
    fs.readFile(output_file, (err, data) => {
      if (err) throw err;
      console.log(data.toString());
    });
});

    2. Perl

use strict;
use FileHandle;
my $output_file = "/tmp/output_perl.txt";
if (my $fh = new FileHandle('> '.$output_file)) {
  print $fh "Hello World!\n";
  $fh->close();
}

if (my $fh = new FileHandle($output_file)) {
  local $/ = undef;
  print <$fh>;
  $fh->close();
}

    3. PHP

<?php
$output_file = "/tmp/output_php.txt";
$fh = fopen($output_file, "w") or die("Failed to open ".$output_file);
fwrite($fh, "Hello World!");
fclose($fh);

$fh = fopen($output_file, "r") or die("Failed to open ".$output_file);
while(!feof($fh)) {
  echo fgets($fh);
}
fclose($fh);

    4. Python 3

###
def main():
  output_file = "/tmp/output_python.txt"
  try:
    fh = open(output_file, "w") or die("Failed to write to " + output_file)
  except IOError:
    print("Failed to write to " + output_file)
    return

  fh ._ write("Hello World!")
  fh.close()

  fh = open(output_file, "r")
  print(fh.read())
  fh.close()

if __name__ == '__main__':
  main()
###
  5. Array


    1. C

int array[] = {3, 1, 2};
    2. C++

int array[] = {3, 1, 2};
    3. C#

int [] array = new int[] {3, 1, 2};
    4. Go

array := [3]int{3, 1, 2}
    5. Java

int[] myList = {3, 1, 2};
    6. Javascript(node.js)

let array = [3, 1, 2]
    7. Ruby

array = [3, 1, 2]
    8. Perl

my @array = (3, 1, 2);
    9. PHP

$array = [3, 1, 2];
    10. Python

array = [3, 1, 2]
  6. Associative array


    1. C

N/A
    2. C++

std::map<std::string, std::string> array = {{"1", "January"}, {"2", "Feburuary"}, {"3", "March"}};
    3. C#

Dictionary<string, string> array = new Dictionary<string, string>(); 
array["1"] = "January"; 
array["2"] = "Feburuary"; 
array["3"] = "March";
    4. Go

array := map[string]string{1: 'Janualry', 2:'Feburuary', 3:'March'}
    5. Java

Map<String, String> array = new HashMap<String, String>();
map.put("1", "Janualry");
map.put("2", "Feburuary");
map.put("3", "March");
    6. Javascript(ES6)

let array = {1: 'Janualry', 2:'Feburuary', 3:'March'};
    7. Ruby

array = {1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'}
    8. Perl

my $array = {1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'};
    9. PHP

$array = [1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'];
    10. Python

array = {1: 'Janualry', 2:'Feburuary', 3:'March'}

print(array[1])
  7. Dump associative array


    1. Javascript(node.js)

let array = {1: 'Janualry', 2:'Feburuary', 3:'March'};
console.log(array);
    2. Ruby

array = {1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'}
print array.inspect
    3. Perl

use Data::Dump qw(dump);
my $array = {1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'};
print dump($array);
    4. PHP

$array = [1 => 'Janualry', 2 => 'Feburuary', 3 => 'March'];
print var_dump($array);
    5. Python 3

from pprint import pprint
array = {1: 'Janualry', 2:'Feburuary', 3:'March'}
pprint(array)
  8. Get the lowest value from array


    1. Javascript(node.js)

let array = [3, 1, 2]
console.log(Math.min(...array))
    2. Ruby

array = [3, 1, 2]
print(array.min)
    3. Perl

use List::Util 'min';
my @array = (3, 1, 2);
print min(@array);
    4. PHP

$array = [3, 1, 2];
print(min($array));
    5. Python 3

array = [3, 1, 2]
print(min(array))
  9. if defined or not


    1. Javascript (node.js)

if (typeof value !== 'undefined') {
  console.log('value is defined');
} else {
  console.log('value is not defined');
}

    2. Ruby

if defined? value
  puts "value is defined"
else
  puts "value is not defined"
end

    3. Per

if (defined($value)) {
  print "value is defined.";
}
else {
  print "value is not defined";
}

    4. PHP

if (isset($value)) {
  print "value is defined";
}
else {
  print "value is not defined.";
}

    5. Python 3

try:
  value
except NameError
  print "value is not defined"
else:
  print "sure, it was defined."
  10. Regex match


    1. Javascript(node.js)

if (value.match(/target/)
    2. Ruby

if value.match("target")
    3. Perl

if ($value=~ m!target!s ) {}
    4. PHP

if (preg_match('/target/s', $value) {}
    5. Python 3

import re
if re.search( r'target', value ):

  11. Replace all - with _ in the string with lowering the string


    1. Javascript(node.js)

let str = "A-B-C";
console.log(str.replace(/-/g, "_").toLowerCase());
    2. Ruby

str = "A-B-C"
print(str.gsub("-", "_").downcase)
    3. Perl

my $str="A-B-C";
$str=~ s!-!_!gs;
print lc($str);
    4. PHP

$str="A-B-C";
echo strtolower(preg_replace("/-/", "_", $str));
    5. Python 3

str = "A-B-C"
print(str.replace("-", "_").lower())
  12. Return the length of the string


    1. Javascript(node.js)

let str = "A-B-C";
console.log(str.length);
  13. Get only first 2 characters


    1. Javascript(node.js)

let str = "1122";
console.log(str.substring(0, 2));
    2. Perl

my $str = "1122";
print substr(0, 2, $str);
  14. Anonymous function


    1. Javascript (node.js)

var something = function (a, b) {
       return a + b;
};
console.log(something(1, 2));

  15. Immediately invoked function without name


    1. Javascript (node.js)

let something = ((a, b) => a + b)(1, 2);
console.log(something);

  16. Loop associative array sorted by key number


    1. Javascript (node.js)

let example_array = new Map( [ [1, "January"], [12, "December"], [3, "March"] ].sort((a, b) => {a = a[0]; b = b[0]; return a - b;}) );
let twentyFourHoursList = '';
for (let [key, value] of example_array.entries()) {
  console.log(key + ' => ' + value);
}

    2. Perl

use strict;
my $example_array = {1 => 'Janualry', 12 => 'December', 3 => 'March' };
foreach my $key (sort {$a <=> $b} keys %{$example_array}) {
   print $key. " => " . $example_array->{$key} ."\n";
}

    3. PHP

<?php
$example_array = [1 => 'Janualry', 12 => 'December', 3 => 'March'];
ksort($example_array);
foreach ($example_array as $key => $value) {
  echo $key . " => " . $value . "\n";
}

    4. Python3

import collections
example_array = {1: "Janualry", 12:"December", 3:"March" }
example_array2 = collections.OrderedDict(sorted(example_array.items(), key=lambda t: t[0]))
for key, value in example_array2.items():
  print(str(key) + " => " + value)

  17. Create human class


    1. Java

// javac -d . Human.java;
// java jp.co.firstclass.Human;

package jp.co.firstclass;

public class Human {
    private String name;
    private String sex;

    public Human(String name, String sex){
        this.name = name;
        this.sex = sex;
    }

    public void sayName() {
        System.out.println("My name is " + this.name);
    }

    public void saySex() {
        System.out.println("My sex is " + this.sex);
    }

    public static void main(String args[]) {
        Human human = new Human("FirstName LastName", "Male");
        human.sayName();
        human.saySex();
    }
}

    2. Perl

Human.pm
package Human;
use strict;
use Data::Dumper;
use warnings;

sub new(){
  my $class = shift;
  my $op = shift;
  my $name = $op->{'name'} || "";
  my $sex = $op->{'sex'} || "";
  my $self = {'name' => $name,
  'sex' => $sex};
  return bless($self);
}

sub sayName(){
  my $self = shift;
  if($self->{'name'}){
    print "My name is ".$self->{'name'}."\n";
  }
}

sub saySex(){
  my $self = shift;
  if($self->{'sex'}){
    print "My sex is ".$self->{'sex'}."\n";
  }
}

my $pro = new Human({'name' => 'FirstName LastName', 'sex' => 'Male'});
$pro->sayName();
$pro->saySex();

    3. PHP

HumanClass.php
///////////////////
<?php
namespace FirstClass\Example;
class Human{
  private $name;
  private $sex;
  public function __construct($name, $sex){
    $this->name = $name;
    $this->sex = $sex;
  }

  public function sayName(){
    print "My name is ".$this->name."\n";
  }

  public function saySex(){
    print "My sex is ".$this->sex."\n";
  }
}

if ( !isset(debug_backtrace()[0]) ) {
  $pro = new Human('FirstName LastName', 'Male');
  $pro->sayName();
  $pro->saySex();
}
///////////////////
    4. Python

###
class Human:
 def __init__(self, opt):
  self.name = opt["name"]
  self.sex = opt["sex"]

 def sayName(self):
  print(self.name)

 def saySex(self):
  print(self.sex)

if __name__ == "__main__":
 person1 = Human({"name":"First Last", "sex":"Male"})
 person1.sayName()
 person1.saySex()
###
  18. Create Doctor class extending human class


    1. PHP

Doctor.php
/////////
<?php
namespace FirstClass\Example;
require '../human_class/HumanClass.php';
use \FirstClass\Example;

class Doctor extends Human{
  private $specialty;

  public function __construct($name, $sex, $specialty){
    parent::__construct($name, $sex);
    $this->specialty = $name;
  }

  public function saySpecialty(){
    print "My specialty is ".$this->specialty."\n";
  }
}

if (!isset(debug_backtrace()[0])) {
  $doctor1 = new Doctor('FirstName LastName', 'Male', 'Cardiology');
  $doctor1->sayName();
  $doctor1->saySex();
  $doctor1->saySpecialty();
}
/////////
  19. Convert vertical columns to horizontal columns

Please consider the case that you have the file like
1
2
3
4
5
and want to change the line from vertical to horizontal. 
    1. JavaScript (node.js)

const fs = require('fs');
console.log(fs.readFileSync(process.argv[2], 'utf-8').replace(/\n/g, "\t"));

    2. Perl

use FileHandle;
if(my $fh = new FileHandle($ARGV[0])) {
 local $/ = undef;
 my $con = <$fh>;
 $fh->close();
 $con=~ s!\n!\t!gs;
 print $con;
}

    3. PHP

<?php
if(file_exists($argv[1])){
  print(preg_replace('/\n/', "\t", file_get_contents($argv[1])));
}

    4. Python

///////////////////////////
import sys
def main():
  argvs = sys.argv
  argc = len(argvs)
  file = ""
  if argc >= 2 and argvs[1]:
    file = argvs[1]

  if file == "":
    sys.exit("Please specify input file name");

  try:
    fh = open(file)
  except IOError:
    print("Failed to open " + file)
    return
  con = fh.read()
  print(con.replace("\n", "\t"))

if __name__ == '__main__':
  main()

///////////////////////////
3. React


  1. Update parent's component state

// Pass function to child
class Parent extends React.Component {
  constructor(props) {
    super(props)

    this.handler = this.handler.bind(this)
  }

  handler(e) {
    e.preventDefault()
    this.setState({
      someVar: someValue
    })
  }

  render() {
    return <Child handler = {this.handler} />
  }
}

class Child extends React.Component {
  render() {
    return <Button onClick = {this.props.handler}/ >
  }
}


Add comment to this article


[Read other articles]
<=Newer article How to use translation service through API
=>Older article Tips


Articles categorized as "Programming by this user"
All articles of this user
Subscribe to RSS
RSS
Term
Category
All
1.Japan
2.Atlassian's products
3.Self
4.Development of this site
5.Japanese comics
6.Japanese anime
7.Weekly hot news of Japanese culture
8.OP/ED/PV
9.Japanese game
10.Ranking
11.Japanese Comics (Manga)
12.Search Engine
13.Japanese drama
14.Japanese otaku culture
15.Programming
16.Ineternet world
17.Movie
18.C/C++
19.BerkeleyDB
20.Apache programming
21.Spam
22.Meteor
23.Marketing
24.Python
25.Scrum
26.JIRA
27.Git
28.CI
29.Jenkins
30.AWS
31.Operation
32.Singapore
33.Cloud
34.Mysql Cluster
35.DevOps
36.Bitbucket
37.Xamarin
38.Good and new
39.Monitoring
40.JavaScript(node.js)
41.React
42.Phillipines
43.Hiring
44.Python
45.SEO
46.Malaysia
47.Mongodb
48.Perl
49.Docker
50.Life hack
51.Dance
52.QA
53.Mysql
54.Digital Life Hack
55.Project management
56.Django
57.Gatsby
58.Administrator
Sayings from S-Cry-Ed

Rule in this world is speed. Even stupid person can write cool novel if he can spend 20 years for it.

If someone helped me, I will help him in return, which is my rule.

To become stronger, consider what is cowardliest thinking. And rebel against the thinking, which will make you stronger.



I am Japanese but working for some English sites.

Doctor Job Career
Nurse Job Career
↑Top