並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 758件

新着順 人気順

LISPの検索結果41 - 80 件 / 758件

  • MSXの立役者・西 和彦氏が“次世代MSX”に「もうすぐ」とコメント。自身で“狂気の沙汰”と呼ぶプラットフォームとは

    MSXの立役者・西 和彦氏が“次世代MSX”に「もうすぐ」とコメント。自身で“狂気の沙汰”と呼ぶプラットフォームとは 編集部:早苗月 ハンバーグ食べ男 須磨学園学園長や日本先端大学(仮称)設立準備委員長などを務める西 和彦氏が,Twitter上の“次世代MSX”に関する話題に自身のアカウントから「もうすぐ」「マジ」とコメントし,プロダクトがローンチ目前であることを明らかにした。 もうすぐ— 西 和彦 (@nishikazuhiko) August 29, 2021 西氏は1977年にアスキー出版(現在はKADOKAWAおよび角川アスキー総合研究所が継承)を設立し,「月刊アスキー」を創刊。1978年にMicrosoft副社長となりPC-8801(NEC)やベーシックマスターレベル3(日立製作所)の企画・設計に参画,1983年にMSX規格の考案に携わるなど,黎明期の国内IT業界およびゲーム業界

    • GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様

      OpenAIが作成したチャットAIの「GPT-4」を利用して、新しいプログラミング言語の「TenetLang」をコーダーのルークさんが作成しています。 GPT-4 Designed a Programming Language https://lukebechtel.com/blog/gpt4-generating-code GPT-4のような大規模言語モデル(LLM)は、世界中に存在するあらゆるプログラミング言語を何十億回も読み込んでいます。LLMはプログラミングも可能であることは知られていますが、ルークさんは「私の知る限り、GPT-4で独自のプログラミング言語を作成するといった事例はこれまでありません」と記しています。そこで、ルークさんはGPT-4を使って新しいプログラミング言語を創造することに決めた模様。 ルークさんは最初にGPT-4に対して「ソフトウェア開発における大まかな統一理論

        GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様
      • Kaggleで10年遊んだGrandMasterの振り返り | ho.lc

        2011年2月16日に Kaggle アカウントを取得して10年が経過した。長い間 Kaggle Ranking 世界 1 位を目指してきたが、この目標やモチベーションが大きく変化してきたと感じたため、一区切りつけるためにもこの10年+αを振り返る。今の目標は対象を問わずアルゴリズムで資産を最大化すること。エンジニアリングを駆使してデータからアルファを探し、システム化して運用する。実利的で定量評価できる最高に楽しいタスクです(記事では触れません)。 競技プログラミングからKaggleを始めるまで¶ Kaggle ができる前は ICPC や ICFP Programming Contest といった競技プログラミング系のコンテストに参加していた。ICPC ではアジア地区会津大会 2007、アジア地区東京大会 2008 に出場したが大敗して悔しくて仕方がなかった。コードゴルフも嗜む程度に遊んで

          Kaggleで10年遊んだGrandMasterの振り返り | ho.lc
        • どうして Julia を作ったか

          プログラミング言語「Julia」開発者さんの文章がとても好きなので、雰囲気重視で訳しました。結構意訳です。原典:https://julialang.org/blog/2012/02/why-we-created-julia/ =================================================「どうして Julia を作ったか」 それは、僕らが欲張りだからだ。 Matlab はめっちゃ使う。僕らの中にはLispの天才もいるし、PythonやRuby のすげー奴、Perl を巧みに使いこなす奴もいる。毛も生えない子供の頃からMathematica で遊んだ奴もいる。いまだにツルツルな奴だって仲間だ。Rではアホみたいにたくさんグラフを書いた。C言語からは、いつだって冒険の匂いがする。 ぜんぶ、大好きだ。面白いし、いろいろなことができる。何かをしたいと思った時--科

          • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

            オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

              Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
            • どうして昔の人は8進数でしゃべるのか 「TK80」「Z80」の16進世代が調べたオクタルの歴史

              Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。takeoka氏は、8進数について調査、発表をしました。 よく使う命令は暗記をしていた16進世代 takeoka氏(以下、takeoka):takeokaです。低レイヤー、長い人生、そして……まぁ、格調が低い話をします。 私は16進世代です。若い人にはわからないかもしれませんが、昔はTK-80しかなく、assembleしてくれる機械なんて持っていなかったので、みんなアセンブラ・ニーモニックでバーっとプログラムを書いて、それが終わったらおもむろに16進コードへの変換を手でやっていました。だからよく使う命令は、基本的に暗記していました。 あれですね。HLレジスタへのimmediateのloadは「21」とか、Aレジスタへのimmediate loa

                どうして昔の人は8進数でしゃべるのか 「TK80」「Z80」の16進世代が調べたオクタルの歴史
              • 新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話

                私は新たにプログラミング言語を学ぶとき、しばしば簡単なLisp処理系を作ってみます。いくつかの言語で取り組んでいるうちに、このLisp処理系群に小さな共通基盤も出来上がったりしているので、これを紹介しつつ、Lisp処理系の実装がプログラミング言語の学習にどう丁度いいのかを紹介します。 Rosetta Lisp 自作のLisp処理系群を、ロゼッタ・ストーンから名を借りてRosetta Lispと呼んでいます。Rosetta Lispは以下のような特徴を持ちます。 一定の共通した言語仕様・VMの仕様に基づいて動作する Rosetta Lispは (Rosetta Lispに準拠するLisp処理系群は)、いずれも共通した命令セットのVM上でLispプログラムを実行するように実装されています。 Lispの簡単な実装では、よくインタプリタ形式が採用されます。kanaka/malやrui314/min

                  新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話
                • 『ゴーレム100』の超絶翻訳を原文と比較して検証してみた - 機械仕掛けの鯨が

                  ゴーレム 100 (未来の文学) 作者:アルフレッド ベスター 国書刊行会 Amazon アルフレッド・ベスター『ゴーレム100』(100は本来べき乗表記)(渡辺佐智江訳、国書刊行会)は妙な本である。 ワイドスクリーン・バロックの大家・ベスターの持ち味である大風呂敷を広げまくる展開や、イラスト・タイポグラフィを用いた視覚的要素もさることながら、イドの怪物・ゴーレム100を召喚する有閑マダム・蜜蜂レディたちの喋り方や、ガフ語と呼ばれる近未来での一種の方言の訳し方などが、あまりにこなれすぎているのだ。 というか、あけすけに言うと、「絶対に(訳者は)ふざけてンだろ!」と思ってしまうほど、自由で闊達な訳文なのである。 だが……巻末の山形浩生氏の解説では、 だが原文とつきあわせるとわかる。あらゆるダジャレ、あらゆるお遊び、あらゆる下ネタは、すべて原文通り。これほどに忠実な翻訳はないとすらいえる代物が

                    『ゴーレム100』の超絶翻訳を原文と比較して検証してみた - 機械仕掛けの鯨が
                  • コードとビジュアルの双方向編集なエディタを試作して ビジュアルプログラミングについて考えてみた

                    ノーコードは形を変えた現代の RPG ツクールなのではないか - mizdev の記事では、ノーコードのビジュアルプログラミングが発展性を欠く理由として、次の理由を挙げました。 汎用的なビジュアルプログラミング基盤(Scratch みたいなものではなくプロユースなもの) ↑ 上でのビジュアル環境でのデータベースのグラフ構造のビジュアル化手法 ↑ 上でのビジュアル環境でのパイプラインのビジュアル化手法 ↑ 上での UI とデータと UI のマッピングのビジュアル化手法 これらを隠蔽してオートスケールするマネージレスなインフラ基盤(これはパイプライン実装の中身) で、こんなものを作った話 現代の Intellisense + Formatter 感覚 TypeScript の補完と、保存の度に prettier をバリバリに効かせた状態でプログラミングをしていると、そもそも自由文脈でコードを書

                      コードとビジュアルの双方向編集なエディタを試作して ビジュアルプログラミングについて考えてみた
                    • Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ

                      先月、国内最大のセキュリティ研究会であるコンピュータセキュリティシンポジウム 2020(CSS 2020)が開催され、そこで、Rust言語を用いてファームウェア、OS、言語処理系を設計・実装した話を発表しました。本来、CSS 2020はリアルで開催されるはずでしたが、コロナ禍の影響でオンライン開催となり発表動画作成が求められました。せっかく作った動画をこのまま捨て置くのももったいないと思い、ここで供養したいと思います。 www.youtube.com 概要 内容は、Rust言語を用いて、AArch64のセキュアワールド内で動作するファームウェア、OS、プログラミング言語処理系を実装した話となります。と言っても、まだまだ基本的な部分しか実装しておらず、実現目標に対して2〜3割と言ったところですが、どうぞご笑覧ください。 ブート部分は多少アセンブリ言語を使っていますが、その他の部分はRustで

                        Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した - 未完成な論を綴るブログ
                      • Oh!X関係者が語る,あのころのX68000。「X68000 Z」のローンチを記念して,かつての関係者にあれこれ話してもらおう

                        Oh!X関係者が語る,あのころのX68000。「X68000 Z」のローンチを記念して,かつての関係者にあれこれ話してもらおう 編集長:Kazuhisa ライター:西川善司 2022年6月8日にTwitter上で第一報が報じられ,マウスとキーボードのチラ見せ,TGS2022でのモック展示,クラウドファンディングでの展開など,次々と新たな展開を打ち出している「X68000 Z」。我々4Gamerも,TGS2022でブースの一部を提供したが,そのあまりの熱気にちょっと動揺している。 ?弊社はやります??詳細は後日? #68の日 pic.twitter.com/jU5gE2sG8R— 株式会社 瑞起(ZUIKI Inc.) (@ZUIKIInc) June 8, 2022 関連記事:【PR】新生X68000誕生。瑞起の「X68000 Z」は10月8日に予約受付を開始。TGS 2022の4Game

                          Oh!X関係者が語る,あのころのX68000。「X68000 Z」のローンチを記念して,かつての関係者にあれこれ話してもらおう
                        • マシな作り方の作り方を作る | 麦 Baku

                          ここ最近、Glispというアプリをつくっています。Lisp ベースのベクタードローイングツールで、Creative Coding と伝統的なチマチマやるデザインとの合わせ技っぽい使い勝手を目指してます。 ひとまずCuusheさんのビデオに手入れ続けて止まらないのが気が済んでからなのですが(ごめんなさい…)、終わったら本格的にこれに注力してみたいなと思っとります。だから助成金やファウンディング含めてみなさんに色々ご相談したいです。 #glisp – Twitter Search / Twitter これが実現したらようやく「こいつなんか意味分からん事言って Adobe に因縁つけてるな」みたいなんがもう少し多くの人に理解してもらえる気がしています。少なくともベクターグラフィックに関しては、ソフトの使い勝手に気が散ってツール開発をしないとしんどくなる体質が改善して実制作に集中出来るようになれま

                            マシな作り方の作り方を作る | 麦 Baku
                          • 【第5回】「型」はウェブシステム開発に「エンドゲーム」をもたらすか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                            伊藤直也さんが「今逢いたい」ソフトウェアエンジニアに声をかけて対談を重ねてきたシリーズの最終回は、これまでの対談の文章化を手がけたラムダノート株式会社の鹿野桂一郎さんとの異色対談です。コンピュータ技術書や記事の編集者であると同時に仕事や趣味でHaskellのプログラムも書く鹿野さんの視点を通し、現代のウェブシステム開発に伊藤さんが何を見ているのか、特に「型」と「エンジニアの学び」というこれまでの対談に通底するテーマについて掘り下げます。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・鹿野 桂一郎さん / ラムダノート株式会社 代表取締役社長

                            • Cursorよさらば!これからはAIderで対話しながらプログラムを作る時代だ! |shi3z

                              ドリ山田金之助がCursorというAI搭載テキストエディターを使って独自のビデオ編集をやってるという話を風の噂で聞いた。 ドリ山田くーん、遅い、遅いよー とか煽るのも可哀想だったので放置していたのだが、昨日(!!)もっとゴイスーなAIソフト開発環境を触って元に戻れなくなってしまったのでご紹介しておく。 その最新の開発環境とは、人呼んでAIder(エイダー) こいつの何がすごいかというと、gitをcloneしてくると、ソースコード読ませて「これにこういう機能を追加しろ」と言うと勝手に追加してgit commitしてしまう。良きところで/git push origin mainとやればやってくれる。 まあAI開発ものにありがちな、「自信満々で提出されたけどいざ動かすとポンコツ」なケースが多くて、使うには忍耐が必要だが、頭は使わなくていい。たまに頭を使ったふりをして「もしかしてこの関数がやばいん

                                Cursorよさらば!これからはAIderで対話しながらプログラムを作る時代だ! |shi3z
                              • サイバーセキュリティの草の根コミュニティ系勉強会 - Qiita

                                セキュリティの草の根コミュニティ系勉強会って今どうなってるんだろう? 以前は有志がカレンダー作ってくれてたりしたけど、さすがにパワーが続かずメンテは超ベストエフォートになり、いろいろあった情報源もロストしてしまったので手元のメモをもとにちょっとまとめてみました。 追加情報歓迎&2022年12月時点での最新情報入れてるので陳腐化上等。 また近年新型コロナ禍もあり、どの勉強会もオフラインだけでなくオンラインでも開催しているので、あきらめずに各サイトをチェックしてみてください。 (なお、これ草の根?みたいなのも構わず広めに掲載してます) オンラインのみ 初心者のためのセキュリティ勉強会 https://sfb.connpass.com/ 基本から学ぶセキュリティ勉強会 https://connpass.com/event/267821/ ゼロから始めるCTF https://zeroctf.co

                                  サイバーセキュリティの草の根コミュニティ系勉強会 - Qiita
                                • WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社

                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hands-on WebAssembly: Try the basics — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2020/08/25 著者: Polina Gurtovaya、Andy Barnov サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語タイトルは内容に即したものにしました。画像はすべて元記事からの引用です。 Web開発の一般的な知識のみを前提とするシンプルなハンズオンチュートリアルで、WebAssembly(Wasm)を始めてみましょう。実行可能なコード例を用いてWasmを味わうのに必要なものは「コー

                                    WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho by BPS株式会社
                                  • とほほのWWW入門

                                    はじめに ご使用上の注意 (1) 主な更新履歴 (25) 管理者へのメール (1) 自己紹介 (1) 基本編 用語集 (82) Webページ作成入門 (7) 逆引きリファレンス (32) フォーマット HTML (402) HTML5 (7) XHTML (1) MathML (1) DTD (1) JSON (1) SVG (1) VML (1) GIF (1) CSV (1) セマンティック・ウェブ (1) CSS CSS (ABC順)(719) Bootstrap (61) Less (1) Sass (1) Tailwind CSS (1) CSSフレームワーク (1) リセットCSS (1) プログラミング言語 JavaScript (42) TypeScript (1) Java (26) Perl (6) PHP (14) Ruby (11) Python (14) Go言語

                                    • Marie Kondo your software stack with open source

                                      As someone makes more money, expenses once considered luxuries can suddenly become seen as necessities: It’s called lifestyle creep. In the world of software development, we can suffer from a similar affliction: stack creep. Where hardware limitations once restricted developers to a minimalist approach, increased processing power, memory, and storage have led many down a more maximalist path. It’s

                                        Marie Kondo your software stack with open source
                                      • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

                                        Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

                                          Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
                                        • プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA

                                          コンピュータとプログラミング言語の誕生 プログラミング言語の登場に欠かせないのが、まずはコンピュータの誕生です。 コンピュータの誕生とプログラミング言語が誕生した時期について、解説していきます。 1940年以前 正確な日時はわかっていませんが、1940年以前にチャールズ・バベッジが機械式コンピュータを開発した事が始まりです。 1940年頃には機械言語でコンピュータを動かすことが出来るようになっています。この機械言語が初のプログラミング言語と呼ばれています。 チャールズ・バベッジについて詳しく知りたいという方は以下のページをご覧ください。 かつて存在しなかった最高のコンピュータ (TED Talks) 1940年代 1940年代は機械語からアセンブリ言語でプログラムを実行することが出来る様になっており、機械語だけでなくアセンブリ言語により単純な処理をコンピュータで実行する事が出来る様になって

                                            プログラミング言語の歴史を誕生した順に徹底解説 - WEBCAMP MEDIA
                                          • ファイナルファンタジーVIIの3DCGを作成するため1996年に使われたコンピューターとは?

                                            1997年に発売された初代「ファイナルファンタジーVII」の3DCGアニメーションを製作するために使用されたコンピューターについて、テクノロジー関連ブログのThe Lunduke Journal of Technologyがまとめています。 The computers used to do 3D animation for Final Fantasy VII... in 1996. https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation?s=r ファイナルファンタジーVIIは1997年に発売されたPlayStation向けのゲームで、世界で最も有名なRPGとして全世界を席巻しました。ファイナルファンタジーVIIはシリーズで初めて2Dドット絵ではなく3DCGアニメーションでレンダリングされた映像を採用しており、

                                              ファイナルファンタジーVIIの3DCGを作成するため1996年に使われたコンピューターとは?
                                            • 例外を初めて実装した言語 - from scratch

                                              リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

                                                例外を初めて実装した言語 - from scratch
                                              • Building a highly-available web service without a database

                                                If you’ve ever built a web service or a web app, you know the drill: pick a database, pick a web service framework (and in today’s day and age, pick a front-end framework, but let’s not get into that). This has been the case for several decades now, and people don’t stop to question if this is still the best way to build a web app. Many things have changed in the last decade: Disk is a lot faster

                                                  Building a highly-available web service without a database
                                                • 西 和彦氏が「次世代MSX」採用の「1chip MSX 3」を公開。D4エンタープライズとの販売合意も発表

                                                  西 和彦氏が「次世代MSX」採用の「1chip MSX 3」を公開。D4エンタープライズとの販売合意も発表 編集部:千葉大輔 2022年6月23日,西 和彦氏は,同氏が開発する「次世代MSX」を採用した「1chip MSX 3」の販売について,D4エンタープライズと同意したと発表した。 Dear Friends, D4E president Mr. Suzuki agreed today they will launch 1 chip MSX 3 as their primary console for the EGG. As a option, will have a bay slot for DVDR or BDXLR and will support for CD, DVD, BD, BDUHD. Announcement for 1 chip MSX 3 by the end of

                                                    西 和彦氏が「次世代MSX」採用の「1chip MSX 3」を公開。D4エンタープライズとの販売合意も発表
                                                  • UUIDv7 in 33 languages

                                                    UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                                                      UUIDv7 in 33 languages
                                                    • Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum

                                                      Graydon Hoareが2019年にカナダのブリティッシュ・コロンビア大学でコンパイラ関連のゲスト講義した時の資料21 compilers and 3 orders of magnitude in 60 minutes - a wander through a weird landscape to the heart of compilationを読んだら大変面白かったのでメモ。 作者 Graydon HoareはMozillaでRustを開発したことで有名。その後Rustの開発もMozillaも離れて(というかRustの開発からは2013年に離れたようだ)、一時期AppleでSwift開発チームに所属していたらしい。(ソース:Reddit: I wonder, why Graydon Hoare, the author of Rust, stopped contributing in

                                                        Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum
                                                      • プログラミングを独学する上で役に立った本

                                                        最近こういう流れを散見するので私もやってみた。日本語しか読めないよって人も安心。全部日本語で読めます。 注意:初学者向けではありません。私自身プログラミングを独学する上の本です。初学者向けの本は次の記事にまとめました。 実用Common Lisp (PAIP) いいよ。 コンピュータプログラミングの概念・技法・モデル (IT Architects' Archiveクラシックモダン・コンピューティング) Ozという言語をつかっていろんな言語のパラダイムを検討していく書籍。めちゃくちゃ読んだ。すごくいいよ。 アルゴリズムデザイン (日本語) 単行本 – 2008/7/10 アルゴリズムを勉強したくて呼んだ。良いよ。読むべき。 関数プログラミング 珠玉のアルゴリズムデザイン 関数型プログラミングのアルゴリズムを勉強したくて呼んだ。すごく良いよ。 オブジェクト指向入門 第2版 原則・コンセプト (

                                                          プログラミングを独学する上で役に立った本
                                                        • Emacsの中で動く作図ツールを作る

                                                          先日も書きましたが最近はEmacsの中で動く作図ツールを作っています。 ソース: misohena/el-easydraw: Embedded drawing tool for Emacs (github.com) 図1: org-modeの中で思いついた時に図を描きエクスポートするまでの様子 以前囲碁の棋譜編集ツールを作ってその時にも書きましたが、Emacsの中でこのくらいのことは出来ても罰は当たらないと思うんですよね(このくらい出来て当然だろ!の意)。 org-modeは素晴らしいツールでいろんな事が出来ますが、文書の中に別の要素を埋め込んで統一的に編集する機能はまだまだ改善の余地が沢山あると思います。(ソースコードブロックのようなテキストベースでプログラマーが誰でも喜ぶような物は充実していますけど) 特にGUI要素が全然足りません。例えば図を描くならditaaやPlantUMLなんか

                                                            Emacsの中で動く作図ツールを作る
                                                          • オブジェクト指向プログラミングの現在・過去・未来

                                                            2. 自己紹介 2019/11/23 2 増田 亨 (@masuda220) 最近の仕事:JavaとSQLでプログラミング(したい) 今日は、この本の背景にある オブジェクト指向プログラミングの 基本的な考え方を説明します 仕事レベルで使った言語 Z80アセンブラ, C, PL/SQL, C++, COBOL, FORTRAN, BASIC, Lisp, Prolog, Smalltalk, awk, Perl, PHP, Ruby, Python, Groovy, Objective-C, JavaScript … 試したことのある言語 Haskell, OCaml, Schema, Scala, Kotlin, Go, Rust, IO, TypeScript, … 面白いと思っている言語 Haskell, Prolog, Rust

                                                              オブジェクト指向プログラミングの現在・過去・未来
                                                            • Zig で簡単な JSON パーサを書いてみた。

                                                              #include <stdio.h> int main(int argc, char* argv[]) { int i; for (i = 1; i <= 100; i++) { if (i % 15 == 0) puts("FizzBuzz"); else if (i % 15 == 0) puts("FizzBuzz"); else if (i % 3 == 0) puts("Fizz"); else if (i % 5 == 0) puts("Buzz"); else printf("%d\n", i); } return 0; } fn main() { let mut x = 1; while x <= 100 { if x % 15 == 0 { println!("FizzBuzz"); } else if x % 3 == 0 { println!("Fizz"); } e

                                                                Zig で簡単な JSON パーサを書いてみた。
                                                              • 1日1問、半年以内に習得 シェル・ワンライナー160本ノック

                                                                2021年9月27日紙版発売 2021年9月22日電子版発売 上田隆一,山田泰宏,田代勝也,中村壮一,今泉光之,上杉尚史 著 B5変形判/488ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-12267-6 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto この本の概要 シェルのワンライナー(その場かぎりの1行プログラム)は,LinuxやMacのコマンドラインインターフェースを立ち上げたら,すぐにプログラムを書いて即実行できます。ちょっとした作業を手っ取り早く片付けるのに向いています。大量のデータ処理,繰り返し処理ほどその効果は絶大です。本書は,そんなシェル・ワンライナーを身につけるためのトレーニング

                                                                  1日1問、半年以内に習得 シェル・ワンライナー160本ノック
                                                                • コンパイル技法: パターンマッチ

                                                                  本書では関数型言語をはじめとして多くの言語にあるパターンマッチをコンパイルする方法を紹介します。パターンマッチはシンプルに条件分岐の連鎖にコンパイルすることもできますが、よく研究された手法を使えば驚くほど効率的なコードを生成できるようになります。そのような手法を2種類紹介します。 パターンマッチはデータ型に照合しそのデータを取り出すものです。例えばRustであれば match opt { Some(x) => f(x), None => g()} のように Option 型への照合などに使えます。本書の前半ではパターンマッチの挙動や使い方などを学びます。挙動の確認にはプログラミング言語Standard MLを使い、一部Cのコードも使います。その後Common LispやJavaなどの他の言語でのパターンマッチの状況を確認します。後半ではパターンマッチのコンパイル技法について紹介します。パタ

                                                                    コンパイル技法: パターンマッチ
                                                                  • 究極のスキルアップ!プログラマーのあこがれ言語「Lisp」を始めよう

                                                                    新型コロナウイルスの感染がまたも拡大し、外出を控える人が増えてきた。自宅で何かできることを探している人は多いはずだ。中にはプログラミングを始めてみたい人もいるだろう。あるいは、プログラミングに関する新しい技術を身に付けたいソフトウエアエンジニアもいるかもしれない。 プログラミングを学ぶ際には、プログラミング言語の選択が重要になってくる。言語が異なると、プログラムの書き方が変わってくるからだ。 では、どの言語を学べばよいだろうか。最近はPython(パイソン)が人気で、Go(ゴー)やRust(ラスト)といった低レイヤーに強い言語も注目を集めている。ただ、「人と同じような言語を学ぶのはつまらない」と考える人もいるかもしれない。 そうした人にぜひお勧めしたいのが「Lisp(リスプ)」だ。数ある言語の中でも独自の存在感を放つ。現役バリバリでソフトウエアを開発しているプログラマーでも「いつかはLis

                                                                      究極のスキルアップ!プログラマーのあこがれ言語「Lisp」を始めよう
                                                                    • Emacs の起動時間を""詰める"" - Qiita

                                                                      おしらせ : 長い記事は本形式になっていた方が読みやすそうなので、 Zenn に お引越し してみました。ここにも記事は残しておきますが、最新版はあちらになります。 Emacs はプラグインを増やしていくと起動に何秒もかかって重い、という話をみることがあります。 しかし、考えてみれば Emacs には 1000 以上の Emacs Lisp ファイルが初めから同梱されているわけで、そこに数十のプラグインを足しただけで爆裂に遅くなるのは、なにか設定にも問題がある気がします。 この記事では、 Emacs の起動時間を詰めるために今までに試してきた、小技や大技たちを紹介します。 自分用にメンテしているフレームワーク setup.el で活用しているテクニックが主なので、そちらを試してみて欲しい気持ちもありますが、それぞれの Tips 単体でも価値があると思うので記事にもまとめてみることにしました

                                                                        Emacs の起動時間を""詰める"" - Qiita
                                                                      • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

                                                                        最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

                                                                          「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
                                                                        • バイバイ Python。 ハロー Julia! - Qiita

                                                                          こちらの記事は、Rhea Moutafis 氏により2020年5月に公開された『 Bye-bye Python. Hello Julia! 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 Pythonの勢いに歯止めがかかると同時に新しい競争相手の登場だ Juliaがまだあなたにとって未知であっても、心配しないでほしい。 Photo by Julia Caesar on Unsplash 誤解しないでほしい。 Pythonの人気は、コンピュータ科学者、データサイエンティスト、AIスペシャリストといった堅固なコミュニティによって支えられている。 しかし、これらの人々と一緒に夕食をともにしたことがあれば、彼らがPythonの弱点についてどれほどわめき散らしているのかも知っているだろう。 速度が遅いことに始まり過度のテストが必要になること、以前のテストにもかかわらずランタイ

                                                                            バイバイ Python。 ハロー Julia! - Qiita
                                                                          • 巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方

                                                                            大きな問題も分割すればなんとかなる まつもとゆきひろ氏:次のことわざにいきましょうね。4番目は、これもことわざじゃないと言われちゃうんですが、「分割統治」という言葉です。英語だと「Divide and Conquer」。「分割して征服せよ」という感じです。大きな問題もね、分割すればなんとかなるというやつですね。 (スライドを示して)これは最近見た漫画です。巨大なタスクが存在して、圧倒されそうな気持ちになった時には、タスクを取り上げて細かく分解すると、細かく分解されたタスクは無視しやすいので、タスクは片づかなくても気分は楽になるという漫画なんですけども(笑)、実際、そういうところもあるんですよね。 非常に巨大なことをしろと言われると大変なんだけど、手に負える範囲に分割して1つ1つ話をしていくと問題を解決できるというのは、どこにおいても応用可能な原則だと思います。 クイックソートは一応現時点で

                                                                              巨大なタスクに圧倒されそうな時は“分割統治”で征服せよ ゴールまで走り続けるために有効な考え方
                                                                            • あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記

                                                                              この記事はScala Advent Calendar 2023の11日目です. 最近, 趣味でScala 3のコードをだいぶ書いていて, マクロの使い心地のよさに感心しました. 理論的な背景も含めて, 産業界で多く使われているプログラミング言語の中では筆者の知る限りぶっちぎりに優れたマクロを備えています. 他の言語にも見習ってほしいですね. たぶん見習おうとすると処理系を作り直す羽目になりますが. この記事ではScala 3のマクロのすごいところを例を使って紹介します. マクロの実践的な例 準備 実践的な例: NamedArray – 名前でアクセスできる配列 NamedArrayのマクロ実装 記述が明瞭 メタレベルのプログラムの扱い クォートとスプライスがある パターンマッチもある 生成コードに型がつく 多段階計算に基づいている クォートとスプライスの本当の意味 ネストしたスプライス ネ

                                                                                あらゆるプログラミング言語の最先端を行くScala 3のマクロ - 貳佰伍拾陸夜日記
                                                                              • ソフトウェアエンジニアをしていて影響を受けた5冊(+α)

                                                                                他の方の記事ですが、読んでいておもしろかったです。記事に出ている本はClean ArchitectureとTDD、LeanとDevOpsの科学くらいしか読んだことなかったです。 また自分も書くことで、他の方も記事を書くようになり、ついでに他の方の記事を読んでみるなどしたいなと思ったので書いてみます。 私はソフトウェアエンジニアとしてのキャリアはまだ7年くらい[1]なので短い方ですが、約7年間の中で読んで印象に残ったものを紹介します。 計算機プログラムの構造と解釈 Scala関数型デザイン&プログラミング Effective Java Programming Rust 実践ドメイン駆動設計 なお、この記事ならびに本のリストは誰かの役に立つことは想定しておらず、単に自分が読んで影響を受けているなあと感じる本をまとめています。つまり自己満足です。 加えてこの手の記事を書く際には、一応筆者のプロフ

                                                                                  ソフトウェアエンジニアをしていて影響を受けた5冊(+α)
                                                                                • Ichigo Lispコンパイラ完全解説

                                                                                  Ichigo Lispコンパイラ完全解説 はじめに この記事では私がWebAssemblyで書いた Ichigo Lispという LISP 1.5実装のコンパイラのソースコードをすべて解説する。 というのも、最近とあるコンパイラの本を読んで 「説明が特定の実装に基づいてる割にそのソースが一部しか載ってない」 という不満を感じたのだが、自分で書いたコンパイラの記事 を読み返してみると、コンパイラのソースコードが一切出てこないことに気づいた。 こんな記事を書きながらよく人様の本に不満を持てたものだと 瀬戸内海より深く反省したので、 ここにIchigo Lispのコンパイラのすべてのソースコードを解説する。 想定読者とか Ichigo Lispのコンパイラは(ほとんど)すべてLISP 1.5で書かれている。 LISP 1.5特有のややこしい機能などは使っていないので、 Common Lisp、S