タグ

programmingとgolangに関するstealthinuのブックマーク (13)

  • Goは本当に1980年代の言語みたいなのか。 - Qiita

    はじめに 2020年8月15日現在、golang.orgのトップページに、The Why of Goという動画が、Featured Videoとして紹介されています。 Goに初めて触れて、ちょうどなぜこうなっている?と思う機会が多かったので、自分なりにまとめてみようと思います。 注: 要約というよりは、気になる部分をピックアップして解釈して文字にしているものなので、総合的な内容は動画を見てください。 Goとは1980年代の言語なのか Goとは1980年代の言語のようだと批判される。糖衣構文、多態、Genericsが使えない、依存性管理が粗末等と批判する人にとってGoは、1980年代以降のプログラミング言語の進化の歴史を無視しているように見えるようだ。 だけど、それらの要素があったら21世紀のプログラミング言語といえるということなのだろうか? このプレゼンテーションでは、そういう疑問をきっか

    Goは本当に1980年代の言語みたいなのか。 - Qiita
    stealthinu
    stealthinu 2020/08/26
    Goがなぜその設計になったかについて。おっとこんなところに @ktz_alias さんが。go routineって実はすごく大きい特徴なのね。
  • Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita

    Go言語コンパイラをスクラッチから書いてセルフホストを達成しました。 Goコンパイラの実装はほとんど見ずに、ほぼ 8cc というCコンパイラから学んだ知識のみで作りました。 特徴 コンパイルするとアセンブリを吐きます 字句解析・構文解析は手書きです。yacc/lex などのツールは使っていません 標準ライブラリも自作です コード行数はテストをのぞくと 9,152行でした。 セルフホストに必要な機能しかないので、Go言語の全機能は網羅していません。 例えば以下の機能は未実装です。 ガベージコレクション go routineとchannel 浮動小数点 設計 70%くらいは 8cc の設計をそのまま引き継いでいます。 残り25%(map,slice,interface,method,型推論等)が自分のオリジナル、残り5%が9cc、くらいな感じです。 かかった期間 2018/10/7に着手し

    Goコンパイラをゼロから作って147日でセルフホストを達成した - Qiita
    stealthinu
    stealthinu 2019/05/21
    すごくいい!DQNEOさんがGoコンパイラ作ってセルフホスト出来るところまでいけた話。ruiさんの8ccが起点となってる。すげー。
  • Big Sky :: golang の遅いコードをたった1行で高速化するテクニック

    記事中に間違いがありました。数倍も速くはなりませんでした。確か 1.0X ~ 1.1 倍程度の高速化は得られましたがびっくりするほどの物ではありませんでした。すみません。 そろそろ Go1.7 がリリースされるそうですが、皆さん如何お過ごしですか。Go 界隈の波平こと mattn ですこんにちわ。バカモー(略 Go1.7 ではコンパイラの最適化が行われ、ビルド速度がかなり短縮される様になりました。毎日ビルドしてる僕としては非常に嬉しい機能改善ですね。 さてとてもキャッチ―なタイトルで釣ってしまった訳ですが、気にしたら負けなのでどんどん話を進めます。 var t [256]byte func f(b *[16]byte) { for i, v := range b { b[i] = t[v] } } 例えばこのコードを見て下さい。このコードはココから拝借しました。issue の内容はスコー

    Big Sky :: golang の遅いコードをたった1行で高速化するテクニック
    stealthinu
    stealthinu 2016/08/04
    golangでのパフォーマンスチューニング。goroutineでよそから使われる可能性があるためLEAQを発行するので遅くなるからスコープ内にするチューニングで速くなる。
  • GolangのGCを追う

    Go1.5とGo1.6でGoのGCのレイテンシが大きく改善された.この変更について「ちゃんと」理解するため,アルゴリズムレベルでGoのGCについて追ってみた. まずGoのGCの現状をパフォーマンス(レイテンシ)の観点からまとめる.次に具体的なアルゴリズムについて,そして最後に実際の現場でのチューニングはどうすれば良いのかについて解説する. GoのGCの今 最初にGoのGCの最近の流れ(2016年5月まで)をまとめる. Go1.4までは単純なStop The World(STW)GCが実装されていたがGo1.5からは新たなGCアルゴリズムが導入された.導入の際に設定された数値目標は大きなヒープサイズにおいてもレイテンシを10ms以下に抑えることであった.Go1.5で新たなアルゴリムが実装されGo1.6で最適化が行われた. 以下は公開されているベンチマーク.まずはGo1.5を見る. Gophe

    stealthinu
    stealthinu 2016/05/09
    Goのガベコレ実装について。ガベコレ自体の理解にも。
  • A Tour of Go

    A Tour of Go

    stealthinu
    stealthinu 2015/12/02
    おっ!ちょうどgoも勉強したいなと思ってたとこだったからちょうどいい感じ。
  • Goに入ってはGoに従え

    Goに入ってはGoに従え Go Conference 2014 autumn 30 November 2014 鵜飼文敏 Fumitoshi Ukai Google Software Engineer - Chrome Infra team Go Readability Approver Go言語のReadabilityをレビューするチーム コードレビューを通じてGo言語のよいコードの書きかたを教える メインのプロジェクトとは別のコードをレビュー 一年前くらい前に参加して 20% timeで 200くらいのCLをレビューしました 今は一日3CLくらい、週に12CLほどのペースでやっています Gopher by Renée French 2 Readabilityスキルとは? プログラミング言語のリテラシー 作法にかなったやりかた で、読んだり書いたりできる能力 言語ごとに作法が違う C++

    stealthinu
    stealthinu 2014/12/01
    GoってJavaの文化のアンチテーゼとして誕生したのかな…?
  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava1.0で仕事しても大丈夫なんだろう。

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
    stealthinu
    stealthinu 2014/10/17
    goって触ったことなかったんだけどそういう言語なんだ。『Goの実用性とシンプルさを他のなによりも優先する哲学』あと自分のアイデンティティに反するものがもてはやされてるとそれをけなしたくなる心理ね。なるほど
  • Goの変数名が短い理由(あるいはGoがほかの言語と違う理由) - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Goの変数名が短い理由(あるいはGoがほかの言語と違う理由) - Qiita
    stealthinu
    stealthinu 2014/09/02
    『Goは、最近では当然のものとして受け止められている(が昔は特にそうでもなかった)「プログラミングの常識」なるものを改めて問い直した言語』なるほど…
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
    stealthinu
    stealthinu 2014/07/29
    swiftの件で@hATrayfloodさんにrustのことを聞いて以来rustのこと見かけることが多くなった気がする。実はrustさんが最強?haskellは書式が読みにくくて馴染めない…
  • プログラミング言語 Go ドキュメント — プログラミング言語 Go ドキュメント v0.1 documentation

    翻訳プロジェクトについて¶ この翻訳は Sphinx を使って以下のサイトで共同で行っています。翻訳に参加ご希望の方は、 yoshiki at shibu.jp までご連絡ください。 http://bitbucket.org/shibu/golang-docjp/ 翻訳ルール¶ まずはBitbucketのアカウントを作ってご連絡ください。書き込み権限を設定します。 翻訳したいものがある方は上記のBitbucketのサイト上でチケットを発行してください。Issueタブです。大項目単位です。 翻訳は読みやすさを考えて「です・ます」調で統一します。 Sphinxディレクティブを使った相互リンクは暇なときに設定します。もしくは書き込み権限のある方は設定してもらっても構いません。 Mercurialでcloneして翻訳してからcommit、pushしてください。commit前にpull&update

    stealthinu
    stealthinu 2009/11/18
    Goの仕様説明の日本語翻訳版
  • On Go

    Updated 2015-09-25: So, about six years later, people are still reading this. I'm not sure how to feel about this; Looking at it now, it's incoherent, badly argued, and a lot of the details are simply wrong. But 1000 hits a month indicate that people still get value out of it. Don't get me wrong; I still think that Go is a terrible language. I now work for a company that does a lot of it, and ever

    stealthinu
    stealthinu 2009/11/18
    GoがAlgol-68とほとんど一緒だっていう指摘。逆にAlgol-68はすごく先進的な言語だった、とも言えるよね。
  • inforno :: 個人的Go雑感&メモ

    GoogleGoという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言

    stealthinu
    stealthinu 2009/11/12
    これはわかりやすいgoのまとめ。簡潔なオブジェクトとネイティブなスレッドを持ったCって感じ?
  • The Go Programming Language

    Tips for writing clear, performant, and idiomatic Go code

    The Go Programming Language
    stealthinu
    stealthinu 2009/11/11
    channelっていうマルチスレッド?を扱う機構を言語が最初からサポートしているのがアドバンテージなのかな。文法というか雰囲気はほんとCっぽい。C++よりもCとかRuby?とかに近い匂い。
  • 1