プロデルがTrojan等として誤検出される現象について

「ノートン セキュリティ(ノートン アンチウイルス)、や「トレンドマイクロ ウィルスバスター」等が導入された環境では、プロデルをダウンロードもしくはインストール時に、Trojan系のウィルスとして誤検出される現象が、度々発生しています。

これは、プロデルが用意している機能群に、ウィンドウズシステム関連の機能が多く用意されていること、実行可能ファイル生成機能がマルウェアやウィルスと似た挙動であることなどの理由で、トロイの木馬と誤検知されるためです。(この現象は、プロデルデザイナで作成した実行可能ファイルでも発生する場合があります)

また、これらはウィルスパターンの更新によって、突然検出される場合があります。(逆にウィルスパターンの更新によって、検出されなくなる場合もあります)

プロデルを利用する際には、本ドメイン(rdr.utopiat.net)からダウンロードしていることを確認した上でダウンロードしてください。
誤検出される場合には、rdrsetup.exeやproduire.zipを除外設定(ノートンの除外設定/トレンドマイクロの除外設定)してください。

誤検出が長期化する場合などは、誤検出の原因を検討・対応したり、ベンダーに誤検出である旨の申請を出したりしていますが、パターン更新時に再びパターンに合致して再発しています。当方では、その度に対応に苦慮しており、プログラミング言語という性質上、これ以上の対応が難しい状況です。

上記の2つのセキュリティソフトは、特にフリーソフトを基本的に悪意があるソフトウェアと検出して、過剰な表示をする傾向にありますので、これらのソフトウェアの使用を中止して、Windows標準の「Windows Defender」を利用することをお勧めします。

冴えない日本語プログラミングの育てかた#

広いプログラミングの世界で”日本語プログラミング”はマイナーな部類だと思います。ただブログやSNSで「プログラミング」と「日本語」がキーワードの話題が挙がると、「日本語プログラミング」という単語を思い浮かべる方は、意外とたくさんいらっしゃるようです。そんな中でSNSのコメントを見ると「実用的でない」といった意見を見かけます。

“冴えない日本語プログラミングの育てかた#” の続きを読む

.NET Coreで動くプロデルを公開しました

以前Twitterでは告知しておりましたが、.NET Coreで動くプロデルを公開致しました。

.NET Core版プロデルは、今のところコンソールアプリのみとなりますが、LinuxやmacOSでも動作するようになりました。

.NET Core版でも、プロデルで基本的な文法は、同じです。ですので、プロデルを使ったことがあれば、新しい文法を覚える必要はありません。

残念ながら.NET Coreで未対応のウィンドウ部品などGUIの機能については利用できません。以前公開していたWeb版プロデルに近いです。今は、利用できる種類も限られていますが、今後増やしていく予定です。

使い方

まず.NET Core (Runtime)をインストールしてください。

こちらから、.NET Core版プロデルをダウンロードします。

https://sumire.utopiat.net/files/core/

dotnet ./sumire.dll [プログラム名.rdr]

ダウンロードファイルには、サンプルが用意されています。例えばカレンダー作成のプログラムを実行するには、zipを展開したフォルダで

dotnet ./sumire.dll ./samples/calendar.rdr

と入れます。

以前のSilverlight版をご覧の方は、おわかりかと思いますが、Web版プロデルのサンプルのほとんどを、そのまま修正することなく、実行できます。

開発環境は用意されていません。お使いのテキストエディタをお使いください。Visual Studio Codeがおすすめです。

ファイルの拡張子は、.smrを推奨します。その他、.rdrや.プロデルもOKです。

なお、Visual Studioをインストールしている場合には、Nugetのパッケージとしてもダウンロードできます。Nugetで利用する場合には、Visual Studioなどの開発環境でNugetパッケージの管理を起動して「sumire」で検索してください。

https://www.nuget.org/packages/Sumire/

.NET Coreとは?

.NET Coreは、クロスプラットフォームで動作するプログラミング環境です。.NET Coreで作られたアプリは、WindowsだけでなくLinuxやmacOSでも動作します。これまでプロデルが動かなかった環境でも、日本語プログラミングを楽しむことができるようになります。

また.NET Core 2.1では、RaspberryPi 3にも対応しており、Windows PCだけに限らず、今後もいろんな環境で利用できるようになることが期待されます。

スミレ(Sumire)とは?

.NET Core版プロデルには、カタカナで「スミレ(Sumire)」と名付けることにしました。日本語プログラミング言語に花の名前を付けることには、私自身、かなり抵抗がありました。しかし、多くの方に覚えやすく、コンソール環境でも入力しやすい名前にした方が良いと思い、今回はプロデルの名を使わないことを決心しました。

実は、Sumire末尾3文字(ire)は、プロデル(Produire)の末尾3文字と同じです。.NET Core版への移植にあたっては、プロデルでの思いを名前のに受け継ぐことで、今度こそ、より多くの方に触れてもらえる日本語プログラミング言語になれればと思っています。

ロードマップ?

「プロデル」がデビューしてから10年となりました。この期間では、残念ながらプロデルで大きな結果を残せませんでした。新しい世界はスミレに引き継ぐことになりますが、プロデルでやりたかったこと、その成果が残せるまでは、これからも「プロデル」も開発を続けたいと思っています。

すでに公開しているプロデルの開発は、これまで通りメインで継続していきます。プロデルとスミレは、構文解析や形態素解析、コードモデル(AST)など多くの部分のコードが共通であるため、ライブラリの違いを除けば、ほとんど同時に改良ができます。

プロデルでは、ロジックや文法に未完成な箇所が残っており、これらを完成させることが当面の目標です。Sumireについても実験的な取り組みをいくつ考えていますが、正式版の公開のタイミングなど明確なロードマップは今のところ考えていません。

プロデルとスミレは、完全無報酬で開発しています。書籍の印税はもちろん、広告やコラム執筆による報酬もありません。プロデルを使って頂けることが唯一の報酬です(笑)。時間が出来たときにコツコツ開発するスタイルです。その分、何かにとらわれることなく、本当の日本語プログラミング言語を極めて、じっくりと完成度を上げていこうと思っています。

最後に

TTSneoを含めると日本語プログラミングに取り込んで、来年で20年となります。今後も引き続きご支援頂けたら幸いです。

プロデルで日本語らしくプログラミング「プログラム文」

今回は、プロデルユーザのために、プロデルで日本語らしくプログラム文を書く方法を詳しく説明したいと思います。

説明がなくてもサンプルを見れば、なんとなく使い方が分かってしまうのがプロデルの良いところですが、プロデルの文法を正しく知って、実際にプログラムを作る時に、日本語であることの魅力を生かしたプログラミングをしてもらえたら嬉しいです。

“プロデルで日本語らしくプログラミング「プログラム文」” の続きを読む

Bluetoothリモートカメラシャッターを使ってプロデルで便利ツールを作る

今回は、Bluetoothリモートカメラシャッターと、プロデルを使って、ボタン一つで、よくする操作が一発でできる便利ツールを作ってみたいと思います。

Bluetoothリモートカメラシャッター

AndroidやiPhoneなどスマートフォン向けに、カメラシャッターボタンがいくつか売られています。
Bluetoothリモートカメラシャッターは、Bluetoothという無線の通信規格を使って、スマフォのカメラのシャッターを押すことができる小物です。

リモートカメラシャッターは、AndroidやiPhone専用ですが、これをBluetoothに対応したWindows PCとペアリングして、ボタンが押されたことをプロデルで受け取ってみようと思います。

今回使用するBluetoothカメラシャッター

“Bluetoothリモートカメラシャッターを使ってプロデルで便利ツールを作る” の続きを読む

日本語らしいオブジェクト指向プログラミング「手順と補語」

はじめに

プロデルは、オブジェクト指向の考え方を全面的に採用した日本語プログラミング言語です。

オブジェクト指向とは、とても簡単に説明すると、ソフトウェアの構成要素を物に見立てて、物の単位で振る舞いとデータを整理してプログラミングする考え方です。C++言語をはじめとしてJavaやObjectiveC, Ruby, C#, JavaScriptなど最近の多くのプログラミング言語で採用されている考え方です。

TTSneoや他の日本語プログラミング言語と、プロデルとの大きな違いは、オブジェクト指向プログラミングのための仕組みを積極的に導入した点です。

プロデルが輝く10のポイントでは、たくさんの「いいね」「もっと読みたい」を頂き、ありがとうございました。このブログでは、プロデルでのオブジェクト指向プログラミングの特徴をもっと説明していきたいと思います。

一度には紹介しきれないため、この記事では、プロデルのオブジェクト指向プログラミングで特徴的な日本語らしい手順の書き方について紹介したいと思います。

“日本語らしいオブジェクト指向プログラミング「手順と補語」” の続きを読む

プロデルで圧縮ファイルを扱う

プロデルでは、別途アーカイバDLLをインストールすることで、zip形式などの圧縮ファイルを扱うことができます。

プロデルをインストールしただけでは、アーカイバDLLがインストールされないため、別途ダウンロードする必要があります。これまでその方法が明記されていませんでしたので、この場で紹介します。

“プロデルで圧縮ファイルを扱う” の続きを読む

プロデルでブロック崩しゲームを作ろう

今回は、ブロック崩しゲームを作ってみようと思います。プロデルに添付されているゲームのサンプルプログラムには、これまで詳しい解説がありませんでした。そこで、このブログにて新作のゲーム作りを通じてゲームプログラミングの方法をご紹介できればと思います。

“プロデルでブロック崩しゲームを作ろう” の続きを読む