![プログラミング プログラミング](https://srad.jp/static/topics/programming_64.png)
次々に登場する新しいプログラミング言語、どうなの? 84
ストーリー by hylom
流行っているからとりあえず、はNG 部門より
流行っているからとりあえず、はNG 部門より
ASCII.jpにて、「開発者は言語をいくつ覚えればいいのか?」という記事が出ている。すでに何百ものプログラミング言語が存在しており、常にその数は増え続けているが、プログラマは常に新しい言語を学び続けなければならないのか、と問いかけるものだ。
Appleが新言語「Swift」を発表したことを受けてのものだが、それ以外にも新しい言語は次々と登場している。しかし、記事では「プログラマーが複数の言語を理解することは重要であるが、常に新しい言語を習得し続けることを強要するのは意味をなさない」との意見を紹介。また、「独自の言語」が増えすぎると開発スピードが遅くなるとしている。
言語より (スコア:5, 興味深い)
ライブラリ覚えるのがしんどいのだが…
Re:言語より (スコア:3, すばらしい洞察)
「覚える」ですむうちはどうにでもなる. 問題はプログラミングパラダイムなどを「理解する」必要が出てきた時だ.
Re:言語より (スコア:2, 興味深い)
ライブラリより、フレームワークを覚える方が大変。
Swiftもしばらくは地道な構築期があるけど、ある程度経ったらフレームワークがいくつか出てくるでしょう。
そうなると、どのフレームワークを選択するのか、非常に大切になってくる。
今時、一から全部作っていたら時間がいくら合っても足りないですからね。
言語で開発が楽になる部分なんて大した割合じゃ無いですよ。
Re:言語より (スコア:1)
Java で業務システム構築って案件で、いざ担当してみると Java より XML を書く量のほうがはるかに多かったでござる。
Re: (スコア:0)
XMLを人間が手で、もしくはフリーのXMLエディタ(使いにくい)で書いているのですから、誰得という感じです…
Re: (スコア:0)
Java関係ってなんでXMLが多いんだろう・・・
コンピュータにも人間にも読み書きするのにコストがかかると思うのだけど。
Re:言語より (スコア:1)
Re:言語より (スコア:3, おもしろおかしい)
むしろカッコ付けすぎと言われると思う
Re: (スコア:0)
androidのsdkもxmlが多様されてるね。画面のレイアウト、widgetインスタンスののid、menu定義がそれぞれ別のxmlファイルになっててたりして、なんかとっ散らかった感じ。
Re:言語より (スコア:1)
フレームワークって、結局何をドコに書くかっていう決まりだけの問題だから、切り替えたとしても割とすぐになんとかなる。
ライブラリを使いこなすのは、どうやって書くか、の部分に関わりのある問題だから、ちょっとしんどい事があると思う。
まずデータ構造から理解する必要がある、とかさ。
Re:言語より (スコア:1)
>フレームワークって、結局何をドコに書くかっていう決まりだけの問題だから、切り替えたとしても割とすぐになんとかなる。
それは同種同系統のフレームワークしか触ってないからじゃね。
Re: (スコア:0)
寿命の読めないフレームワークの恐ろしさを知らなすぎ
さらに奇妙にカスタマイズされたオレオレフレームワークを使って追加開発しろとかゲロがでる
ライブラリよりフレームワークより (スコア:1)
デザインパターンを覚える方が大変
ごめん。言ってみたかっただけ
Re:言語より (スコア:2, おもしろおかしい)
Re:言語より (スコア:1)
rubyistですが。 gemの導入判定と説得が常々しんどいです…。
Re: (スコア:0)
ライブラリなんて覚えられるものですかね・・・せいぜい、都度調べられる程度に理解する程度だ、私は。
Re:言語より (スコア:2)
全部は覚えないよ。
(標準ライブラリの)全体の概要と使いそうな部分を一通り頭に入れておくだけ。
流石に全部調べてたら仕事にならん。
言語が違っても似てる機能はあるけど、微妙に異なるので混ざって困る。
「この関数スレッドセーフだっけ?」
「String.Format()の書式指定どうだったっけ?」
とか
Re: (スコア:0)
だよねぇ。元記事はプログラム書いたことがない人がアレコレ言ってる感じ。
Re: (スコア:0)
コンピュータ言語の違いなんて、所詮キーワードと文法が若干違うだけで
似た言語を習得してれば直ぐに覚えれる。
例外はPerlとXSLT。正直あれは無理だと思った。
Re:言語より (スコア:1)
大筋同意ですが、私の場合
・perl は大丈夫
・COBOLは無理だった
・XSLTは頑張れば読み書きできなくはないけど、あれは……
Re:言語より (スコア:2)
大筋同意ですが、私の場合
・perl は大丈夫
昨年、約15年前に書いた(他人が若干手を入れてる)perlをメンテしたのですが、最大最強の罠は単なる「文字列の比較」ですた。今時、C(高級アセンブラ)系は専用比較函数を使うとして、その他な高級言語は汎用な比較演算子が型に見合った適切な比較をしてくれるものと…。よもや「==」ぢゃ駄目とわ…。
Re:言語より (スコア:1)
独自バージョンを作ろうとしたら怒られたのでC#という新たな言語を作ったMicrosoftという会社があってだな。
Re:言語より (スコア:1)
「失われるメリット」も大きいような気もするんですけど
まあケースによるのかな
空目 (スコア:0)
なんでプログラミング言語の話でラブライブかと思ったら…疲れてますね…
問題解決に役立つから作られるわけで (スコア:2)
問題がないなら使わなければいいし、自分で問題解決をするより使ったほうが楽なら使えばいいわけだから、基本的にはあればあるほど楽になってるはず。
Re:問題解決に役立つから作られるわけで (スコア:2)
Xを瞬時に探してくれるような新たなツールを作る必要が生じそうです。
君は新しい言語を覚えてもいいし従来の言語を使い続けてもいい (スコア:1)
ただし、新しいシステムで使う言語が使えない人は不要です。
ああ、もちろん将来もこの言語を使い続けるなんて保証もありません(笑
ですねわかります。
#文句は客とメーカーに言ってください
Re: (スコア:0)
煽ってる主体がよくわからん
良いことでは (スコア:1)
言語を作るというのはそれなりに労力がかかるんだから、ジョーク言語でもないかぎり、
既存の言語に満足できなかったからこそ、新しい言語ができているはず。
後出の言語の方が優れていることが多いので、次々に登場するということは
プログラミング言語がどんどんよくなってきているともいえる。
勉強のためだけに 1 年に 1 つ言語を覚える達人プログラマーに比べたら、
必要な時に必要な言語を覚えるのは普通だと思う。
Re: (スコア:0)
新しいのが増えるだけなら良いかもしれませんが、
過去の資産をメンテできるcobolプログラマが不足している
みたいな問題も起きるわけじゃないですか。
贅沢と言えば贅沢ですが、
システムのライフサイクルと言語のライフサイクルが
一致してくれると良いなぁと思いますね。
#何故かバベルの塔の話が頭をよぎった。
Re: (スコア:0)
そりゃ
本来耐用年数のないソフトウェアを無理矢理旧式化させて
リプレースさせて稼ぐために新しい言語やフレームワーク、OSを作ってるんだからな。
IT屋としては無知を騙して儲けたいだけなので効率なんてどうでもいいんだよ。
Re:良いことでは (スコア:1)
そして、その耐用年数切れたソフトを無理やり新OSに対応させる業務ばかりのベンダーがでてきて、IT業界の印象がよりブラックになる、ってシステム。
Re: (スコア:0)
C#あたりだと、
互換性無視して好き勝手やった方がVisualJ++ の方が楽じゃね?
→ 互換性のないJ++がJavaを名乗るのはライセンス違反
→ じゃあJavaとは違うC#という別言語ってことにしよう!
みたいな流れを感じるけどね。
技術力がない会社が互換性を保って実装を作るのは大変なんだよ。
むしろ行き当たりバッタリで作る方がなんぼか楽。
#それこそPHPなんてバージョンアップごとの互換性問題が、ブツブツ...
まだ、あわてる時間じゃない。 (スコア:1)
というか踏み出す意図があるかどうか不明なのもある。
そういうのは必要になった時に覚えれば十分。
あらかじめ覚えようとする必要性などどこにもない。
際だった特徴や思想のない言語なんて、覚えても面白くもなんともないよ。
Re:まだ、あわてる時間じゃない。 (スコア:1)
D言語とかGoとかC・C++を置き換えるとか言ってるけど
全然そんなことできる気がしないんだよね。
MSにWindowsをDで実装させてからそういうこと言えっての。
C好きじゃないけど「新しい技術」を使うにはCが必須だもん。
モダンな言語なんて標準出力に文字を出すのを効率よくやってるだけで
新しいことなんて何もやってない。
最新技術は常にCでしかできない。
モダンな言語ばっかやってる奴らは原始人
Re:まだ、あわてる時間じゃない。 (スコア:1)
そもそもGCのっけてる時点で、DもGoもC・C++を置き換える気なんて最初からない、外野が騒いているだけ。
本気でC・C++を置き換える気なら、mozilaのこれみたいにRust [wikipedia.org]コア言語仕様にGCは入れない。
Re: (スコア:0)
速度こそ正義ってか。
C++だって早かったから増殖したわけだし、
Python Ruby Lua あたりもいい線いってんじゃねーのかな。
Re: (スコア:0)
Re: (スコア:0)
いやほら、開発時間と実行時間のバランスだよ。
Re: (スコア:0)
> モダンな言語ばっかやってる奴らは原始人
なぜか納得がいく不思議。
Cを憎むJava至上主義の人がいたので、「じゃあ Java で書き直して Java のガベコレ高速化して」と言ったみたことがある。
ブートストラップできるのは C とアセンブラ以外に何かあるかな?
Re:まだ、あわてる時間じゃない。 (スコア:1)
may the FORTH be with you.
Re:まだ、あわてる時間じゃない。 (スコア:1)
Java で JVM 実装すること自体は可能な気がしますが。
>ブートストラップできるのは C とアセンブラ以外に何かあるかな?
Lisp はブートストラップでき(るマシンがあり)ますね。
Javaだって、そういうマシンつくればブートストラップできるでしょ。
100言語増えても大丈夫なために (スコア:1)
ライブラリ名・クラス名・メンバ名・関数名などにもISO標準なり何なりがあればいいんでは
ウェブのUI側の決定版 (スコア:0)
JavaScript で何の不便もないし、大丈夫なんですけど、もうちょっと見やすくならないですかね。
こういう感じの。pythonみたいな文法になると理想的なんですが。
var hoge = (function(){
return function(){
var bar = new Array(8);
var baz = 'bazbaz';
this.fuga= function(a, b) {
return a + b;
}
}
})();
Re:ウェブのUI側の決定版 (スコア:1)
つ TypeScript
Re: (スコア:0)
つ CoffeeScript
組込屋はC、一択 (スコア:0)
良くてC++だな。しかし、基本、スタティックリソースなので相性が悪い。
デバグもしづらい。
コンパイラが吐いたコードを追いかけてデバックなんてしょっちゅう。
うん、Arduinoは比較的良くできていると思うよ。仕事には使ったことないけど。
PICAXEなんてのも機会があったら触ってみたいね。
Re:組込屋はC、一択 (スコア:1)
組み込み屋さんはアセンブラを使うものだと思ってました。
今はCだけなんですね……
Re:組込屋はC、一択 (スコア:1)
ところが。
最近はプログラミング言語を吹っ飛ばして、Matlab Simlinkで作っといてコードジェネレータで吐かせて突っ込む形が増えておりまして。
自動車屋なんかは本当にシビアなECU回りを除いたら、大半これで作っちゃっているのだそうですよ。
名案(?!) (スコア:0)
defineで定義して、headにしちゃえ!