SlideShare a Scribd company logo
1 of 27
Visual Studioとそのライバル
石坂忠広@OPC DIARY
今日は
加齢臭が
しすぎる
これも
そんな話
スマン。
オレ元々Borland派
だったわ。
IDEと言えばBorland
• Turbo Pascal
• SideKick
• Turbo C
• Turbo C++
• Borland C++
• Paradox
• dBase
そう、1980年代から90年代前半、DOSからWindows 3.1にかけて
プログラマの生産性を向上させたのはBorlandだった。
Turbo C(1987)
• Turbo Pascalの高い生産性をC言語に持ち込む
• オレ的に最初のIDE
• これでC勉強した
• MSの開発製品何て
という雰囲気
http://techapple.net/2013/01/turbocc-for-windows-7-windows-8-windows-xp-32bit64bit-fullscreen-single-installer/
MSからの刺客、Visual Basic(1991)
• MSはBorlandのせいで売れない、Quick C, Quick Basicをテコ入れ
する必要性に迫られた。
• Borland C++が出たらMicrosoft Cまでが売れない。
• OSメーカーが出しているのにWindowsのGUIアプリが作りにく
いと大いに非難される。
• 外部からの協力でも何でも得て打倒Borland!!
• そして、登場したのがVisual Basic
• ※あくまでも個人の感想です。
Visual Basic
説明不要
Visual Basic
• GUI時代のプログラミングツール
• 非コンピュータ専門家用と言う位置づけ
• Quick Basicを元にした親しみやすい言語構文
• GUIパーツ市場を生み出した。(VBX,OCX)
本格的な反撃、Visual C++(1993)
• 「Visual」なリソースエディタ
• 「ウイザード」によるアプリ
ケーションテンプレートの作成
• MFCにクラスウイザードが付い
た
• 32bit対応
• でも正直力不足じゃ
画像出典: https://msdn.microsoft.com/de-de/library/bb979160.aspx
Borlandの迎撃、Delphi(1995)
• Turbo PascalをVisual Basicみたいにして
やったぜ。よりCoolにな!
• VBよりイケテイル言語仕様、最適化コ
ンパイラ
• VBよりイケテイルGUIパーツ
• VBよりイケテイルし効率的なDBアクセ
スフレームワーク
• InterBase, dbExpress
• 以上相まってVBよりも高い生産性で実
行効率の高いWindowsアプリケーション
が開発可能
Delphiマジやばい、C++Builderとかも出し
やがった
• VBの強化
• RDS, ADOといったデータベースアクセスの改善
• 3rd巻き込んだGUIパーツの充実
• VBにオブジェクト指向の導入
• エディタの強化
• MFC, BCL骨肉の争い
• 結局MFCが勝った(と思われた)
• BorlandはC++ Builderを出して、GUIパーツのDelphiとの共有化、生産性
までDelphi並みに
• えーいBorlandから開発者引き抜いちゃえー
Borlandの負けが
決まりました
雑w
そんなことをしている間に。。。
• 時代はインターネット
• SUN MicrosystemsがJavaを出してきた。
• 超ブーム!
• 一度書けば全部のプラットフォームで動くらしいぜ!
• WEBブラウザの足りないことはアプレットで解決
• UNIXな文化
• Net PCとか言い出した
• VC/VBと言うよりWindowsの優位性の危機
ヤヴァイ。。。
一つ倒したらまた強敵が現れた。
しかし、乗らないと!このビッグウェーブに!
WFCも作っちゃうぞ!
乗ったら、訴えられた。(´・ω・`)
これで、.NETとC#が出来た話はもういいよね。
Visual Studio(1997)
• そんなことと並行して、Visual Studioが登場した
• 登場理由(※あくまでも個人の感想)
• Office Suiteが好調だったので気をよくした
• 沢山付けてまとめてダンピングすればライバル(Borland)からユーザー
を囲い込めるかも
• Windows DNAと言う壮大な夢(フィクション)に顧客を巻き込むため
• ただし、VS 97, VS 6.0はIDEの統一もなく、操作系もばらばらで、
本当に一つの箱に入っているという感じ。
• VS.NET(2002)よりIDEが統一され、開発プラットフォームとして
の歴史が始まる
一方2000年代前半までのJavaの開発環境は?
• 決定打にかける感じ。
• NetBeans(SUN, Oracle)
• JBuilder(Borland)
• Visual Café(Symantec)
• VisualAge(IBM)
• JDeveloper(Oracle)
• 根強いエディタでの開発
Eclipse(2001)
• 決定打(タダ)
• IBMが主体になって開発しOSSとして公開、Javaで作られたIDEと
言うよりもIDEのプラットフォームで、最初にJava用のIDEとして
出てきた。
• 現在もVSライバル候補
• 実際のところ、VS対抗というより、SUNとIBMの仲が悪くなっ
たのが...
※あくまでも個人の感想です
では、今のライバルは?
• WEB開発がスクリプト言語主体に(PHP, Ruby, Python, Perl)
• クラウド
• iPhone, Android向けのアプリケーション開発(専用のツールに固定)
• OSSベース、Linux, Mac OS X上での開発
• テキストエディタ、CLIツール活用の時代に逆戻り
• Emacs, Vimのカスタマイズ
• Notepad、秀丸、サクラエディタ
• IDEをやめてしまった現場
• プラットフォーム固定のIDE
でもエディタつらいです。。。
• IDEの復権
• Eclipse
• Jet Brains, InteliJ IDEA, Pycharm, Android Studio...
• Xamalin
• テキストエディタの近代化
• Sublime Text
• Atom
• それらのアドインのエコシステム
Visual Studioからのカウンター
• 開発現場のニーズに合わせる(2010以降)
• Java Scriptの対応強化
• Bower, LESS
• Visual Studio Tools for Python(Python)
• Node.js Tools for Visual Studio(Node.js)
• Visual Studio Tools for Git
• Cordova
• TypeScript
• VSがIDEと言うよりもプラットフォームとしての強みを発揮し、
アドインで対応言語、環境の強化を図る
• Community Editionの登場
Visual Studio Code
• 乗ってしまおう、このビッグウェーブに!
• 近代化テキストエディタブームに乗ってみよう作戦
• マルチプラットフォーム化戦略の一翼
R, VSTR
• ビッグデータ
• 現状ビデオが公開
されているだけ
Project Rider
• 強敵?
• JetBrainsが開発中のC# IDE
まとめ
• ライバルがVisual Studioを強くしてきた
• VSの健全な発展には強力なライバルがいる
• オルタナティブは開発者にとっても必要
• ライバルがないプラットフォームは漫然と改良を怠り、素早いライバ
ルに追い越される
• IDEのプラットフォーム化戦略は今のところ成功している
• 今後は如何にIDEのエコシステムを広げていけるか
• Codeはどうするの?
ご静聴
ありがとう
ございました

More Related Content

Viewers also liked

プログラミングで言いたい聞きたいこと集
プログラミングで言いたい聞きたいこと集プログラミングで言いたい聞きたいこと集
プログラミングで言いたい聞きたいこと集
tecopark
 
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
Ken Morishita
 
HTML5 Conference 2013 HybridCast
HTML5 Conference 2013 HybridCastHTML5 Conference 2013 HybridCast
HTML5 Conference 2013 HybridCast
Satoshi Shoda
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
tecopark
 

Viewers also liked (20)

Fighting history of CGFloat in Swift
Fighting history of CGFloat in SwiftFighting history of CGFloat in Swift
Fighting history of CGFloat in Swift
 
A4でまとめるClean architecture概要
A4でまとめるClean architecture概要A4でまとめるClean architecture概要
A4でまとめるClean architecture概要
 
プログラミングで言いたい聞きたいこと集
プログラミングで言いたい聞きたいこと集プログラミングで言いたい聞きたいこと集
プログラミングで言いたい聞きたいこと集
 
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)知らないと損するアプリ開発におけるStateMachineの活用法(full版)
知らないと損するアプリ開発におけるStateMachineの活用法(full版)
 
Digitization-software is eating the world
Digitization-software is eating the worldDigitization-software is eating the world
Digitization-software is eating the world
 
160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625160625 cloud samurai_adds_migration_160625
160625 cloud samurai_adds_migration_160625
 
Rdra in 東京
Rdra in 東京Rdra in 東京
Rdra in 東京
 
デザイン・制作をはじめる前に
取り組む事
デザイン・制作をはじめる前に
取り組む事デザイン・制作をはじめる前に
取り組む事
デザイン・制作をはじめる前に
取り組む事
 
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考えるメガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
 
HTML5 Conference 2013 HybridCast
HTML5 Conference 2013 HybridCastHTML5 Conference 2013 HybridCast
HTML5 Conference 2013 HybridCast
 
新規ビジネスデザイン研修 DYA2  テキスト<サンプル版>
新規ビジネスデザイン研修 DYA2  テキスト<サンプル版>新規ビジネスデザイン研修 DYA2  テキスト<サンプル版>
新規ビジネスデザイン研修 DYA2  テキスト<サンプル版>
 
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
 
Jenkins実践入門 第二版 What's New
Jenkins実践入門 第二版 What's NewJenkins実践入門 第二版 What's New
Jenkins実践入門 第二版 What's New
 
KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介KPTAふりかえり体験研修のご紹介
KPTAふりかえり体験研修のご紹介
 
Rdra4越境アジャイル
Rdra4越境アジャイルRdra4越境アジャイル
Rdra4越境アジャイル
 
Ad設計
Ad設計Ad設計
Ad設計
 
ピクト図解(R)表記ルールver1.0
ピクト図解(R)表記ルールver1.0ピクト図解(R)表記ルールver1.0
ピクト図解(R)表記ルールver1.0
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
 
AD設計の基礎から読み解くIaaS On AD
AD設計の基礎から読み解くIaaS On ADAD設計の基礎から読み解くIaaS On AD
AD設計の基礎から読み解くIaaS On AD
 
脚注をめぐる冒険
脚注をめぐる冒険脚注をめぐる冒険
脚注をめぐる冒険
 

More from Tadahiro Ishisaka

Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
Tadahiro Ishisaka
 
ビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro ormビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro orm
Tadahiro Ishisaka
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
 
静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価
Tadahiro Ishisaka
 

More from Tadahiro Ishisaka (20)

Windowsでhaskell
WindowsでhaskellWindowsでhaskell
Windowsでhaskell
 
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiVisual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
 
Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
 
クラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイドクラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイド
 
Esentのススメ
EsentのススメEsentのススメ
Esentのススメ
 
ビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro ormビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro orm
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょう
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgit
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 
Web matrix2とvisual studio
Web matrix2とvisual studioWeb matrix2とvisual studio
Web matrix2とvisual studio
 
Sysprep
SysprepSysprep
Sysprep
 
開発から見たWindowsの国際化機能
開発から見たWindowsの国際化機能開発から見たWindowsの国際化機能
開発から見たWindowsの国際化機能
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだ私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだ
 
Netduino
NetduinoNetduino
Netduino
 
静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
 
エンジニアを現役で続けて行くには
エンジニアを現役で続けて行くにはエンジニアを現役で続けて行くには
エンジニアを現役で続けて行くには
 

Recently uploaded

Recently uploaded (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Visual studioとそのライバル