最近、仕事と私事でよく使っているGoとTypeScriptについて
今更ながらここがいいぞポイントをお話しようかと思います
目次
はじめに
こんにちはネットワークソリューション部の梅崎です
最近、仕事と私事で物を書くときGoかTypeScriptをよく使っているなと思いまして
今更ながらここがいいぞポイントをお話しようかと思います
Goのいい所
周辺ツールが良い
C/C++とかを昔書いていたのですが小奴らはいわゆるオフィシャルな開発環境が無いなと思ってまして
Hello worldも躓きポイントが多かったような記憶があります
その点Goは公式のコンパイラにコンパイラやらライブラリ(モジュール)管理やらが入っていて
tarポールを展開するだけで開発ができるというのが結構感動で
それだけでプログラム入門へのハードルが下がったんじゃないかと勝手に思っています
クロスコンパイルが楽
Goのコンパイラはターゲットを指定すれば複数のOS、CPUアーキテクチャで動作するバイナリができるのは
超便利で例えばCliツールをLinuxとWinowsで共有でき、しかもラズパイで動かすこともできる(はず)と言うのはだいぶ開発効率良いのではと思います
並行処理がラフに使える
さっくり軽量スレッドを立てられて後はランタイムがいい感じに管理してくれるのでめちゃくちゃ便利です
また、channelやWaitGroup、context、Lock機構など並列処理で欠かせない物が一式揃っているので
実装したい内容に注力できるのがいいですね~
(脳内がマルチスレッド(not 非同期処理)に外部ライブラリが必要な世代で止まっていたので、goroutineは感動ものでした)
標準ライブラリ(準標準含む)で出来ることが多い
jsonエンコード/デコード、httpサーバーからwebsocket、引数処理から文字列処理いろいろ、バイナリエンコードなどなど
外部ライブラリを探して「これは信用できるのか」「今後のメンテナンスはされるのか」「シェアはどれぐらいなのか」などをあまり深く考えずに色々出来るのが良いです
私が作ったものでgRPCと(アーカイブになってしまった)gorilla/mux以外に使ったことが無いぐらいには
標準ライブラリで出来ることが色々あります
(GUIを作っていないことも大きいかもしれないですが)
作成物はシングルバイナリで出せる
SCPなどで1ファイルを送るだけでプログラムが動くので便利です(一部コンパイラオプションが必要ですが)
書き味もそんなに悪くない
C系から入ったのではじめこそ戸惑うことも多かったですが慣れれば案外悪くないなと思います
(ただ、短命な変数やレシーバーを一文字にする文化はまだまだなれませんが)
型推論も便利です
TypeScript のいい所
型がある
型があるのは個人的に必須事項として
トランスパイラのオプション次第では関数呼び出しなどでNullable(undefined)を判定するかを指定でき
Nullチェックを挟めばそれ以降はNullでは無いものとして扱えるので
ぬるぽでガッっとされないのは便利です
逆に明示的に型情報をなくして(Any)ざっくりも出来るっちゃできるのも
選択肢が自由でいいなと思うところです
ブラウザが基本何でもやってくれる
これ以降はJavascriptと共通なのですが
ブラウザのAPIが超便利で特にGUIを作りたいとき
HTMLとCSSと言った画面装飾とロジックのJavascriptを分離出来るのは
脳みそを圧迫しないのでよいです
ライブラリ要らずで出来ることが多い
私はVanilla JS信者なのですが Vanilla JS であまり困ったことは無く
HTTPアクセスやwebsocketから、画面描画(canvas)にAudio、永続ストレージ、バイナリ操作まで
殆どのことはブラウザベンダーの肩に乗っかって開発が出来きると思っています
(特に何も考えずに、windowを出してその上にを文字を描画できるのがすごいと思います)
覚えると使い道が多い
仕事でも土日の暇つぶしでもブラウザを使っていることが多いと思うのですが
TypeScriptが書けるとブラウザの拡張機能が作れるので
変な広告を消したり、押しづらいボタンを修正したり、画像や動画をダウンロードしたりなどなど
時短や自分のストレスポイントを減らせるのでおすすめです
ブラウザの拡張機能まで行かないにしてもサクッと開発者パネルを開いて
コードをポチポチして流し込むんでスクレイプみたいなことも出来るようになります
さいごに
つらつらと便利ポイントを書いてきたのですが
外部ライブラリ(特に3Dや機械学習)を使うときなどは別の言語を選ぶ必要にかられることもあると思います
そんなときはgRPCはいいぞおじさんにクラスチェンジして
各言語をgRPCでつなげて、いいとこ取りしたアプリを作っちゃえばいいのではと考えてたりします
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(601)
-
イベント(239)
-
カルチャー(60)
-
デザイン(73)
TAG
- 5G
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIエージェント
- AIコーディング
- AI人財
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- CSS
- CTF
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメイクショップ
- GMOメディア
- GMOロボッツ
- GMO大会議
- GMO天秤AI
- Go
- GPUクラウド
- GTB
- Hack-1グランプリ
- IETF
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- JSAI2026
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- RFC
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VLA
- VPN
- VS Code
- XSS
- ZTNA
- アドベントカレンダー
- イベントレポート
- インターンシップ
- インハウス
- お名前.com
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- コンピュータビジョン
- サイバーセキュリティ
- サマーインターン
- スクラム
- スパム対策
- スペシャリスト
- セキュリティ
- ソフトウェアサプライチェーン
- チームビルディング
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- フィジカルAI
- プログラミング教育
- ブロックチェーン
- フロントエンド
- ペアリング暗号
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- ロボティクス
- 京大ミートアップ
- 京都大学
- 人型ロボット
- 人工知能
- 人工知能学会
- 国際ロボット展
- 国際標準化
- 基礎
- 多拠点開発
- 大阪公立大学
- 宮崎オフィス
- 強化学習
- 応用
- 技育プロジェクト
- 技術広報
- 技術書典
- 拡張知能
- 新卒
- 新卒研修
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 機械学習
- 決済
- 生成AI
- 産学連携
- 研究開発
- 耐量子暗号
- 脆弱性診断
- 開発者
PICKUP
-
【後編】「ショップ様のためになる」が判断の軸―インハウスデザイナーの役割と「売れるデザイン」
デザイン
-
【前編】決済画面のリニューアルでCVR35%→50%に改善 「最短ワンステップ」を実現したUI設計の舞台裏
デザイン
-
【Expert cross #3・後編】組織と業界を動かすエキスパートへ GMOサイバーセキュリティ byイエラエ・三村聡志が描く、「安全なロボット」を実現する世界
技術情報
-
【Expert Cross #3・前編】ソフト・ハードの両面から「話せる」エンジニアの流儀 GMOサイバーセキュリティ byイエラエ・三村聡志が語る、「伝えることで世界を良くする」エキスパートの在り方
技術情報
-
【イベントレポート後編】JSAI2026にGMOインターネットグループが登壇|GPUクラウドが支えるAI開発の最前線
イベント
-
【イベントレポート】JSAI2026にGMOインターネットグループが登壇|オープニング挨拶と最前線の研究発表
イベント