ブックマーク / qiita.com/hinastory (5)

  • Re:FizzBuzzから始めるRust生活 - Qiita

    新しいプログラミング言語に入門するためには、やはり手を動かすことが大事です。を読んで体系的に学ぶのももちろん重要ですが、それは言語の魅力を知ってからでも遅くはありません。 しかし「Hello World」レベルだと簡単すぎて言語の違いを味わえず、ネットワークプログラミングのような高度なプログラミングはフレームワークの力が大きすぎて言語とフレームワークの狭間で立ち往生することになります。 そこで登場するのが「FizzBuzz」です。「FizzBuzz」は単純なプログラムでありながら、プログラムの真髄である「順次」、「分岐」、「繰り返し」があり、数値計算も学べる興味深い題材です。 その「FizzBuzz」を利用して「Rust」という言語を学んでみようのが記事の趣旨です。「FizzBuzz」というシンプルなプログラムで「Rust」のような表現力が豊かな言語の機能をどこまで使い尽くせるのかは興

    Re:FizzBuzzから始めるRust生活 - Qiita
  • ブログカードを支える技術 - Qiita

    ブログカードとは以下のようにリンクをちょっとリッチに表示してくれる機能のことです。以前はこれってどうやって実現しているんだろうと不思議に思っていました。 上記のようなブログカードは「はてなブログ」や「WordPress」等のブログサービスでよく見かけますが、基的にこれらのブログカードはリンク先のURLを指定するだけで自動的に生成されています。記事では上記のようなブログカードを支える技術について解説します。 (記事は自分のブログからの転載記事です。) はじめに 記事では、ブログカード1の表示に使われる一般的な技術の解説およびJavaScriptによる実装を行います。普段何気なく見たり使ったりしているブログカードの技術に興味がある人におすすめします。 ブログカードの要素技術 まずはブログカードを実現するための要素技術について解説します。 ブログカードの構成 ブログカードは主に「タイトル

    ブログカードを支える技術 - Qiita
  • Scalaプログラマが圏論を学ぶためのオススメ文献 - 3選 - Qiita

    圏論は数学の一分野です。これを学ぶのには「数学書」を手に取るのが王道なのですが、残念ながらこれは大部分のプログラマに理解できる言葉では書かれていません。「定義・命題・証明」の積み重ねで書かれています1。ここで大半のScalaプログラマは苦い顔をすると思います。もう少し分かりやすいScalaプログラマ向けの圏論入門がないかと探してみると「Haskell」向けの記事が大量に引っかかるでしょう。ここで多くのScalaプログラマは心を折られてしまいます。「圏論」はまだScalaプログラマには早すぎたんだと・・・ 記事ではそんなあなたに贈る3つの文献をご紹介したいと思います。 (記事は自分のブログからの転載記事です。) はじめに 記事は圏論に興味があるScalaプログラマを対象にしています。特にプログラマにとって実用的な圏論の知識をScalaを通して身につけたい方にオススメします。 プログラマ

    Scalaプログラマが圏論を学ぶためのオススメ文献 - 3選 - Qiita
  • 全プログラマに捧ぐ!図解「パターンマッチ」 - Qiita

    パターンマッチを使い始めてかなりの時間が経ちました。最初は関数型言語の一機能として触り始めましたが、徐々に関数型言語のユーザだけの玩具にしておくのは勿体ないと思うようになってきました。プログラミングにおいて、パターンマッチほど有用であるにもかかわらず普及が遅れている言語機能は他にないと思います。 記事ではその状況に一石を投じたく、一般のプログラマにも伝わるようになるべく図解で「パターンマッチ」を解説してみたいと思います。 (記事は自分のブログからの転載記事です。) はじめに 記事はプログラミング言語における「パターンマッチ」1という機能に着目して解説したものです。「パターンマッチ」は、switch文の強化版2であり、仮にパターンマッチを持たないプログラミング言語のユーザだとしても全プログラマが知っていて損はないアイデアだと思います。 パターンマッチとは パターンマッチは以下の図のよう

    全プログラマに捧ぐ!図解「パターンマッチ」 - Qiita
  • Rustに影響を与えた言語たち - Qiita

    各カラムの意味は次のとおりです。言語の特徴は主にWikipediaを参考にしていますが、正確な分類は困難なため多少の独断と偏見が含まれていることをご了承ください。 登場年代 プログラミング言語が登場した年代です。前後3年の誤差は見逃してください FP(関数型プログラミング) 言語がFPを強くサポートしているかを示しています 程々にサポートしている場合は△を示しています OOP(オブジェクト指向プログラミング) 言語がOOPを強くサポートしているかを示しています 並行計算 アクターや CSP/π計算モデルの特徴を言語が強くサポートしているかを示しています 外部ライブラリを使えばできるよ!みたいなものは除外します 静的型付け 言語の最も主要な処理系が静的型付けをサポートしているかを示しています パラメータ多相 言語がパラメータ多相をサポートしているかを示しています ジェネリクス(Java)、テ

    Rustに影響を与えた言語たち - Qiita
  • 1