タグ

ブックマーク / qiita.com/raccy (6)

  • オブジェクト指向が0.05%も理解できない記事

    尽く書を信ずれば即ち書無きに如かず 《孟子『尽心下』より》 イントロダクション 「最も理想的なオブジェクト指向を実現しているプログラミング言語は何か?」と問われたとき、君は何と答えるだろうか? C++Java、C#。君がそうだと思っているのは表面だけで、たぶん何もわかっていないのだろう。無知であることを知っているのであれば、無知のまま過ごした方が幸せなときもある。 Simula、Smalltalk、Ruby。君は質をいくらか知っているようだから、引き返すなら今のうちだろう。深淵を覗けば、君もまた怪物にならざるを得ない。 JavaScriptPythonGo。君が真剣にそう答えるなら、私とは異なる真理に辿り着けたのだろう。君と私のどちらかが正しいのではない、どちらも常に正しく、どちらも常に間違っている。 Erlang、Elixir。君は既に答えを知っているようだから、この記事は全く以

    オブジェクト指向が0.05%も理解できない記事
  • 規格書で比較するプログラミング言語の複雑さ - Qiita

    言語仕様が一番複雑なプログラミング言語は何だろうか?主観的な意見として、○○の機能があるとか、ないとか、そういう話になるだろう。しかし、客観的に判断するとしたら、どうするべきだろうか? 一つはBNFを用いた比較だろう。しかし、BNFは文法の複雑さの指標になっても、それらが意味するところの解釈の複雑さについては指標にならない。そこで、解釈を含めたその言語仕様を全てカバーしたもの、つまり、規格書を比較すればいいのではないかと考えた。 プログラミング言語によっては国際的な規格書が存在しないものもある。特にオープンソースで開発されている言語では、コミュニティーの合意によって作成された複数の文献によって仕様が形作られているというのもある。なかには、実装がそのまま仕様であり、明文化されていないものもあるだろう。また、仕様自体がHTMLである場合、それがどれぐらいの量であるかを把握するには難しい(各ペー

    規格書で比較するプログラミング言語の複雑さ - Qiita
  • CoffeeScript 2という新たなる希望 - Qiita

    CoffeeScriptは滅びぬ!何度でも蘇るさ! CoffeeScriptがいかに駄目かを理解している皆さんならご存じの通り、これまでのCoffeeScriptには重大な欠点があった。それは「CoffeeScriptはECMAScript5(ES5)のaltJSである」と言うことだ。ES5以前のJavaScriptが駄目すぎるため、そこがCoffeeScriptの限界になってしまっていた。駄目な奴は何をやっても駄目なのだ。 ECMAScript2015以降(ES2015+)において、JavaScriptは目覚ましい発展を遂げた。ジェネレーター、テンプレートリテラル、class構文、モジュールベース、async/await等多くの機能が追加された。いくつかの機能は既にCoffeeScriptに存在していたものであったが、ジェネレーターのような全く無い物は新たに追加する必要があった。しかし、

    CoffeeScript 2という新たなる希望 - Qiita
  • Railsしかできない奴はいつまで経ってもRailsしかできない - Qiita

    あと5年もすれば「Railsしかできない奴はいつまで経ってもRailsしかできない」て言われるようになるよ - ledsun のコメント / はてなブックマーク 5年と言わず、今すぐ言おう。 流行りだと言われてRailsをやってみることにする。 Railsチュートリアルを一通りやる。 それなりの物ができる。 チュートリアルに毛が生えた程度はできる。 他のフレームワークに挑戦してみる。 Sinatraやってみたけど、Rubyの基礎がわかってないから、挫折する。RailsがあればSinatraなど不要と言って、Sinatraを貶す。なお、RailsとSinatraの違いはわかってない。 いっそ、他の言語に挑戦してみる。 Javaやってみたけど、オブジェクト指向の基礎がわかってないから、挫折する。Smalltalkこそがオブジェクト指向の流であり、C++風のオブジェクト指向は似非と言って、Ja

    Railsしかできない奴はいつまで経ってもRailsしかできない - Qiita
  • JavaScriptから即時関数を排除する - Qiita

    即時関数は関数式で関数を作ったら、即時に実行する関数のことです1。JavaScriptでは有名なテクニックの一つですが、他の言語ではほとんど見かけません。まず始めに、なぜ即時関数が必要だったのかを説明し、そこからいかにして即時関数を取り除くかを考えます。 JavaScriptに即時関数が必要な理由 ES52以前のJavaScriptには次のような問題がありました。 グローバルスコープか関数スコープの変数しかない。 モジュールベースではない。 厳格モードへの切り替えが単なる文字列に過ぎない。 これを踏まえて、即時関数を使わざるを得ないところを見ていきます。 1. スクリプト全体を即時関数で囲む どんなプログラミング言語であれ、一つのファイルに全てを書いていくことは現実的ではありません。いずれJavaScriptを複数のファイルに分割して書いていく必要があるでしょう。そのとき、グローバル汚染が

    JavaScriptから即時関数を排除する - Qiita
  • JavaScript初級者のためのコーディングガイド - Qiita

    JavaScriptは大変難しい言語です。Rubyの難易度を2、Cの難易度を5、C++の難易度を8にすると、JavaScriptの難易度は12ぐらいあると思います。このコーディングガイドはそんなJavaScriptの深みに嵌まらないようにするためのJavaScriptの書き方を規定したものです。初級者1のための物ですので、わかってやっている人に好きにやってください。 このコーディングガイドは絶対に従わなければならないものではありません。私は一切強制はしませんし、初級者が従わなければならないという義務もありません。採用するしないはみなさんの自由です。 禁止編 JavaScriptには安易に使用してはいけない機能があります。下記の機能は、それぞれの機能を使っても良い、または、使うべきであるという理由を説明できない限り、使用してはいけません。 ==、!= ==と!=を使用してはいけません。代わり

    JavaScript初級者のためのコーディングガイド - Qiita
  • 1