タグ

プログラミング言語に関するaceraceaeのブックマーク (19)

  • 効率的なGo

    書は、Goアプリケーションの効率やスケーリングに関する疑問に対して、実用的な答えを与えてくれる書籍です。 レイテンシー、CPU、メモリ資源についての知識、またOSやGoがそれらを抽象化している方法について、またソフトウェアの効率に関わるデータ駆動な意思決定を行う事の意味や、計算量解析の手法、最適化状況の例など、実用的なソフトウェアを開発する中での「効率」に関する知識を紹介します。 Goやその他のモダンな言語で書かれたプログラムを設計、作成、変更するソフトウェア開発者、また誰かが書いたソフトウェアを主に運用するDevOpsエンジニア、SRE、シスアド、プラットフォームチームなどの読者が、いつ、どのように効率最適化を適用するかという問いに答えるための知識を身に付けることができるでしょう。 関連ファイル 原著者による書のサンプルリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づい

    効率的なGo
    aceraceae
    aceraceae 2024/01/31
    ムラサキサギか。知らない鳥だった。
  • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

    開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

    複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
  • この10年のプログラミング言語の変化 - 西尾泰和のScrapbox

    @nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)

    この10年のプログラミング言語の変化 - 西尾泰和のScrapbox
    aceraceae
    aceraceae 2023/01/14
    型後置は最初見たときは違和感あったけどあっという間に慣れたものなあ。
  • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

    言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

    Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
  • Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点

    プログラミングの学習を始めようとする人がする定番の質問がある。「どのプログラミング言語を選べばいいか」というものだ。 私はこのコラムで以前、JavaScriptからプログラミングを始めてはどうかと書いた。JavaScriptはWebブラウザーさえあれば動作するからだ。例えば「Chrome」であれば、F12キーを押して「Console」タブを選ぶだけで、JavaScriptの対話実行環境を利用できる。 関連記事: 保存していないクレジットカード情報が漏洩する謎、鍵はあのプログラミング言語 もっとも、JavaScriptは最初に学ぶ言語としては少し癖が強いとも感じている。どちらかというと、2番目か3番目に学ぶことで視野が広がるタイプの言語ではないだろうか。 私が初心者に勧めるとしたら候補は2つある。「Ruby」と「Python」だ。 私がRubyを勧める理由は、「プログラミングの楽しさ」を体験

    Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点
    aceraceae
    aceraceae 2022/01/14
    Ruby は過去の言語って感じになってる。そういう意味では Python はすごく古いけど。Python はクセがすごいのがなあ。PHP は遣われなくなってきてから逆に発展した感じがある。
  • for文のforはなぜforなのか? - yapattaのブログ

    よく考えるとプログラミング言語で当たり前に使っているfor文のforは不思議な命名だ。 他のループで使う、whileやloopは繰り返しをする意味が含まれるからまだわかる。一方forは個人的なイメージではあるがループに関する意味は無さそうだ。 という感じになぜforなのか疑問が湧き上がってきた。 そこで今回はfor文のforはなぜforになったのかを調べてみた。 因みに一番最後に結論が書かれているので結論だけ気になる方は最後だけ見て頂けたら。 この結論は著者のyapattaの推論も含まれている。何か反論、意見があったら気軽にコメントして欲しい。自分が気づかなかったポイントを知れたら面白い。 まずforに一応ループ周りの意味が含まれるか辞書で調べてみた。自分がただforという単語に反復的な意味が含まれていることを知らなかったという可能性もある。 ejje.weblio.jp 10番目の意味で

    for文のforはなぜforなのか? - yapattaのブログ
    aceraceae
    aceraceae 2021/12/27
    while もそうだけど for は繰り返しというより条件文が成り立つ間ずっとというイメージのほうが強いな。なので最初の辞書で納得してしまう。
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
  • haku

    Haku A toy functional programming language based on literary Japanese. Is Haku for you? Haku lets you write programs that look very much like written Japanese. So you need to be familiar with written Japanese to program in Haku. I have added translations and explanations to the documentation. Haku is an experiment, not a practical programming language. Several of its features are rather contrary.

    haku
  • 論理プログラミング言語Logicaでデータサイエンス100本ノック

    Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100ノックのテーブルデータをBigQu

    aceraceae
    aceraceae 2021/06/26
    Logica 知らなかった。おもしろそう。
  • やり直しC言語:複雑な宣言の読み方

    C言語は宣言文が非常に読みにくいことで有名で、後発のGo言語はこれを批判して宣言の構文を変えています。私もずっと読むのが苦手だったのですが、私の頭が悪いのではなく、C言語の仕様がヘン、ということらしい。 今まで飽きるほどこの手の解説は書かれてきてるわけですが、自分なりにまとめないと覚えた気がしないので、あえてまとめておきます。ここに書いてある内容は、「C言語ポインタ完全制覇」に詳しく書いてあります。 型の派生 C言語では、int, char, floatなどの基型から、配列やポインタを派生していくことができます。対象を並べたものが配列で、対象を指し示すのがポインタです。 配列やポインタからも配列やポインタを派生できるので、派生パターンは無限に存在します。 int int の配列 int の配列 の配列 ... int へのポインタ int へのポインタ へのポインタ ... int への

    やり直しC言語:複雑な宣言の読み方
    aceraceae
    aceraceae 2021/03/18
    というか宣言そのものよりも最後にあるような複雑な typedef を読み取るのがいちばん難しいと思うんだけどな。宣言が読めないなら typedef はもっと読めないと思うんだけど。
  • スクリプト言語を舐めてはいけない|shi3z|note

    おれはハッカーだ。 なので、ハッカーではない人種と呑むのが苦手である。 たとえば「ITエンジニア」と自称するような人たちだ。 当然だが、ITエンジニアと自称する人はハッカーではない。 ITエンジニアと言う言葉はスコープが広すぎていちいち細かい説明を聞かなければならない。 これが厄介なところである。 あるとき、友達の家で飲み会をすると言われ、誰が来るの?と聞いたら知らないIT関連会社のエンジニアたちだという。 エンジニアと呑むと喧嘩しちゃうので断ったのだが、いろいろあっていくことになってしまった。 するとやっぱりこんなはなしをしていた。 「やっぱ私もRubyみたいなスクリプト言語なんか卒業してコンパイル言語やんなきゃ。処理速度がね…」 「コンパイル言語って?」 「TypeScriptとかJavaとかC#とか」 「それ、中間コード言語じゃねえか。なんの意味があるんだ。YARV知らないのか」 ま

    スクリプト言語を舐めてはいけない|shi3z|note
    aceraceae
    aceraceae 2020/09/20
    twitter は鍵垢なんだな。リアルなコミュニケーションだと昭和の学級会みたいに最後の一言でマウントとれるけど延々と続けられるネット上のコミュニケーションだとすぐにマウントしかえされちゃうものね。
  • プログラミング言語名に「言語」つける風習

    C言語とかGo言語とかJava言語とか。 わざわざつけなくても文脈でわかるよね。 つけたほうが紛れがないってことなら、 「Raspberry PiとGo言語でミニトマトの栽培環境を監視してLINE Botで通知する」 みたいなのは 「Raspberry Pi端末とGo言語でミニトマトの栽培環境を監視してLINEアプリ Botで通知する」 と書くかというとそんなことは絶対ないし。 --追加 Goじゃわからないとかつけたほうが優しいみたいな人がいるけど、golang.orgのドキュメントでさえ、golangみたいな書き方しないでGoとしか書いてないよな。 CだってC Languageとか書かないでただCと書くのが普通だし。 ーー追加 TPOとか状況に応じてつけろとかいい加減なこと言ってる人がいる。 常に付けなくていいよ。 明示するときは「プログラミング言語C」みたいに文章の最初に書くよ。あとは

    プログラミング言語名に「言語」つける風習
    aceraceae
    aceraceae 2017/07/14
    なんとなく語呂が良くなるからというのもあるよ。C言語やGo言語なんかは。逆にPHPやPythonなんかはつけると語呂が良くないと思うし。
  • コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD

    私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プログラミングは世界を変える!」的な投稿ではありません。記事で挙げるのは、もっと「知る人ぞ知る」的なリストです。多くの読者の方にとって、以下の言語やパラダイムは聞いたことのないものが大半だと思いますので、私が経験したように、これらの新しい概念を学ぶ楽しさを感じていただければ幸いです。 注:私は以下の言語の多くに関して最低限の経験しかありません。その発想に引き込まれたのであって、専門的知識は持ち合わせていないため、訂正すべき点や誤りがあればどうぞご指摘ください。また、記事で取り上げていない新しいパラダイムや概念に出会った方は、ぜひお知らせください。 最新情報:記事が r/p

    コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD
    aceraceae
    aceraceae 2017/06/21
    おもしろい。有名なものもあるけどまったく知らないものもあるし。
  • プログラミング言語ってなんで統一しないの?

    凄い沢山あるけど。 統一して一つの言語を洗練していけばいいのに。それじゃ駄目なの? 謎。

    プログラミング言語ってなんで統一しないの?
    aceraceae
    aceraceae 2017/06/02
    特定の分野の話だったとして、作った人の多くは、僕が考えた最高の言語って感じで開発してるけど、宗教戦争はなくならないから。
  • いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 - エンジニアHub|Webエンジニアのキャリアを考える!

    いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 業務に必要なだけではなく、コンピュータによって問題解決できていない分野を切り開き、エンジニアとして戦っていくため、刺激的な第二プログラミング言語に挑戦しましょう。RustGo、Erlang、Elixir、Clojure、Scheme、OCaml、Haskell、Scalaを紹介します。 みなさんが使えるプログラミング言語はいくつあるでしょうか? ひとくちに「使える」といっても、ひととおりのチュートリアルは終えたという段階もあれば、言語仕様(あれば)やライブラリを知り尽くしていて、思いついた処理を即座にコード化できるという段階もあります。リファレンスとか参考書を見ながらであれば使える、ということも多いでしょう。 ベテランエンジニアなら、いろいろな仕事に携わっているうちに、さまざまな環境でそれぞれ必要

    いま学ぶべき第二のプログラミング言語はコレだ! 未来のために挑戦したい9つの言語とその理由 - エンジニアHub|Webエンジニアのキャリアを考える!
    aceraceae
    aceraceae 2017/05/20
    Goはいいよね。楽しいし。ErlangやOCamlあたりは気になってるけど手を付けられてない。Elixirはついエリクシールと読んでしまう。
  • Go言語って何ででこんなに偏屈なんだろう | 非IT企業に勤める中年サラリーマンのIT日記

    ざっくりGo言語を触ってきました。 今までJavaとかC#をメインに使ってきた僕としては、一見先祖返りしたような仕様にちょっと戸惑いました。 「コンパイル速度を上げる」目的で作った言語とのことで、その目的のためにコーディングしやすさをある意味犠牲にした、といいう点は理解できます。 が、明らかにコンパイル速度(あるいは実行速度)とは関係ないところで使い勝手を「わざと」悪くしたとしか思えない仕様に、Googleエンジニアの偏屈さを感じずにはいられません。 僕の単なる認識不足だけかもしれませんが、僕自身が感じた”偏屈”と思ったところを書いておきます。 ※アイキャッチ画像に自作Gopher君を載せていますが、Gopherの原著作者はRenée French氏です。 [ad#top-1] nullじゃなくてnil 「何もない」を表すnilですが、どちらかというとnullと表現する言語の方が多いです。

    Go言語って何ででこんなに偏屈なんだろう | 非IT企業に勤める中年サラリーマンのIT日記
    aceraceae
    aceraceae 2017/03/06
    go言語って最初は*を変数側じゃなくて型に付けなきゃならなくて嫌だったけど型へのポインタじゃなくポインタ型と思えば気にならなくなった。型宣言の順番もCのtypedefみたいに複雑にしないためにも役立ってる感じだし。
  • Lispのアイデア | POSTD

    Lispと聞くと、冷蔵庫のような大きいサイズのコンピュータや、大文字のアルファベット文字列や括弧の並びといったような過去の時代のことが頭に浮かびます。そう、非常に多くの括弧。何故、オブジェクト指向プログラミングの作成者たちは、そんなにもLispの アイデア に魅了されるのでしょうか。そしてまた、アイデアとされるプログラミング言語というものは、どうやったら説明できるでしょうか。こうしたことを教えてくれなかったコンピュータ科学の教育を責めるべきでしょうか。 Lispは、John McCarthyが書いた Recursive Functions of Symbolic Expressions and Their Interpretation by Machines, Part I という論文によって、初めて世界に登場しました。その中で、McCarthyはプログラミングに新しい多くのアイデアを導入

    Lispのアイデア | POSTD
    aceraceae
    aceraceae 2017/02/11
    なつかしいな。昔、小さなLISPを書いてみたことがあったけどソースもどこかにいっちゃったし。
  • 「最初に学ぶべきプログラミング言語」 - mizchi's blog

    初心者に最初にぶち当たるのが『環境構築』という大きな壁なんですよね。そこで何割の人がスタートラインにすら立てずに挫折するだろうか…5割は超えるかもしれない…— ビタワン@社畜ちゃん②巻2/27発売予定 (@vitaone_) 2017年2月5日 環境構築が壁で、楽しい(かどうかは人によるが)プログラミングにたどり着けなくてモチベーションが、というのはわかるが、環境構築を経験してその辺の洞察身につけてもらわないと現場で困る、というような話もあって、二ヶ月速習でiOSエンジニア、みたいな講習はその視点欠けててダメ— 現場の声 (@mizchi) 2017年2月5日 よほどよくできた環境でもない限り、何作ろうとしても初動でうまいこといくケースが少ないので、それを解決するための勘と体力は絶対に必要なんだよなー— 現場の声 (@mizchi) 2017年2月5日 僕も完全独学でプログラミング始めたの

    「最初に学ぶべきプログラミング言語」 - mizchi's blog
    aceraceae
    aceraceae 2017/02/06
    環境構築で挫折する人が多いといえば、Ruby あたりも Ruby on Rails 環境が構築できなくて失敗する人が多い印象。IDE の利用を前提としているような場合だと、その使い方が難しくて挫折するとかね。
  • プログラミング言語の相関図を表したサイト「Programming Language Influence Network」 | ライフハッカー・ジャパン

    デスク配線がスッキリ。Ankerの全部入り12 in 1モニタースタンドが突然8,250円OFFされてた #Amazonセール

    プログラミング言語の相関図を表したサイト「Programming Language Influence Network」 | ライフハッカー・ジャパン
  • 1