タグ

ProgrammingLanguageに関するpokutunaのブックマーク (21)

  • Shibu's Diary: 関数型言語を広めるためには何が必要なのか?

    By plushoff under CC BY-NC 山口さんから、「Java開発者のための関数プログラミング」の電子献をいただきました。ありがとうございます。電子書籍便利ですね。アメリカにいても日語のが手に入る!しかも、すごいこなれた日語になっているし、注釈もばっちりついて読みやすいです。仕事のできる男の風格を感じます。 人のブログ: http://ymotongpoo.hatenablog.com/entry/20120621/1340233739 オライリーの書籍ページ: http://www.oreilly.co.jp/books/9784873115405/ このを楽しく読んでいたところ、山口さんから別の面白いリンクを教えてもらいました。 Why OO Sucks (なぜオブジェクト指向はクソなのか) Erlangの開発者のJoe Armstrongの記事です。当は

  • Programming Languages Influence Network | Exploring Data

    Loading the data may take a while, please be patient... Graph Navigation You can zoom in and out the graph with the mouse wheel. You can move the graph by clicking and holding the left mouse button and moving the mouse. Language Information When you click on a language node in the graph a modal window with information about the language will be displayed. Language Search Search for a language name

  • 橋本商会 » プログラムの写経

    プログラミング初心者が写経する時に気をつけると良い事を4つ説明します。 画像はイメージです プログラムを勉強する時に、写経しろ(すでに完成しているプログラムをから書き写せ)とか言われるが、ちょっと意識するとだいぶ違うと思う 1. 外から書け 例えば、1からnまでの数字を全部表示するプログラムがあるとする。 def run(max) 1.upto(max).each do |i| puts i end end run(10) これを写経する時、上から下に1行目から順に書くのではなくて、まず def run(max) end いちばん外側を書いて def run(max) 1.upto(max).each do |i| end end 中を書いて def run(max) 1.upto(max).each do |i| puts i end end こうなる。 上から書かないのが重要。プログ

    橋本商会 » プログラムの写経
  • JSX - a faster, safer, easier JavaScript

    JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers. Being developed at DeNA as a research project, the language has following characteristics. faster JSX performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. The gain may vary, but even the optimi

  • 言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー

    Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初

    言語女子会: undefとnullは両方必要? - 西尾泰和のはてなダイアリー
  • 自動微分 ≪フォワード・モード≫ - d.y.d.

    23:21 11/12/22 今年読んだ面白コンピュータサイエンス論文紹介カレンダー 第 n (1<n) 週目モードです。 ☆ 「難しい問題」 ☆ 「名のない関数」 ☆ 「演算のせいしつ」 「難しい問題」 [5] R. Impagliazzo and L. A. Levin. "No Better Ways to Generate Hard NP Instances than Picking Uniformly at Random." FOCS 1990. ランダム生成に興味があります。 パズルゲームを作りました。 さて、手強い難易度の面データを無限にランダム生成するにはどうすればいいだろう。 プログラミングコンテストの問題を作りました。 さて、自動チェック用のテストデータをランダム生成するにはどうすればいいだろう。 適当なランダム生成では、簡単なケースばっかり作られてしまい 嘘解法 に突

    自動微分 ≪フォワード・モード≫ - d.y.d.
  • 「実のところ、全てを備えていない言語 の方がプログラミングは簡単である」 デニス・リッチー “A language that doesn’t have everything is actually easier to program in than some that do.” – Dennis Ritchie 1 �

    「実のところ、全てを備えていない言語 の方がプログラミングは簡単である」 デニス・リッチー “A language that doesn’t have everything is actually easier to program in than some that do.” – Dennis Ritchie 1 ソフトウェアスタックはどんどん 深くなっています。 The software stack is growing ever deeper. 2 プログラマのキャリアはローレイヤの 周辺だけに留まらなくなりました。か といって、LLなどのハイレイヤだけが それにとって変わったわけではありま せん。 そう、今は「ブラウザ」という領域が あるのです。 Programmers can spend an entire career in not just user-space... no

  • ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記

    ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を用いずに)書くときに役立ちます. ふつうに書いたら煩雑な処理を, 関数型言語のやり方で書くとすっきりすることが多々あり, コードを自由自在に書くためには必須の考え方と言えるでしょう. 項 ラムダ計算の式を項(term)と言います. 項は変数, 抽象, 適用のいずれかです. 変数 変数(variable)はふつう1文字で書きます. 変数には関数内の束縛変数(bound variable)か自由変数(free variable)かという区別があり

    ラムダ計算基礎文法最速マスター - 貳佰伍拾陸夜日記
  • Programming Language Checklist | Colin McMillen

    Programming Language Checklist by Colin McMillen, Jason Reed, and Elly Fong-Jones, 2011-10-10. You appear to be advocating a new: [ ] functional [ ] imperative [ ] object-oriented [ ] procedural [ ] stack-based [ ] "multi-paradigm" [ ] lazy [ ] eager [ ] statically-typed [ ] dynamically-typed [ ] pure [ ] impure [ ] non-hygienic [ ] visual [ ] beginner-friendly [ ] non-programmer-friendly [ ] comp

  • Kotlin | The Kotlin Blog

    IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am

    Kotlin | The Kotlin Blog
    pokutuna
    pokutuna 2011/07/21
    ことりんでいいのかな
  • 「CやC++の速度面における優位性は今後なくなる」という話

    Koichi Nakamura @9_ties 「CやC++の速度面における優位性は今後なくなる」というかむしろ他の言語に追い越されると思っているけど、ちゃんとその根拠を整理してみよう。 2011-05-20 00:25:27 Koichi Nakamura @9_ties CやC++はメモリ最適化と自動並列化が他の言語に比べて難しいから、ヘテロジニアスマルチコア向けの最適化がうまくできないというのは良いと思う。で、ハードウェアがどの程度上手く自動化してくれるか?が問題。ここの効率が良いなら別に言語は何でも良い。 2011-05-20 01:05:17

    「CやC++の速度面における優位性は今後なくなる」という話
  • 実用品としてのプログラミング言語と、嗜好品としてのプログラミング言語 : mwSoft blog

    Scalaをdisるのが流行ってるらしいので、自分も混ざってみた。半ば自虐気味。 プログラミング言語に対する接し方には、2種類がある。1つは処理を実現する実用品として。もう1つは愛でるための嗜好品として。 多くのライトなプログラマは、言語を実用品としての視点のみで見ている。 「簡単?」「難しくない?」「覚えやすい?」「ちゃんと動く?」「安定してる?」「速い?」「流行ってる?」「廃れたりしない?」「仕事で使える?」「ライブラリ揃ってる?」「Webで使える?」「ゲーム作れる?」 そんな基的なことに注意を向けている。 いくつかの新進の言語は、その言語に対する予備知識がゼロの状態でググッた際に、嗜好品としての美しさがまっ先に目に入ることがある。 「見ろ、この流線型を」「まるで飛行機を思わせる」「今にも飛び出して行きそうじゃないか」「まさに跳ね馬の名に相応しい」 うん、それは分かった。でも僕は、君

  • ReadWrite - IoT and Technology News

    Anthropic, a safety-first artificial intelligence (AI) company partially owned by Amazon, has announced a new…

  • プログラマがC言語にこだわるべきでない0番目の理由 by Inquisitor

    新しいプログラミング言語を作りたいと思ったら、そのプロトタイプはCのような低級言語ではなく、高級言語で実装したほうがいいのではないでしょうか。もちろん実行時のパフォーマンスなどのために、最終的にC言語で実装するということはあるかもしれませんが(相対的な話ではありますが、C言語を低級あるいは低水準と呼ぶのが許せないという人は、K&Rの1ページ目を参照してください。日語訳では「はじめに」のp.2です。)。 Cは比較的“低水準”の言語である。この性格付けは非難の意味を込めているのではない。これは単に、Cが普通のコンビュータで扱う種類の、すなわち文字、数、アドレスを扱えるようになっているという意味である。もちろん、これらのデータを組み合わせて、現実の機械で実行されるような普通の算術論理演算でいろいろな処理を行なうことができる。(p. 2) 以下、題 プログラマがC言語を学ぶべきたった一つの理由

    プログラマがC言語にこだわるべきでない0番目の理由 by Inquisitor
  • Matzにっき(2008-01-29): PHP使いの反論

    << 2008/01/ 1 1. 年賀状 2. ゴビウス 3. [Ruby] ZSFA -- Rails Is A Ghetto 2 1. 新年会 3 4 1. The Mythical 5% 5 6 7 8 1. [言語] Substroke Design Dump 2. [言語] A programming language cannot be better without being unintuitive 3. [OSS] McAfee throws some FUD at the GPL - The INQUIRER 9 1. [言語] Well, I'm Back: String Theory 2. [言語] StringRepresentations - The Larceny Project - Trac 10 1. [Ruby] マルチVMでRubyを並列化、サンと東大

  • クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー

    某所のチャットで話題になって、流れ去りそうだったのでもったいないから転載しておいた。事後承諾で。 MIYAMOTO Daisuke: 型の継承と実装の継承を区別する方法がないんだよな。 西尾泰和(nishio.hirokazu): 型を継承させずに実装を継承させたい→それ移譲で ってことかな? MIYAMOTO Daisuke: そそ。そもそも、クラスに「型としての役割」と「実装としての役割」という複数の責務があることに、俺は長い間気づかなかった。これに気づかないと、型継承と実装継承が頭の中で整理できない。 西尾泰和(nishio.hirokazu): 僕が最近気づいたことも加えると、クラスには「ユーザ定義型」「インスタンスを作成する道具」「実装の再利用の単位」という3つの役割がある。 MIYAMOTO Daisuke: あぁ、インスタンスの生成器ね。 西尾泰和(nishio.hiroka

    クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー
  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • 観察日記 2010-10-04 - なるせにっき

    静的型と動的型 静的型と動的型をまぜまぜした言語ほしい Common Lisp? もっとまともな言語で syntax は Ruby でいい 欲をいえば一部 ScalaScalaをCで書けば解決? Scala は動的型が全然ないからダメ あと個人的な趣味だけどベースは Ruby の syntax の方がいい Cであらゆるvoid *でうければいいよ 値に型は欲しいです…… def foo(a as Fixnum, b as String) as NilClass こんな感じですか しかも省略も可能 : でいいよ キーワード引数で泣くけど CommonLisp だと型は盲目的に信じる Scalaだと,全部書かないといけないから(推論できるところ以外)型検査が出来る どっちが良い? 型が書いてあるところだけ型推論するのが流行りです soft-typing 以来ほそぼそと続いてる話だけど そ

    観察日記 2010-10-04 - なるせにっき
  • 言語設計者たちが考えること - 書評 - Masterminds of Programming : 404 Blog Not Found

    2010年09月21日18:00 カテゴリ書評/画評/品評Lightweight Languages 言語設計者たちが考えること - 書評 - Masterminds of Programming オライリー社の担当編集者赤池様より献御礼。 言語設計者たちが考えること Mastermind of Programming Federico Biancuzzi / Shane Warden 伊藤真浩 / 頃末和義 / 佐藤嘉一 / 鈴木幸敏 / 村上雅章訳 [原著:Masterminds of Programming] ソフトウェアに関する人文系書籍としては、間違いなく最重要の一冊。今後これなしでソフトウェアに付いて語ることは慎まれるであろう。 このような重要な一冊に査読者としてお手伝いできたことは、光栄としかいいようがない。 書「言語設計者たちが考えること」、原著"Masterminds

    言語設計者たちが考えること - 書評 - Masterminds of Programming : 404 Blog Not Found
  • Origin of C Language

    C言語は、C++やC#など「C」を名乗る言語はもとより、 1990年以降に盛んに使われるようになった各種言語の多くの源流とされている。 では、このC言語自身の起源はというと、 一般には下記の系譜であると理解されている。 ところが、 「C言語の構造体をめぐって」を まとめるに際して調べてみたところ、 この系譜は事実の記述としてあまりにも一面的であり、 系譜として「不適切」であると断言しても良いほどであるということが判った。 このことは、「C言語の構造体をめぐって」の 2005年5月2日以降の版(この文章の初稿公開日まで)にも簡単に記載していたが、 これを独立させて詳論してみることにした。 CPLを起源とする系譜が如何に「不適切」か まず結論を簡単にまとめておくと、以下のようになる。 B言語がBCPLから受け継いだものは、 非常に重要な側面ではあるものの、B言語の特徴の一部分に過ぎない。 BC