JavaやC#などのオブジェクト指向の言語でプログラムを作成する際は、
クラスのフィールド/メンバ変数は必ずprivateにして、必要であればgetter/setterを作るべきと習いました。
だったら言語の仕様として、フィールドはデフォルトでprivateであり、publicに設定できないって
仕様にすればいいはずだと思いますが、そうなってないのはなぜですか?
こうするほうがいちいちprivateと書かなくていいし、privateにしたかどうか不安にならないで済むと思います。