2011年のプログラミング言語シェア、Objective-Cが増加率1位…総合ではC#が3位・Objective-Cは5位
1 :
名無しさん@お腹いっぱい。 :
2012/01/16(月) 20:54:06.72 ID:9mzYy4oS http://sourceforge.jp/magazine/12/01/13/0449201 オランダTIOBE Softwareが「1年間でもっともシェアを増やした開発言語」を選ぶ
「TIOBE Programming Language Award of 2011」を発表した。受賞したのはiOS
向けアプリの開発言語として用いられるObjective-C。一方で昨年受賞した
Pythonはシェアを減らしている。
TIOBE Softwareは毎月プログラミング言語の人気ランキングを発表しており、
そのなかで「1年間でもっともシェアを増やした」言語に贈られるのが「TIOBE
Programming Language Award of 2011」となる。Objective-Cはシェアの増加率が
3.91%と最も高いことから、2011年度のTIOBE Programming Language Awardに
選ばれた。Objective-Cは2007年1月では46位だったが、そこからシェアを急激に
増やしており、同年発売されたiPhoneやその後のiPadの成功に大きく支えられていることがうかがえる。
なお、2012年1月度のプログラミング言語の人気ランキングで首位を獲得したのは
Javaで、シェアは17.479%。2位は2位はC(シェア16.976%)で、上位2位は2011年
1月と同じ順位となった。3位はC#(シェア8.781%)で、前年6位から2.55%上昇した。
4位は昨年3位だったC++(同8.063%)、5位はObjective-C(同6.919%)で昨年8位からトップ5に食い込んだ。
6位以下は、6位PHP(シェア5.710%)、7位Visual Basic(同4.531%)、8位Python
(同3.218%)、9位Perl(同2.773%)、10位JavaScript(同2.322%)の順。JavaScript
以外はシェアを下げたが、中でも昨年同Awardを受賞したPythonはシェアを3.05%も
下げた。これは上位20言語でもっとも減少率の高い数字となる。
PHPもシェアの低下が大きく、2.13%のマイナスとなった。
オランダTIOBE Software
http://www.tiobe.com/
Position Jan 2012 Position Jan 2011 Delta in Position Programming Language Ratings Jan 2012 Delta Jan 2011 Status 1 1 Java 17.479% -0.29% A 2 2 C 16.976% +1.15% A 3 6 C# 8.781% +2.55% A 4 3 C++ 8.063% -0.72% A 5 8 Objective-C 6.919% +3.91% A 6 4 PHP 5.710% -2.13% A 7 7 (Visual) Basic 4.531% -1.34% A 8 5 Python 3.218% -3.05% A 9 9 Perl 2.773% -0.08% A 10 11 JavaScript 2.322% +0.73% A 11 12 Delphi/Object Pascal 1.576% +0.29% A 12 10 Ruby 1.441% -0.34% A 13 13 Lisp 1.111% +0.00% A 14 14 Pascal 0.798% -0.12% A 15 17 Transact-SQL 0.772% +0.01% A 16 24 PL/SQL 0.709% +0.15% A 17 20 Ada 0.634% -0.05% B 18 39 Logo 0.632% +0.29% B 19 25 R 0.609% +0.07% B 20 21 Lua 0.559% -0.08% B
やっぱりJavaの勝利かねぇ。
結局、MSとAppleの勝利。
俺がまだ学生だった10年前はJAVAが天下を取る寸前で「JAVAを使えない者はプログラマーに非ず」という感じだった。 Object-Cなんて一部の研究者が細々と使ってるくらいでオブジェクト指向のC++がある中なんでわざわざ習得する 必要があるのか分からないくらい古くさい言語という認識だった。 たった10年でどうしてこうなった(´・ω・`)
7 :
名無しさん@お腹いっぱい。 :2012/01/16(月) 22:21:24.50 ID:l4x6ARzC
スマホの影響かね?
プログラミング言語って互換性みたいなのはないの? それぞれ習得するのに別々の文法だとすっごく手間かかりそう
>>8 だから上位6言語はCやそれに近い文法の言語なんじゃん
Objective-CはCっぽくないが。
11 :
名無しさん@お腹いっぱい。 :2012/01/17(火) 00:16:16.22 ID:+yd0bwzz
>>8 文法よりライブラリ関連を憶えるのが困るなぁ。
iPhoneの影響しかないな増えたのは
>>6 実際、俺もまっさらな案件で言語を決めさせてもらえるならC#を選ぶしな。
C#は楽だ。
Pascal, AdaがTop20入りしてる事に驚愕した!
>>5 > たった10年でどうしてこうなった(´・ω・`)
たった10年っていうのなら、びっくりするのは
Objective-Cではなく、3位のC#だろ。
2002年にやっと生まれたばかりぐらいなんだぞ。
Objective-Cが増えるのは別に構わんがGNUStep以外に使い道が無い ObjC Apple信者様ご用達 C# MS信者様ご用達 monoがあるからObjCよりC#のほうが見る機会多いかな
C#ってパクリ言語なんでしょ
>>16 iOS信者様なんだろうな。最近増えたのは。
>>17 言語に対しては、それは褒め言葉だな
他の言語のいいとこ取りなのは確かだし
c++とobjective-cはcを内包してんだから、結局まとめると1位はcだろ。
>>20 何のために、わざわざCと分けてんだよ。。。
cとc++はいいけどobjectiveーcは別だろ。
>>13 ハゲド
一度C#に甘えると他に乗り移る気がしなくなる
24 :
名無しさん@お腹いっぱい。 :2012/01/17(火) 19:59:24.12 ID:resZOkr2
C++はちゃんとフル活用されてるの? ほとんどbetterC?
>>22 MacでもドライバはC++使ってるという話。
ObjectiveーCではさすがに遅いと言うことらしい
>>20 それらは所詮Objective C++のサブセットに過ぎないでしょ
obj-c使ったことも無いのによう意見が言えるな。あの言語は最終的にピュアcで出力されんだよ。
>>27 いや実際NeXT系だとobj-cとc++を混合してかける。コンパイラがObjective-C++
>>28 昔はプリプロセッサだったけど、遥か昔の話。今はllvm/clang。
cfrontはディスコンだが、今でもCを出力するC++コンパイラもある。
便利ならパクッたっていいんだよ
VBAってBasicの中に入ってるのか?
そもそも数ある言語の中からなしてiPhoneはObject-Cを選んだのか という根源的な問いにまだ誰も答えていない件に関して
え? Appleだからでしょ?
昔から使ってたからだよなw
選んだ当時に世の中に存在していた言語の中で OS開発に変えるレベルのもの、 C(2位)、C++(4位)、Objective-C(5位) の中で、一番はやらないものを選んだのだから 失敗だったと考えるべきだろうね。
Nextを受け継いでるからだろ 流行るとか流行らないとか馬鹿
>>36 Interface BulderというかNIB使う都合で、Classが違っても渡せる必要があったから。
今はC++も拡張されて色々出来る様になったが、昔はサブクラスのインスタンスを
親クラスのインスタンスとして渡せなかった。
>>41 「多態性」って言うんだっけ?
え?C#でもJAVAでも出来るからてっきりC++でも出来ると思っていたけど
C++で出来るようになったのは最近だったの?!
>>41 これってdelegateとprotocolのことか?
多重継承できるから、それでいい。
>>39 まあAppleだって、OS開発する能力があったらObj-Cなんてわざわざ使わなかっただろうからね
>>42 最近といっても1990年とかそういうレベルだろ
CとC++とC#ならそれぞれ少しずつかじったことがある。 そんな俺にObject-Cって事前知識なくてもプログラムできると思う('A` )?
>>43 delegateになんでも渡せるのもidのおかげ。
>>48 you can't if you don't read documents at least getting started
objective-c最近始めたけど、型チェックゆるゆるで便利だけど恐ろしいんだ… 問題のある行が実行されて初めて「サポートされてないメソッドだぜよ」とか言われてブチ切れ
まあAppleの開発環境なんて昔からこんなものだからな
古いApple Cコンパイラのエラーメッセージより
ttp://www.netfunny.com/rhf/jokes/91q3/cerrors.html (英文)
「文字列リテラルが長すぎる(512文字持てるようにしてあげましたが、これはANSIが義務付けたものより3文字多いのですよ)」
「……そこで王は言った、『見よ、switch文の中では、caseまたはdefaultラベルだけが存在できる』」
「あなたのプログラムのこの場所でのtypedef文には、まったく驚かされました」
「VolatileとRegisterには混和性がありません」
「あなたは、定数を変更できないばかりか、floatを上流に移動したり、国税庁へのargmentで勝利したり、あるいは、このコンパイラを満足させるといったことはできません」
「この構造体は、すでに完全に正しい定義を持っています」
「"(キャスト)"の型はスカラでなければならない; ANSI 3.3.4; page 39, lines 10-11(あなたが気にしないことはわかっています。ちょっといやがらせしただけです)」
「void型を型voidにキャストできない(ANSI仕様がそう言っているからで、それが理由です)」
「いやだね」
「"void *"をいじくり回すことはできません」
「もうこの関数はやりました」
「このラベルはこのラベルを含むブロックの外側からのgotoターゲットになっており、このブロックは初期化付きの自動変数を持っており、あなたのウィンドウはこのエラーメッセージのすべてを読めるだけ大きくはありませんでした」
「私を偏執症患者と呼びたければそうしてください、しかし、コメントの中の"/*"を見ると、私は懐疑的にならざるを得ないのです」
「1行のエラーが多すぎる(減らしてください)」
「シンボルテーブルが満杯――致命的なヒープエラー:地元のApple代理店でRAMアップグレードを購入してください」
>>51 ゆるゆるつうか、そもそも
「メッセージを送るとそれを相手が解釈して動作する」
ってオブジェクト指向ベースなんで、文字だろうが、数字だろうが、クラスだろうが
とりあえず送られて来てから「理解できねぇよ」って返事を返すしかないしな…
逆にクラスが解釈できるようにオーバーライドすれば
基本構造なんも変えずにいくらでもバージョンアップできる超言語でもあるわけで
C#はUnityスクリプト書けるし結構好き
>>36 >そもそも数ある言語の中からなしてiPhoneはObject-Cを選んだのか
iPhoneが。じゃなくて開発やりゃわかるが
ライブラリのプリフィックスがNS~で始まる基本クラスばっかりなのでわかるよ〜に
あれは20年以上の歴史を持つNeXTの基本クラスだから。
ジョブズがこれから複雑巨大になるコンピュータプログラムを
シンプルかつ明快にするためには、多少のオーバーヘッドより
とにかく明確なモジュール化とメッセージ送信メタファーが必要
ってNeXTで採用したから。
んで、Appleに戻ってNextstepをMacOSXにして
そのMacOSXのタッチパネルUI変更版がiOSだから。
>>41 逆というか言語の発想的には「送られてきたメッセージに対応する」だから
すべてを送れるid型の方がもともとのメインで
数字とか文字列に"型を制限する"方が「プログラミング上の都合」
>>57 アセンブラ見てみ。最初はただの数値だ。
一切の制限はない。
その後の発展で、数字とか文字とか言う
人間の概念がコンピュータに実装された。
ところでポインタ渡してるだけなのに何故releaseする必要があるんだ?
インスタンスの管理ベースが参照カウンタ方式だから 誰かが(別のクラスが)呼ぶたびに「俺使ってるぜ」と+1 使い終わったら「使い終わったぜ」と-1(relese) これでカウンタが0になった時に開放されるから 参照とリリースはセット
>>60 強制的に開放するにはどうすればいいんだい?free() ?
なんで誰か使ってるのに強制終了せにゃならんの…
いやプログラム終了前とか
参照カウンタ方式ということは 循環参照でメモリリーク起きるのか
はい。
>>63 autorelesePoolにつっこんどくと
そこに突っ込まれたブツはそのネストが
リリースされるときに全部リリースってのはある。
GCもあるが、肝心のiOSでは使えない。
なんか開発環境側でGC的な便利なのついたけどiOS5からだから コンパイルしたアプリもiOS5以降用になっちゃうな
>>66 コンビニエンスメソッドで作ったインスタンスにautoreleaseかかってたりとか
今度はそこから混乱をもたらすこともあんだよなー。
>>68 ARC(でビルドしたバイナリ)は、iOS4でも使えるよ。Mac10.6でも。
まあ、用途ごとによって優秀さが変わるからな。 Webなら断然PHPだし、 ロボットなどの市販半導体向けはJavaとか ハイパフォーマンスが要求される場所はCだし、 Windows上で動かすテキスト関連処理はC#とかが向いてる。 でも、あとは総合的な生産性を上げたいなら今はRubyをやるべきじゃないかな?
Rubyはオワコン バージョンアップのたびに 互換性なくて生産性が下がってる。
おまいらプログラミングに真剣に取り組くんでどれくらい視力落ちた?
こないだ目が霞んだ。ずっと平気だったのに。そろそろ30半ばだし気を付けないと。
>>75 出会う前→左1.5 右2.0
出会って→左0.3 右0.7
↑すげえ
79 :
名無しさん@お腹いっぱい。 :2012/01/30(月) 00:21:01.61 ID:6i/AnTLs
C++の凋落が酷いな。C++0xが長引きすぎた。 まさか糞Objective-Cに抜かされそうになるとはw
どれ使っても大差ないだろ バイナリがいじれてOSのコールが呼び出せれば一緒
81 :
名無しさん@お腹いっぱい。 :2012/01/30(月) 19:40:56.71 ID:A9eB+RaU BE:1742326496-2BP(69)
テスト
82 :
名無しさん@お腹いっぱい。 :2012/01/30(月) 19:44:05.46 ID:wf3DLFzY
ふむふむ
83 :
名無しさん@お腹いっぱい。 :2012/01/30(月) 19:44:22.80 ID:wf3DLFzY
あ
Cらしく、C++らしく、C#らしく、Objective-Cらしく それぞれ、全く違うコーティングになる。
コーディングは違っても 設計は同じ。 コーディングなんて、言語に依存しない設計を どこの国の言語で書くかって問題でしかないよ。
ベターCとしてしか使えない人が書いたらそうなるね。
>>86 お前、設計を先にしないの?
オブジェクト指向で設計して、
それをC言語で書くとか、理解出来ない人?
多様性をどのように実装するかそれぞれの言語は大きく異なる思想で設計されている。同じになるならば、ベターCで書かれているはず。
だからどの言語だって多様性を実装できる。 書き方が違うだけだろ?
多重継承、インターフェイス、メッセージパッシングなど。
うん。そうそう。書き方が違うだけ。
そうだね。書き方が違うだけで、、、なわけないだろ。
その機能を実現するために、毎回書かれていたお約束を、最適解でラッピングしてイージーに書けるようにしたのが○○指向って感じだろう。 究極的に言えばCで、アセンブリで書けないことはないが、無駄になるわけで
まだiOSになる前に読んだMac OS X Cocoaプログラミング(通称ヒレガス本)で 「一般的には口座クラスaccountを拡張する時には"継承"でaccountのサブクラスを作って それを基に作りあげて行こうとします。 Objective-Cでは基底クラスNSobjectから新しい口座クラスを作り、 その中にaccountを組み込んで"使用"してください(多態性で) 継承より使用の方がほとんどの場合、便利で強力です」 ってな内容のことが書いてあって、なんかもうその時から "この白いモビルスーツが勝つわ"と思ったヨ!
Huh ?w
>>95 ようするに、Javaと同じってことだろ?
NSクラスを継承して口座クラスを作り
accountインターフェースをimplementsする。
>>95 それは多態性じゃないな。
MSも推奨しているやり方だよ。
COMがその設計。COMは継承がない。
JAVAがそもそもnextstepのObj-Cから影響を受けてるんだよ。 Wikipediaの各言語と影響を与えた言語をみてみ。
インターフェース部と実装部っての自体がObjective-C由来だしな
>>99 別に、nextstepはObjective-Cを採用しただけで
nextstepのものじゃないぞw
またここでもパッくるの悪い癖が出ているようだw
継承じゃなくて委譲でしょう
VBでも継承ではなく委譲が推奨されていたな。
c++は危険が潜んでいて、obJ-cは安全だと、なんかの本で読んだが、内容は忘れた。
安全つうより徹底的にカプセル化して クラス間もできるだけわかりやすい平文でメッセージングしろって言語だから 問題が特定のオブジェクトの問題に局所化する。 逆に嫌われた理由が「たかだか数千行のプログラムにも いちいちインターフェイス作ってカプセル化とか教科書的すぎる」って 極めて現場的な理由だから… あと、昔のコンピューターだとランタイムの動的呼び出しで 比較的"遅い"ってのも嫌われたかな。最近のマルチコアだと 背後のどれかがやってるプロセスの一つ化しててあんま関係ないけど。
>>107 それruntimeがヘボいよ。
Mac上だとObjective-Cのdynamic dispatchと直接関数callの差で2倍弱。
Objective-C++で使ってるけどdynamic dispatch排除しても最適化にはならない。
そりゃ、クラスをランタイムが動的に呼び出してるんだから クラスでやることを軽くして、呼び出しの"ベンチ"すりゃ どんどん「呼び出しランタイムの動作速度ベンチ」になるわなー
>>104 推奨ってかImprementsしかなかったんでなかったか?
自分のブログを同じ話題のスレにリンク貼るステマ宣伝が流行ってるな
動的ディスパッチでなく、メソッド呼び出しが遅い。
>>110 しかもCOMコンポーネントはまともにImprementsできないという…w
VBは、できないところが利点。
>>114 Collection Interfaceを継承したいのだが。
継承でなくても包含したいのだが。
>>115 そもそもCOMは継承ない。コレクションならNewEnumを実装。
>>118 VB6ではCollectionはImprementsできないよね。
やろうとしたがなぜかできなかった。
VB6でではNewEnum属性を使うことで、 コレクションに出来るよな。 For Each で使えるようになる。懐かしい。
しらんかった…VBAでもできる?
122 :
名無しさん@お腹いっぱい。 :2012/02/05(日) 00:37:59.64 ID:cDl2NyOm
VB6はFormにインターフェース噛ますと良い感じにGUIとロジックを分離できたけど、 実際にVB6が流行ってた当時はインターフェースの機能自体を理解してる奴が ほとんどいなかったから全然使われてなかった記憶がある。
c#は最高だぞ〜 学生時代にcで挫折した俺でもちゃんと使える簡単仕様。 monoを使えばlinuxやandroidでも開発できるし、 unityを使えばandroidとiosの両刀になるらしい。 当然WindowsPhoneの開発もできる。 c#覚えておけば、自分用にちょっとしたアプリを作るときに困るようなことは無い。
糞重いソフトばっかだな
おまえらC#とJavaだったらどっち使う?
言語だけで決めません。 その他の要因で決めます。
現場じゃ言語の選り好みなんかできん事が多いよ。、
128 :
名無しさん@お腹いっぱい。 :2012/02/05(日) 13:00:49.76 ID:u89HiS9H
>>125 C#のほうが言語的に優れている事を知りつつ、実際はJavaを使っている。
JavaはGAEでもAndroidでもWEBページ(Java Applet)でも動くが、
C#はこれらに相当するものは無いはず。
>>128 javaに対抗心むき出しなのを隠せないc#信者の俺が反論すると、
androidでもwebページでもc#は動くよ。
androidはmonoとunityがあるし、webページならasp.netがある。
GAEのことは知らない。
でもSonyのPlaystation suite sdkの言語はc#だから、
日本人ならc#だよな!
Javaの勝利は決まってるんだよ
C#にJava Webstartみたいな奴ってあるの?
無いけどさー これじゃーマイクロソフトが無くなっちゃうよ? いいの?
無くならなければ、いいのでは?
マイクロソフトのためにC#を増やそうぜ
>>134 その結果がこれだよ
1 1 Java 17.479% -0.29% A
2 2 C 16.976% +1.15% A
3 6 C# 8.781% +2.55% A
4 3 C++ 8.063% -0.72% A
JAVAがダブルスコアか
Windows PhoneのソフトってJAVAで作れないの?
>>137 中間コード吐き出せる環境があれば極端な話、JavaどころかObjective-Cでも作れるんじゃねーの
Azure も結局 java 採用だしな〜
Windows PhoneといえばJAVAだもんな
WPでもObjective-C採用すればいいのにな。 MSとAPPL仲間だろ。
>>142 デメリットばかりでメリットが何もない。
>>142 Visual Studio & C#でiPhone開発が出来るならいいんだが
Xcode & Objective-CでWP開発とか悪夢。
WPってC#使えるんだっけ?
>>145 WP持ってないけど、SilverlightベースだからC#でも作れるんじゃねーの
Silverlightって終わったんじゃ?
>>147 ブラウザのRIA環境としてしかSilverlightを知らない人間にはそう見えるだろうな。
ms自体終わコン
150 :
名無しさん@お腹いっぱい。 :2012/02/10(金) 17:02:14.14 ID:G1jrH9Jg
MSはソフトに関して世界で最も技術力の高い企業だと思ってる でも俺はほとんどJava使ってる C#+VSの開発効率が良い事は知ってるが
新しいものを作ろうとして迷走することはあるが、 MSは開発者にとってはとてもやりやすい企業ではある。
152 :
名無しさん@お腹いっぱい。 :2012/02/11(土) 02:10:33.28 ID:2BTxUeJl
MSと比較するならGoogleとAppleくらいだろうが Appleはデザインであって技術じゃない Googleはコモデティ化したキーワード検索技術と強力なサーバ群と良くあるアプリをセンス良くまとめただけ MSはクライアントOS・サーバOS・DBMS・各種IDEなど重量級の開発物を多数持ってる 技術力という点ではMSが圧倒的だ
まったく正直な話をするといま"技術力"じゃ Apple>Google>>>>>>>>>>>>>Microsoft だろ…
javaってどこでそんなに使われてるんですかね JavaVMが稼働してるPCってそんなにあるのかな
GoogleもJavaを使ってる
マイクロソフトの技術力w
Microsoft、『Office XP』のバグを「訂正不可能」として修正せず
http://japan.internet.com/webtech/20100611/12.html Microsoft が8日に実施した6月分の月例更新は、これまでの月例更新の中でも最大規模のものとなった。
その際、大量の更新情報に埋もれるように、『Microsoft Office XP』に発生しているあるバグについては、
修正を行わない旨の通知があった。修正には多数の再構築が必要となり、現実的に実行が不可能なためだ。
Microsoft のサポート ライフサイクルに関する文書によると、2001年に初出荷された Office XP は、現在も
公式な「延長サポート」の対象であり、サポート期限は2011年7月12日までとなっている。
今は2012年だぞ
>>153 本当にそうならもうちっとXcodeとObjective-Cは使いやすいはずなんだがな
プログラミングなんてオタクのすることなんだから、そんな所に力入れても技術力アピールにならない
GoogleもMSもAppleもソフトウェアがメインの企業なのになに言ってんだこいつ。
MS・・・OS、開発ソフト、Officeの会社 Apple・・・ハードウェア会社 Google・・・広告会社
Rubyって流行ったの一瞬だけだったな ちょっとやってみようかと思ったけどPythontにとどまってよかったわ
カルトらしいね、アレ
rubyはrails使うためだけにある
>>142 言語的には
真剣やればJavaもobject-cもすぐ取得できるから あまり意味はない
iPhone難しいって人は OpenGLとかOpenALとかmpegの再生とか言語と関係無いとこ
同じC言語でもwinとiosでは かなり違う
IosにdirectX入るとかなり楽
>>56 NextStepっていうか 始祖のSmallTalkに近い 相手の関数無くてもメッセージ投げて動くトコとか
Jobs Alto作りかったんじゃ無い?
本当に聞いた怖い話: 「金融系のシステムリプレースやってるんです」 「へえ、COBOLからJavaに置き換えるのですか?」 「いいえ逆です。JavaからCOBOLに置き換えるんです」 「えっ」 「Javaから、COBOLです」
>>170 でもCobolって良い言語だよ
融通がきかない 誰が書いても
同じになる
死亡フラグ例 ・「俺、この戦争が終わったら結婚するんだ」 ・「…や、やったか!?」 ●「〜するために従来のシステムでは捌けない。そこで独自フレームワークを開発することにした」
174 :
名無しさん@お腹いっぱい。 :2012/03/14(水) 08:18:32.77 ID:11wK3xu2
>>1 >首位を獲得したのはJavaで、シェアは17.479%。2位は2位はC(シェア16.976%)で、上位2位は2011年 1月と同じ順位となった。
>3位はC#(シェア8.781%)で、前年6位から2.55%上昇した。 4位は昨年3位だったC++(同8.063%)、5位はObjective-C(同6.919%)
2012年3月を見たら、
3位はC#(シェア8.244%)で、4位はC++(同8.047%)、5位はObjective-C(同7.737%)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html C#は下がってObjective-Cは随分増えているね。
じきにObjective-Cが3位になりそうだね。
>>174 2月・3月はObjective-Cには、ARC導入とかあったからなぁ。
だが、さすがにC++がObjective-Cより下というのは想像が難しいな。
C#が逆転されるのはありそうだね。
>>176 ARCきたのにこの伸びじゃ難しいんじゃね。
もっとも、C#のほうも次期Visual Studioのリリースが控えてるとはいえ
言語的には安定期で大きな変化はない予定だけど。
178 :
名無しさん@お腹いっぱい。 :2012/04/05(木) 17:26:12.68 ID:00IzoZya
182 :
名無しさん@お腹いっぱい。 :2012/04/09(月) 01:53:57.79 ID:sUN9G0WF
Javaってそんなにいいのか Javaを考えたサンは儲かったのか?
VMをただでばらまいて、その後チップを売って市場を一気に巻き取るってのがサンのシナリオ だけどチップの開発に時間をとられ過ぎてサンの没落のシナリオになった IntelがCPUのクロックどんどん上げて1GHzとか軽く越えているのにSPARKは200MHzちょっとで止まったまま、お話しにならないくらい遅かった 企業ユーザーは数年は待ったけどIntel+LinuxやWindowsに移行した ちなみにその後一応Javaチップは完成してJava WSは発売された筈
185 :
名無しさん@お腹いっぱい。 :2012/04/15(日) 00:50:44.50 ID:eVWTpAYf
Objective-Cは最初キモイ言語だと思ったが、実際書いてみると意外と書きやすいんで驚いた。 透明感があるというか、うっとうしさがなくて書いていて気持ちいいわ。
>>185 autoreleaseとGCとARCを同じ言語にぶち込んで、
言語とフレームワークの境も曖昧なあれが透明感があるとかどんな目をしてんだ。
言語仕様自体に増築を重ねて破綻した言語の人には 言語仕様変更ではなく自身で書いたフレームワークモジュールを 言語内で再利用してる「あたりまえのオブジェクト指向の姿」が 気持ち悪く見えるらしい。 そうだね、トイレは和式か洋式か一度決めたら変えちゃいけないよねw
フレームワークにあわせて言語を増築してるObjective-Cは、 Managed C++に似た気持ち悪さを感じる。
@ディレクティブ一切使わないで手打ちしてもいいのよ?
ARCに伴って導入された __bridge とかはどうなん? なんでアンダースコアがプレフィックスしてんの。将来、変更されんのこれ?
191 :
名無しさん@お腹いっぱい。 :2012/04/16(月) 01:24:32.30 ID:Qf4066tA
大学時代CをやってたがしばらくブランクがあってC++を独学した。 C++ってなんかこう、増築して使いにくくなった建物のように入り組んで る印象だった。 Objective-Cってよく知らないが、これもやっぱり増築しまくった感じ?
CとJavaがぶっちぎりなのにスレタイにない不思議w
>>183 Java専用CPUなんてかなり初期に辞めてるよ。
>>191 Objective-Cは[myplayer: play volume:3 speed:1]みたいに
オブジェクト(関数/クラス)に「メッセージ」を送って動作させる言語なんで
C++とかで言語仕様の拡張で増やしてた機能が
"ターゲットクラスが新しいメッセージを解釈できるようにする"って
言語仕様の拡張じゃなくて各プログラム/クラス/オブジェクトの修正レベルの話になるから…
C++が"言語仕様"でオブジェクト指向のいろんな要素を追加してきたのに対して
Obj-Cは最初から「オブジェクトは送られてきたメッセージに自身で対応する」って仕様なんで
むしろ増えてる部分が"言語仕様"じゃなくて、今まで慣例でよく再利用されてきたクラス/フレームワークの
言語内へのデフォルトでの組み込みとかそんな感じで、
増築というより「このブロックはよく使うから簡単に組み込めるようにしよう」ってレゴみたいな…
よーするにフレームワークはどんどん建設されてるが
呼べば応えるって言語システムの基本の方はあんまり変わってない。
むしろプログラマの時間のほとんどが「これフレームワークでできるんじゃねーのか」(数時間)
「できネェのかよ!」って英文ドキュメントを読み込む作業でほとんどですね…
オブジェクティブCプログラミング言語
https://developer.apple.com/jp/devcenter/ios/library/documentation/ObjC.pdf
Objective-Cは、もともとCにsmalktalk風のOO機構をプリプロセッサ+ライブラリとしてつけたもの。 だからCの組み込み型はOO支援皆無といっていい。 method呼び出しもすごく遅い。
>>191 >Objective-Cってよく知らないが、これもやっぱり増築しまくった感じ?
よくオブジェクトとかエージェントとかの概念で出てくる
"オブジェクトにこうしろと命令するとオブジェクトが命令を解釈して勝手に実行する"
って考え方をガチでCに乗せた(ある意味だけの)言語。
C++のオブジェクト志向の概念ごとに増築した部分が、
「クラスがそういうメソッドに返事するように実装すればいいだけだよね」で吸収されてる超言語
ある意味20年前から基本仕様はなんも変わってない。
>>195 >method呼び出しもすごく遅い。
Appleのruntimeは最適化されてるからC++と比べてもそう遅くもないが。
dynamic dispatchとしては相当速い。
君はどの位遅いと思ってるのかな?
>>197 > Appleのruntimeは最適化されてるから
pgr
?
C#は果たしてC言語と言えるのだろうか?全然別の言語を単にC言語風の命令の名前にしただけに見えるんだが。 開発楽だし覚えやすいけどね。
> C#は果たしてC言語と言えるのだろうか C言語じゃねーよ? 当たり前だろ。 C言語以外はC言語ではない。
じゃあ、いまのC言語はK&Rとは別物だからC言語じゃねぇな
頭悪そう
C#は遅いよね
ゲーム開発でも使われるぐらいだし遅いってこたないんじゃないかね。
Objective-Cの方が速いね
C#は、CUIアプリみたいに起動したら すぐに終了するようなたぐいのソフトは ネイティブコードへのコンパイルを 起動時に行うから遅いけど、 ゲームみたいに長時間起動しっぱなしのものは ネイティブコードにコンパイルしているから 当然ネイティブと同じ速度で動くんだよね。
ネイティブと同じ速度で動く分けないだろ コンパイルで最適化もしてないのに
209 :
べろちゅー :2012/04/20(金) 09:56:40.24 ID:???
いあ、むしろゲームでの話なら、C#のほうがDirectX使えるし、ハードウェアに最適化されてるので オブジェクトCと比べたら「速すぎるくらい速い」ですよ 笑っちゃうくらいwwwww iPhone4Sの「半分以下のスペックのWindowsPhone」で同じアプリがでているけど iPhoneより動きはサクサクだし、画面効果も多彩になってる。あーまーUIはシルバーライトだから一概に比較はできないけどね
>>209 プログラムしたこと無い奴が必死にMSのステマwww
iOSが最初からOpenGL対応で3Dゲーム出まくりってのを そもそも理解してないのがすげぇ。
iOSは今はObjective-CでもC#でも開発できるしなんとも言えない。
>>208 C#はソースコードからILにコンパイルして実行ファイルを生成して、
実行時にCLIのJITコンパイラが最適化してネイティブコードに変換する仕掛けになってる。
>>209 よってC#がハードウェアに最適化されている、というよりCLIが環境に最適化されている、というほうが正しいんでないか。
JITは動的な情報も使って最適化できるから、 静的なコンパイルよりより最適化する機会があるのは常識。 例えば分岐予測など。 事実Java/JVM by Oracleがベンチマークで負ける言語処理系は稀少。 C#/CLRも頑張れ!
>>208 > ネイティブと同じ速度で動く分けないだろ
> コンパイルで最適化もしてないのに
してるぞ。しかも二段階に行われてる。
一段階目はバイトコードへの変換時
ソースコードとバイトコードレベルでの
最適化が行われている。
二段階目は実行時。バイトコードから
ネイティブコードへの変換時に最適化されてる。
この二段階目がすごくて、バイトコードをCPUに合わせて
最適化するから、x86でもx64でもIntelでもAMDでも、
.NETが将来対応する未知のCPUでも、単一の実行バイナリから
そのCPUに一番ふさわしいやり方で最適化されて実行される。
>>213 微妙にずれてるぞ。
まずJavaや静的言語だ。
> 事実Java/JVM by Oracleがベンチマークで負ける言語処理系は稀少。
これは正しい。だけど理由が違ってて静的言語だからJavaが速い。
JITと動的に関連性はない。
JITというのは、ソースコードまたバイトコードから、
ネイティブコードへの変換を実行時に行う場合の方法の一つ。
また動的な情報を使わないといけないものは遅くなる。
動的と言うのは実行時にならないと判断できないもの
静的というのは実行前に判断ができるもの。
先に判断を終わらせて、実行時の手間を省いたほうが当然速い。
微妙どころか言ってることが正反対だったなw
どう頑張ってもJAVAやC#が、Cに勝てるわけが無い
そりゃあ、JAVAやC#、Objective-Cみたいなオブジェクト指向言語は 開発のしやすさと実行速度を引き換えにしてるんだからそうなるだろう。
>>209 色々ズレてるから釣りだろうけど
ゲームはあまり言語関係ないぞ
ハード依存 多種多様な機種が出る
WinとAndoidちょい不利
っていうか 何で言語の実行速度の話に
なってるの?
使いかって捨てればCでいいし
言語早くてもネットとかアクセラレータが
ボトルネックになるけど
>>195 それ逆
Objective-CはSmallTalkをCにした物
C++はCを前処理でオブジェクト志向にしたもの
>>215 分岐予測の最適化を全く理解してないね。
20年くらい知識が遅れてる。
Xcodeが、 入力候補を選択しようと↓キー押したらエディタがなにを勘違いしたのかスクロールするとか 実機実行しようとCommand + Rしただけで環境まるごと落ちるとか Interface BuilderでiPadのXibを編集してて、 MBPの画面に入りきらないから縮小したのに配置したViewを選択したら元の拡大率に戻るとか これが今日一日で起きた。 Objective-Cは言語よりも周りが問題な気がする。
は?
>>1 最新の4月版のランキングを見たらObjective-CがすでにC#を抜いて4位に上がっているね。
1位 C (17.6%)、2位 JAVA (17.0%)、3位 C++ (8.90%)、4位 Objective-C (8.24%)、5位 C# (7.35%)
>>1 >>174 >>223 から1月、3月、4月のデータを比べるとObjective-Cの成長とC#の凋落が顕著だね。
Objective-C:6.92%→7.74%→8.24%
C#:8.78%→8.24%→7.35%
またアップルの勝利だな
Objective-Cはプロパティやメソッドをprotectedできるようにならんか。
C/C++/Javaの仕事しかしていないから当分安泰だな。 まぁC#でもVBでもCOBOLでも問題無く対応可能なんだけどね。 だぁ〜がてめぇにだけは手をださねぇよ!>Objective-C
船乗りは暗礁に直行してる泥船と運命を共にするとさ
>>227 仕事と言いながらもプロの名に値しない三流じゃな。
>>227 Obj-Cプログラム関係のスレじゃ自称ベテランに限って
過去の自分のやり方でゴリ押ししようとして
「○○できないんだけど」「なんでそんなことやってんだ素直にやれ!」って展開になるんで
むしろ、やらんでください。
JAVAとC#も実はできてないでしょ、あなた。
231 :
名無しさん@お腹いっぱい。 :2012/04/25(水) 21:02:44.15 ID:fe2pOmdJ
開発のしやすさからいえば、VisualStadio(VB,C#,C++)が楽でした。
Eclipse(Java,PHP,C++,Android)も使い勝手がいいが、上記と比べると・・・
なので、クライアントと打ち合わせの際はVisualStudioでの開発を提案してます。
正直 クライアントとの話しの中では
言語の実行速度とかはあまり議題に上りません。というより関心がありません。
いかに早く納入させるか(コスト安)が大前提となり、楽な開発が主流となります。
その中でプログラマ選定に際しては、
●私はプロです、技術に関してドヤ顔する。
●どうでもいい処理に技術をありたっけ ぶち込む。
●何たらかんたら うんちくを垂れ流す。
●他の方に技術屋魂を押し付ける。
●複数言語開発経験をやたら吹聴する。
>>227 様 申し訳ありませんが、複数の言語を使用する事は
当たり前の事です。
etc・・・
こういう方達にはご遠慮して頂いております。
開発初心者のプログラマの方がよっぽど重宝します。
ちなみに私はこの業界で21年になります。
>>219 > Objective-CはSmallTalkをCにした物
> C++はCを前処理でオブジェクト志向にしたもの
正解はこちら
http://www.libjingu.jp/trans/clocFAQ-j.html Objective-Cは1980年代の始めごろ、Brad Cox博士が考案しました。
Objective-Cは、人気のあるC言語の上に作られた、オブジェクト指向を
実現する層として開発されました(このFAQとその他のObjective-Cに関する多くの 文書では、C
言語またはそれに近い言語の知識があることを前提とします)。
Cox博士が実装したオリジナルのObjective-Cは、Cコードを生成する
プリプロセッサ として実現され、Stepstoneの製品として販売されました。
Cox博士が実装したオリジナルのObjective-Cは、Cコードを生成する
プリプロセッサ として実現され、Stepstoneの製品として販売されました。
>>233 219はこれに対する反論ですよね?
195は正しいですよ。
195 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2012/04/16(月) 12:23:28.80 ID:???
Objective-Cは、もともとCにsmalktalk風のOO機構をプリプロセッサ+ライブラリとしてつけたもの。
だからCの組み込み型はOO支援皆無といっていい。
method呼び出しもすごく遅い。
いや、つうか、その >だからCの組み込み型はOO支援皆無といっていい。 >method呼び出しもすごく遅い。 "だから"以降がどこともロジックがつながってないので 意味不明なことをつぶやくキミをみんなスルーしてたんだが。 "Cの組み込み型のOO支援"ってそもそもなによそれ…
C#って人気が下がっているんだなあ。 Macソフトを作れないだけでなく、iPhoneやiPadアプリもつくれないんじゃなあ。
238 :
名無しさん@お腹いっぱい。 :2012/04/26(木) 18:29:07.18 ID:OOAlmYMk
Object-C アップルのコンパイラによって文法違うから ソース互換性無いっての辞めてほしい 古いコードもうまくコンパイルしてくれよw
リテインカウントが手動から自動に切り替わったから表記が変わっただけで Xcodeのメニューに普通にコードコンバータついてるだろ。
240 :
名無しさん@お腹いっぱい。 :2012/04/26(木) 19:05:42.90 ID:OOAlmYMk
>>239 あかん、コンバートした後もエラーでてコンパイル通らなかった
>>235 > "Cの組み込み型のOO支援"ってそもそもなによそれ…
そんなこともわからんのか?
Cの組み込み型って言えば intやlongやcharだろう? 誰でもすぐに分かると思うが。
NSNumberやNSStringがあるし、NSArrayやNSDictionaryもあるし、さらに Toll Free BridgeでCore Foundationとも同じオブジェクトが使えるから C/C++と混在しても何も困らんが。
NSArrayを見るたびに、C++みたいなテンプレートがあればいいのに、と思う。
なんかまた変な自称ベテランがObjective-Cでの "オブジェクト指向言語としてのオブジェクトの切り分け方"を 理解しないまま、おかしなことやってドツボにはまってる臭いしかしねぇ。
VBとBasicを一緒にしちゃあいけねえよ。 アレは別の言語だ。
COBOLってもっと使われていると思うのだが……
>>248 TIOBEはウェブ検索を元にこれを計算してるから出てこない。
最近、COBOLの情報をウェブで探した記憶あるか?
>>245 char, int, long, float, double共通の数値計算系のクラス書こうと思うと面倒でたまらんよな。
isEqualToNumber: ←サブイ
>>252 どうした?風邪か?
うつさないでくれよ。
C#ってMicrosoft製なのに下降してるんだな。 Windowsの神通力も今は昔か、世の中、変わったものだ。
pythonがここ数年ですごく下がってるのが不思議だな。 python製のプログラミングツールが増えているのに。(scons, repoなど)
>>255 分進秒歩のITで10年タームで語るとか阿呆だろ。
>>257 それくらいで語らないと
間違った答えになるよ。
実際右肩上がりなのに
下降とか言っちゃってるじゃんw
本当にそんなに流行り廃りが早い世界だったら、15年前の言語と30年前の言語がトップ争いなんてしねーよ…
ユーザーには分進秒歩の世界に見えるかもしれない。 もっとも、開発者にとってはそうではないが。
>>255 なんかこれ見ると、ウェブアプリ(サーバー)側に
未来がない気がしてくるね。
サーバー側言語下がってばかり。
デスクトップアプリに回帰してる。
まあ、C#の先行きが暗いのは事実だけれどね。
>>261 サーバーサイドは、昔はPerl CGI, PHPプログラマー等、底辺がたくさんいたけど、
最近はクラウドに集約されてきているから、底辺プログラマが駆逐されているのでは?
クライアント側は、逆に底辺が増えてきているはず。
ウィジェット系アプリやスマートフォンの一発芸アプリ。
COBOL, VB, PHP, Perlなどの底辺プログラマの使う言語はシェアが大きくて当然。
>>263 > サーバーサイドは、昔はPerl CGI, PHPプログラマー等、底辺がたくさんいたけど、
> 最近はクラウドに集約されてきているから、底辺プログラマが駆逐されているのでは?
お前クラウドって何も言語使わないと思ってるのか?
クラウド=サーバーサイド、使う言語は今までどおりなんだけど。
はぁ、
>>263 のような明らかな素人で馬鹿が言っても
説得力0だよね。逆にマイナスかもw
C#はプレステと糞箱の開発にも使える AzureのシェアもAmazonの次だろ IDEはVS最強だし、OfficeにSharePointも有る 先が無いわけがない
C#は3.0のLinq導入以降は言語仕様的には安定期だし、TIOBEの集計方法では表れないだろうな。 TIOBEはウェブ検索が頻繁に行われる扱いが難しい言語とか、 最近言語の仕様追加が行われた言語とかも強く反映されるから 実際にどれだけ広く使われているか、というのともまた若干の乖離が出る。
でもC#はiPhone、iPadアプリに使われないんでしょ。
>>268 UnityでiOSアプリ作る時には使える
でも使われないんでしょ。
WindowsPhoneがあるしMonoもある
>>264 PHPやPerlのクラウドなんて希少派じゃね?
Microsoftは終わった。
Windowsはいろんな理由でユーザーが最新版に乗り換えなさすぎで MSの提唱する新技術がなかなか浸透しねぇっつうか いっつも「Windows8出るからWindows7にしようか…」じゃ 常に3年分技術の浸透が遅れ続けちゃうからな…
Macはいろんな理由で消費者が購入しなさすぎで Appleの提唱する新技術がなかなか浸透しねぇっつうか いっつも「MacもあるけどやっぱりWindowsにしようか…」じゃ 待てど暮らせど技術の浸透が停滞し続けちゃうからな…
苦し紛れの改変オウム返しとかどんだけ余裕ないんだよ。
>>277 >苦し紛れの改変オウム返しとかどんだけ余裕ないんだよ。
Windows 信者の悲しいサガですかね。
人生を無為に過ごしている。
技術に振り回されることを有意と考える人々ですね
ドザって余裕ないんだな。
Windows信者っているんだね WindowsPhoneとか使ってそう
C#は凋落傾向だね。 1月8.78%→2月8.24%→4月7.35%→5月6.82%
C#が優秀すぎてもうね…MSに魂売るわこんなん そもそもWindowsは標準だから使ってるってだけで、企業への信仰心とかないからなぁ マカーとかよくやるわと思う
macのスレにはmacを貶すレスを書きましょう windowのスレにはmacを貶すレスを書きましょう スマホのスレにはmacを貶すレスを書きましょう その他のスレにもmacを貶すレスを書きましょう 反論する者には、異教徒のレッテルを貼り根絶やしにしましょう さあ、msを崇めるのです。
こんな場末のスレにまで。 MS信者って熱心だな。
288 :
名無しさん@お腹いっぱい。 :2012/05/21(月) 00:38:05.24 ID:mJ+e+NQJ
プログラミングやろうとしたけどエラーが意味不明で辞めたわ もっとわかりやすくしろよ
ジョブズ様のジョークが理解できないんなら帰れよ
Xcodeのエラーが意味不明なら VisualStudioなんかもっとダメだよなぁ すぐに「あ、こいつプログラムやってねぇw」ってわかるのもどうか。
Xcodeだろうが、Visual Studioだろうが普通のエラーメッセージなら大して変わらない。 ただし、Provisioning Profile絡みのエラーメッセージは 他のプログラミングでの経験でどうにもならないので厄介だ。 会社で使ってたちょっと前のXcodeはProvisioning Profileを設定できないというバグを併発してえらい目に遭った。
Objective-CがC++を抜く - 7月プログラミング言語人気
http://t.co/0MCXW9hE iPhone、Macの開発言語であるObjective-CがC++を抜いて第三位との事。
2位のJAVA、4位のC#は下落傾向。
Objective-Cは、TIOBEの調査方法と最高に相性がいいよな。
百万人単位で開発者がいて みんな勉強中で、どっかの会社に開発者で固まってなくて ドキュメントは主にネット上にある そらな
iPhone、iPad、Macと大人気だからなあ。 先の第二四半期にガートナー調査、アメリカでもWindowsは7%のマイナス、上位5社で3位のAppleだけ4.5%のプラス成長。 タブレットPCのiPadを除いてもこの数字なのだから驚いた。
>>296 Cocoa touchの記事ばかりでMacはあんまり寄与してない気がする。
Cock roachに空目した
>>296 そういえばC#がいつのまにか4位に落ちてなおも下落傾向だね。
Windowsはもうダメかな。
去年もいつの間にか5位に落ちて下落傾向だったからね もうおしまいだ
ビジネス市場はまだまだWindows支配だけど、 開発者が逃げてるとこれから苦しくなるね。 C#/CLI/Vistaの失敗はMicrosoftには痛かったね。
逃げるほどの開発者がいないMacを羨んでいるだろうね
>>302 それはコアな開発者が付いてるって事だね。
MSに批判的な意見が書き込まれると、信者が荒しに来る。
Windowsなんてアメリカあたりではすでに毎期減っている。シェアはもちろん、出荷台数まで! 先の第二四半期も7%も減っている、Macは相変わらずプラス成長なのに。iPadはそのMac以上に売れているし。 いまさらMS信者がこんなスレで工作しても無駄だろうになあ。
元のパイの大きさが5%だとしたら 10%になるってことは純粋に倍増だし それがそのまま「喰われた」分だとしたら Macの総出荷数にあたる分の台数の 市場をロストしてる計算だからなぁ
シェア話では別スレで見たのだが、 Winには自作機もある!(キリッ)
309 :
名無しさん@お腹いっぱい。 :2012/08/25(土) 23:38:14.09 ID:tCB2njNb
C#がこの先激増するか否かは OpenWinRTに直載されたOpenCLRが出現するか否かに掛かっているね 実現すればJavaを抜いて2位も夢では無いし C/CLRをC#の手柄としてC#に算入すればCも超えられるかもw
310 :
名無しさん@お腹いっぱい。 :2012/08/25(土) 23:41:29.70 ID:tCB2njNb
C/CLR→C・C++/CLIで読み替えといてスマソ
>>309 TIOBEは検索エンジンからランキングしてるからC++/CLIがC#にカウントされたりしないだろうし、
C#は簡単な言語な上に、だいたい必要な情報はMSDNに書いてあったりするからおそらくこのランキングでは増えないさ。
Xpの教祖空気脳をよろしく。
キーワード【 Objective プログラミング 言語 オブジェクト Java 開発 Apple 】
>>309 >C#がこの先激増するか否かは
>C/CLRをC#の手柄としてC#に算入すればCも超えられるかもw
いや、そういメンツに関わるとかの話ではないだろwww
世の中のトレンドの一つを読み取るだけで良いんだよ。