「ライブラリ」を含む日記 RSS

はてなキーワード: ライブラリとは

2018-02-19

ADHDなんだがプログラマ質問がある

物忘れと怠惰防止にTodoアプリ管理してる『今日やること』と『今週の残タスク』について机の上とか壁に貼り付けたデジタルフォトフレーム上に

画像化して良い感じに表示しようと思ってるんだが、どんな感じで実装するのがベターかな?

当方Web屋だからAPIからTodo情報取得して適当ライブラリ使って良い感じに画像化、までは

多分余裕でできるんだが、そっから先がこれっぽっちもわかんねえ

とりあえず、表示端末側からは何も触ることなく最新のTodo情報を表示するようにしたい

ラズパイ+液晶パネル

Wi-fi対応デジタルフォトフレーム?(ただあんまり需要ないのか売ってないみたい……)

激安タブレットを使う?


どれが一番楽かね

2018-02-18

anond:20180218140528

これは確かにそうかもしれない

あとからこんな便利な書き方あるんだとか判明したりするしなぁ

プログラミング勉強法

  1. 他人コードを読む
  2. 自分コードを書く

以上。

例:

他人アプリ機能拡張

新たな機能を足すには、その構造が大きくかかわる。

機能Aは簡単に加えられたが、機能Bは難しいというようなことが起こる。

よりよい設計を考えられるところまで踏み込めるとよい。

他人コードリファクタリング

読みにくいコードがあった場合、えいやっとリファクタリングしてみる。

よりよいコードの追求

コードを読み解き、なぜ、そのアプローチに至ったのかを解明してみる。

よりよいコード検討し、自分で書き、実際に比較してみる。

その他:

学ぶプログラミング言語機能をすべて調べる

ありとあらゆる機能を調べつくす。分からないことは後回しでもいい。

実験コードを書いて、その機能体験してみる。

実験コードはちゃんと保存しておくこと。

ライブラリ化する習慣を作る

プログラム単位で重複するコードライブラリにする。

誰かが既にライブラリ化していたら、そっちを使う。コード管理他人に任せよう。

コードを書くときプランAとプランBを立てるようにする

時間があれば、その二つのプランコードを書いてみて、長所短所比較してみる。

最終的にはプランA,B,C,Dの四種類程度を立てられるように目指す。

2018-02-02

anond:20180202230930

Web企業と金SIer企業の両方の雰囲気を知ってるけど、まったく違う。セキュリティ意識が天と地ほど違う。

SIerではそこそこ有名なフリーライセンスライブラリですら使うの慎重だし、エディタIDE許可されてるものしか使えない。

社内ネットワークからアクセス制限とか通信記録が残るとか。

めちゃくちゃ不便と思ってたけど今回の一件でちょっと納得した。

anond:20180202035751

ありがとう

UI面に文句を言われることの多いkindleからハードルは高そうだ。

いまのところは、友達に貸しますよっていう通知とレンタル期限付きのDLリンク友達に送って、

DLしてもらうとライブラリに追加されるのがいいんじゃないかと思う。

一緒に読む機能も同じ感じかな?工夫は必要そうだね。

友達ライブラリ公開して、お互いにこれ貸して~ってできるといいなぁと思うんだけど、

これはSNSみたいな運用をすると絶対問題が起きそうだ。

私的本棚を遠隔地の友達どうしで楽しむにはどうしたらいいんだろう。

こういうサービスこそを、kindleでやって欲しいんだ…。

2018-01-29

適当にSTUNとutp使ってP2P通信するライブラリを組んでみたので試しにどこでもファイル転送できるコマンド実装した。

バイナリ落として実行するだけで気軽にファイル転送ができて高速、鯖もリソースがいらないのでHerokuとかで十分と思いの外実用的になった。

2018-01-21

Qiita見てて腹立つ事

「このライブラリにはこれこれこういうバグがあるようです。これについてissue自体今のところ無いようです。残念です。」

とか言ってるやつ。

あのさあ!

分かんねえことあったら自分質問しようよ!

ねえ!ガキじゃねえんだからさあ!

百歩譲ってスルーは良い。

忙しいとかあるだろう。

だが、「オレは聞かなかったけどね、フフフ」

的な事を堂々と言うな。

質問すらしなかった事を恥と思え。

恥ずべき自分の態度をひた隠しにしろ

それがバレた時は記事ごと削除する気概を持て。

2018-01-02

プログラミング初心者の頃の気持ちを忘れた

プログラミング教えてと言われた。

自分PCサーバ立ててドメイン通してアクセスしてみて、HTMLCSSJavaScript概要を教えた。

http://hogehoge.comを叩くとぼくのローカルPC上のHTMLを見ることができるのだ。普通これは感激するはずだ。ヤツは少しも感動しなかったが。

タグのことを教えて、formタグ使ってみて、CSSを教えてセレクタの使い方教えて、なるべくDOMというワードは避けてJavaScriptイベントの追加のしかたを教えた。

で「あとは色んなタグ覚えるだけ」「CSSで色んな組み合わせやってレイアウトを楽しんでね」「あとは色んなイベント覚えるだけだから」みたいな感じ。色んなイベントを追加してもらった。

その後データベースの話をした。

「まずエクセルファイルからデータ取ってみよう(実際はCSV)」「あ、でもこれだと取りにくいし時間かかるね」「しかもこれだとデータ矛盾ちゃうしめんどくさいね」「そこでデータベースですよ」

って言って、sqlite3を教えた。エクセルで「これがインサート、これがデリート」って説明しながら、テーブルレコードSELECT, INSERT, UPDATE, DELETEを教えた。

ヤツは「なんでそんなわかりきったことをわざわざ文字入力するんだ」と憤慨していた。こっちが憤慨したい。

で、次はWebフレームワークの話。まずWebフレームワークを使ってもらう前に、URLを叩いたらアプリケーションが走ることを確認してもらう。僕は「すごいでしょ!!」って言う。

さっきのsqlite3とつなげてみて、データを取得して表示してみた。ここで僕、「すごいでしょ!感激するでしょ!!」って言う。「ふーーん」っていう反応。「データをそのまま表示してるんだからそんなの当たり前でしょ?」みたいな。うるせぇWebサービスなんて大体そんなもんだわという言葉を飲み込みつつ、ここまで3時間

ここで初めてサーバサイドの言語を教える。for-each文、関数までは順調。そしてクラスクラスは若干詰まっていたのでぼくはまず構造体について説明した。

構造体のことはよくわかるみたいだ。まず青赤緑で構成された色の構造もどきを作って、画面に色を出力した。ぼくがこの構造もどきで画面にマリオを描くとヤツは感動していた。

そしてぼくはクラスについて教えた。「この構造体に関数がついてたら便利なときもあるもんだ」って感じ。説明がめんどくさいので「このクラスっていうのが型だよ」とか言っておいた。

共通でいてほしいものもあるけど、共通でいてほしくないものもある」と言って、ぼくはキャラクタークラスを作ってマリオオブジェクトクッパオブジェクトを生成し、FFを究極に安っぽくした感じのフィールドで戦わせた。

ヤツは興奮しているようだった。マリオは負けた。ぼくは「人は目に見えるものしか興味が沸かないんだな」と達観した。

Webフレームワークに戻ってぼくはクラスを使ってViewModel、そしてControllerを教えた。彼はなんだかかなりよくわかった様子だった。ぼくは満足した。

そろそろ5時間になろうとしていたので、ぼくは「あとはデザインパターンと言って、プログラミングしていてよくあるパターンを集めたものがあるんだ」とか「アルゴリズムを知ると色々効率よく書けるよ」とか「非同期処理とかもあるし、とにかく色んなライブラリを試してみて」「他の言語とかも試してみて」とかそんなようなことを言った。

ぼくの仕事は終わった。あとはもうヤツは自分ひとりでなんでもできるだろう。ときどきぼくが質問に答えることもあるだろうけど、ヤツはサーバサイドに必要な大まかな知識を、こんなに短期間で得たのだ。ヤツは優れたエンジニアになるに違いない。ぼくはヤツの家をあとにした。お金ぐらい払ってほしいものだ。

翌日、ヤツから電話があった。

「ごめん、HTMLってなんだっけ……?ていうかファイルってどうやって作るんだっけ……」

ヤツは何も覚えてなかった。俺は発狂した。俺はいったい、何を教えていたんだ。

あと俺、数年勉強しててこれぐらいのことしかわかってなかったのか?そう思って、なんだか猛烈に虚しくなってしまった。

そしてぼくは、二度と人に教えないことを決意した。

2017-12-29

anond:20171228054914

別に mizchi 氏が悪いわけでもウザがられているわけでもなくて、

たまたま後発の Hyperapp が良かっただけの話じゃないの?

Hyperapp とは?

Web アプリフロントエンドJavaScript ライブラリ。React, Preact, Vue といった代表的ものよりもずっと小さく、1 KB という超軽量サイズ。他のライブラリ依存することなく使えて、さらスピードもある

2017-12-28

フロントエンドの人たちは毎年新しいライブラリ宣伝して疲れないの?

jQuery時代からシンプルシンプル言ってた気がするが、最近ライブラリ宣伝文句シンプルシンプル言ってて草生える

いい加減JavaScriptなんて一行も書きたくないんだが、そういうライブラリ出ないのかね?

何にせよフロントエンジニア()さんは一生ライブラリ作って宣伝してまたライブラリ作ってってやってるけど、一生やってろって感じだわ

2017-12-09

anond:20171209153510

それが雑魚ネト民なんだよね

ジャバスクの最新ライブラリーがー

SCMがー

仮想環境がー

でてきたのは、HTMLよりはるかに重くて、メインコテツ外の情報のほうが多いゴミ

なんでって、ソースの行数wで評価してるから無駄ライブラリを読み込むほうがよい

 

これが雑魚仕事

https://www.city.fukushima.fukushima.jp/cgi-bin/event_cal_multi/calendar.cgi?type=2&year=2017&month=11

2017-12-07

二杯目の味噌汁

エンジニアとして金銭を得てからもうかれこれ15年ほどになる。

この間、私はそれなりに真っ当にエンジニア人生を歩んできたと思う。数百万ユーザーを扱う Web システムや、とある非常に重要データを扱うための超高信頼性を持つシステムを開発していた。最新の技術を追うことにも余念が無く、コーディングといった現場技術も若手に負けているつもりは無い。稼働している私のシステムはここ数年大きなトラブルは発生していない。少なくとも人に出しても恥ずかしくない実績は持っているつもりだ。

プログラミングが、好きだった。仕事はあまりつらいと思ったことはなく概ね楽しかった。適切な問題がそこにはあったから。趣味では(簡単ものであるが) OSコンパイラ自作たことがあって、これもまた非常に楽しかった。マイナーではあるがとある言語の標準ライブラリコミッタになったことがあり、様々なユースケースに応じて API 設計をするのも素晴らしい体験であった。この世界は知れば知るほど知的興奮にあふれていて、ひとつ大陸冒険しているような気さえした。

しかしこの界隈には私のような凡人が束になっても叶わない人々であふれかえっている。私は少しずつ実績を積み上げてきたつもりではあるが、実績を積み上げる度に彼らの巨大さがようやくぼんやり理解でき、自分矮小になっていく感覚がある。仕事では「私がこの問題解決して見せる」とのめり込んでいたが、いつしか「私がいなくても解決できるだろう」と思うようになった。人間は年齢を経るにつれて、システムや時の流れの当事者から傍観者に変遷していくのだと思う。

私はもう35歳。20代の頃の熱に満ち溢れた精神劣化し、どこか生ぬるいものになってしまった。私からは、熱が抜けてしまったのだ。まるで二杯目の味噌汁のように。

2017-11-30

ライブラリ使ってちょちょいと終わる作業が一番いい

なんでバイナリ仕様を調べたりめんどくさいことをせねばならぬのか

2017-11-27

子供プログラミングを学ばせる・・・ってやつ

パズルみたいな奴でオブジェクト志向的な発想を学ばせるやつ

あれ本当に効果ある? 

そんなん初歩の初歩で、プログラミングって結局デザインパターンや、アンチパターンライブラリ名前

サーバーデータベースの設定方法や、次々出てくる新しい概念を覚えるという泥臭い勉強必要なわけじゃん

楽しくプログラミングなんかしてたら絶対身につかない知識が実務には必要

パラダイムシフトさせて世界技術の基盤を作るような発想をするにも、やっぱり泥臭い勉強必要

ゆとり教育と同じ失敗やろうとしてる気がするんだけど、あれで本当にいいのか

それよりは大学コンピューターサイエンス科を増やしたほうが・・・

2017-11-21

ruby入門したいんで何読んだらいいですか、という人にrubyはただのインタープリタなので何のライブラリを使うかが大事、とは言わんでしょ、的な事態に遭遇して、モニタの向こうで「あ、はい、賢いんですねー」っていってた

2017-11-06

ではどうやって"AI人材"を選考すればよいのか

AI人材採用局所的に話題になっている。

http://aiweeklynews.com/archives/49678692.html

Excelはがっつり使える

Pythonのnumpyやpandasでデータの処理ができる

SVMや重回帰分析普通に使える(数式も少しは分かる)

Chainerを触っている (pipでインストールのみでもOK

これくらいできると、AI人材の平均レベル(と相手に思って貰える)なので採用見込みはかなりあると思います

例えばですが、python自分パソコン環境構築して、「Hello,world!」と表示できるようになったら、面接に申し込んで、「少しはpythonできます」と言ってみるのも一つの方法かもしれません。

実際に見分け方がわからなくてこれに引っかかって採用してしま場合もあるんだろうな、とも思う。

自分がこの手の人材エンジニア)を採用する場合にどうやって質問をすれば見極められるのかエンジニア採用にも関わっている身としてを考えてみた。

AI人材という呼称自体がぞわぞわするけど、一旦そこは我慢する。

取りたいロールをはっきり認識/確認する

まず採用を行う前に、AI人材を取って何をしてもらいたいのかをチームないし採用意思決定者としっかり確認する。

エンジニア系のAI仕事と大雑把に言っても

1.画像/映像認識技術活用したい

2.大量のデータ対象として分析予測を行いたい

3.上記大量のデータを貯めたり一括処理したりするための基盤システムを作りたい

など、あとは案件ベースなのか自社開発なのかそれぞれ必要となる能力オーバーラップしつつも異なっているため。

(以下、今回の目的が1や2だったと仮定する。)

バックグラウンド確認

あなた機械学習の関わりを教えてください

機械学習経験のある分野 / 得意な分野 / やってきたことを教えてください(実務でなくてもok

バックグラウンド確認する。実務や研究経験の話が出てくるのがメジャーだと思うが、エンジニアとしてのバックグラウンドがあれば独学勢でも野良kagglerなどレベルの高い人はいるので実務経験に絞らなくても良いと思う

全般知識確認

機械学習全般基本的なところから確認していく。質問としてはこんな感じだと思う

教師あり学習教師なし学習の違いを説明してください

・分類問題回帰問題の違いについて説明してください

過学習ってなんでしょうか

イメージとしては非エンジニア職でも必要になる「この辺りの言葉が通じないと絶対困ったことになる」一般常識確認する感じ。

ディープラーニングについて

画像映像認識などディープラーニング系の業務が多い想定の場合

普段使うディープラーニングライブラリは何ですか

から始まって

あなたの組んだモデルについて教えてください

・どうやって訓練したのですか?

・どうしてそのような構成にしたのですか?

と突っ込んでいく。

きちんと自分で考えて組めているか確認するのがメイン。

ディープラーニング以外の機械学習について

・フィッシャー情報量から何が分かるか

・共役事前分布についてどのように用いるもの

MCMC法で事後確率の近似を取る時に気をつけることを教えてください

確認したいことはディープラーニングしか」できない人かではないかという点。

ある程度統計ベイズ法周りの知識が無いと詰むため。逆にディープラーニング不要業務ならこっち一本でも可。

手法の詳細・原理説明

・この問題最尤推定をしてみてください(簡単文章題

・勾配降下法について説明してください

・畳み込みニューラルネットワークについて仕組みを説明してください

盲目的にライブラリを使ってるだけでないかという点を確認したい。

SVM入力適用するだけならsklearnで5行書くだけで誰でも出来る。手法の背景や対象データ特性をきちんと考えて使っているかを見たい。

・kaggleのコンペに参加したことはあるか

・あればその時の課題手法をできるだけ詳しく

メダルの取得状況

kaggleに参加した経験があればnoteからその人の手付きを直接評価できるし、メダルという他メンバから客観的評価できる定量指標もある。

その他

学習意欲とか普段姿勢確認したい。もしかするとここが一番重要かも。

・分からない項目をはっきり分からないと言えるか

普段何を参考に勉強しているか / 論文を読む習慣があるか(最近読んだ論文があれば教えてください)

・今興味のあること

こういう観点必要、とか○○なんてもう古いよ、みたいなツッコミどころ満載だと思うのでコメント/トラバで突っ込んで欲しい

2017-10-30

ゲームのフレームワーク

  1. Unity」 UnityC#基準にして、他の方法比較検討したらいいんじゃないかな?Unity利用者数が多いから、参考情報を多く得られると思う。
  2. Unreal Engine」 Unity表現限界を感じたら、次にUnreal Engineに手を出しても良いと思う。
  3. 「Cocos2d-x」 シンプル2Dなら検討余地あり?
  4. enchant.js」 JavaScriptWebブラウザーゲームも作れる

 

2017-10-28

家でも仕事したい

プログラマ仕事を始めて半年になるが、開発業務が楽しすぎてやばい

元々コード書くのは好きで、ただ作るきっかけとか作りたいものものがないという状態だったんで、

目的が与えられた今は、さてどうやって実装してやろうかとそのことばかり考えている。幸せ

本当は家でも時間のあるときプロダクトのコードいじったりライブラリを調べたりしたいのだけど、

お金を貰って働いている以上、会社で勤務時間中にやるべきことを無給でやってしまってはいけないと思い、我慢している。

残業すればいいじゃんという声が聞こえてきそうだが、それはそれでちょっと違う。

一日に集中して働ける時間は限られているし、あまり遅くまで残ることもできない。

急に発生する作業欲みたいなものをどうにも処理できないというのがもどかしいのだ)

となるとやるべきは「プロダクトに関係ありそうでないようなこと」になるが、これもどうもむず痒い。

流行りの機械学習だとかを学んでみてもいいのかもしれないが、今の自分の関心からはやっぱり外れている。

家で作業した分が勤務時間として認められたら一番いいんだけどな。

世の中の人はこういう切り分けをどうやってしているんだろうか?そもそも分けないんだろうか。

2017-10-24

なんで未だに 5.4 なんだよ!

PHP のはなし

ウチでは centos を使うことになってる

今だと centos7 だが、これのデフォルトPHPが 5.4 だ

5.5, 5.6, 7.0, 7.1 とでていて、 7.2 がもうすぐとか言われてるのに、 5.4 だ

5.4 が出たのは 2012 年で公式サポートは 2015 年に終わっている

そんな古いもので、使える機能ももちろん古いのだけだ

新しい機能を使おうとしたらエラーになる

もちろんライブラリフレームワークですら対応してないのが多くて古いものしか使えない

さらには、古いバージョンではバグ脆弱性が見つかってもそもそも PHPバージョン自体サポート切れなので放置される

PHP7 や 5.6 対応バージョンにすれば直っているが 5.4 で動くものだと直されない

centos に 7 系を入れることはできなくはないし、難しくはない

だが、デフォルトバージョンを使うことになっている

聞くところによると、保守OSサポートが切れる頃まではすることになっているものが多く、外部リポジトリや自前ビルドになるとサポートが辛いらしい

今 7.1 にしても、その外部リポジトリはウチの保守期限より早くサポートをやめるのでその後の脆弱性などのパッチ自分でどうにかしないといけなくなる

デフォルトのものなら緊急性があれば 5.4 であろうと OSサポートしているためパッチ対応されるらしい

外部リポジトリサポート終わったらバージョン上げればいいじゃない、って思うけどけっこう動かなくなる部分があるらしい(経験談によると)

プロジェクトが大きくなるとチェックと修正がすごく大変なんだろう、そのためのテストじゃないの?って言いたいけど

自社サービスじゃないしクライアントから人件費取るのが難しいとかあるんだろうな、たぶん

そんなこんなで 5.4 を使うらしい

ライブラリ面で苦があるから、自社製ライブラリも多い

OSSライブラリで何が使えてどれを使ってはいけないか、みたいのはコア部分の開発メンバーには知見が溜まってるらしいが、私はそんな将来に役立たないものより 7 系とか新しいもの知識が欲しい


せめて JavaScript の Babel のようなものがあればなぁ・・・ブラウザは使う側の問題で古いのまでサポート必要だが、サーバサイドは新しいの入れればいいだけなので需要がなくて作られないのだろうなぁ

2017-10-23

anond:20171023094515

include/importはIDEに任せるのが一般的

IDE的な機能サポートがないと1文字も書けない開発言語/大型ライブラリはさいきん多い

最近C++始めたんだけど

何をincludeすればいいのかみんな覚えてるのか???

まだC++ででかいプログラムいたことないかわからんのだけど。

Cだとmanで調べたら標準ライブラリはどのヘッダをincludeすればいいのかすぐわかったんだけどC++勝手が違いすぎてわからん!wってなってる。

まぁでも良く考えたら他の言語でもそんなの書いてるうちに覚えてたしな....

書いてるうちに覚えていくもんか。

2017-10-22

anond:20171022115404

DeepLarning の論文読んだだけで実装できるプログラマもいれば、

フリーで公開されているライブラリを使うのが精一杯の人もいるからねぇ。。

2017-10-21

むやみに抽象化?するのやめてほしい

え、半日で変更差分が 3 行と 5 行と 20行程度しかないんだけど・・・ じゃないんだよ!

あれこれ調べて試して最終的にそれだけの変更ですんだんだよ!!


引き継ぎもなく会社辞めた人が作ってたシステムコードを渡されてこの修正依頼対応してね、とか言われても作りが意味不明

有名ドコのフレームワークライブラリならともかく、見るからにその人自作らしいもので作られてる

愚直にイベントに対して、あれやってこれやってそれする、って書いてたり、変な上書きはせず UI コンポーネントプロパティ変えればそのまま反映されるようなら簡単に直せそうだったのに、

複雑に継承を重ねたコントロールクラスちょっと見た目変えるだけでも一苦労

値を変えても反映されずに親クラスで変な制御ついてたりするし、現状のものフィットさせすぎてちょっと操作性変えるだけでも大規模に変更が必要そうに見えるし、どこから手を付ければいいのかって状態だし

どこで値が変えられてるとかが追うのだけで時間が過ぎていく

どこがどういう仕組になってるとか、こういう変更ではここを変えればいいとかいう手引きがあればまだましだが、そういうのは全くない

余計なことせず単純にコントロール並べて、単純にデータ取得や保存する作りで作られていたなら1日もあればで終わったであろう簡単修正依頼が1日で1割程度しか終わらない

作った本人はこの方が楽だったんだろうが、他の人が使えないもの作るのはやめてほしい

というか、ファイル名が連番でどのファイルがどの画面に対応してるからすら開いてみないとわからないレベルだったのだが作った本人はこれで苦労しなかったのだろうか・・・

仕様書対応表があったのかもしれないが今あるのはこのコードだけだ


最後まで面倒見れないなら、世間一般の作りに合わせるとか有名どころのライブラリ情報があるものを利用してほしい

退職のつもりなくても、病気とか怪我で代わりの人に任せるとかはあるだろうから出来る限り、独自の作りはやめてほしい

有名どころのOSS並に丁寧なドキュメントFAQとか作れるなら別にいいけど

2017-10-20

インポート用のファイル形式CSVにする必要があるのか問題

C言語とかで開発してるわけじゃないんだしExcelファイルそのまま読めばいいんじゃないかと思うんだけど

どのシステム見てもだいたいインポート形式CSV

JavaならPOI.NETならNPOIPHPならPHPExcelみたいにだいたいどの言語でもそれなりのライブラリあるはずだし

CSVExcelで開いて編集しようと思ったらコードの頭0が消えてます」みたいなことを言われなくて済む

でもCSV

ユーザーExcelCSVを開いて編集してCSVで保存してインポート

2017-10-19

BASIC!のプログラミング教育適応性について

題:BASIC!のプログラミング教育適応性について

副題:Androidで動くBASIC!でプログラミング教育を行うメリットデメリット

少し考えてみたのでまとめとして投稿します。

01.はじめに

この文章は、Androidで動くBASIC!でプログラミング教育を行うメリットデメリット

ついて記載しています

02.BASICとは

BASICプログラム初心者向け言語として1960年代に発表された古い言語です。

極めて簡単文法インタープリターによる即時実行や1970~80年代パソコン

無償で搭載されていたこから沢山の人に利用されていました。

しかし、簡単ゆえの機能の少なさと即時実行方式のための性能の低さやその後の

優れたプログラム言語発表によりBASICの利用は著しく低下しています

03.BASIC!とは

BASIC!はアンドロイドタブレットスマートフォン上で動くアプリです。

Google playからインストール可能無料で利用できます

BASIC!

https://play.google.com/store/apps/details?id=com.rfo.basic&hl=ja

BASIC文法踏襲していますが、Android向けに大幅に命令拡張されており、

GPS等の各種センサー情報取得やSQLiteデータベース機能WEBVIEWを利用

したHTMLCSSJS表示・実行など約500程度の命令群で構成されています

無料広告なしのアプリインストールするだけでこれらの機能が利用可能

インタープリターなのですぐに実行することもできます

04.BASIC!でプログラミング教育を行うメリット

メリットについては以下があげられます

a.BASICプログラミング知識を持つ人は以外と多い

 過去の栄光というかBASIC自体は広く利用された時期が過去存在パソコン

 だけでなくポケコンゲーム機等でも利用できました。

 BASIC!は基本はBASIC拡張であり文法変数の取り扱いにおおきな違いは

 ありません。

 その当時、少しであってもBASICを触った人は多いのでメンターとしての

 再教育は容易だと考えます

b.HTML,JS,CSS勉強継続してできる

 BASIC!は手続き型と呼ばれる非オブジェクト指向言語であり最新の言語

 とは異なっています

 BASIC!のネイティブ命令群だけだと他の言語へのスムーズな移行は難しい

 かもしれません。

 しかし、BASIC!にはHTML5アプリのようにBASIC!自体webViewでHTML,JS,CSS

 を動かすことができます。(HTMLモード

 HTML,JS,CSS現在Webの標準であり、進化を続けています

 特にjavascriptオブジェクト指向言語進化採用される領域フロント

 エンドからバックエンドまで広がっています

 

 BASIC!自体webViewは他のAndroidアプリ同様、chromiumベースAndroid

 システムWebviewの更新により常に最新化されています

 HTMLモードではjQuery,Angular,ReactなどのJSライブラリも利用できます

 最初BASIC!ネイティブプログラムHTMLモードJSを利用したプログラム

 とSTEPを踏んだ学習可能だと思います

c.インストール環境設定が容易

 前述の通りアプリインストールするだけで利用できます

 追加の課金プラグインなどは不要です。

 またAndroid2.3以降でインストール可能です。

 但しAndroid5.0あたりからAndroidシステムWebviewが導入されているので

 Android5.0以降の端末を選択する方が無難です。

 インストール後、環境設定をする必要もありません。

 端末のルート化も不要です。

d.Androidデバイス等が安価

 安いタブレットであれば1万円程度で新品が買えます中古スマホであれば

 更に安価です。

 またプログラムを作るのでキーボードもあった方がいいと思います

 キーボードも2~3千円程度で安価です。

 もちろんソフトウェアキーボードフリック入力など)でもプログラム

 作れます

 パソコンよりもはるか安価プログラミング教育が実現可能です。

e.子供Androidデバイスに慣れている

 iPhoneの登場以来現在の子供たちはタッチパネルAndroidデバイス

 慣れています

 通常のノートパソコンに比べ違和感は少ないと思います

 また教える大人側も日頃パソコンよりスマホを触る人は多いと思います

 教える側の負担も小さいのではないかと考えています

f.可搬性が高い

 ここで述べる可搬性とは別のデバイスで同じプログラムを動かす場合

 容易さの事です。

 BASIC!はインタープリタなのでソースファイルのみを別のデバイス

 SDカード経由等でコピーすれば基本的には動作します。

 仮にHTMLモード場合は併せてHTML,JS,CSSコピーするだけです。

 別のデバイスにはBASIC!さえインストールされていれば動きます

 BASIC!独自プラグイン拡張モジュールなどは特にありません。

05.BASIC!でプログラミング教育を行うデメリット

メリットだけでなくデメリットもあります。以下の通りです。 

a.性能上の問題

 BASIC!の実体Javaで出来ています。すなわちJavaよりは性能は悪い

 ことになります

 実際、大量の繰り返しや大量の文字列を扱うプログラムは性能が出ないので

 処理に時間がかかります

 Androidスマホタブレット自体パソコン演算能力には劣ります

 大量の実験データ演算するような教育には向いていません。

 但し、プログラミング教育には大きな障害にならないと思います

b.BASIC!自体の仕組みの問題

 BASIC!はプログラムを作るアプリである以上当然文法エラーを実行時に

 表示する仕組みになっています

 ただ一部エラーチェックが甘い部分もあり本来エラーとすべきところを

 そのまま実行する場合もあり想定外の結果となる可能性もあります

 次にエディタは単なるテキストエディタと同等の機能しかなく最近

 エディタにあるようなシンタクスハイライト入力補完といった機能

 ありません。

 ただ比較シンプルプログラムを作る教育では大きな影響は無いと

 考えています

c.一部機能に制約がある

 前述の通りHTMLモードではJSが動かせます。ただし制約があります

 JSローカルモードで実行されるという事です。

 非同期通信などを行おうする場合JSが実行時エラーになる可能性が

 あります

 またデータベース機能であるSQLiteへの操作についても文字型項目しか

 利用できない制約があります

 JSローカルモードのみなのは教育の事を考えると少し残念ですが

 それでも多くのフロントエンドJSは実行可能なので教育には

 使えるという理解でいます

d.参考となる文献がほぼない

 教育には教科書またはそれに準ずる書籍必要だと思います

 該当する書籍がないのが実情です。

 ただ1冊だけ日本語で書かれた電子書籍存在します。

 ■BASIC! ~ 分かりやすい教本で一から学べるコンピュータ言語 - AndroidSQUARE

 http://blog.livedoor.jp/an_square/archives/51887786.html

 BASIC!の文法自体は極めて簡単なのでどうにかなると思います

06.結論

上記の通り、メリット/デメリットを列挙してきました。

デメリットもあるものメリットの方が大きい印象です。

とくに教える側の負担が少ない点がメリットだと思います。 

 

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん