Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
例外設計における大罪
Takuto Wada
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Redisの特徴と活用方法について
Yuji Otani
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
1
of
19
Top clipped slide
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Feb. 8, 2015
•
0 likes
19 likes
×
Be the first to like this
Show More
•
10,883 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Software
2015-01-31 Hokuriku.NET 勉強会 TLスライド まぁしゃれっすよしゃれ。
Tadahiro Ishisaka
Follow
Software Developer at ABB Bailey Japan Limited
Advertisement
Advertisement
Advertisement
Recommended
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
28.4K views
•
41 slides
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
143.2K views
•
45 slides
「速」を落とさないコードレビュー
Takafumi ONAKA
55.2K views
•
62 slides
マイクロサービス 4つの分割アプローチ
増田 亨
40.4K views
•
60 slides
SpringBootTest入門
Yahoo!デベロッパーネットワーク
12.6K views
•
43 slides
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
69.9K views
•
89 slides
More Related Content
Slideshows for you
(20)
例外設計における大罪
Takuto Wada
•
66.5K views
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
•
137.6K views
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
•
121.9K views
Redisの特徴と活用方法について
Yuji Otani
•
98.7K views
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
•
2.2K views
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
•
76.2K views
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
•
7.1K views
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
•
2.5K views
ADRという考えを取り入れてみて
infinite_loop
•
2.7K views
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
•
28.1K views
そんなトランザクションマネージャで大丈夫か?
takezoe
•
24.4K views
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
Koichiro Matsuoka
•
3K views
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
•
82.5K views
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
•
94.2K views
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
•
170.4K views
グルーミングしながら進めるプロダクト開発
Takafumi ONAKA
•
11K views
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
•
100.4K views
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
•
37.7K views
君はyarn.lockをコミットしているか?
Teppei Sato
•
29.7K views
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
•
15.2K views
Viewers also liked
(20)
Go入門
Takuya Ueda
•
33.9K views
Go言語によるwebアプリの作り方
Yasutaka Kawamoto
•
43.8K views
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
•
60.7K views
私なりのGo言語のご紹介
Ryuji Iwata
•
7.8K views
エディタの壁を越えるGoの開発ツールの文化と作成法
Takuya Ueda
•
11.9K views
Go初心者向けハンズオン コマンドラインツールを作ろう
Takuya Ueda
•
14.5K views
TalknoteとGolang
leverages_event
•
7.6K views
20161004 DMM/エウレカ/インテリジェンス合同勉強会
Yusuke Komatsu
•
2.5K views
Talknoteとgolangと私
Kenyu Miura
•
5.3K views
[Golang] Go言語でサービス作ってる話
株式会社YEBIS.XYZ
•
14.4K views
GoでMinecraftっぽいの作る
京大 マイコンクラブ
•
25K views
【初心者向け】Go言語勉強会資料
Yuji Otani
•
36.9K views
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
•
10.1K views
ごちうさ Advent Calendar
yaplus
•
2.2K views
5分でわかる? 関数型 PHP の潮流
Yuya Takeyama
•
4K views
Windowsの画面スケーリングをきちんと理解しよう
Yuya Yamaki
•
42.2K views
Go x Slack API
weddingpark
•
681 views
Go で Unit Test をやってみた
Masahiro Yanou
•
3.7K views
Microsoft Azure超超入門_20140412
Sayaka Shimada
•
8.2K views
Teratail Study ~機械学習編#1~
Kosuke Fujimoto
•
1.7K views
Advertisement
More from Tadahiro Ishisaka
(20)
Windowsでhaskell
Tadahiro Ishisaka
•
1.3K views
Windows環境でのgitまとめ(2016.8)
Tadahiro Ishisaka
•
7.7K views
Visual studioとそのライバル
Tadahiro Ishisaka
•
6.2K views
Windows環境でのgitまとめ(2016.1)
Tadahiro Ishisaka
•
20.8K views
Visual studio 2015 update1 ctpとcsi
Tadahiro Ishisaka
•
4.3K views
Git for windows情報アップデート 2014年10月5日
Tadahiro Ishisaka
•
1.7K views
クラウド・コンピューティング サバイバルガイド
Tadahiro Ishisaka
•
1.2K views
Esentのススメ
Tadahiro Ishisaka
•
2.4K views
ビジネス向けアプリケーションにこそ進めるMicro orm
Tadahiro Ishisaka
•
4.8K views
Jazug3周年lt deployブランチを追加してみましょう
Tadahiro Ishisaka
•
1.6K views
Build insider offline session チームでのgit
Tadahiro Ishisaka
•
2.9K views
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
•
1.1K views
Web matrix2とvisual studio
Tadahiro Ishisaka
•
1.3K views
Sysprep
Tadahiro Ishisaka
•
1.9K views
開発から見たWindowsの国際化機能
Tadahiro Ishisaka
•
5.7K views
Shizudev git hub宿題
Tadahiro Ishisaka
•
2.6K views
Ossで作成するチーム開発環境
Tadahiro Ishisaka
•
3.9K views
私はこの本でネットワークを学んだ
Tadahiro Ishisaka
•
3.2K views
Netduino
Tadahiro Ishisaka
•
1.6K views
静岡Developers勉強会 第11回 第12章 遅延評価
Tadahiro Ishisaka
•
563 views
Recently uploaded
(20)
①【卡毕兰诺大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
留信网认证可查【太平洋大学文凭证书毕业证购买】
hh123hh1
•
2 views
設計/ドメイン設計(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第23回】
Tomoharu ASAMI
•
11 views
HCL Sametime V12 概要
Software Info HCL Japan
•
232 views
留信网认证可查【萨福克大学文凭证书毕业证购买】
hh123hh1
•
3 views
留信网认证可查【莱比锡大学文凭证书毕业证购买】
khh123kj
•
2 views
測量データ処理システム「MarineDiscoveryクラウド」の紹介
ssuserbceee8
•
56 views
留信网认证可查【麻省大学洛威尔分校文凭证书毕业证购买】
hh123hh1
•
2 views
☀️【斯旺西大学毕业证成绩单留学生首选】
25mjhd12
•
2 views
測量データ処理ソフト・MarineDiscoveryの紹介
ssuserbceee8
•
39 views
留信网认证可查【艾格伍学院文凭证书毕业证购买】
32lkhng
•
2 views
在哪里可以做《邦德大学文凭证书|毕业证》
kjds1245
•
2 views
①【威得恩大学毕业证文凭学位证书|工艺完美复刻】
0987hgh789
•
2 views
留信网认证可查【俄亥俄大学文凭证书毕业证购买】
1lkjhg
•
2 views
☀️《USD毕业证仿真》
jjkjkijk
•
2 views
☀️【波恩大学毕业证成绩单留学生首选】
bjd42as
•
2 views
留信网认证可查【堪萨斯大学文凭证书毕业证购买】
1lkjhg
•
2 views
留信网认证可查【俄克拉荷马大学文凭证书毕业证购买】
1lkjhg
•
2 views
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
fisuda
•
16 views
留信网认证可查【奥克兰大学文凭证书毕业证购买】
ihh14ds
•
2 views
Advertisement
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたあなたに送る Go言語のススメ 石坂忠広 http://opcdiary.net
自己紹介 • プロフィールは適当にWindows GitとかVisual
Studio Gitで検索してく ださい。トップに出てきません。 • 富士山の方から来ました。 • オブジェクト指向スキーなSEです。 • 純粋関数型なんてわかりませんと思っていたら、純粋関数型の人も あんまりわかってなかったみたいな感じで何なんだったんだこの一ヶ 月みたいな感じです。ま、傍観者ですが。 • ま、あと、オブジェクト指向も流派が分かれるので一緒にするな。
疲れました。。。 • 総称性の議論とか • クラス、オブジェクト、そもそもJavaScriptのあれはとか •
副作用?副作用? • 圏論?はぁ?それがお前の言う圏論の議論なの? • 別に関数型とオブジェクト指向とか相反しないし • OCamlとF#に謝れとか • まぁ、原理主義者相手にしてると疲れますよね
そんな疲れたアナタに朗報です
Go言語でリフレッシュしましょう!
Go言語には議論を呼ぶ 以下のものがありません • クラス、オブジェクト、継承、オーバーライド • Generics(総称性)構文 •
関数型原理主義者の嫌う、擬似関数型現機能、ラムダ式 • While/Do While/Foreach • モナド?圏論?とか面倒くさいこと言う厨二
争いの起きる余地なし!!
Go言語の特徴 • 手続き型の高級言語 • ロブ・パイク、ケン・トンプソンが開発に関わっている •
ALGOL, Pascal, Cのような構文 • コンパイル言語 • クロスコンパイルが得意(Linux/Darwin(Mac)/BSD/Solaris/Windows/Plan 9) • 実行動作ランタイムなどない! • メモリ管理はGCに一任 • 連想配列を持つ • 型の継承、ジェネリックプログラミング、アサーション、オーバーロードと いった機能は無いが、インターフェイスによるポリモーフィズムはある(そ れなんてVB) • 並行動作の支援機能
Hello World package main import
"fmt“ func main() { fmt.Printf("Hello, World¥n") }
;(セミコロン)がない!!! • 中括弧言語のくせにセミコロンがない! • 無いのではなく、コンパイラが構文解釈して適宜挿入するの で省略できている。(文末解析出れば人が入れること無い じゃん) •
以下のような場合は必要。 • for i := 0; i < 10; i++ {} (for文のイニシャライザ) • 1行に複数の文を記述したい場合
;以外もC/C#/Java違うところが多いよ • 代入演算子が := •
for, if にカッコを付けない • 変数の型指定が変数の後 • var n int • var err os.Error • Asはいらない • while / do whileが無い。ロブ・パイク大先生もforで十分だと。 • ポインタがある。 • C++プログラマ向けGo講座を見よ
ま、ゆるふわな言語です。
実践Go言語 Go言語を勉強したくなったらこのサイトを見よう
はじめかた • http://golang-jp.org/ から始めましょう •
ここのトップページのDownload Goをクリック • Linux/BSD/OS X/WindowsはこれでOK • リンク先ページ書きの注意書きを読みましょう • Solarisの人はパッケージがあるはず • チュートリアル • A Tour of Goでひと通りの構文を学習できます。 • WEBで完結しているので何かをインストールする必要なし • http://go-tour-jp.appspot.com/#1
開発環境 • CLI主義 • コンソールウインドウを黒い画面とか言うゆとりはPHPでも使ってろ!! •
コード整形 • コンパイラがその機能を内蔵 go fmt <ソースコードファイル> • 複数のコーディングスタイルとか許してやんない→議論の余地なし • エディタ • Vim, Emacs, Atom等でGo用に構文のハイライトや、コード整形、コード補完の 機能を提供するプラグインがあるよ • IDE • LiteIDEが優秀 • InteliJ IDEAもがんばっているっぽい
何に向いているか? • Goole App
Engine(GAE)でのアプリケーション展開 • WEBアプリケーション • UNIXwayなコマンドラインツール、且つクロス環境で動作して欲しい場合 • クロスコンパイル機能が非常に優秀で、実行ファイルがあればライブラリのポート とかも必要ない。Linux上でMac用、Windows用のバイナリも作成可 • 個人的におすすめ • GUIはあんまり得意じゃない
何より • Gopherが可愛い(*´∀`) https://golang.org/doc/gopher/
お前じゃない
ご清聴ありがとございました。
Editor's Notes
ロブ パイクはUNIX/Plan 9の開発者でプログラミング作法の共著者 もう一人はカーニハン。 ケン・トンプソンはUNIX、C言語の揮発者。 あと、お前らの大好きなUTF-8を作ったのがこの二人だ。
Advertisement