Python, JS, PHP, Cを同時期に学習することは難しい。
はじめに
初心者です。趣味でJavaScript、仕事でPHP、大学講義でPython、C言語を触ってます。
これら4つの言語を1年後期という同時期に学習中ということでかなり頭がこんがらがっています。
皆さん大好きHello World
を出力する関数の時点から仕様が違ってるんです。その点についてコードと共に述べます。文法的に間違っているコードではないですが、最適解ではないかもしれません。
この記事は初心者の たわごと を綴ってますので温かい目で御覧ください。
変数も使いながらすらまっぱぎーやっはろー
と出力してみます。
JavaScript, PHP, Python, C言語の4言語で今回はやっはろーを変数に入れます。
まずは JavaScript
const i="やっはろー"
console.log("すらまっぱぎー"+i)
//すらまっぱぎーやっはろー
変数には定数か変数かを決めるconst
,let
などがつきます。
そしてconsole.log
で出力です。
文字と変数の結合が + です。分かりやすい。
コメントアウトは // です。
最近主にJavaScriptを触っていることもあって、すごく手に馴染む書き心地です。
次に PHP
$i ="やっはろー";
echo "すらまっぱぎー".$i;
//すらまっぱぎーやっはろー
変数には最初に $ がつきます。
そして echo
で出力です。なんで急にecho
なんでしょうか!!
そして文字と変数の結合が . なんです。え…
さらに () で囲わなくても大丈夫なんです。
………
その優しさがあるなら文字の結合を + にして欲しかったです。
コメントアウトはJSと同じで // です。
そして Python
i="やっはろー"
print("すらまっぱぎー",i)
#すらまっぱぎー やっはろー
変数はそのまま変数名=値
で大丈夫なんです。
逆に違和感です。「これだけでいいんだっけ…?」と毎回不安になります。
print
は比較的多くの言語で使われていて、馴染みやすいですよね。
そして文字と変数の結合が , なんです。ぱっとみ . じゃないですか……
そもそも + じゃないんですか…
コメントアウトは # です。珍しい。
最後にラスボス C言語 です。
#include <stdio.h>
int main(void){
char i[]="やっはろー";
printf("にゃんぱすー%s",i);
//にゃんぱすーやっはろー
}
出力するためのライブラリを読み込むための記述#include <stdio.h>
が要ります。
さっきPythonでコメントアウトの役割してた # 違う役割となって登場してきました。
そしてint main(void){}
の中に記述します。「なんだこれは…」と思っていると大学の先生は「これはおまじないです」とおっしゃってました。
最初の段階から初心者殺しです…
そしてやっと変数ですが、C言語は変数の型を定義しないといけません…文字列なので char です。
これまでの3言語は動的型付け言語という言語で型をあまり気にしなくて済んだので、ぬるま湯から熱湯に放り投げられた気分です。
そして出力はprintf
です。print
じゃないんです。printf
です。
そして文字と変数の結合は文字列の中に変換指定子%c
を入れて、変数名を後述するスタイルです。この変数指定子も型によって違います…初心者に優しくない……
編集後記
とこんな感じで言語によって 絶妙 に書き方が違って大変こんがらがっています……
Hello World
で使う基本的な文字出力のみ取り上げましたが、条件分岐など他の箇所でも もちろん 書き方が違います。
世知辛いプログラミングの世界と痛感しております。
Why Japanese people!
という言葉をどこかで聞いたことがあります。それをもじって
Why Programming language creators!
と叫びたいです。
Discussion