

This past March we unveiled our efforts to port theTypeScript compiler and toolset to native code. This port has achieved a 10x speed-up on most projects – notjust by using a natively-compiled language (Go), but also through using shared memory parallelism and concurrency where we can benefit. Since then, we have made several strides towards running on large complex real-world projects. Today, w


You're about to see concurrent 10x performance on your type checking with half the memory and much faster editor startup. TheTypeScript team has been porting the project toGo for the past 8 months. https://devblogs.microsoft.com/typescript/typescript-native-port/ In this interview with Anders Hejlsberg, co-creator and lead architect ofTypeScript, we tried to ask questions that would be valua

Language choice is always a hottopic! We extensively evaluated many language options, both recently and in prior investigations. We also considered hybrid approaches where certain components could be written in a native language, while keeping core typechecking algorithms inJavaScript. We wrote multiple prototypes experimenting with different data representations in different languages, and did

Broadly speaking, there are two possible strategies you can take when changing languages: In a "rewrite" you start with nothing, and implement a new system that tries to solve the same problem as the original one, disregarding the implementation strategies of the original codebase In a "port" you take the existing codebase and convertit to the new language while trying to keep as much the same as

Instead, add missing details relevant for debugging. Some people like to complain thatGo requires writing tons of “iferr != nil { returnerr }”blocks. Those people don’t understandGoerrors. The thing is, what they complain about is actually a completely wrong way of handlingerrors inGo: returnerr is an antipattern. Let me show what I mean on some sample code: a helper library for configuri
Introducing Lessons by byteSizeGo. Short sharp lessons to help you masterGo, with new lessons every week! We all learn differently and at different paces. Finding content that is right for us is challenging. Below is my attempt to curate all the great content I have come across over the years into one place to hopefully help folks advance theirGolang journey to the next step. None of the links b
PEACE FOR ALL 「世界の平和を願ってアクションする」そんなユニクロの想いに賛同した著名人がボランティアで参加し、平和への願いを込めてデザインしたTシャツを続々と発表。その利益の全額は、貧困、差別、暴力、紛争、戦争によって被害を受けた人々を支援する、国際的な団体へと寄付されます。PEACE FOR ALLは、「あなた」がTシャツを着ることで動き出すプロジェクト。すべての人が安全に暮らせる未来と、世界の平和を願って。ユニクロはこの取り組みを、世界中の人とともにひろげていきます。 ※ユニクロを展開する株式会社ファーストリテイリングが、利益の全額(1枚あたり販売金額の20%相当)を、パートナーシップを結んだ3団体に日本窓口を通して均等に寄付し、国際的な活動に使っていただきます。 アカマイ・テクノロジーズ クラウドカンパニー / 1998年に設立されたAkamaiTechnologie

When starting a project, newGophers often ask the following questions. Whatlogger should I use? What web framework should I use? What object–relationalmapping (ORM) should I use? These questions are well-intentioned but they all miss a key aspect aboutGo.Go has a great standard library. Let’s understand why.Note: Don’t forget to initialize aGo module in your current working directory using
Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのものGoはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

Go Mistakes Book Details The Story Behind 100Go MistakesGo言語でありがちな間違い The Coder Cafe もし私の本を楽しんでいただけたなら、私の最新プロジェクトにもご興味があるかもしれません。The Coder Cafeは、コーダー向けの日刊ニュースレターです。 Feeling overwhelmed by the endless stream oftech content? At The Coder Cafe, we serve one essential concept for coders. Written by a senior software engineer atGoogle,it's perfectly brewed for your morning coffee, helping you grow

面白法人カヤック技術部の谷脇です。私は元気です。 この記事は面白法人グループ Advent Calendar2023の5日目のエントリーです。 というわけでこの記事では、現環境(私が取り組んでいる業務のこと)ベストの管理画面の技術選択について考えたことを書き連ねていきます。 前提知識 管理画面の定義 ここで読者と私の目線を合わせるため、この記事上での管理画面の定義をしておきます。 管理画面はサービスの運営上必要な操作やデータの閲覧をまとめたWebアプリケーションです。また、このWebアプリケーションは一般ユーザーには開放されておらず、サービス運営者側のみ閲覧と操作が可能となっている、とします。 管理画面を作る動機 ここではTonamelの管理画面について、考えて導入したことを書きます。 tonamel.com Tonamelはゲーム大会やイベントを開催するためのプラットフォームです。We
We’ve been porting Turborepo, the high-performancebuild system forJavaScript andTypeScript, fromGo toRust. We talked about how we started the porting process, so now let’s talk about how we began porting our two main commands: run and prune. Since last timeWhen we last left off, we had begun our port by implementing global turbo and commandline argument parsing inRust. Because of issues aro

はじめに 私はGoが好きなので、disられている場面に遭遇すると心が痛みます。残念ながらプログラミング言語について深く語れるほどの知識や経験は持ち合わせていないため、世界が平和になることを祈るくらいしかできません。 (元ネタ)Go言語を嫌う6個の理由 - さめたコーヒー それはそれとして、Goが好きな理由を語る人はあまり見かけない気がします。この記事ではGoが好きな理由を視覚に障害のあるユーザーの視点から語ります。読み終えたところで得るものは何もありませんし、長いので覚悟して読んでください。 あなたは誰? 4年ほど業務でサーバーサイドのGoを書いています。また、業務で使いはじめる前から趣味でGoに触れていました。そのため無意識の内にひいきしているかもしれません。ただし、流行っているからといって理由もなくGoを勧めたりはしません。 視覚障害ならではのコーディング事情Goが好きな理由と深く関

I've been trying on and off to find a nice way to deal with setting options in aGo package I am writing. Options on a type, that is. The package is intricate and there will probably end up being dozens of options. There are many ways to do this kind of thing, but I wanted one that felt nice to use, didn't require too muchAPI (or at least not too much for the user to absorb), and could grow as ne
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く