パスワードを忘れた? アカウント作成
12842480 story
プログラミング

アセンブリ言語、最近人気が右肩上がり 82

ストーリー by hylom
最近では知らないプログラマも多いのでは 部門より
insiderman 曰く、

プログラミング言語の人気ランキングを公表しているTIOBE Indexで、アセンブリ言語が最近右肩上がりでランキングを上げている。2016年7月の結果では10位となっており、RubyやVisual Basic、Objective-Cを上回ってトップ10入りを果たした。

アセンブリ言語のランキング変動グラフを見ると、ここ数年は低かったスコアが昨年6月から急上昇している。TIOBE Indexではこの説明として小型機器でのプログラミングで使われている点やパフォーマンスの高さを上げているが、それだけでは最近のスコア上昇は説明しにくい気がする。現在、アセンブリ言語はどこで使われているのだろうか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2016年07月12日 13時57分 (#3045731)

    何故かというと、IoTなんですわ。(だと思う)

    いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
    添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
    結局ドライバから内製するハメに。

    ハンドアセンブルやってた時代の化石化したオッサン大活躍中。
    「高級言語の出る幕じゃねーよ」

    #かなり盛ってるけど、でもホント

    • by Anonymous Coward

      ドライバ書く必要はあるとしてもアセンブラじゃなきゃダメって状況はそうそうないだしょ

      • 組み込み用のマイコンには
        Cコンパイラでは吐かれることのない
        特定用途にちょっと便利な命令があったりしてな。

        そういう命令をうまく使うとさくっと処理できる
        関数はアセンブラで書く。レジスタがうまく使い回せて
        asm 文で書ければそれでもいいけど。

        親コメント
      • by Anonymous Coward

        なんちゃってIoTだと、リソース(CPUパワー、記憶容量、おまけに使用可能な電力)がかなり限られてしまうから、アセンブラでガリガリせざるを得なかったり。

        #Cのライブラリを作っても次の製品で使える保証ないし

      • by Anonymous Coward

        I2Cで単純な機能の奴を使うのに、デバイスドライバなんか作らないってのは珍しくない。
        タイマーでポーリングするだけ、とか。

        • by Anonymous Coward

          私もそこら辺りだと思うなあ。
          Cコンパイラ使えるターゲットなら、どうしてもアセンブラが必要なのはRTOSのそのまたコアのスレッドをディスパッチする部分くらい。
          ただ、弊社でも10年くらい前の組み込み機器はアセンブラで書かれてて、誰もメンテできないのでそろそろ作り直そうといている。

          • by Anonymous Coward

            ぶら下げ間違えました。

            #3045843 に対するコメントです。

      • by Anonymous Coward

        そう思っていた時が自分にもありました。

        ついこの前、WS2812BというLEDを買った。自分でドライバ書いてみたがタイミングが全然取れない。
        Adafruitのドライバがあったので中をカンニングした。

        アセンブラで書かれていた。(#ifdef山盛りで)

    • by Anonymous Coward

      Microchip PIC10/12/16何ちゃらとかのことじゃないの?
      SDCCのターゲットマイコンならアセンブラで実装はあり得る。
      GCCがサポートしているマイコンでわざわざアセンブリ持ち出す人はさすがに少ないと思うよ。

    • by Anonymous Coward

      今時の組込プロセッサでメーカーがCコンパイラ用意して無いものは無いので通常はアセンブラでのコーディングは不要です
      さすがにローエンドのプロセッサでは固定長のハードウェアスタックしかなくて、C言語のファンクションのネスティング・レベルに厳しい制約がついてしまい、下回りのドライバ類はすべてアセンブラ記述で~ということはありますが

      いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
      添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
      結局ドライバから内製するハメに。

      それって当たり前、組込の常識です
      自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください

      • by Anonymous Coward

        いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
        添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
        結局ドライバから内製するハメに。

        それって当たり前、組込の常識です
        自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください

        そうですね。
        補足しておくと、組み込みの世界で添付ドライバなんてドライバ作るための参考資料(サンプルソース)に過ぎないし。

      • by Anonymous Coward

        売ってりゃ高くても買うんやけどねぇ。
        『○月頃にリリースしますんで、それまで暫定版のご提供で・・・・』とかそんなですやん。
        おまけに、次期製品が市場に出回る頃になってようやく出てきた製品版はバグだらけ、ってそんな話よ?
        クソ遅いわバグだらけだわで話にならんからアプリ屋が自前でドライバから内製しとるだけですわ。(笑)

  • by SHAM69 (25595) on 2016年07月12日 15時29分 (#3045808) 日記

    割り算で挫折した

    --
    if the kid?
    • by SteppingWind (2654) on 2016年07月12日 16時23分 (#3045850)

      8080で一回挫折. 6800で復帰. 以降Z80, 6809等など.

      アセンブラって, 言語自体よりも, なぜそのような命令が用意されているのかというアーキテクチャの理解と, それに伴う定石の構築が重要ですよね.

      親コメント
      • by Anonymous Coward

        NOP はなにもしないのではなく、PC に 1加えるだけの命令

        HALT は停止ではなく、PC を進めることもしない命令
        (PCが進まないので割り込まれるまで HALT を実行し続ける)

        てことを知った時、なるほどこれが高級言語との違いかぁと感じた

        # Z80

        • by Anonymous Coward

          halt線をアサートするよ

        • by Anonymous Coward

          HALT は停止ではなく、PC を進めることもしない命令
          (PCが進まないので割り込まれるまで HALT を実行し続ける)

          HALTでもPCが進むから割り込みでHALTの次の命令から実行されるんだけどね、何言ってるのこの人

      • by Anonymous Coward

        8086系ということで、MASM(Ver.6以降)は便利だと思った
        疑似命令が便利で感動した

        そんなだから僕は本当のアセンブラを知らない

      • by Anonymous Coward

        6809で入門、68000で飛躍、8086で挫折

    • by Anonymous Coward

      CP/Mが買えずに挫折した。子供には高く手が出せず..。
      仕方ないのでハンドアセンブルしてました。Z80の本は買えた。

      • by Anonymous Coward
        X1用のCP/MがWordMaster付属で安かった…らしいぞ。

        # 安くても子供に手が届くかと云うと…。
      • by Anonymous Coward

        そもそもフロッピーディスクドライブが本体よりも高くて買えなかったという。

    • by Anonymous Coward

      どこかで躓いたというより単純に面倒くさくて入れ込まなかったですね
      今はC言語が高級アセンブラで美味しいです

    • by Anonymous Coward

      そんなの本に載ってるコードとかをパクってくればいいいだけ。

  • 無いね。もしそうであればうれしい。

    今、その手のプログラムはCで書くわけだ。
    とはいえ、Cで、アセンブラというかマシン語を意識して書くか書かないかでは大違い。
    それをも含めて「アセンブリ言語」なのかな。
    なんにせよ、そっち系の仕事は非常に少ないです。評価されないので儲かりません。
    評価されるように内容を説明できないのが問題なのだけど。
  • by Anonymous Coward on 2016年07月12日 13時57分 (#3045732)

    TIOBE Indexではこの説明として小型機器でのプログラミングで使われている点やパフォーマンスの高さを上げているが、それだけでは最近のスコア上昇は説明しにくい気がする。

    そうかなぁ。妥当なところじゃないかな。
    ただ、IoTみたいなキーワードが出てきてないのは、それを意識していないのかあちらではあまりそういう言い方をしないのか。

  • by Anonymous Coward on 2016年07月12日 13時59分 (#3045734)

    OpenSSLとか使うのしんどいんですよメモリ的に
    mbed TLSもそのまま使うと中間CA証明書とかフルとか
    IoT機器泣かせなのですわ
    何とかするために削ったりごにょごにょする際の一手として
    アセンブリ扱えると何とかなったりならなかったり

    # メモリが足りないならスワップ使えばいいじゃない(SDストレージェ

  • by Anonymous Coward on 2016年07月12日 14時15分 (#3045745)

    まさか流行っているとでもいうのか?

  • by Anonymous Coward on 2016年07月12日 14時42分 (#3045764)

    じゃないの?
    有名アプリを逆アセして、小銭を稼ぐネタにする

  • by Anonymous Coward on 2016年07月12日 15時04分 (#3045774)

    人工知能が自らプログラムを始めた兆候かも、AIにとって高級言語とは無駄が多いからきっとアセンブラで書くだろう。

    • by Anonymous Coward

      アセンブラも無駄が多いので、いきなりバイナリを吐き出すのでは?

  • by Anonymous Coward on 2016年07月12日 15時27分 (#3045805)

    メインでやってた世代がリタイアの時期とか

    # COBOLもきっとそのうち/もう過ぎた?

  • by Anonymous Coward on 2016年07月12日 16時22分 (#3045849)

    GPUカリカリチューンとか、
    ARM組み込みカリカリチューンとか、
    つーか、パイプライン/レイテンシ気にしながらのasmは、3倍疲れます。
    # 3倍速くなるなら、やる価値はある

  • by Anonymous Coward on 2016年07月12日 16時34分 (#3045858)

    CPUによってアセンブリ言語も違うし、検索ワードもいろいろのような気がするけど、
    本当に正しく調査できるの?

  • by Anonymous Coward on 2016年07月12日 18時29分 (#3045945)

    NTT DoCoMo社長、従来型携帯電話の販売を将来も続けると回答 [mobile.srad.jp]のコメントを併せて読むと、ブート関連やタイミングにシビアな部分、RTOSのかなり深い部分とか一定の需要はある一方、アセンブラを扱える人が少なくなって希少価値になっただけじゃないかと。

    さりとて新規参入の敷居も高い分野だし、失ってみて初めてその価値が分かるってことですね。

  • by Anonymous Coward on 2016年07月12日 18時51分 (#3045959)

    arduinoが出てこないのが不思議

    • by Anonymous Coward

      なぜ出てくるのか不思議

      • by Anonymous Coward

        数多あるアセンブラで書くことができるプラットホームのひとつなので「なぜ出てくるのか不思議」とは思わない。
        数多あるアセンブラで書くことができるプラットホームのひとつなので「出てこないのが不思議」とも思わない。

  • by Anonymous Coward on 2016年07月12日 21時03分 (#3046034)

    Cってマクロアセンブラだよね・・・・

    • by Anonymous Coward

      それならキャリーフラグが欲しかった。

      • by Anonymous Coward

        おまえなんかハーフキャリーで十分だ

typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...