とりとめのないことを書いております。
by tempurature
カテゴリ
全体
プログラミング
scheme
verilog
未分類
以前の記事
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 03月
お気に入りブログ
PHPで競技プログラミング
メモ帳
最新のトラックバック
ライフログ
検索
タグ
その他のジャンル
ブログパーツ
最新の記事
情報処理技術者試験 お疲れ様..
at 2016-04-17 18:55
基本情報技術者試験 平成27..
at 2016-04-14 04:48
基本情報技術者試験 平成27..
at 2016-04-13 23:03
苦い薬(ハーブ、サプリメント..
at 2016-04-09 14:03
「おバカ度チェックリスト」を..
at 2016-03-24 09:54
外部リンク
ファン
記事ランキング
ブログジャンル
画像一覧
【racket】set!-valuesの例
set!-valuesの例

(define winner "men")
(define loser "women")
(define (swap!) (set!-values (winner loser) (values loser winner)))
(define (report) (string-append winner " beat " loser "."))

> (report)
"men beat women."
> (swap!)
> (report)
"women beat men."

[PR]
# by tempurature | 2015-07-24 00:03 | scheme
いろいろな言語に同じことをさせてみるサイト
racketのブログで取り上げてたので、紹介しておきます。

rosetta code (ロゼッタコード)

<概要の訳出>
Rosetta Codeはprogramming chrestomathy(プログラミング同人)のサイトです。このサイトのポリシーは、できるだけ多くのプログラミング言語に同じタスクをやらせてみて、プログラミング言語の共通点・相違点を明らかにすることです。また、1つの方法に縛られている人にとって、違うやり方を勉強する手助けにもなります。Rosetta Codeには現在773のタスクが用意されており、作成中のタスクが165あります。そして、Rosetta Codeでは、部分的に解答が用意されているものも含めると、582のプログラミング言語を確認しています。


[PR]
# by tempurature | 2015-07-23 23:11 | プログラミング
プログラミング初心者のためのUNIX入門
世の中にはWindows以外にもMacOS, GNU Linux, FreeBSD, SolarisなどのOSがあります。

ここであげた4つのOSはUNIX系OSとよばれており、Windowsよりもコマンドライン機能が優れているという特徴があります。プログラミング関連の書籍の中には、UNIXについての知識が必要となるものもあるのでここで、UNIX環境の導入方法を紹介します。

たとえばC言語を習得したい場合、カーニハン&リッチー著「プログラミング言語C」で学習するのが一般的ですが、C言語はUNIXの基幹言語であるためUNIX環境を用意しなければ習熟は困難となります。

また、perl, ruby, pythonなどの言語はUNIXのシェルスクリプトと深い関係にあるのでWindowsよりもLinuxで環境を整えた方が自然で、簡単です。

Lisp, OCaml, Haskellなどのマイナー言語についてもWindowsよりもLinuxのほうが効率がいいです。


UNIX系のOSをWindowsマシンに導入する方法は主に3つあります。

①WindowsマシンにデュアルブートでOSをインストールする
 - ハードディスクの空き領域にパーティションを割り当てて、
  OSをインストールします。起動するたびにOSを選択しなければならない、
  2つのOSを同時に使うことができないといった理由から最近では
  あまり使用されない方法です。

②Cygwinをインストールする
 - CygwinはUNIX系ツールをWindowsで使用できるようにしたもので、
  立ち上げ時間が速いという特徴があります。
  ただし、拡張性にはかけます。

③仮想化ソフトをインストールする
 - 仮想化ソフトはWindows上でOSをエミュレートするためのもので、
  有名なものにVMwareとVirtualBoxがあります。
 - WindowsとUNIX系OSを同時に使用することができます。
 - また、拡張性も高く、OSをマシンに直接インストールするのと
  ほとんど同じレベルのことができます。
 - ただし、マシンリソースを消費し、立ち上げ時間もかかります。
  (物理コア数が4以上のCPU、4MB以上のメモリがないと
   厳しいです)
 - 初心者の人は32bit版Ubuntu(Linuxディストリビューションの1つ)
  をインストールしましょう。


②と③を両方実施することをおすすめします。とにかく、OSに対する
アレルギーを取り除きましょう。


[PR]
# by tempurature | 2015-07-13 19:57 | プログラミング
プログラミング入門
あなたのプログラミングの動機はなんでしょうか?

・Windowsの本格3Dゲームを作りたい
 必要な知識:C++, DirectXまたはOpenGL
 難易度:4(やってもいいけど、他のことから始めることを強く勧める)

・Windowsのちょっとしたゲームを作りたい
 必要な知識:C#, Unityなど
 難易度:2

・メーラー・ブラウザ・表計算ソフトなどを作りたい
 必要な知識:C++
 難易度:5(絶対できない)

・テキストエディタを作りたい
 必要な知識:C++
 難易度:3(意外に難しい)

・Androidアプリを作りたい
 必要な知識:Java
 必要な機材:デバッグ用端末(Google Nexusが望ましい)
 難易度:3

・Webアプリを作りたい
 必要な知識:PHP, Javascript, HTML, CSS
 難易度:3

このような感じでしょうか?VBA, R, MATLABがやりたくてプログラミングを志す人はいないと思います。プログラミングをやる上で重要なことをまとめます。

① これと決めたら3ヶ月は続ける
       - あなたが今やっていることが、あなたに向いているのかどうかは分かり
        ませんが、プログラミングは1日ではできません。本でもサイトでも
        いいので、3ヶ月は続けてみてください。
       - 裏を返すと、気軽にプログラミングの勉強を開始して欲しくないという
        ことでもあります。始めようとしていることが、標準的にはどの
        くらいの期間で終わるのか、それは本当に初心者向けなのか、標準的な
        方法なのかはきちんと調べないといけないです。
       - あなたがもし職業プログラマになりたいのであれば、本当にプログラマ
        になることが最良の選択なのかをよく調べて、考えてください。
        プログラミングの才能だけではプログラマになることはできません
        (Joel on Softwareを読むのがいいでしょう)。

    ② できるだけ無料で済ませる

       - プログラミングの書籍は、初心者にとって選定するのが非常に困難です。
        20年前であればプログラミングの学習は本で勉強するものでしたが、
        今はインターネットのサイトで勉強するのが主流です。
       - プログラミングの書籍の中には、本と同じ内容のものがインターネットに
        アップされているものがあります。これは誰かが違法にアップロード
        しているものではなく、そういう喜捨の文化だからというのが主な理由
        です。本を購入する前にタイトル名で検索してみましょう。
       - プログラミングの書籍が自分のやりたいこと、自分のレベルに合って
        いるかを見極めるのは非常に難しいです。
       - MicrosoftのVisualStudioは、最初に製品版(有料)のページが表示され
        ますが、探せば無料のものも提供されています。
        (今の世の中は基本的に知らない人が損をするようにできています)
       - 本は、書いてある分量がある程度分かりやすいというメリットがあります
        が、インターネットのサイトはそうではありません。インターネットの
        サイトで学習する際の私のお勧めは、サイトの目次をExcel等に書き
        写してしまうことです。また、文字数カウントのアドインをブラウザに
        インストールして活用しましょう。
    c0364169_16575327.png












    ③ デュアルディスプレイが理想
       - プログラミングをする際、IDEの他にブラウザを開いて調べものを
        することが多いです。PCのスペックはそれほど高くなくても
        構いませんが、ディスプレイは2台使えると効率が格段に
        向上します。

    ④ おごらない

       - プログラマの能力として、速くコーディングできる、
        色々な分野でソフトを作成できるといったことは
        あると思いますが、所詮学校の勉強と同じで、誰でもできることです。
        俺スゲーとおもっても周りに吹聴しないのが、後々のためです。
       - プログラミングの学習はできるだけ簡単な言語から始めてください。
        Windowsの場合はC++ではなく、C#やJavaなどから始めるのが
        ベターです。このアドバイスを守れている人は少なく、そのため
        大抵のプログラマが損をしています。
       - プログラミングの学習をできるだけ簡単な言語から始める理由としては
        以下のことが考えられます。
         i. 難しい言語の習得には非常に大きなエネルギーが必要であり、
          習得が容易だといわれている言語でさえ、思っているほど容易では
          ない。
         ii. 言語を習得している途中では成果が全くでないので、心が折れる
          (分かりづらいですが、非常に重要なポイントです)

    ⑤ 他人と比較しない

       - 他人と比較するとつらくなります。自分が決めた目標をクリアできたか
        どうかを気にするようにしましょう。


    プログラミング初心者のためのUNIX入門に続きます


    [PR]
    # by tempurature | 2015-07-13 17:56 | プログラミング
    外部リンク一覧
    このブログの外部リンクのうち、RSSフィードに対応していないページの一覧です。


    [PR]
    # by tempurature | 2015-07-11 05:12