なぜAppleやGoogleは独自のプログラミング言語を作るのか 55
ストーリー by hylom
新言語ブーム 部門より
新言語ブーム 部門より
あるAnonymous Coward 曰く、
最近注目されているGoやSwiftといった言語は、それぞれGoogleおよびAppleが開発したプログラミング言語だ。Red HatもCeylonというプログラミング言語を開発しているし、すでにWindows環境で広く使われるようになっているC#はMicrosoft発の言語だ。FacebookもHackという言語を公開している。このようにIT大手企業が独自のプログラミング言語を作る理由について、Business Insiderが理由を考察している。
これによると、これらの企業はこれら言語から直接利益を得ているわけではない。しかし、人材を集める際に独自の言語を持っていることがメリットになるという。たとえばGoogleは同社サービスの実装にGoを使っているため、Goを理解している開発者を雇うことでトレーニングの手間を減らすことができる。言語やライブラリをオープンソース化することで、社外の開発者がそれらの問題を解決してくれることも期待できる。
また、AppleのSwiftでは、より迅速に安定したアプリケーションを実装できるようになるという。これによってアプリケーションの品質が向上し、それによってプラットフォームの価値が向上するというメリットもあるそうだ。
Microsoft (スコア:3, 参考になる)
そのラインナップにMicrosoftが混ざるのは違和感があるな。
Microsoftは、もともとそっちが本業みたいなもんじゃね?
Re:Microsoft (スコア:3, すばらしい洞察)
MSの起源はBASICのインタープリタ屋だから、言語は本業といえば本業だよな。
Re:Microsoft (スコア:1)
「スタートボタンで終了」という謎言語の話かな>本業
# F#はTIOBEランキング [tiobe.com]で Ada 以下 Erlang 以上の位置か……
Re:Microsoft (スコア:2)
そして、変えたら、変えたで、「元に戻せゴルァ」となる昔からのユーザー
Re: (スコア:0)
「スタート」じゃなくて、「アレ」ボタンにしとけばよかったんだよ。
高齢者にも親切。
Re: (スコア:0)
># F#はTIOBEランキング [tiobe.com]で Ada 以下 Erlang 以上の位置か……
もしかして: C#
Re: (スコア:0)
C#は4位に入ってますよ。
Re: (スコア:0)
「なんでF#なの?MSならC#でしょ」ってツッコミかと思ってた
あんま詳しくないんだけどそもそものコメントでAda、F#、Erlangを並べて比べる理由があるんだろか
Re: (スコア:0)
Re:Microsoft (スコア:1)
言語の存在意義で見てもC#は.NETのために設計された言語という圧倒的な説明力があるけど、
他はなんていうかシンタックスシュガー等の再整理の果てに新言語になった的な感じで、
それじゃなきゃ駄目なんだよって言うほどの意義が余り感じられないというかなんというか…
一種の社内向けカスタマイズを新言語として公開したみたいなのと、
最初からユーザに使わせるつもりで設計されたみたいなのを並べられても困る。
Re: (スコア:0)
CP/M時代にはさまざまな言語を販売してたよね。
Re:Microsoft (スコア:1)
Re: (スコア:0)
Adobeじゃないかなあ
Re: (スコア:0)
もう A.{4} でいいよ!!
Re: (スコア:0)
Avast 「解せぬ。」
Avira 「解せぬ。」
Re:Microsoft (スコア:1)
Microsoft Money って終わってなかったっけ?
Microsoft Bug って聞いたことないです
。
#芋虫から蛾を育成するゲームだろうか?
#存在自体がホラー
なんだかんだ理由をつけて本当はプログラミング言語を作りたいだけでは (スコア:2, すばらしい洞察)
プログラマの性
Re:なんだかんだ理由をつけて本当はプログラミング言語を作りたいだけでは (スコア:2, すばらしい洞察)
うん。たぶん「IT大手企業が独自のプログラミング言語を作る」ではなく「独自のプログラミング言語を作りたい奴を雇って好きにさせておく」ことが出来るのが、ここでいう「IT大手企業」ってだけだと思う。
Re:なんだかんだ理由をつけて本当はプログラミング言語を作りたいだけでは (スコア:1)
昔と比べてコンパイラ設計の技術が進歩して、アカデミックな教育の場で学んだ人も増えたので、何か作りたいんでしょうね
用途を考えればキッチリ規格化する必要もないし、気が向いたらまた新しいものを作り直せば良いという気軽なノリでしょう
Re:なんだかんだ理由をつけて本当はプログラミング言語を作りたいだけでは (スコア:1)
Hackerの性?
よくわからないけど大体こんな感じ?
イ プログラミング言語つくりたい派
ロ OSつくりたい派
ハ CPUつくりたい派
大学の授業でやってないから? (スコア:2)
-- 哀れな日本人専用(sorry Japanese only) --
Re: (スコア:0)
ポール・グレアムだっけ?
人材を集める際に独自の言語を持っていることがメリットになる? (スコア:1)
Googleの例は独自言語をオープンにする理由にはなってるが、人材を集める際のメリットには何もなってないとおもうんだけど。
トレーニングコスト省くならメジャーな言語使っとけば良いよね。
# Googleに積極的な興味を持たない人材を門前払いにする効果がある、とかなら解るんだけど。
Re:人材を集める際に独自の言語を持っていることがメリットになる? (スコア:1)
同じこと思ったけど、ソース記事をサラッと流し読んでみたところ、そう書いてあることは書いてあるが、それはおまけで、もっと他に直接的(現実的?)な理由があって、そっちを長々と説明してるようです。
Re: (スコア:0)
多分、元記事を書いた人にはIT企業がプログラム言語を作るのが不思議なので、やや無理やり理由を並べてみたのだと思います。
基本的には、ソフトウェアを作る人や企業がその作業の効率化のために色々工夫を凝らす中で、既存の言語で物足りないから言語まで作っているだけで当人達には不思議でもなんでもないことですね。
ハードウェアを作る人や企業がその作業の効率化のために既存の道具で物足りない場合、新しい道具や機械を作るのも同じ。もっとも、そういう生産現場を知らないと、何かを作るための何かを作るという作業の存在を気にすることが無いのでしょう。
いわゆる迂回生産というやつで、Apple や Google の場合、企業規模が大きいから自ら手掛ける範囲も広いだけですね。
Re: (スコア:0)
むしろベンダーロックインしたいだけでしょう・・・
Re: (スコア:0)
それなら既存言語のベンダー独自フレームワークを作るほうがいい
そうせず独自言語を作って公開してるのだから、ロックインになってない
つまりロックインするのが理由ではない
Re: (スコア:0)
製品でなくて、人ってことでないかな
公開していても、競合するところが独自言語を採用することは少なそうですし
ベテランになっても他社では評価されにくく他社へは行きにくくなる。
Re: (スコア:0)
こういう新参言語に起用に乗れるやつはほかの言語にもすぐ適応できるよ。
むしろマニアックな言語が使えるのは評価が高い。
それだけアンテナを伸ばしてるってことだし、学習意欲が高いとみなされる。
Re: (スコア:0)
若しくは、余程暇なんじゃないかと。
そんなマイナー言語覚えてどうするの?って思っちゃいます。
Re: (スコア:0)
むしろ逆に、他社のベンダーロックインを回避したいだけでは。
公開していないにせよ。 (スコア:0)
どこの企業も独自の開発言語持ってませんかね?
ベースから独自じゃないにしても。
#もちろん公開していないと前もってとか時間外の学習はやりにくい。ドキュメントもない。
Re: (スコア:0)
昔は何となくPL/Iに似た独自のシステム言語ってのを、各メインフレーマーが。
#公開されていたのでは、PL/Mってのもあったな。
Re: (スコア:0)
ACOS組はSMART2ですた
Re:公開していないにせよ。 (スコア:2)
ACOSというかNECならHPLでしょ
あんなことやこんなことまでできちゃう
Re: (スコア:0)
HPL と言えば 拝承ぷろぐらみんぐらんげーじ でしょ。
インラインアセンブラが使えるのでモジュールのプロローグとエピローグだけコンパイラに吐かせてあとは全部…
Re: (スコア:0)
ゲーム会社のエンジン作ってる所は大体オレオレ言語作ってるからなあ
最近はオレオレ言語作るのめんどくさいので既存の言語使ってるようだけど…
Re: (スコア:0)
日本のゲーム会社の車輪の再発明の無駄さの果てに今の凋落がある気がする。
古の塔が壊れたからでは? (スコア:0)
Re: (スコア:0)
塔が崩れたのは、言語が分かれた後に起きたことであって、原因ではありませんね。
ソフトウェアアーキテクチャっていうんだっけ? (スコア:0)
自社のソレに沿った言語が必要になったから作ったわけよ
でっかいDSLだね
独自のAPIを持ちたいからではないか (スコア:0)
独自の API を自分のビジネスに有利なように設計しやすいからでないでしょうか。
既存の言語にライブラリとして導入しても、そのライブラリは2級市民の位置にとどまる可能性が高い
( Ruby の Rails は例外だが、 Android の API は Java言語上では2級市民 )
けれども言語ごと設計すれば、限度があるにせよ、かなりの自由度で必要なライブラリを標準の機能として導入できる。
Re: (スコア:0)
別にRailsはRubyの言語設計で特別扱いなんて受けていませんよ。
だからこそActiveSupportが作られたんでしょ(ActiveSupportは言語の既存クラスにRails流のメソッドを大量に追加するライブラリです)。
そのActiveSupportにしても別に特別な考慮はされず、今までにコアライブラリに取り込まれたものはごく一部です。
外部からまるで一体に見えるのは、まあRubyとRailsがどちらもよくできているんでしょうな。
Re: (スコア:0)
オープンクラスだから、メソッドが後からいくらでも生やせるってだけ。
これがいいことなのかどうなのかは、意見の分かれるところだし。
Re: (スコア:0)
俺言語は (スコア:0, 既出)
俺言語は漢(プログラマ)の夢でしょ。
小難しい理由はみんな表向き。
Re:俺言語は (スコア:1)
素人なので自信がありませんが、OSをつくるよりは言語をつくるほうが簡単だからってのもあるような。
Re: (スコア:0)
でも途中で気づくんですよ……あ、既存言語の方が良いんじゃね? と。
Re:俺言語は (スコア:1)
Re: (スコア:0)
つまりいずれ中二病に悶絶するときが来るということか