c#とC++とF#

ダウンロードしていたvisual stduioでC#を試そうとしたら、F#なる言語を発見。

関数型言語のようですね、これはこれで楽しそう。

しかしコンソールアプリなのにコンソールに文字列が出力されません。いくつか情報を見つけましたが、デバッグメッセージとして出せばと。

それコンソールアプリじゃないですけどね。まあいいか。

Xcodeの方でC++を試してみれば、こっちはちゃんとコンソールに出力されました。

言語仕様的にはwcoutを使わないと日本語は表示されないはずですが、問題なく表示されました。ここら辺注意が必要そうです。

所詮ホビーなのでちょっとづつ頑張っていきましょう。

Smalltalkシステム所感

Smalltalkは好きなプログラミング環境です。OSでありIDEですが、それが長所でもあり短所でもあるというジレンマを感じます。

ちょっと試すには大掛かりで、これまでのIDEとは違うインターフェイスに戸惑う事請け合いです。

何をどうすればプログラミング出来るかわかりません。ろくな解説本出てませんし…

慣れてしまえばプログラミングが楽しくできるのですが、現在までのところゲストOS感が出てしまい、かつ鎖国してるような気さえするところに弱みを感じます。

PCの電源入れたらSmalltalkシステム起動するならともかく、今は一アプリなのですからもう少しホストOSとの行き来が自由であってほしいと思います。

Pharo Smalltalk 8.0イメージでは設定を変えると日本語表示が出来ますが、Squeak 5.0では日本語は表示できません。

Squeakに関しては15年前となんも変わってないですね。morphがうざくなくなったのは幸いです。

Pharo Smalltalkは日本語表示も出来るし、unicode処理もできるようです。まとまりが良いように思われるので、今はPharoでプログラミングを楽しんでいます。

Webアプリ開発とデスクトップアプリ開発

僕はITエンジニアではなく、ホビーでプログラミングをしています。

Webアプリ開発に興味はありますが、HTML/CSS覚えてJavascriptRubyPythonなりを覚えて、かつSQLまで覚えなきゃならないので、ホビーでやる領域を超えています。

Webアプリで既に出来上がっているサービスがあります。カスタマイズの余地がありますから、そういうのを利用すれば覚える事も少なくてすみますし、既にテスト済みなので安心して使えます。が、それはホビーでなくビジネスの領域です。

ホビイストは大人しくデスクトップアプリ開発に向かうとしましょう。

覚えるのはプログラム言語とライブラリのみです。今のWebアプリ開発よりずっと敷居が低いとさえ思えますから。

MS .netとLinux

Windows 10のLinuxサブシステムに本物のLinuxカーネルが乗る事になったそうで、はてバージョンアップをどうキャッチアップしていくのでしょうか。

まあマイナーバージョンをコツコツと反映させる必要はないでしょうけど、気になるところです。

また.net 5の予告と.net core 3の新プレビューも公開されて、みんな大好きgithubにて公開され、OSSとして開発されているのと同時にMacLinuxAndroidiPhone、Webアプリまで呑み込むつもりでいるようです。

仮想機械ベースで移植性を高めつつ、JITによる高速実行を両立させていると言います。今に始まった話じゃなくて、.net framewrokがそうした環境だったような?

PCが高速になった分仮想機械ベースのハンデも減り、JITでの高速化技術の進歩でようやく実用になるという事なのでしょう。

ロードマップを見る限り、MSの世界征服第2章のようにも見えますが…

ただスクリプト言語ベースのフレームワークより世界が広くなるように思いますので、ちょっと時間を作って、visual studio for Macを試してみたいですね。

 

SLIMEでハマりました

GNU EmacsCommon Lisp処理系を便利に使うSLIMEというパッケージがあります。

関数や特殊形式のテンプレートをミニバッファに表示したり、別バッファで書いたコードを任意の処理系で評価する等々便利パッケージです。

前にMacPortsから入れるだけ入れたものを朝セットアップしていたのですが、これが中途半端に動いてエラーを出す状態。

調べまわった挙句、SLIMEを配布しているgithubからtar.gzで落として上書きすることで、まともに動くようになりました。力技で解決はしました。

なんだかなーというところですが、さーつぎはschemeだ。

gaucheとstklosを落とすだけ落としてまだセットアップしてないのです。

もはや環境整備マニアです。

MacBook Pro 13とUSB充電器

私用ではMacBook Pro 13 touchbar 付きクワッド Core i5モデルを使っています。
RAMを16GBにアップデートしているため、メモリが足りないといったことはほぼありません。
そういえばtouchbarの評判が良くないですね。便利だと思っているのですが、どうも少数派のようです。MacにファンクションキーとかPCかよと思ったことがあるので、その影響が残っているようです。

そのMacBook Pro13には61W ACアダプタがついています。結構大きいですが、一般的ノートPCのそれも結構かさばるので、どっこいどっこいかなと。
現在MacBook Proは家でしか使ってないので、あまり気にしてないのが正直なところです。

MacBook Proの前はMacBook使ってましたが、そのACアダプタは公称30W。でもMacBook Proをちゃんと充電できてました。まあ充電速度は遅いのですが...

MacBookを売却しACアダプタもなくなったので、Ankerの30W USB-PD付き4ポートUSB充電器を買いましたが、これは失敗でした。

時折USB-PD出力が出なくなります。4ポートUSB充電器として使えるので、一概に壊れているかどうか判断がつきません。
サポートに連絡したら送り返せば交換するとのことですが、送る手間を考えるとこのまま使うのが得策と判断しました。Aknerのサポートはイマイチですね。

まあAmazonの商品ページを見るとMacBook Proで使えるとは一言も書いてないので、僕の選択ミスでしょう。
でも61Wとは言わないけど40W50Wクラスが欲しいところなのですが、探した限り見つかりません。

もしMacBook Proを持ち歩くことになったら、Appleの30W充電器を買うべきか否か難しいところです。動くのはわかっているのですが、勇気が必要ですね。

 

C#

C#に興味を持ちました。当初はマイクロソフトの独自機能てんこ盛りの閉じた言語なんでしょ?としか思ってなかったのですが、閉じた言語ではあるもののさほど悪いものではないのでは?と思うようになりました。

ソース見た限りだと全部書かなくていいJavaに見えます。Javaプログラマを一切信用してなさそうなところに好感が持て、仕事になら使おうと思いますが、ホビーではただうざいだけなんですよね。

今はvisual studio for Mac Community Editonがあって無料でダウンロードできます。お金を出せば山ほどの資料にアクセス出来るのですが、ホビー用途ではそこまで必要ありません。ちょっと使って、なんか作れればそれで良いのです。

まだダウンロードしただけですが、独特な専門用語のオンパレードですこし引き気味になっている自分がいます。全部訳せとはいいませんが、もっと平易な言葉にできないものでしょうか。それをやれば価値が下がると言われれば返す言葉はありませんが。

ただ困るのはブラウザのタグを見てるようで、MacWindowsのVisual Stduioページに行けないこと。確かにMac使ってますが、別にWindowsが使えないわけではありません。

ただWindowsは仕事で使っててイライラすることが多いので、個人用ならMacの方がいいというだけです。