さよなら「あなたとJAVA」

みんなから愛された「あなたとJAVA」の役割が終わったようです。 「Java」で検索するとjava.comのサイトがひっかかるのですが、このサイトは古いまま放置されていて、Javaの学習を始める人にとっての罠になっていました。 https://www.java.com/ja/ 「あなた…

do whileやwhileなど繰り返しの補足 - 「プロになるJava」ボツ原稿

「プロになるJava」ボツ原稿、今回は9章「繰り返し」の補足です。 書籍ではwhileやdo-while構文について簡潔な説明を載せていますが、多めの説明をしています。 また、繰り返し構文にまつわる話題とサンプルを2つ載せています。 プロになるJava―仕事で必要…

アルゴリズムと計算量 - 「プロになるJava」ボツ原稿

「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」に入れようと思っていた、「アルゴリズムと計算量」の話です。 こういう話題でよくでる「こんな難しいプログラム組まないのでは?」という疑問についても最後にまとめています。 プロになるJa…

カッコが対応しているかどうか判定する - 「プロになるJava」ボツ原稿

「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」の「隠れた状態を扱う処理」のもうひとつの例として、カッコの対応を判定する処理です。13.1.2のあとに入る想定です。 書籍にのせたランレングス圧縮よりもカッコの対応の判定のほうが「隠れ…

移動平均とスライディングウィンドウ - 「プロになるJava」ボツ原稿

「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」の「他のデータを参照する」のもうひとつの例として、移動平均やスライディングウィンドウの話題です。 13.1.1のあとに入る想定です。 プロになるJava―仕事で必要なプログラミングの知識がゼ…

Java Date Time APIでの和暦の扱い、ロケール、タイムゾーン - 「プロになるJava」 ボツ原稿

今回のボツ原稿は和暦を扱うJapaneseDateクラスと各地の時差を反映した時刻を扱うZonedDateTimeについてです。 P.89に5.1.8として続く想定です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕…

Jakarta EE StarterでJava EE/Jakarta EEを始める

最近のフレームワークにはナントカStarterが用意されていて、簡単に最初のプロジェクトを作れるようになっています。 Java EE/Jakarta EEの場合、コンテナを起動してデプロイするという2段階だったりして、最初に動かすところまでが大変でした。 そういう問…

初めて買ったWindowsパソコンをバラした

初めて買ったWindowsパソコンが使わないのになぜかそのまま置いてあったので、そろそろ捨てようとバラすことにしました。 このパソコン捨てるためにバラすかー。K6-2!クロックは266MHzかな。底がくろっぽいのは例の火事を経験してるから pic.twitter.com/qq…

Java力をあげるための指針

また「プロになるJava」の宣伝か、と思われるので、今回は「プロになるJava」の宣伝は自粛します。 Java力をあげるためには最適な「プロになるJava」がオススメなんですが、そうするとこのエントリもこのあたりで終わってしまうので、今回は自重します。 と…

プログラミングは論理的思考の訓練になるか - 「プロになるJava」ボツ原稿

プログラミングと論理的思考の関係、「プログラマに大切なのは日本語だ」の実際に意味するところの話です。 「プロになるJava」でページ数などの関係でボツにした原稿で、結構ちゃんと書いたのですが、この先に日の目を見る機会もなさそうなので公開します。…

「メソッドのシグネチャ」はJava言語とJava仮想マシンで違う

「プロになるJava」でシグネチャのことを次のように説明しています。 メソッドの名前と受け取る引数、戻り値の種類をあわせたものを シグネチャ といいます。 戻り値は含まないのでは?という話になり、結論から言えばJava言語では名前と引数でメソッドを区…

あの火事から2年 - 漂流開発者の日記(WEB+DB PRESS VOL.22, 2004-8-17)

2004年のWEB+DB PRESS VOL.22に掲載された記事です。絵もかいてます。 火事はその2年前、2002年ですね。 暑いですね 夏です。暑いですね。 夜、暑くて眠れないこともあります。 それはそうと、暑くて眠れないといえば、2年前の夏の火事を思い出します。 ど…

Javaでその場でだせる例外まとめ

「プロになるJava」では、かなり最初のほうでゼロによる除算を行って例外の説明をしています。 jshell> 3/0 | 例外java.lang.ArithmeticException: / by zero | at (#1:1) JShellでゼロ除算を行ったときの例外は、その場で発生しているためスタックトレース…

「プロになるJava」 第4部「高度なプログラミング」の練習問題解答

「プロになるJava」の第4部「高度なプログラミング」の練習問題の解答です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 第12章 ファイルとネットワーク ファ…

「プロになるJava」 第3部「Javaの文法」の練習問題解答

「プロになるJava」の第3部「Javaの文法」の練習問題の解答です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 第7章 条件分岐 論理型 1. 「test」に「st」が含…

「プロになるJava」 第2部「Javaの基本」の練習問題解答

「プロになるJava」の第2部「Javaの基本」の練習問題の解答です。 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 第3章 値と計算 3.2 値と演算 3.2.1 整数 1. 7+2…

型理論を理解するためのロードマップ

基本的には少しずつオーバーラップしているはず。 「論理と計算のしくみ」はぜひ読んでほしいです。この本に論理の説明もあるので、先にこれを買って、わからなければさかのぼる感じでいいかも。 論理学に入門する 入門!論理学 (中公新書)作者:野矢 茂樹中央…

教えるということ - 漂流開発者の日記(WEB+DB PRESS VOL.20, 2004-3-26)

2004年のWEB+DB PRESS VOL.20に掲載された記事です。絵もかいてます。 開発してない 開発者の日記といいながら、最近とんと開発してないことに気付きました。 じゃあ何してるかというと、絵を描いたり、プログラムを教えたりしてます。 教えるのも楽しいんで…

プログラミングの最初の壁は逐次実行 #projava

プログラミングの入門書で、変数だとかfor文なんかは丁寧に例えなどを使って説明されていることが多いのですけど、逐次実行はほとんど説明されていることがありません。 入門書を書く人にとって、逐次実行は自明であって説明が必要なものではないという認識…

「プロになるJava」はこんな人におすすめ #projava

「プログラミング未経験ですがJavaをやることになりました。いい本ないですか?」 → JShellを使って動作を1ステップずつ確認しながら進めれる唯一のJava入門書「プロになるJava」をおすすめ 「プログラムの入門書なのに文字ばっかり出してプログラムの作り方…

オブジェクト指向は差分プログラミングとデータ分類をまとめて扱おうとしたのが弱点

オブジェクト指向の最大の特徴は、モジュールと型を一体に扱ったことです。 メイヤーの本では次のような「オブジェクト指向の基準」があげられています。 クラスが唯一のモジュールでなければならない すべての型はクラスに基づいていなければならない つま…

プログラミング言語の入門書はプログラミングの入門書ではないのでプログラミングできるようにならない

(これはPR記事です) 「入門書を読んだけどプログラミングできるようにならない」という話はよく聞きます。 そこで「まあ経験や慣れが必要だからね」みたいな話になり、その後、経験を積んでもできるようにならない人は「センスがなかった」ということになっ…

JavaScriptはJavaのScript版(であろうと努力はした)

JavaとJavaScriptを混同する人に、名前がかぶってるだけの別モノという指摘がされることもあります。間違いではない。 技術的にも実務的にもコミュニティ的にもそのとおりではあります。 ただ、そう言い続けられた結果、ほんとに単にLiveScriptの名前にJava…

情報収集について

情報収集をどうするか、という話をしたのでメモ。 ここではトレンドを追うための日々の情報収集の話です。プロジェクトの準備のためとかトピックが決まってる場合はまたちょっと違うかも。 まず情報収集であまり話題にのらないけど一番大事なのは、情報収集…

代数データ型の直積型と直和型の理解

代数データ型という考え方があって、型に対する代数的な操作を行うものっぽいです。代数的な操作というのは、足し算とか掛け算ですね。直和型と直積型というのがあります。 直積型は構造体のようなもので、Javaだとrecordが導入されましたね。 record A(int …

基礎と低レイヤーは混同しがち。基礎とは何で、どう勉強するか。

基礎と低レイヤーは混同しがちという現象をみかけたのでメモ よくあるのが、「IDEを使うと基礎が勉強できない、メモ帳でコードを書いてコマンドラインでjavac / javaするところから始めるべき」みたいな話。 ツールを使わずツールが隠してる部分を自分でやっ…

Javaで作るのは他人のためのプログラム、Pythonで作るのは自分のためのプログラム

JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.ht…

龍馬1865 - おいしいノンアルビール飲み比べ

龍馬1865 以前飲んだときの甘ったるさはなくなって、栗のような香ばしさがある 日本ビールのノンアルビール です。 原材料は麦芽、ロースト麦芽、ホップと炭酸で、アルコール度数は0.000% 一本あたり112円。以前は一本あたり117円だったからちょっと安くなっ…

MARUKU AF LAGER ~ ノンアルビール飲み比べ

MARUKUアルコールフリーラガーはノンアル通販サイトMARUKUのオリジナルビールです。 中身としては、こちらで紹介した小樽ビールのノンアルと同じだと思います。 ただ、このときよりは甘さやコーン感は抑えられていて、少しクラフトビール感も出ています。 ラ…

オブジェクト指向はすでに粒度が時代にあっていない

定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基本的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとして…