タグ

Programmingに関するmurasukeのブックマーク (309)

  • かつての当たり前が通用しない? Modern C++ではやらないこと

    21世紀に入ってまったく別物と言えるプログラミング言語に進化したC++連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第1回は、かつてのC++の当たり前が今では通用しないことを紹介します。たとえばインスタンスの生成にnewを、破棄にdeleteをというのが常道でしたが、もはやそれらは非推奨なのです。導入として、このようなかつては常識だったことが非推奨になっているという状況を、いくつかのトピックスを通じてお話しします。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょ

    かつての当たり前が通用しない? Modern C++ではやらないこと
  • PHP による hello world 入門 | 東北ギーク

    知る者は言わず、言う者は知らず — 老子 世界で最も有名なプログラムの 1 つに、 hello world というものがあります。 <?php echo 'hello, world'; 出力先に対して「hello, world」という 12 字を書き込むだけの単純なプログラムで、プログラミング言語やライブラリの利用例を最小限の形で示すものです。 この記事ではメジャーな Web プログラミング言語の 1 つである PHP 処理系が、hello world をどのように実行するのかについて、簡単に解説します。 以下の 4 節で構成されています。 「PHP スクリプト実行の大体の流れ」は実行時の概略を箇条書きでまとめたものです。 「SAPI」では、PHP 処理系の起動のされ方についての基礎知識を解説します。 「Zend Engine とオペコード」は PHP 公式処理系の仮想マシンの命令と、PH

    PHP による hello world 入門 | 東北ギーク
  • 科学を変えた10のコンピューターコード | Nature ダイジェスト | Nature Portfolio

    Fortranからプレプリントアーカイブまで、プログラミングとプラットフォームの進歩は、生物学、気候科学、物理学を新たな高みへと導いた。 2019年、イベント・ホライズン・テレスコープ(EHT)のチームは、ブラックホールの実際の姿を初めて世界に見せてくれた。彼らが発表したリング状に輝く天体の画像は、従来の写真とは違い、計算によって得られたものだ。具体的には、米国、メキシコ、チリ、スペイン、南極点の電波望遠鏡が捉えたデータを数学的に変換することによって得られたのだ1。研究チームは、その知見を記載する論文とともに、ブラックホールの撮影に用いたプログラミングコードも公開した。科学コミュニティーが自分たちのやり方を確認し、それを足場にできるようにするためである。 このようなパターンは、ますます一般的になりつつある。天文学から動物学まで、現代のあらゆる偉大な科学的発見の背後にはコンピューターがある。

    科学を変えた10のコンピューターコード | Nature ダイジェスト | Nature Portfolio
  • プログラマによるプログラミングのためのBGMなど、仕事や勉強の邪魔にならない無料で使えそうなBGM集。2021年版

    プログラマによるプログラミングのためのBGMなど、仕事や勉強の邪魔にならない無料で使えそうなBGM集。2021年版 在宅で仕事や勉強をしている時間が増えてくると、ずっと無音だと寂しい気がして、できればあまり気にならないBGMや環境音があるといいなあ、と思ったことはありませんか? 最近流行しているYouTubeでの24時間365日ライブ配信のLoFiチャンネルにはそうしたニーズに応えてか、プログラマがプログラミングのためのBGMを配信しているものもあります。 YouTubeの再生には動画広告が付き物ですが、ライブ配信では最初に広告が再生されると、あとは広告なしでずっと配信が続くため(少なくとも記事執筆時点では)、BGMとして使うのにぴったりです。 この記事ではそうしたYouTubeの配信を中心に、仕事や勉強のBGMとして使えそうなサービスを紹介していきましょう。 いわゆるLoFiチャンネルと

    プログラマによるプログラミングのためのBGMなど、仕事や勉強の邪魔にならない無料で使えそうなBGM集。2021年版
  • エドガー・ダイクストラ

    Inferenceより。 クシシュトフ・アプト 結局、ナイメーヘンからアイントホーフェンに向かう列車は遅れて到着しました。さらに悪いことに、私は大学の建物の中にあるオフィスを見つけることができませんでした。結局、着いた時には、約束の時間に予定より30分以上遅れていました。教授は、私の謝罪を完全に無視し、会議に1時間も掛かってしまいました。私がエドガー・ウィベ・ダイクストラに会ったのはこの時が初めてでした。 1975年に会った時、ダイクストラは45歳でした。コンピュータ・サイエンスで最も権威のあるACMチューリング賞を授与されたのは、3年前のことでした。彼のほぼ20年後輩の私は、この分野についてほとんど知らず、数週間前にフローチャートが何であるかを知ったばかりでした。私は、共産主義のポーランドから来たばかりのポスドクで、数理論理学のバックグラウンドを持ち、西側にとどまる計画を持っていました。

  • 入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita
  • 「GPT-3」は思ってたより「やばい」ものだった。話し言葉でプログラミングまでこなすAI - CUBE MEDIA

    このサイトを立ち上げて、執筆するとき、いくつか心のなかで決めたことがありました。 その中の一つに「タイトルで”やばい”という言葉は使わないようにしよう」というものがあります。まとめサイト等で、対して大きな事件でもないものを「やばすぎるwww」等と囃し立ててアクセスを取る行為が嫌いだったからです。 しかしその禁を今日破ります。「GPT-3」は、私が思っていた以上に「やばい」代物でした。 もちろん「ライターが要らなくなる」とか「1ヶ月後にはロボットが秘書になる」とか、そういった大げさなものではありませんが、 思ったより早く「AI社会」の片鱗が落ちてきた、という印象です。 まだ多くの方は「GPT-3」という単語を聞いたことがないかもしれません。GPT-3は「Generative Pretrained Transformer」の頭文字を取ったもので、1750億個のパラメータを使用した「文章生成言語

    「GPT-3」は思ってたより「やばい」ものだった。話し言葉でプログラミングまでこなすAI - CUBE MEDIA
  • R50のリープフロッグ ~ 西暦2020年の今、偏差値50のプログラマを目指すお前が学ぶべきこと - Qiita

    タイムスタンプ 初回投稿日:2020年06月26日 最終更新日:2020年07月18日 対象読者 この投稿は、ちょうど20年ほど前にソフトウェアエンジニアとしてのピークを迎えていた当時30歳くらいの自分自身に宛てて書いた手紙です。 したがって、この内容は個人的なものであり、くたびれた老兵の戯言であり、ピントがずれ時代を捉えきれておらず、網羅的でもなければ他者には通じないアナロジーに溢れていて、多くの方にとって役に立たないばかりか、酷い勘違いや致命的な間違いを含んでいるかもしれません。 とは言うものの、現在の私のように、今もなお 20 年前の知見や思考パターンが生活のベースになっている方、新しい知識や用語は押さえているもののそれが今一つ自身の血肉になっていないと感じている方、最近の技術トレンドを押さえたいけれど情報の洪水に溺れそうになり何から手を付ければいいかわからないという方にとっては、あ

    R50のリープフロッグ ~ 西暦2020年の今、偏差値50のプログラマを目指すお前が学ぶべきこと - Qiita
    murasuke
    murasuke 2020/06/29
    これで50なら、世の中の平均はいくつになるんだ?
  • Rob Pike interview for Evrone: “Go has become the language of cloud infrastructure”

    Rob Pike interview: “Go has indeed become the language of cloud infrastructure“ Rob Pike, the co-author of the Go programming language, speaks about a career spanning four decades, and the evolution of Go over the last ten years. Rob Pike, one of the creators of Go, discusses the language's development, its impact on systems programming, and the future of Go. He also reflects on the importance of

    Rob Pike interview for Evrone: “Go has become the language of cloud infrastructure”
    murasuke
    murasuke 2020/05/01
    まだ現役なんだ。
  • AIZU ONLINE JUDGE

    Best viewed using Firefox, Google Chrome Aizu Online Judge Version 1.0 © 2004 - 2016 Univ. of Aizu Competitive Programming Club (ICPCPC), Database Systems Lab. University of Aizu

  • 宣言的UIはReact Hooksで完成に至り、現代的設計論が必須の時代になる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、ある程度以上の規模のGUI開発において、React Hooks以後の宣言的UIにより、大規模開発に用いられる設計論に完全に対応できるようになり「ビジネスロジックの変更や追加」に対応するコストを低く保つこと(技術的負債の抑制)ができるようになったことを解説するものです。 技術的負債の抑制には、技術的負債の原因となりがちな「広範囲の密結合」と「適切な疎結合を保つ仕組みの欠如」が欠かせません。それをカバーするのが、大規模開発をクリーンに行える設計論(ここでは「現代的な設計論」とよぶもの)です。クリーンアーキテクチャなんかでGUI

    宣言的UIはReact Hooksで完成に至り、現代的設計論が必須の時代になる - Qiita
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
    murasuke
    murasuke 2019/08/14
    今の人に説明するのは難しいという印象。C言語は悪とされるが、構造化プログラミング、モジュールプログラミングのありがたさを理解するためには必要悪な気がする。vtableは実装上の詳細な気も
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
  • Sign in - Google Accounts

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • 百花繚乱!なないろ言語で競技プログラミングをする資料まとめ - Qiita

    言語別の競技プログラミング入門資料たち それでは各言語別の入門資料たちをまとめて行きます。 Python 最近は Python競プロを始める人が激増しています! データ分析機械学習において Python がメジャーな言語となったことから、Python を学びたいという方は大勢いるでしょう。Python を勉強したいというモチベーションで AtCoder を始める方も多いと聞きます。計算実行速度の観点からは C++ に比べて不利な感があるので、ARC E 問題以上の難易度に挑むようになったら C++ などの速い言語も覚えていく必要が生じますが、AtCoder 500 点問題までの難易度帯であれば概ね通せるようです。今後 Python で書かれたアルゴリズム解説資料などが充実して行くといいなと思います。 AtCoder に登録したら解くべき精選過去問 10 問を Python3 で解いて

    百花繚乱!なないろ言語で競技プログラミングをする資料まとめ - Qiita
  • Measured : Which programming language is fastest? (Benchmarks Game)

    … and the computer language benchmarks game are examples of micro benchmarks. These are easy to use, easy to measure, but far from realistic. They are nonetheless valuable tools. My question is if anyone here has any experience with simplistic benchmarking and could tell me which things to test for in order to get a simple idea of each language's general performance? Programs sorted-by measurement

  • ChalkTalk CLR – COMのすべて

    日は「ChalkTalk CLR – COMのすべて」と題して、COM(Component Object Model)についてのディスカッションを行ってきました。 参加された方はCOM方面に強い方が半数近くいて(MVP4人、元MVP2人、中には現役で開発やってるという人も)、とにかくこれ以上ないぐらい強力なメンバーで、濃い議論が交わされました。多分、もうこういう企画は無いかな感全開 (;´Д`) 遠方からの参加もありがとうございます。 ChalkTalkバンジャーイ この記事では、内容を「要約」して記載します。図については内容を考えて起こしなおしました。 前回と同じく、Maker Lab NAGOYAさんのスペースをお借りしました。ありがとうございました。 事前の洗い出し まず、各参加者のCOMに対してのスキルセットを「バリバリ解説OK」~「COMって何」のレベルで、かつ自分がCOM

    ChalkTalk CLR – COMのすべて
  • 適切な抽象度を求めて #5

    以前に思いついたジョークでこんなものがある。 初級プログラマへのアドバイス コードを読みやすくするために、もっと抽象度を上げよう。 上級プログラマへのアドバイス コードを読みやすくするために、もっと抽象度を下げよう。 これはジョークなんだけど、抽象度が低すぎても高すぎてもコードは読みにくくなる、というのはある程度当たっていると思う。 抽象化が低すぎるケースを考えてみよう。数百行もある長大な関数に何十もの変数があり、ループのネストはやたら深いし、しかも変数は途中で別の用途に再利用されちゃっている、なんていうとんでもないことになっているコードを見たことがはないだろうか?私はある。というのも私は長いこと、そんなコードばかり書いていたからだ。複数の関数に分割するなり、状態を構造体にまとめるなり、変数のスコープを制限するなり、抽象度をあげることでコードを読みやすくできる、ということを学んだのはだいぶ

  • 「有害なgoto」「時期尚早な最適化」、そしてプログラミングにまつわる神話は諸悪の根源である | POSTD

    以下のプレゼンテーションは、私がPapers We Love Madridの初会議で発表したものです。講演のテーマは、Donald Knuthの論文「Structured Programming with Go To Statements」(goto文を用いた構造化プログラミング)でした。 我々が人間として抱える最大の問題は、信念と現実を混同することである。 – Alan Kay それ(goto)を禁止するか、それとも使わない方向へ教育するかが問題だ。 – Donald Knuth この記事では、神話についてお話ししたいと思います。Googleで 神話(myth) の定義を検索してみると「広く信じられているが誤った信念や観念」とあり、dictionary.comを見ると「立証されていないか誤った共通的信念であり、社会制度を正当化するために用いられる」と説明されています。ここで問いたいのは、

    「有害なgoto」「時期尚早な最適化」、そしてプログラミングにまつわる神話は諸悪の根源である | POSTD
  • デバッグの技術 | POSTD

    この記事は、アムステルダムで2015年に開かれたFronteersのカンファレンスで私が行った講演、「デバッグの技術」に対応するものです。 要約:利用可能なあらゆるツールの使い方を学び、必要なときにそれを使うことで、バグの撃退を楽しみましょう。そのほうが、キーボードを無暗に叩いて6か月も費やしてしまうより、ずっと楽しいものです。 題に入る前に… この記事を終わりまでスキップしたければ…… Don’t. Write. Bugs. とはいえ…… おそらくこれを読んでいるあなたはロボットではないでしょうから、1個や2個のバグぐらいは書いてしまったことがあるでしょう。「銀の弾丸」は存在しないのです。 実際、先ほどジョークで申し上げた『バグを書くな』というのは、デバッグの仕方を学ぶことの対極にあるものです。必要なのは経験です。バグに対するアプローチを見つけられるようになるためにはバグに遭遇しなけれ

    デバッグの技術 | POSTD