LispMan

数理系やグラフィックス系のソフトウエアの開発に長年携わってきました。 その経験からプロ…

LispMan

数理系やグラフィックス系のソフトウエアの開発に長年携わってきました。 その経験からプログラミングやそれに関連したことに関する所感を書き留めます。 http://ailisplabo.ec-net.jp

記事一覧

Gensimで機械学習を行う:掲示板の分析

Gensim はオープンソースのトピック分析が行える機械学習ツールで誰でも利用することができます。通常は大規模なデータで実行するのですが、あまり大規模だとありふれた結…

LispMan
3年前
2

One Point of Python “リスト内包表記”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“リスト内包表記”について取り上げる。 この表記は、シーケンスの個々の要素に対…

LispMan
3年前
2

One Point of Python “map, filter, reduce 関数”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“map, filter, reduce 関数”について取り上げる。 map関数は第1引数の関数を第2…

LispMan
3年前
2

One Point of Python “lambda 式”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“lambda式”について取り上げる。 lambda式は関数オブジェクトを作成する手段で無…

LispMan
3年前
3

One Point of Python “動的型付け”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。まず最初に“動的型付け”について取り上げる。 通常のプログラミング言語では、変数の型の…

LispMan
4年前
4

SageMathで学ぶ微分・積分

線形代数に続き微分・積分についてもSageMathを使って学ぶヒントを提供したい。一変数の微分・積分については、大抵の方が高校数学で多少学んだ経験があると思われる。大学…

LispMan
4年前
4

オブジェクトを視たことありますか

対話環境ではオブジェクトを視ることができる。例えば Python + Jupyter の環境で、class を使うとオブジェクトを実在させることができる。そこにどんな属性やメソッドが組…

LispMan
4年前

“どんな賢明なことでも既に考えられている。それをもう一度考えてみる必要があるだけだ。”(ゲーテ)いまある #アルゴリズム が最良とは限らない。もう一度 #レビュー してみよう。#プログラミング初心者 の心がけ

LispMan
4年前

“いかなるものといえども、必ず急所を持つものだ。急所を見別け得るものは成功する”(横光利一)最低限の #データ構造とアルゴリズム をものにできなければプロにはなれない。配列だけではものにならない。#プログラミング初心者 の心がけ

LispMan
4年前

SageMath で学ぶ線形代数

何らかの必要性があって線形数学を学ぶ必要がある方にプログラマーからのちょっとしたヒントを提供したい。例えば、文系で高校までしか数学を学んだことは無いが、縁があっ…

LispMan
4年前
5

プログラマーのためのお勧め本

プログラマーの雰囲気を味わえる本をいくつか紹介する。公共図書館などには必ずあると思われる。  『実録!天才プログラマー (アスキー出版局)』 パソコン創世記の天才…

LispMan
4年前
7

Pythonからはじめる

いろんなプログラミング言語があるけどPythonからはじめたらどうだろう。大学や専門学校ではC言語をメインにしているところが多い。ただ、ほとんどの仕事はPythonで出来る…

LispMan
4年前
4

オンラインが好き

オンラインが好きだ。Webカメラさえあれば気楽に打ち合わせができる。資料はPDFで事前に送ればいい。ソフトウエア業界はもっと前から積極的にオンラインの活用をするべきだ…

LispMan
4年前

Linux

私はLinuxで仕事している。Windowsを使ったことはない。Linuxの前はFreeBSD、その前はSUN WorkStationを使っていた。さらに前はMSDOSのPC9801である。 最初にプログラミン…

LispMan
4年前
2

ビジュアル・プログラミング言語

先にも書いたがプログラミングはアルゴリズミックな記述である。プログラムの記述にはプログラミング言語を使う。言語なので一定の文法があり低学年の学生には難しい面もあ…

LispMan
4年前
1

プログラミング教育

小学生や中学生にプログラミングを教育するそうだ。論理的な思考に慣れるのが目的だとか。 ただ物事を考えるときには論理的にというより、直感を働かせて試行錯誤し、出て…

LispMan
4年前
Gensimで機械学習を行う:掲示板の分析

Gensimで機械学習を行う:掲示板の分析

Gensim はオープンソースのトピック分析が行える機械学習ツールで誰でも利用することができます。通常は大規模なデータで実行するのですが、あまり大規模だとありふれた結果に成りがちなので、あえて偏ったデータで試してみます。

今回はある掲示板の500件の投稿です。掲示板のスレッド名は“コロナ禍で宅配増”です。コロナ禍での宅配が増えたことに関する投稿です。

まず最初に、掲示板に書き込まれた投稿をLD

もっとみる
One Point of Python “リスト内包表記”

One Point of Python “リスト内包表記”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“リスト内包表記”について取り上げる。

この表記は、シーケンスの個々の要素に対して関数や式を適用して結果としてリストを得るという方法である。for文を使うより遥かに便利な表記法なので使い慣れることをお勧めする。

>>> ll = []>>> for x in range(97,102):... ll.

もっとみる
One Point of Python “map, filter, reduce 関数”

One Point of Python “map, filter, reduce 関数”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“map, filter, reduce 関数”について取り上げる。

map関数は第1引数の関数を第2引数のシーケンスの要素ごとに適用する。
以下の例にしめすようにfor文を使ったループを省略できる。第1引数の関数には当然lambda式が使える。

>>> ll = [0,1,2,3,4,5]>>> mm =

もっとみる
One Point of Python “lambda 式”

One Point of Python “lambda 式”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。今回は、“lambda式”について取り上げる。

lambda式は関数オブジェクトを作成する手段で無名関数とも呼ばれる。
lambda式は、以下に示すようにdef文を用いずに“式”で定義され、コードを短く記述できる。

>>> def f(x,y,z):... return x*y*z... >>> f(1,2,

もっとみる
One Point of Python “動的型付け”

One Point of Python “動的型付け”

Python の初心者向けに、知っておけば得するちょっとした豆知識を提供したい。まず最初に“動的型付け”について取り上げる。

通常のプログラミング言語では、変数の型の宣言が必要なものが多いが、Pythonでは変数の型宣言が不要である。変数は代入と同時に作成される。 例えば、代入文 a = "Diamond" で変数 a が宣言される。ところが、その後に
a = 3.0 を実行しても特に問題は起こ

もっとみる
SageMathで学ぶ微分・積分

SageMathで学ぶ微分・積分

線形代数に続き微分・積分についてもSageMathを使って学ぶヒントを提供したい。一変数の微分・積分については、大抵の方が高校数学で多少学んだ経験があると思われる。大学では多変数の微分・積分まで範囲が広がる。また、極限の取扱いが厳密になる。

ただ、極限の厳密な取扱いで必要な実数の性質に関することやε-δ論法などは数学科以外の人は必要ないだろう。それより、微分・積分をいかに応用で使えるように慣れる

もっとみる
オブジェクトを視たことありますか

オブジェクトを視たことありますか

対話環境ではオブジェクトを視ることができる。例えば Python + Jupyter の環境で、class を使うとオブジェクトを実在させることができる。そこにどんな属性やメソッドが組み込まれているか明らか。

この例では class として MyRobot を定義し s として実在させ、メソッド hello で操作している。

s だけで何か分かるし、型 (type) や 属性およびメソッド (

もっとみる

“どんな賢明なことでも既に考えられている。それをもう一度考えてみる必要があるだけだ。”(ゲーテ)いまある #アルゴリズム が最良とは限らない。もう一度 #レビュー してみよう。#プログラミング初心者 の心がけ

“いかなるものといえども、必ず急所を持つものだ。急所を見別け得るものは成功する”(横光利一)最低限の #データ構造とアルゴリズム をものにできなければプロにはなれない。配列だけではものにならない。#プログラミング初心者 の心がけ

SageMath で学ぶ線形代数

SageMath で学ぶ線形代数

何らかの必要性があって線形数学を学ぶ必要がある方にプログラマーからのちょっとしたヒントを提供したい。例えば、文系で高校までしか数学を学んだことは無いが、縁があってAIの担当になったとか。

昨今のAIやデータ解析のブームもあって、それらで使われる数学として線形代数、微積分、統計学がある。ここでは線形代数について取り上げる。微積分や統計学は別稿にしたい。

実際に学ぶとなると、数学科なら数学書を紙と

もっとみる
プログラマーのためのお勧め本

プログラマーのためのお勧め本

プログラマーの雰囲気を味わえる本をいくつか紹介する。公共図書館などには必ずあると思われる。

 『実録!天才プログラマー (アスキー出版局)』

パソコン創世記の天才プログラマー19人のインタビューを取りまとめたもの。本人直筆のプログラム・スケッチや未公開のソースコードの一部も公開されている。天才プログラマーの経歴やモチベーションを知ることができ大いに参考になる。

若き日のビル・ゲイツが、コンピ

もっとみる
Pythonからはじめる

Pythonからはじめる

いろんなプログラミング言語があるけどPythonからはじめたらどうだろう。大学や専門学校ではC言語をメインにしているところが多い。ただ、ほとんどの仕事はPythonで出来るような時代になった。最近需要が増している機械学習やディープラーニングではほぼPythonで開発されている。ネット関連の開発もPythonが主流である。

C言語は原始的な言語で、ある意味なんでもできる。ただ、キチンと使うには相当

もっとみる
オンラインが好き

オンラインが好き

オンラインが好きだ。Webカメラさえあれば気楽に打ち合わせができる。資料はPDFで事前に送ればいい。ソフトウエア業界はもっと前から積極的にオンラインの活用をするべきだった。現場で顔合わせしてからという古風な日本的な仕事のやり方を見直すべきだ。

対面のコミニュケーションが不要というわけではないが、移動の時間や場所の確保を考えると、ネット環境さえあれば、どこでも、いつでも稼働できるオンラインはこれか

もっとみる
Linux

Linux

私はLinuxで仕事している。Windowsを使ったことはない。Linuxの前はFreeBSD、その前はSUN WorkStationを使っていた。さらに前はMSDOSのPC9801である。

最初にプログラミングをしたのは物理科の大学生の頃でFORTRANである。この言語に良い思い出は無い。就職した頃にパソコン(当時はマイコンと言っていた)が出てBASICが使えるようになり、やっと気楽にプログラ

もっとみる
ビジュアル・プログラミング言語

ビジュアル・プログラミング言語

先にも書いたがプログラミングはアルゴリズミックな記述である。プログラムの記述にはプログラミング言語を使う。言語なので一定の文法があり低学年の学生には難しい面もある。

そこで考え出されたものがビジュアル・プログラミング言語である。図形で表現されたものをマウスなどで操作して並べ替えてプログラミングする。実際には裏で適当なプログラミング言語に翻訳されて実行される。子供がレゴで遊ぶのと変わらない。楽しい

もっとみる
プログラミング教育

プログラミング教育

小学生や中学生にプログラミングを教育するそうだ。論理的な思考に慣れるのが目的だとか。

ただ物事を考えるときには論理的にというより、直感を働かせて試行錯誤し、出てきた結果を論理的に整理するのが通常の流れだと考える。

長年プログラミングで食べてきた者として、プログラミングは論理的な思考というより、アルゴリズミックな手続きの記述である。そういう意味では考えを数式で記述するのと変わらない。

プログラ

もっとみる