タグ

プログラミング言語に関するkei-cgodのブックマーク (36)

  • C/C++に疲れた人のD言語 - ...ing wiki

    Hello, world! † まずはこれを書かないと始まらないのです.標準出力に"Hello, world!"と出力するプログラム. import std.stdio; int main(char[][] args) { writef("Hello, world!\n"); return 0; } 実行結果 Hello, world! #includeの代わりにimportでモジュールを読み込み プリプロセッサはない Cと同じくmain関数がプログラムのエントリポイント mainの引数はchar[][](文字列の配列)が使える.他にもいろいろある void main() int main() writefで標準出力に文字列を出力 printfも使用可能(何もimportしなくても使えた) ↑ 標準入出力とif † 今度は標準入出力に std.cstream モジュールを使ってみます. i

  • 私がScalaを選んだ理由:CodeZine

    はじめに 最近自分の中でScalaという言語が熱い。RubyPython等のスクリプト言語や、JavaやC#等現在のエンタープライズ領域を支える言語、HaskellやErlangといった関数型言語もある。そんなにいっぱいいい言語がある中で、なぜ今Scalaなんだろう? そんな理由を解説してみたいと思います。Rubyの生産性 ここ数年LLブームで、とりわけ日でのRuby人気は目覚ましいものがあります。実は筆者もRubyはとてもお気に入りです。最初に触り始めた頃は、「Rubyはいいよ」という話だったので勉強がてら小さなサンプルを作って遊んでいたのですが、その頃は「楽しいな」「気持ちいい言語だな」という程度であまり熱心にやっていませんでした。なぜなら私は「仕事で使える」ということを非常に重視するタイプだからです。 その認識が一変したのがRubyによるWebアプリケーション開発のプラットフォー

  • 数理科学的バグ撲滅方法論のすすめ---目次 | 日経 xTECH(クロステック)

    筆者 住井 英二郎 「プログラミング言語理論」という研究分野がある。この分野の研究者たちは,「ML」「Haskell」「Scheme」あるいは「λ計算」「π計算」(円周率計算のことではない)など,多くのプログラマにとっては聞いたこともない言語やモデルについて,日夜研究している。ただ,そのような言語は「難しい」「役に立たない」などと思われがちだ。 この連載では,こうしたプログラミング言語やソフトウエア科学の様々な研究を,できるだけ普通のプログラマやエンジニアにもわかりやすく(どちらかといえば理論よりも実用に重点をおいて)紹介していく。 更新は毎月第2水曜日(1月のみ第3水曜日)

    数理科学的バグ撲滅方法論のすすめ---目次 | 日経 xTECH(クロステック)
  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • Haskell のお勉強

    Haskell は関数型プログラミング言語の”標準語”として、1990 年に 誕生 (Haskell 1.0) した比較的新しい言語です。 その後、1999 年に安定した言語定義 Haskell 98 が制定され、 徐々に知名度が高くなっています。 しかし、まとまった日語の解説がほとんど無いので、 簡単な解説記事を書いてみました。 目次 Haskell とは プログラムを動かす 関数を定義する 型 入出力 Haskell で最小二乗法 自前の data と class Monad 探索 種々のデータ構造 Module 詰碁を解く

  • Pythonを始めよう:CodeZine

    はじめに こんにちわ、hirataraです。 稿では、オブジェクト指向のスクリプト言語であるPythonの紹介をしたいと思います。と言っても、実は私がPythonを勉強し始めたのは数ヶ月前のことで、まだPythonに関してさほど詳しいとは言えません。それでもこの記事を書こうと思い立ったのは、ある言語が他の言語に比べて面白い部分と言うのは、その言語にどっぷり漬かってその言語を使うことが当たり前になっている人間よりも、その言語を好きになり始めたくらいの人間の方が見つけやすいのではないかという思いからです。 そのような事情で、もしかすると当のPythonistaからお叱りを受けるような内容も含まれるかもしれませんが、その点はTBやコメントでご教授頂けると幸いです。この記事で、少しでもPythonに興味を持ってくれる方が増えることを願っています。対象読者他言語でのプログラミング経験者Pytho

  • スクリプト言語の比較

    スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し

  • 速攻MinCamlコンパイラ概説

  • Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT

    プログラミング言語処理系の実装 Ajaxなどによりスクリプト言語のJavaScriptの良さが見直されたり、Railsの出現によりプログラミング言語Rubyへの注目度が高まったりしています。これだけプログラミング言語が注目されるようになってくると、独自のプログラミング言語を作成したいと考える開発者も増えてきていることかと思います。 コンパイラ作成を勧める3つの理由 Javaなどのプログラミング言語を使えるようになって、自分が作りたいプログラムを自由に作成できるようになってくると、既存のソフトウェアでも簡単なものを自作してみたくなるものです。せっかくプログラムを組めるようになったのですから、いろいろと自分で作ってみたいと思うのは当然です。中でも、プログラミング言語処理系は一度は作成してみたいと思うでしょう。 一般のコンピュータ利用者と違って、開発者は日ごろからコンパイラやインタプリタを使って

    Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT
  • 総論 複数のプログラミング言語を学ぶ意義 - フリー言語で真のプログラミングを学ぶ:ITpro

    ネットワーク応用通信研究所 特別研究員。島根の田舎に住みながら国際的なオープンソース・ソフトウエアの開発に挑むプログラマ。家族6人で幸せな田舎暮らしを満喫している。バグと原稿の締め切りがなければもっと幸せなのに,と思いつつ,考えてみれば,それらがないならないで,別の困ったことがあるよなあと思う今日このごろ。 皆さんは「サピア・ウォーフ仮説」をご存じでしょうか。これは言語学における古典的な仮説の一つで,「人間の思考は使用する言語とそれに付随する文化に影響を受ける」というものです。もし仮に数字を3までしか持たない言語があったとすると,その言語を使用する文化に生まれ育った人間は3以上の数を認識できない,といったことです。言語学的にはこの仮説は否定されているようですが,日常生活の中では,この仮説が当ではないかと感じる経験がたびたびあります。 例えば,私は年に数回海外に出張して講演をする機会があり

    総論 複数のプログラミング言語を学ぶ意義 - フリー言語で真のプログラミングを学ぶ:ITpro
  • 404 Blog Not Found:電脳言語を嫁に例えると....

    2007年06月13日02:20 カテゴリLightweight Languages 電脳言語を嫁に例えると.... Dave Thomasにインスパイヤされて。 日 Ruby 会議 2007 - Log0610-S5 なぜRubyを愛しているのか - それは難しい質問だ。 なぜ奥さんを愛しているのか簡単には答えられないよね。 なお、「」となっているのは、私がたまたま「夫」だから。他意も鮃もございません。 以下、アルファベット順。夫に例えばバージョンや他の言語は読者の皆さんにおまかせします。 C 不器用 でも子だくさん。 他の嫁達の多くが、彼女の娘。 不器用だが、一番きつい仕事もしてくれるので、未だに娘達が家事を押し付けに実家にやってきたり。 C++ Cが高齢出産した娘 英才教育を受けたが、親の期待が大きすぎたのか、妙な行動を取る事も多く、美人なわりにもてなかった。 しかし親を吹っ切れ

    404 Blog Not Found:電脳言語を嫁に例えると....
  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • わかったつもりになるD言語

    はじめに 2012年5月現在、最近、このページはあまり更新できていません。すみません m(_ _)m。 D言語友の会 が、長期間ちゃんと更新されている D 言語関係の日語サイトとしておすすめです。 こんにちは。ここは、プログラミング言語 D (D Programming Language, 通称D言語)を紹介するサイトです。 すでに Java など一般的なプログラミング言語の経験がある読者を前提として書かれています。 一部古いページを除いて、基的に、D 2.x 系統の言語仕様をベースに解説しています。 → 更新情報は RSS で 目次 1. Dってどんな言語? サンプルコード色々 D言語を大きくカテゴライズすると、「C風の構文を備えた」 「静的型」の「ネイティブコンパイル」言語と いうことになります。オブジェクト指向やテンプレートメタプログラミングなど、 幾つかのパラダイムをサポートし

  • Erlang Land

    電話会社エリクソンの研究所で作られた言語「Erlang」についてしばらく調べてみようと思います。読み方はたぶん"あーらん"で。 リアルタイム処理や誤り検出が可能で組込用途に使われていて、並行処理の記述も可能、 ML や Haskell、Clean などに代表される関数型プログラミング言語の一種である、 と、見た目なかなか盛りだくさんな感じ。さてさて。 ご意見・間違いの指摘等大歓迎。 インストール 概観1 概観2 * 変数 構文の基 データ構造 * パターンマッチ1 パターンマッチ2 パターンマッチ3 関数定義 落ち穂拾い メモ プロセス1 * プロセス2 インストール (2003/04/09) Open Source Erlang のページから、 ソースやメジャーなOS用のバイナリが手に入ります。異様にデカいので、 回線の細い方には厳しいかもしれません。Windowsの場合、 落としたイ

  • 僕もErlangを試してみたよ -- 軽量プロセスを中心に - 檜山正幸のキマイラ飼育記 (はてなBlog)

    えっ、Erlang(アーラン)を紹介するのが流行なの? フーン、じゃ僕もやってみよう。 というわけで、ちょっと試してみたので、感想+解説を書きます。あまり他で触れられてないようなネタを選ぶつもり。 内容: 予備知識への参照 構文はPrologじゃん ランタイム・システムとEシェル で、Erlangって何がいいのよ? 繰り返しとプロセス メッセージング=プロセス間通信 最後の例題:greetingプロセス もう一度、Erlangって何がいいのか? ●予備知識への参照 HelloWorldを書くまでの案内は: 「これから15分でErlangを始めるための資料」(http://blog.overlasting.net/2007-05-09-1.html) Erlangの特徴は、次のスライドによくまとまってます。 "Concurrent Functional Programming with Er

    僕もErlangを試してみたよ -- 軽量プロセスを中心に - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • azito.com

    This domain may be for sale!

  • Home - プログラミング言語 D (日本語訳)

    #!/usr/bin/rdmd // Computes average line length for standard input. import std.stdio; void main() { ulong lines = 0; double sumLength = 0; foreach (line; stdin.byLine()) { ++lines; sumLength += line.length; } writeln("Average line length: ", lines ? sumLength / lines : 0); } Standard input Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tristique rutrum sem, nec convallis enim bibe

  • Erlangは関数型だけど難しくない - みかログ

    Erlangで簡単なアプリまで書けるくらいになったので,感想を. 関数型言語というと,Lisp,Haskellなどがあって,どれも難しいイメージ. Erlangもはじめは結構覚えるの大変かなぁという印象があった. Lispは括弧だらけでまず見た目から拒否反応が起こる. HaskellはふつうのHaskellとか読んでみたけど,遅延評価やモナドがやはり難しいイメージ. 今までのように,書いた順番に実行されるという点が違ったり,デバッグするときに好きなときにprint入れたり出来ないのは,やっぱりかなり影響が大きい. ※追記:unsafePerformIOって関数で無理矢理printさせたりできるらしい.危険らしいけど(^^; その点,Erlangはそういう難しさが全くなかった. 書いた順番に普通に実行されるし,副作用がどうとか気にする必要も無し. エラー時は(見にくいけど)スタックトレースが

    Erlangは関数型だけど難しくない - みかログ
  • On Lisp邦訳 - 野田 開のウェブ・サイト

  • Index - Erlang/OTP

    fact(0) -> 1; %% Pattern matching for control-flow fact(N) -> N * fact(N-1). %% Recursion to create loops > example:fact(10). %% Interactive shell for fast iterations 3628800 > [{I, example:fact(I)} || I <- lists:seq(1,10)]. [{1, 1}, {2, 2}, {3, 6}, {4, 24}, {5, 120}, {6, 720}, {7, 5040}, {8, 40320}, {9, 362880}, {10, 3628800}] > Fruits = ["banana","monkey","jungle"]. %% Immutable variables ["bana

    Index - Erlang/OTP