kotlinちょこっとかじってみたけどね苦いわ。

それとJAVA系の訳わからん開発環境。

昔からの柵(ソフト資産)引きずって雁字搦め。

私はJAVA嫌いなので関わってこなかったんですわ。

 

根っこはアセンブラー使いで、アセンブラ語でシコシコ書くのが好きな人種。

それから気楽なインタプリター系。そして今はpythonにたどり着く。

インタプリター系で楽なプログラミング覚えちゃったので戻れないですね。

 

お仕事ならJAVAでもなんでも使わんといけませんけど、

趣味でやる分には選ぶ自由がこっちにある。JAVAなんかクソ。

クソではあるけどビジネスとしては大成功ではある。

JAVAで飯食ってるプログラマーは多い。

 

pythonは高級で汎用なプログラミング言語で

複数のパラダイムをサポートする。

極めて柔軟で記述性が高い言語。

リスト型と辞書型を使って直感的なコードが書ける

 

list型(配列)

list=[[1,2],[3,4],[5,6]] 初期化された二次元配列。

x=list[0][1] 取り出し 2

list[1][1]=x 格納

list[2][1]=[1,2,3] 格納 動的型付け 整数から3つの数列に変更

 

辞書型 ネストk可

{dict=”key1":{"data1":0,"data2","abc","data3":20.1,"data4":[1,2,3]},

     ”key1":{"data1":1,"data2","def","data3":30.1}

   }

 

x=dict["key1"]["data1"] 取り出し

dict["key2"]["data1"]=x 書き換え

dict["key2"]["data4"]=[1,2,3]  項目追加

 

よく使うのはデシジョンテーブル

dict={"A":0,"B":1,"C":2,"D":3}

x=dict["A"]  if文を使わず値を設定

if文が減ればコードが見やすくなる。

 

dict={"A":処理a,"B":処理b,"C":処理c"D":処理d}

x=handler(dict["A"])  if文を使わず関数を呼び出す

処理ルーチンに直接飛ぶ手法は機械語的。

並列処理に向いてる。

 

内包表記

x=[ row for  row in list if row[0]=1] リストから特定の行を取り出す。

慣れればわかりやすい構文。一文なので処理が高速化される。

通常表記だと、for以下がループの都度解釈されることになって負荷が上がる。

x=[]

for row in list:

    if row[0]==1:

        x.append(row)

        

簡潔に書く事によってインタプリターの負荷を下げ直感的で読みやすくなく。

直感的で読みやすくなれば細かいコメントは不要。

 

静的言語は直感的に書けないので、何をやってるのかコメントを記述しとかないとわからなくなる。

 

静的言語はマシン語への対応で必ず制約が伴います。

コンパイラだけでそれを解決するのは困難です。

言語仕様が窮屈になってしまう。

 

直感的に書ける事はとても重要です。

それをインタープリターと動的型付けで解決しようとしてるのがpython。

実行時にエラを吐くので商業ベースのアプリには向きません。

逆に個人ユースのアプリには最適。

今後もプログラマーの感性に合わせた記法が追加されていくでしょう。

記法は魔法の呪文のようなもので、強力な呪文が開発され度に大きく進歩します。

 

プロクラムはシコシコ書くものではなく、強力な呪文で簡潔に書く。

そしたら強い威力が出る。

 

kotlinでコード書いてても楽しくないね。javaの牢獄に居るみたい。

世間のプログラマーの苦労が身にしみますわ。奴隷労働やね。

これからkotlinに突っ込んでもあんまり意味が無いね。

言語としてpythonより大幅に劣るし、これからの記法の発達も望めないしね。

kotlinを学ぶよりはpythonの記法を極めるほうが方向性としては良い。

 

AIが苦手な分野は人間が持つ直感力とか感性。

javaでシコシコ書くレベルはそのうちAIでカバーできると思うよ。

マシン語って制約条件が与えられたテーマだから答えはある。

java屋が飯の種を無くすようなヘマはしないとは思います。

 

pythonに最強の助っ人。

このDBはパソコンにインストールして無料で使えます。

このDBはpythonの辞書構造でそのままDB化出来る優れもの。

SQLの知識が不要でデータの直感性が保たれてわかりやすい。

 

このような単純構造もあるでしょうが、

 

一般的にはユニークなkeyを生成してテーブルにデータを格納します。

{”key1":{"data1:0,"data2":"abc","data3",20.11,"data4":[1,2,3]},

    ”key2":{"data1:0,"data2":"abc","data3",20.11,"data4":[1,2,3]}

これだと二次元の表計算データ等を保存できる。

テーブルとkeyを指定して読み書き出来ます。

処理性能はSQL型DBのほうが軽くて早い。

 

pythonの実行環境はまだまだ整備されるって感じがします。

フリーランスのpythonエンジニアの需要はこれからも増しそうですね。

GPIOを持ってるSBC向けにもパイソンは威力を発揮しそうです。

 

SBCにはLINUXが搭載されpythonがインストール済み。

linuxのアプリのいくつかはpythonで書かれてる。

このレベルのSBCでもCPU性能はかなりあるので

インたプリーターによる負荷は気にならないでしょう。

JVM乗せるよりはましかも。

今後も開発が楽なpythonの比重が増えて行くでしょう。

 

python使っていろんな制御が出来ますね。

こんなのをドローンに乗せてカメラの制御とかGPSで測位で自動操縦とかやれたら

かなり面白い玩具になりそうです。

 

 

javaとSQLはもう過去の遺物。