「用言」を含む日記 RSS

はてなキーワード: 用言とは

2020-08-27

オブジェクト指向がわからないあなたへ

どうも、都内の某企業に勤めるフルスタックエンジニアです。この記事では、ITの非専門家に向けて、オブジェクト指向解説をしたいと思います

小学生プログラミング教育が開始されたり、AIIoTなどの技術が身近になった今日オブジェクト指向理解しておくことは極めて重要です。なぜならば、オブジェクト指向ITエンジニアとっての「共通言語」であって、今やあらゆるソフトウェア技術オブジェクト指向の上に成り立っているからです。したがって、オブジェクト指向理解すれば、ITのすべての分野の基礎が身についたことになります。難しい概念がいくつか出てきますが、分かりやす解説するので頑張ってついてきて下さい!

オブジェクト指向とは

まず、オブジェクト指向とは何かを解説します。オブジェクト(object)とは、「モノ」のことです。言い換えれば「モノ指向」です。つまりコンピュータのようなバーチャル対象ではなく、現実のモノをモデルプログラミングしようというのが、オブジェクト指向定義です。この考えは、今流行りのIoT(Internet of Things = モノのインターネット)にも取り入れられ、爆発的に影響力を増しています

モノという考え方は、18世紀哲学者カントに遡りますカント純粋理性批判において、理性と経験によって認識できる以前の「物自体」という概念提唱し、大陸合理主義イギリス経験主義を統一しました。オブジェクト指向におけるモノとは、カントのいう物自体です。したがって、オブジェクト指向世界の真理を記述できます。そのため、コンピュータというバーチャル世界を超えて、IoTを作ることが可能になります

現代プログラミング言語オブジェクト指向サポートする最も代表的言語Javaです。これに対して、CやC++といった旧来の言語関数型言語といい、現在では顧みられることはありません。また、JavaMicrosoftであるC#や、Javaに組み込んで使うマクロ言語であるJavaScriptなどもオブジェクト指向言語であり、プロエンジニアは好んでよく使います。一方、学生向けの教育用言であるPythonRubyなども、一応オブジェクト指向サポートしています。これらはプログラミング入門には適していますが、実務で使われることはありません。

オブジェクト指向の三要素

オブジェクト指向で最も重要な要素は

の3つです。これらを駆使することで、食卓から宇宙までを豊かにするIoTを作ることが可能になるのです。一つ一つ解説していきます

カプセル化

カプセル化とは、実装利用者から見えなくすることです。

たとえば、ソフトウェア脆弱性があったとしても、カプセル化をしていれば、利用者からはその脆弱性は無いように見えます。したがって、オブジェクト指向で作られたソフトウェアには、セキュリティ上の問題存在しません。

また、IoTを用いていない従来の家電製品などは、ボタンがたくさんあったりして操作がとても複雑です。カプセル化を応用すると、この操作を全く包み隠してしまっても、機械が使えるようになりますiPhoneスマートスピーカータッチパネルや声認識などで操作できるのは、カプセル化のおかげです。逆に、ガラケーボタンがたくさんある家電製品などは、オブジェクト指向(=IoT)で作られていません。

継承

継承とは、あるオブジェクト性質を別のオブジェクトが引き継ぐことです。

たとえば、人間は「歩く」「喋る」などの動作を行え、鳥は「飛ぶ」「鳴く」などの動作が行えますオブジェクト指向世界では、鳥を継承することで、人間が飛んだり、鳴いたりすることができるようになります。これを応用したのが、VRVirtual Reality=仮想現実)です。

また、iPhone携帯電話であるにも関わらず、ツイッターをみたり、アマゾンで買い物ができたりするのもオブジェクト指向のおかげです。つまりiPhoneツイッターアマゾン継承しているのです。それだけではなく、iPhone時計や財布、メモ帳など、現実世界の多くのもの継承しています

ちょっと抽象的になりますが、この考えを突き詰めると、次のような応用が生まれます。将来必要となるすべての機能実装したオブジェクトを一度作っておけば、後続の開発者はそれを継承するだけで、新規の開発なしに新機能を追加することができます。このような性質を「再利用性」といい、ソフトウェア開発では極めて重要な考え方となります継承はこの再利用性をもたらすために、ソフトウェア開発のスピードを爆発的に加速させ、現代ITの発展の原動力となりました。

ポリモーフィズム

ポリモーフィズムは、日本語では「多態性」と言います多態性とは、読んで字のごとく、多くの状態を持つということです。

オブジェクト指向では、多くの状態を持つことができます。一方、C言語などの関数型言語状態を持つことができません。関数型言語では、プログラムを関数(つまり入力と出力をもつブラックボックス)の合成として記述します。関数は、中学校数学で学んだように、入力に対して出力が一意に定まるので、状態を持つことができないのです。この制約を「参照透過性」と言います

オブジェクト指向では、参照透過性の制約がないため、プログラマは自由コードを書くことができ、関数型言語と比べて遥かに生産的です。また、上に述べたように状態を持てるということは、プログラムの入力に対する出力を無数に持てるということです。この応用がAI(Artificial Intelligence=人工知能)です。AIが、まるで人間が考えたかのように答えを出すことができるのは、ポリモーフィズムにより無数の出力を得ることができるからなのです。

おわりに

全体的に難解な記事となってしまいましたが

部分的にでも理解すればIT世界を見る目が変わるはずです。

うさんくさい情報ネット上には多いですが

そういうものに騙されず、皆さんには本物の知識を身に着けてもらえればと思います

2020-05-25

anond:20200525081938

「すごく」も「すごい」も形容詞。同じ形容詞連用形連体形

「すごく」は連用形から用言が後に続く。「美人だ」は用言から文法的にあってる。

「すごい」は連体形から体言が後に続く。「美人」は体言から文法的にあってる。

2020-05-02

anond:20200502125535

まあ、ヨーロッパ現実にそういう状態時代が長く続いておったのだがな。

で、近世ではラテン語地位フランス語が引き継ぎそうだったりもしたのだが.... (今でも外交用言語としての地位英語より上)

まあ、ラテンアルファベットを使う言語文法が(というか形態論が)シンプル言語である英語世界的に普及してるからいいじゃん。

2019-07-03

論破専用汎用言兵器「ゆるしてあげなさい」

ゆるしてあげなさい。

それは、あなたがゆるしてあげられないだけなのです。

よい、わるいなどありません。

あなたがゆるしてあげるなら、うまくいくのです。

2019-06-27

おっさんにあたる女性用言葉ってあんの?

おっさん」=おじさんの不思議

小さいつになる前は、おじさんとおばさんっていう2文字目が違うだけなのに

オバハンか?

2019-04-28

ていうかStanfordCSだと101の講義やらせるのってSICPとかじゃないの

Scheme果たして入門用言語に適してるかはともかく、ああいパラダイムがあると一発目に叩き込まれるのはわりと羨ましくはある

2019-03-30

中国国策として中国語専用プログラミング言語を作る話

中国国家戦略として中国語のみで動くモダンプログラミング言語作るとどうなるか

・その言語で小中高大とプログラミング教育を行うことで国民エンジニアになる

・その言語で優れたOSSを全て移植すれば中国語専用言語であれど世界ITトレンドに遅れることはない

・その言語実装ライブラリコントロールできるので金盾検閲が行いやすくなる

・その言語でどんなことを行なっても非中国人が認知・関与することは極めて困難である

・その言語先進的な研究を行えば外国人中国語を学ぶことになる

教育現場企業現場からモダンプログラミング言語排除することでインターネットだけでなくプログラミングレイヤーでも金盾状態を狙える

2019-03-12

anond:20190312212513

C言語

半世紀以上前からある言語

ほとんどの言語C言語文法を参考にして作られているくらい多大な影響を与えた凄い言語

C++

Cを滅茶苦茶拡張した言語

拡張しすぎたせいで全容を知っている開発者ほとんどいない

C#

MSJavaっぽい言語が欲しくて作ったJavaもどきだったけど

今はこっちの方が言語として洗練されている

Objective-C

C++のようにC言語拡張した言語

ただし名前が示すとおりオブジェクト指向に特化した拡張

ジョブズお気に入り言語で専らMaciOS用言語だったが最近Appleが開発した後継的存在であるSwiftに移行しつつある

2019-02-06

COBOLってこんな言語

日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。

https://anond.hatelabo.jp/20190205192741

COBOL本質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルデータ処理を想定している感じ。

SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通JavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。COBOLもそんな感じで、全体の流れをJCLやShellスクリプト、あるいはJP1のような運用管理ソフトで書く。SQLの1個の処理に相当するのがCOBOLコンパイル単位で、それごとにソースファイルが分割される。ひとつソースファイルに2個以上の処理を書くこともできるけど普通はしない。ここまで理解すると古いCOBOLに1ファイル内のすべての処理に影響するグローバル変数しかないのや、今のCOBOLコンパイル単位をまたぐ真のグローバル変数がないのも、それほどクリティカルではないことがわかると思う。もし、本当に複数の処理にまたがる値が必要なら、データベースに格納してしまえばいいんだし。

で、SQLでいうところのデータベースに相当するのがCOBOLではデータファイルsedawkテキストファイルCSVファイルを行ごとに処理するのとちょっと似てるけど、COBOL場合は固定長ファイルという点が違う。改行文字は入ってなくて、たとえば150バイトごとに次のレコードみたいな形式。これの1レコードごとに何月何日何時に〇〇という商品を□□円で売ったとか書いてあるのが典型的データの内容。それを集計して今日は〇〇が何個売れて売上がどれだけあったとか、出金合計がいくらで入金合計がいくらで、みたいな財務諸表を作ったり。SQLと同じように税率なんかが書いてあるマスタデータと、日々の売り上げが書いてあるトランザクションデータがあって、突き合わせたりということもする。こういう集計処理だからUIはなくて、夜中に自動起動するようなバッチプログラムが主な使われ方。(混乱するから余談だけど、今のCOBOLSQLを使って普通RDBにもアクセスできる。ただ使い方としては、RDBファイル処理→ファイル処理→ファイル処理→ファイル処理→ファイル処理→RDBみたいに、最初最後だけみたいなのが普通

入出力がファイルから今の感覚で考えるとアクセスは遅い。でもメリットもあって、1回に1行しかメモリに乗せないからどんな巨大なデータでも時間さえかければ処理できる。それこそ国民ひとりひとりの年金データとかね。あと、途中でバグ不正データで止まってもデータを失うのは最小限で済むので復旧が比較的楽だったり。

データベースの話に戻ると、テーブル定義はどこに書いてあるかというとデータファイル側ではなくてCOBOLプログラム側、というのがSQLと一番違うところかも。つまり、このデータファイル構造はこれこれこうなっていると想定して読みます、とソースコードに自分で書く。当然実際のデータ構造がそれと違ってたらおかしくなる。

まあそんな感じで80年代くらいに会計処理をする目的だったら悪い言語ではなかったので、銀行官公庁とか、電力水道ガスといったライフラインを扱う大企業がこぞって導入して今に至る感じ。普通大企業は途中でSunかに置き換えてその後Linuxクラウドさらに置き換えたりしたけど、最初に作ったシステムが大きければ大きいほど、重要であれば重要であるほど現代的な環境に置き換えられないというのが今の課題

2018-08-15

anond:20180815185749

問題文が日本語で書かれているから、上手く行かなかった可能性は否定できない気がする。

AI解釈可能な専用言語を開発し、

その言語問題文を翻訳すると、見事に正答する・・・みたいな。

2018-01-24

用言語学者でも、心理学者でも、脳科学者でも、教育学者でも何でもない、英語ちょっとできたから飯の種にしてま〜すみたいなやつら、適当に聞きかじった知見を記事にして、英語教育は○○したほうがいい!と煽るのはやめてくれないか

まずAPAスタイルに即し出典を明記してくれ。

2017-11-03

パクったのがアメちゃんじゃなかったらまた文化の盗用言われてるとこだよ、ややこしいややこしい

2016-05-18

http://anond.hatelabo.jp/20160518131708

アンタ雑だな・・・

そんな言い方じゃ誰にも信用されないでしょ


まず、Windows10スパイウェアだと言われているのは下記のブログに詳しく書いてあった

http://d.hatena.ne.jp/msystem/20160409/1460127785

引用すると

Microsoft社の契約内容には、次のような一文が含まれています

プライバシーデータ使用への同意お客様プラバシーは、当社にとって重要です。本ソフトウェアの一部の機能については、当該機能使用する際に情報が送受信されます。 』

まり、「Windows 10を使うことで、個人情報Microsoft社に送信されるが、その点を了解した上で、Windows 10を使う事に同意します。」と言うことです。

確かに、この一文だけを見れば、「問題だ !」となりますが、先ほどの文章の後には、次の文が掲載されています

『 これらの機能の多くは、ユーザーインターフェイス無効にするか、使用しないように選択することができます。 』

一応、情報MS送信されるのは利用規約にも明記されているが、その機能オフにできるとも書いてある。

で、その送信する内容ってのは

下記の個人情報が、全てMicrosoft社に渡ってしまうと思います

・連絡先

カレンダー記載した予定

音声認識情報

手書きパターン

入力履歴

位置情報

・利用言

・利用URL

だそうだ。

確かにデフォルトだとスパイウェアと呼ばれてもおかしくはない。



ただ、個人的にはセキュリティサポートが切れた PC ほど脆弱ものはないので、Windows10 あげるなと声高に叫ぶのが良いこととも思えないな

2016-04-27

PerlオワコンPerlおっさん用言

perlが出来るのはkent-webcgiで盛り上がってた時代perlを書いていた人たちだけ。

perlコードかける世代はもうおっさんだし、そのおっさん出世してコードを書かない役職についてたりする。

おばさんプログラマー結婚して退社してプログラミングすらしてないだろう。

movable typeとか終わってるよな。

あんなでかいCMSメンテナンス大変だぞ。

20代RubyとかPHPだろ。Perlなんて知らないよ。

開発できる人が減っていけば自然消滅間違い無し。

からgithubリポジトリ公開したんだろうけどさ。

issueもないしperlで書かれたmovable typeってオワコンでしょ。

早いとこrubyやらphpで書きなおしたほうがいいはずだ。

wordperssなら10年後も残っているだろうがmovable typeは消えているだろう。

何故movable type消えるか?

perlで書かれているから。

からperlを覚える若者なんてほぼいない。

今更perlを覚えるメリットが薄い。

今のperlcobolみたいなものだ。

2015-02-23

急募】開発エンジニア

開発内容:アナル拡張業務

開発工期:1ヶ月

作業場所:東京23区

開発予算ASK

使用言語:H++

必要経験エネマグラ優遇

明るくアットホーム職場です。気軽にお問い合わせください。

2014-10-02

我が国は「見て分かる力」を育てるべき

見て分からない人間に言って分からせるのは難しい。こんな言葉がある。「やってみせ、言って聞かせて、させてみせ、 ほめてやらねば、人は動かじ。」。五十六ちゃんの名言だ。

見ても分からない人間に教えるのはかくも難しい。「見て分かるでしょ?」で済む「見て分かる人材」がいかに貴重なことか。

「1を聞いて10を知る」なんてまだまだ有能じゃない。「聞かなくても知る」のが真に有能だ。

人生には無数のシチュエーションがある。本で読んだ知識が通用しない時、頭で考えていた通りにいかない時も沢山ある。「言われなくても知る」には知識や思考だけではダメなんだ。

「見て分かる力」が大事なんだ。そんな「見て分かる力」を持った人こそ「地頭がよい」とみるべきだ。


ところで、程度の差はあれ見て知るのは誰でもやっていることである私たち人間は頭で考えなくても見てある程度学習できる。

いちいち全てを頭で考えていたら頭がパンクする。時間もかかる。忙しい世の中にもついていけない。だから多くの知識は見て学ばねばならぬ。見て分かる力は超重要

重要な力だが個人差は激しい。見ても中々覚えられない人から一発で覚えられる人までいる。見て一発で多くのことが分かる人は極めて少ない。そんな人材を我が国は育てるべきだ。


知識だけで役に立たない人間はいくらでもいる。そこで「生きた知識」って言葉が叫ばれる。臨機応変に使える知識。

そんな知識をつけるにはどうすればいいか?とにかく実践?そうじゃない。沢山実践しても要領をつかめないと意味がない。その要領をつかむために見て分かる力が重要なのだ

「身体で覚える」という言葉は窓から投げ捨てよう。馬車馬のように働くのは御免だ。無駄努力大好きなドMでもない限り。

日本美徳の勤労を「無駄のない勤労」にアップデートすべき。国際競争に勝つためにも、そうすべき時代に来ている。今すぐにも見て分かる力を養成せねば。


見て分かる力は従来の学校教育では育たない。知識偏重は駄目ってことで思考を育てる教育が推進されてる。でも、思考偏重ダメなんだよ。

確かに論理的思考力は情報の真偽や矛盾判断するのに重要だ。また、思考力があれば知識の少なさをかなりカバーできる。だから思考力は育てたほうがよい。

だけど、思考力だけでは臨機応変にはほど遠い。いくら論理を構築しても現実に即していないと意味がない。論理性と実用性の間には解決しがたい隔たりがあるのだ。

なのに思考力ばかりが重視されてしまっている。それも本の知識をもとにした思考が想定されており、現場の知識はほとんど想定されない。

そんなことだから、それに反発して「とにかく実践」を連呼する実践至上主義が出てくる。結果、頭でっかち人間体育会系人間を育てているだけで、本当に必要人材を育てていないのである


そもそもの原因は思考への誤解である思考など人間情報処理氷山の一角なのである。それがよく分かってないから思考偏重になる。

人間はいちいち考えずとも見て沢山の情報を処理している。思考はその一部をピックアップして制限された処理をしてるだけ。

具体的には、使用言語、論理性、興味、好み、道徳性常識先入観といった制限を受けるということだ。

そうした制限とは引き替えに良質な情報が得られるかはともかく、とにかくかなり制限される。仮に良質でも微量では役に立たない恐れがある。


そんな思考ばかりを推進せず、まず現場の実物や実態をよく見たほうが良い。そのほうが現実に即した情報が大量に入る。

この手段世間では「観察」や「直観」と呼ぶ。「観察」だと得られるのは生データであり規則性を認識するニュアンスが弱い。よって、ここでは「直観」という言葉を用いる。

教育学において直観は古くから重視されてきた。しかし、教育制度教育現場ではあまり重視されてこなかった。

思考への過剰な信頼が原因である。今こそ我が国はデカルト象徴される西洋近代合理主義を振り払う時なのだ


スローガンは「見りゃ分かる」だ。この言葉をどんどん使っていこう。「ググレカス」(調べれば分かる)や「頭使え」(考えれば分かる)は抑え目にしていこう。

俗に言われる「空気読め」という言葉や、世の会社で言われる「周り見ろ」という言葉もこの亜種だ。じつに妥当言葉である

ただ、「見ようとしないこと」を非難してはいけない。部下が言うことを聞かないのはあなたが部下を「見ていない」からである

また、「見ても分からないこと」も非難してはいけない。誰でもステップバイステップで成長していくのであり例外はない。適切なステップを与えるのは教育者の役目である

2014-09-03

http://anond.hatelabo.jp/20140902163444

理由くらい書けよ糞が

Windowsだけでしか動かなくてもいいからスタンドアロンプログラムが作りたい → (簡単なことだけでいいなら)C#、(メモリ効率が求められるなら)C++

他のWindowsプログラムがやっていて、多くの方が「できて当然」だと思っていることは、7割くらいであれば.NET(フレームワーク名)を叩けばできます

.NET対応言語C#VB.NET、J#、F#JScript.NETC++/CLIなどがあり、実際の開発においてはこれらの中から自分に合った言語を選ぶことになります

個人的感想ですが、この中で最もゆとり仕様なのはC#です。StackOverflowなどのノウハウが一番蓄積されているのもC#だと思います

「頻繁なアップデートを追跡しないといけない」「Visual Studio必要」という問題はありますが、がんばってください

なお、.NETメモリを食うので、数値計算みたいなことをしたいのであればC++が現状一番まともだと思います。がんばってください

Macプログラムが作りたい → Objective-C

昔のMacプログラムGUICarbonというライブラリで作っていました。今はCocoaというライブラリで作っています

残念なことに、どちらも言語Objective-Cです。がんばってください

ブラウザアプリが作りたい → クライアントJavaScriptサーバは後述

ブラウザアプリは、ユーザWebブラウザ(ChromeFirefoxOperaSafariなど)上で動作するシステムと、遠隔のサーバ上で動作するシステム連携して成立します。

従って、ブラウザアプリを作る言語は、サーバ用言語とクライアント用言語の2種類を考えなければなりません。めんどくさいですね。

ひとたびそのめんどくささを突破してしまえば、Webブラウザさえあればどこでも動くようになります。素晴らしいですね。

クライアント用の言語は、まぁ、JavaScriptしかないと思います。がんばってください

JavaScriptも(正直なところ)あまり褒められた言語ではないので、近頃ではもうちょっとまともな言語を作って、それをJavaScriptに変換する方法が取られたりします。CoffeeScriptTypeScriptHaxeとかですかね。がんばってください

JScriptかいう、名前が紛らわしい上にゴミブラウザ上でしか動かないゴミ未満言語もありますけど、そんなもんで作っても私の環境では動かせませんので悪く思わないでください。

iOSネイティブアプリが作りたい → Objective-CSwift

そもそも選択肢が全くありませんので仕方がないです。がんばってください

Xamarinがあるじゃないかって?まぁそういうのもあるかもしれませんね。がんばってください

Androidネイティブアプリが作りたい → Java

私の勉強不足で、Java以外の選択肢は知らないです。Java以外にあるんですかね?

*NIX用の補助スクリプトを作りたい → PerlPython2、Ruby

Perl使い捨てスクリプトを作るのに適していますCPANクライアントは昔から安定して動きません。だいぶオワコン化してます。がんばってください 私は鞍替えしました

PythonPerlより見た目がすっきりしたPerlです。easy_install・pipはすごく安定していてびっくりします(Windows除く)。3系とかいう邪念は捨てて2系教の悟りを開きましょう。がんばってください

RubyPerl(の処理系ソースコード)より(処理系ソースコードが)綺麗なPerlです。私の手元のUbuntuで「ruby」と入力すると「Command not found.」と返ってくることからも解るとおり、多くの*NIXではOS標準でインストールされておりません。昔のgemは何故あんなにすごい時間をかけてrdocを作っていたのでしょうか。日本人が作ったのでムラ意識の強い日本人の仲間が大勢ます。他の国は知りません。がんばってください

*NIX系のOSでミドルウエア的なものを作りたい → なんだそれ?何を作りたいの?

ゲームを作りたい → どんなゲームだよ…

言語処理系を作りたい → BNF、C

これ以上言語を増やすのはやめましょう。バベルの塔大勢人間が不幸になったのに、それを人間が自ら引き起こしてどうするんですか。

言語処理系を作るのであれば、BNFという言語で文法を定義して、yacc・bisonというツールに食わせればひな形ができます。ぶら下がりelseとの格闘が待ってますが、がんばってください

OSを作りたい → C

1からOSを作った方もいますが、デバイスドライバの流用などを考えると、だいたいはLinuxBSDソースコードを改変するお仕事だと思います

残念なことにLinuxBSDもCです。がんばってください

ブラウザアプリ用のサーバが作りたい → PHPJavaC#Go

昔はCGIと言っていました。所詮は80番ポートでlistenするだけのプログラムであり、BSDソケットをlistenできるライブラリを有する言語であれば何でもいいのですが、いくつかの宗教があります

PHPバンドネオンと同じくらい習得が困難な言語なのに、宣伝の仕方を間違えたために「自分はできる」と勘違いしたプログラマが暴徒と化し、イスラム教と同じくらい不当に低く評価されている言語です。きちんと勉強して使う分には、悪くない選択肢だと思います。がんばってください

Javaは、EclipseNetbeansといった超重量級IDEを起動して、Java EESpringといった超重量級ライブラリ依存したwarを、JbossWebSphereなどの超重量級アプリケーションサーバ上で動作させるため、メモリが貧弱な環境ではIDEサーバを同時に起動すらできません。サーバメモリが潤沢であれば悪くない選択肢だと思います。がんばってください

C#は、選択肢が全くないことを除けば、状況はJavaとあまり変わりません。Microsoftがお好きな方、何かの間違いでWindowsサーバを使わざるを得ない方であれば、悪くない選択肢だと思います。がんばってください

Goはよくわからないですがきっといい言語です。がんばってください

ちなみに増田はcpoll_cppspの勉強中です。がんばります

2014-06-17

素人でもティラノスクリプトスマホ対応RPGを作れるのか実験した

RPGを作るツールといえば、RPGツクールが一番簡単で馴染み深いと思う。

けれど、ツクールだとダウンロード必須だし、スマホプレイすることも出来ない。

昔、FLASHが全盛期の時にプレイしたブラウザRPG(モ○ゲーやG○EEみたいな課金ゲーではなく素人が作ったフリーゲーム

あれを作りたくて、html5ベース作ってみた

ツンデレ妹の学費を稼ぐ勇者な俺

http://kaigaihannou.konkatugo.com/kaigai/?p=36

使用エンジン:ティラノスクリプト

使用言語:html5対応 RPG部分はjava

ジャンル妹萌えコマンドRPG

システム

待を拠点としてダンジョンに進んだりアイテム屋で強化アイテムを買ったりする

比較的単純なフラッシュRPGのような作り。クリックゲーとも言う。

ドラクエ1のような1VS1戦闘で、難易度はやや難。しかレベル上げして強化すればクリア可能。

主人公である勇者ステータス変数で指定(初期ステ)

あとはレベルアップしたら各能力が固定でアップする、といった基本は押さえた。

薬草のようなアイテム武器防具、複数複数パーティーシステムの実装、

素早さによるソートなどは未実装。

魔法は何とか作れた。

・つまづいたところ

javaでの戦闘アルゴリズムが難しかった。ダメージマイナスになると-10のダメージを与えた! みたいになって

敵の攻撃で勇者HP回復するというバグが起こったり、変数指定ミスってフリーズしたり・・・

RPGツクールデフォルト部分がいかに難しいかわかった。

素人ツクール大正義ということだ。

けど、ブラウザで出来る上にスマホでもプレイ出来るのは感動した。

アプリ制作難易度が高いけど、これなら素人でも頑張れば作れるレベルなのでオススメ

脱出ゲームとかなら、もっと簡単に作れるので、かつてFLASHゲームにはまった人は挑戦してみて欲しい。

だいぶ敷居下がってます。俺的な感覚だけど。

2014-05-03

実際のソフト開発の現場で行われているスタイル統一の方法

スクリプト言語系の人がよく挙げるJavaの良さで「スタイルを強制できる」っていうのがありますよね。だから大人数・大規模開発に向いてるって。

口の悪い人は「奴隷用言語」とかいますけど、悪くない人もまあ遠まわしにそう言ってるわけです。

でも、実際の人海戦術的に質は問わないでとにかく人数を投入するような現場で行われてるコードスタイルを統一する手法って、まず少数の「できる人」が一画面分とかのコードを書いて、残りの人がそれをコピペして改変してコードを書くって方法で、オブジェクト指向であるとか静的型の言語であるとか、そういうJava特性とはまったく関係ないところで行われてます

Rubyだろうが、Pythonだろうが言語を問わないで実行できる手法です。

ちょっと考えたらわかりますよね。静的型だからとかフレームワークを使うからとか、そんなことでスタイルを統一できるわけないって。

その昔 C.vs.Pascal の論争でも、Pascal教育用に作られて採点用が楽になるように誰が書いても同じようなコードになるように作られてるって珍説がありましたけど、JavaしろPascalしろ、その言語を使っただけで誰が書いてもおなじようなコードになるような言語存在したら、いまごろその言語が世の中を席巻してますって。

プログラミングにそれほど見識がなくても「Javaスタイルを強制できる」っていうのは間違いだって分かりそうなのに、それなりに技術力のありそうな人がこんな意見を言ってしまうのって、Java生産性が高いって部分は認めたくないけど全否定すると大人げないから「大規模開発に向いてる」ってくらいは言っておこう、遠まわしに奴隷用って言ってるだけだし、みたいな心理なんじゃないかって思ってます

2014-04-22

http://anond.hatelabo.jp/20140422140450

国籍人種民族(あと使用言語)を分けて考える必要があるんだけど日本ではそれが長いこと一致していた(と信じられていた)のでそこを分けて考えることができない。

ログイン ユーザー登録
ようこそ ゲスト さん