0207|09|
2007|09|10|12|
2008|01|02|03|
2009|01|05|08|10|11|12|
2010|01|02|03|04|09|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|

2021-01-20 最近になって、やっと"Go言語"の凄さが分かってきました。 [長年日記]

私は、3年くらい前から、私のプログラムの導師であるところのSさんから「"Go言語"こそが、江端さんが必要としているものです」と言われ続けていました。

For about three years now, my program guru, Mr. S, has been telling me that "Go language" is what Mr. Ebata needs.

しかし、私は、なかなか使用に踏み切れませんでした。

However, I was not able to start using it.

その理由を、建前で言えば「時間がない」で、本音で言えば「新しいことを覚えるのは辛い」です。

The reason for this, on the face of it, is "I don't have the time," and the real reason is "It's hard to learn new things.

しかし、今は、戦後最大級の国難「コロナ禍」による在宅勤務。

But now, I am working at home due to the "Corona disaster," one of the biggest national disasters of the postwar era.

―― この機会を逃したら、はっきりいって『バカ』

"If I miss this opportunity, I are clearly a 'fool'"

と、後になって、「自分で、自分を責めることになりそう」なので、今、一生懸命勉強しています。

I'm afraid that later I'll blame myself for what I've done, so I'm studying hard now.

-----

ところで、私がこれまで愛用してきたC/C++という言語は、コンピュータアーキテクチャにベタベタの「超低級言語」です。

By the way, the language I have been using, C/C++, is a "very low-level language" that is closely related to computer architecture.

ですので、超高速で、汎用性が高いです。

So, it is super fast and versatile.

その代わり、その言語表記の「愛想の悪さ」においては、他の言語の追従を許しません。

Instead, it is unrivaled in the "unfriendliness" of its language notation.

C/C++は、コンピュータ(正確に言うとUNIX OS)と同時に生まれた1970年ごろに生まれたロートル言語ですので、最新のWeb技術なんぞには、全く役に立たないといってもよいです。

C/C++ was born around 1970, at the same time as the computer (UNIX OS, to be precise), so it is O.K. to say that it is completely useless for the latest web technologies.

それでも、殆んどのコンピュータシステムのプラットフォーム、特に組み込み系マイコンが、C/C++でプログラミングされているのは事実です。

Still, it is a fact that almost all computer system platforms, especially embedded microcontrollers, are programmed in C/C++.

それはさておき。

Aside from that.

-----

最近になって、やっと"Go言語"の凄さが分かってきました。

Recently, I have finally come to understand the greatness of the "Go language".

「私の作ったシミュレータで、10万人分のスレッド(化したオブジェクト)が最後まで動き続けた」という事実に、感動しています。

I was impressed by the fact that 100,000 threads (objects) kept running until the end in my simulator.

『7000万以上のスレッドが動く』ということは、話で聞いていましたが、「聞く」のと「実際に自分で動かす」のでは、やはり違います。

I had heard that "more than 70 million threads are running", but there is a difference between hearing about it and actually running it by myself.

もしかしたら、日本国民全員のエージェントとした、「コロナ感染シミュレータ」が作れるかもしれません ―― 私の自宅のパソコンごときで。

Maybe I can make a "corona infection simulator" with all Japanese citizens as agents -- on my home computer.

-----

西浦先生のような統計的なアプローチに、私の考えているようなエージェントアプローチが加われば、きっと役に立つと思うんです。

I think it would be useful if the agent approach, which is what I am thinking of, is added to the statistical approach of Dr. Nishiura's.

ただ、このようなエージェントアプローチは、国民全員分のペルソナと環境を設定しなければなりませんので、めちゃくちゃ時間がかかることも明かです。

However, it is also clear that this kind of agent approach is insanely time-consuming because you have to set up personas and environments for the entire population.

まあ、もしできるとしても、完成は10年後くらいでしょうか ―― 10年後に、この災厄がどうなっているかは分かりませんが。

Well, if I can do it, it will be completed in about 10 years -- I don't know what this disaster will be going in 10 years.