Python シリーズ Django編 01 【Pythonとは】
みなさまプログラミングしてますかーー!
・・・・・
・・・・・
プログラミングは、まだまだ一般的なものでは、無いと思うのですが、多くの方に浸透して貰うために、更に自分の記憶を再認識させる為にもシリーズでブログを書いていこうと思っています。
ゆくゆくは、小規模なプロジェクトの完成からリリースまでを書けたらなーーっと思っています。
(途中でやめたらすいません。。。Facebookの記事投稿にいいねとは押してくださると継続する糧に成るかもです!)
Pythonの良さ
プログラミング言語とひとくくりに言っても、色々とありますよね。
・Python言語(パイソン)
・PHP言語(ピーエイチピー)
・Javascript言語(ジャバスクリプト)
・Java言語(ジャバ)
・Swift言語(スイフト)
・C言語(シー)
・・・・・
挙げればきりが無く出てきます。
なぜ自分がその中で、Python言語を使ったプログラミング記事を書こうと思ったかと、今もお客様にシステムを提供する際に、Python言語を使うかを書きます。
・可読性がすこぶるいい!
これ一番大事なことだと思います。よくこの言語とあの言語の処理スピードは・・っと書かれた記事を目にしますが、今のマシーンって数年前と比べて性能がいいし、これからもドンドンと良くなってくると思います!
なので、自分はあまりスピードの事を考えずもっぱら可読性を意識して書けたらなーーっと思っています。
なぜか??
数年後、自分が作成したシステムをメンテナンスする事になった場合、数年前の自分の記憶だけを頼りプログラミングが出来るのか??
絶対無理ってか自分は、記憶力が無いから無理です。
更に、自分だけで制作するシステムならまだしも、数人で制作するシステムなら可読性が大きく重要になると思います。
この人のコード見てても、何を処理しているのか分からない。。。なんてならないように、お互いがコードを見ても、このコードで何をしているのか判るのが仕事の効率化に繋がるのかなーーって思っています。
・今っぽい(笑)
最近では、人口知能(AI)やその中の、機械学習などでPython言語の人気が国内でも徐々に認知されてきてますが、海外では常に人気ランキング上位なのです!
いわゆる、モダン言語せ。( ・ิω・ิ)
ここで少しだけPythonと他の言語のコードの比較をして行きます。(このコードではあまり違いは無いよう見えるかもです)
処理の内容は、1から100まで数えて偶数なら偶数!って言って、奇数なら奇数!って言ういたってシンプルなプログラムです。。
まずPython言語↓
1 2 3 4 5 |
for i in range(1, 101): if i % 2 is 0: print("偶数") else: print("奇数") |
続いてPHP言語↓
1 2 3 4 5 6 7 8 9 |
<?php for($i = 1; $i <= 100; $i++) { if ($i % 2 == 0) { echo "偶数"; }else{ echo "奇数"; } } ?> |
シンプルなコードで余り違いが無いかの様に、思うかもしれませんが、Python言語には【{}と;】がありません。
プログラムは1行ごとのスペースの数(インデント)で文終わりだなーーとか色々と判断してくれます!コレってモダンですよね。
別にPHP言語を悪く言っている訳では、ありませんよ。
だって今書いているブログエンジンもPHP言語で書いたWordpressで動いていますし、自分もPHP言語もよく使っていますし。
まだまだPythonの良いところ、一杯あるのですが割愛します。
逆に悪い所は、Google先生(検索エンジンでコードサンプルや処理のヒントを調べる)に聞いても、他の言語に比べて日本語で書かれた情報が無いです。
ですが、ブラウザの日本語翻訳機能を使えば何とかやって行けます!
後、ほんのちょっと他の言語と比べると処理が遅いかもしれないです。
Pythonで動いているシステム
国内産のシステムは余りありませんが、海外のシステムを例に上げると。。。
・Youtube(ユーチューブ)
・Instagram(インスタグラム)
・Pinterest(ピンタレスト)
・Dropbox(ドロップボックス)
結構人気なサービスで使われていませんか!?
有名なシステムで採用されていると、いざ言語を選ぶ時に選定材料になるかと思います。
頑張ってYoutubeみたいなシステムを作ろう!!とか。。。
機能や規模が大きすぎるので一人で制作するには、無理がありすぎそうですが。。。。
Pythonは分かったけどDjango???
Django(ジャンゴ)と呼びます。DjangoとはPython言語で書かれたフレームワークです。
???
ウェブシステムを作る時、色々な処理が求められます。
ブログを載せるだけの、システムを例に上げると。。。
・ブログページをブラウザに表示させる処理(リクエスト処理)
・ブログを書いた時に、そのブログの文字や画像情報をデータ貯蔵庫(データベースに追加処理)に記憶させる処理
・データベース処理を出すと、ブログの更新処理や削除処理・カテゴリーの追加やその更新・削除色々とあります。
これら沢山の処理を、一から書いていくと骨が折れまくります。
そこで、登場するのがフレームワーク!!
代表的な処理を、命令を一文でやってくれます。
これは本当にありがたいことで、一言でブログを追加すると言っても沢山の処理を書かねばなりません。
自分は、フレームワーク無しではシステムを作るのが嫌になります。
(てか絶対にそんな事は、しません。)
ですので、みなさま言語が決まったら次に決めるのは、フレームワークです。
Djangoは、Pythonのフレームワークの中でも一言で命令が書ける機能が盛りだくさんにあります。(フルスタック)
ですので、何か凄く変わったことをしない限り後々、辛くなりません。
やりたい処理が大抵既に、実装されていて命令一つで動いてくれるので。
なのでPython言語のDjangoを使いシステム開発する記事をシリーズ化していけたらと思います!!
最後に
ブログを書くのが久しぶりだったので、ブログを一つ載っけるのに何時間かってるんだ!!的な感じになっており、続けて書けるか不安です。
次回のこのシリーズのお題は何にしようか、模索しております。。。。。
次回は、自分のパソコンにPythonでシステムを作っていける環境構築にしようかなーーって考えています。
よろしくお願いいたします!!