「C++」を含む日記 RSS

はてなキーワード: C++とは

2020-06-05

using 犬=セット料金5000円;

condition = 2セット{入,出};

犬(

おじさんたちも、わかいおんなのけつをおいかけるぜ コンディション変数 >=0

=通行料 ー1回 =2回

記号意味わかれ

 

paiza.io C++ 非コミュでもここまでわかった ノート

わかってみれば簡単なんだが、どうして通行料が2回必要かが直感的に理解しづらかったがが 通行料っていわれてすってわかった

仕組みが関東ルールと違うってわかれば簡単

2020-06-03

経営はわからない

20人までのチームのリーダーは無理

技術

F5はあまり好きではないCiscoが好き 得意ではない

C++が好きだがPythonよりはJavaの方がCらしさがあるよなとおもう関東仕事が9割

for(auto Z:z) Z.z=0.0;

2020-06-01

anond:20200531231057

時間ぐらい、新規コーディング 数時間は動けない。

最近はかなりツール類が優秀なメーカーが増えてきた

コンパイラしろインタプリタしろ無料レベルでも優秀なものが増えてきた

学習の速度はそこまで大きく変わらない。メリットもあればデメリットもあるが、及第点ではあるだろう。

ただ、C++の扱いがまだJavaっぽいな。これだとJavaのほうが良いと考えるやつも多いだろう。C++の良さがオンライン環境問題で十分出ていない学習環境若い子が学べばそりゃJavaの方がよいと若い子が思ってしまう。Javaだって言いたいことはあるだろうがな。

そんなバックボーンがあってこの難易度で3時間うごくと、2時間うごけない。

2020-05-31

anond:20200531150204

C++.C++11を含めてCと仮に表現するとする。P言語みたいなもの

生産性が上がるか?というのは、記述速度はあがるだろう。

だが、生産性の大部分は メンテナンス性能だったり 意匠性能だったり、テストのしやすさだったりもする。

スクリプト言語とCではそもそも生産性の測り方が違う。

2020-05-28

本当のオブジェクト指向プログラミングをお見せしますよ

CやC++オブジェクト指向とか何かの冗談ですか?

smalltalkを入れてきてください。

本当のオブジェクト指向プログラミングをお見せしますよ。

JavaにおけるObjectの扱いと、Cにおけるclassの扱いは、実は微妙に違う。これをながらく同じとして扱ってきたことに対して

学生が参画したことにより、そろそろ無視できなくなってきている。あえて、違うけど、それは大学専門学校でとなるなら問題は無い。

いまちょうど難しい時期なんだと思う。※もちろんclassC++ですとか言い出すやつが現れるのも含めて

2020-05-26

anond:20200526181313

count = count+1;

というのは、実質c++のことだから、処理速度といういみでは最適化を掛けたときの変換を期待する

たほうこのケースの場合は、とあるふくさようを否定できない

なのでそうかくなら、count ~ count +1;とかいたほうがいい

それに もっとちがうかきかたのほうがよりよい

anond:20200526134846

C++だけど、C++文法をわからないひとにC++わからんといわれても、それはわからないですよねぐらいしかいえないのですが・・・どうしましょう。どうしたらいいですか?

2020-05-24

anond:20200524140929

C++と比べるのは大人げないですわ

しかも専用命令最適化できる環境でなんて

anond:20200524140722

でもIntelプロセッサ上でIntelコンパイラを使ったC++よりは10回りほど遅いんでしたよね?

さすがに、今話題になっているラムダ式の例の問題については

ノートPCで気軽にといていくには、ややおもい。

さすがに、これはデスクトップで24インチ液晶が2枚ほしくなる。

C++11はあまりすきではなかったんだが、面白いことを言う。

[]2020年5月23日土曜日増田

時間記事文字数文字数平均文字数中央値
00799759123.538
017310105138.437
02507940158.852
0339280571.958
04283662130.843
05141973140.956.5
0633285886.654
0755472886.036
0890622069.136
0995582761.346
10111680261.336
1111612405106.941.5
12119879173.936
1313014864114.337.5
141141118398.139
151441248186.751
16118854972.445.5
17120929877.549
18111939284.635
191621478091.248
2016517291104.838
2115217375114.343
222071718283.044
231981664984.145
1日252323291992.343

本日の急増単語 ()内の数字単語が含まれ記事

テンピン(8), テラハ(6), スーパーティ(4), eval(4), 大多数(4), ルイ14世(3), 女子プロレスラー(3), テラスハウス(11), セックスドール(5), 御札(4), 岡田晴恵(3), 誹謗中傷(22), 麻雀(14), 中傷(15), プログラマ(18), 同調圧力(11), ネットリンチ(8), プロレス(7), コネ(11), リメイク(7), プログラマー(20), 支持率(11), 解除(21), 公務員(41), 待遇(17), 安倍政権(20), ネコ(8), アベ(14), 有能(13), 借金(17), 政権(24), 安倍(39), 自殺(34), コード(10), 番組(15), 絶望(16)

頻出トラックバック先 ()内の数字は被トラックバック件数

■結果だけ見ればコロナ対策日本が圧倒的に優秀っていうけど /20200523130406(31), ■借金ありおたく女、結婚する /20200522180754(16), ■人形性愛者による幼児ラブドール反対運動への抵抗 /20200523115226(13), ■漫画リメイク /20200522111714(11), ■社会人になるとコネがすべてなんだなとわかって絶望する /20200523121007(11), ■こりゃ誰も検察官役人になりたいと思わないわ /20200523064651(10), ■ /20200522090921(9), ■ほかほか白ごはん想像してください /20200523103410(8), ■かな入力使ってる人っているの? /20200522204708(8), ■anond20200521200340 /20200522113919(7), ■なぁ反アベの人達、石破で妥協しない? /20200523171936(7), ■ニートだけどプログラマーより俺の方が凄いと思う /20200523001242(7), ■人生真面目に過ごすと損する話 /20200523004850(7), ■デレマス総選挙 /20200523134844(7), ■日本国民が頑張っただけって外国の人を馬鹿にしてね? /20200523185157(6), ■女性専用車両に感じた違和感 /20200522175433(6), ■ /20200523185956(6), ■人間、皆自分が一番いいやつだと思ってる /20200523192332(6), ■ /20200523120033(6), ■C言語(またはC++)できると書いてる人に必ず出す問題 /20200523231034(5), ■質問しにくい原因 /20200523002006(5), ■深夜アニメを「きもいから萌え系じゃなくてオエ系」って /20200523103655(5), ■anond20200523111515 /20200523111809(5), ■先輩が異動させられるかと思ったけど多分コロナのどさくさで無かったことになった /20200522130445(5), ■パヨクネットの外で行動をしろ /20200523180019(5), (タイトル不明) /20200523194939(5), ■マスコミにだまされる馬鹿 /20200523202544(5), ■一週間分の飯をお任せする通販みたいな仕組みができないかな /20200523205116(5), ■子供と観るのに良い映画 /20200523213410(5), ■みんな政府のことを信用してないのに、号令には従順不思議 /20200523215720(5), ■○○はevil /20200522220514(5)

2020-05-23

C言語(またはC++)できると書いてる人に必ず出す問題

int a=1;

int x[] = {2, 3};

int b = a[x];

bに格納される値とその理由を答えよ。

(includeとかmainとかは省略)

ちょっと意地悪な問題だけど、

即答できない人はC/C++根本的に全く理解してないので落としてる。

コンパイルエラーだと思った人は入門書読み直してきてね。

オサレ言語

増田の中ではプログラマーっては、PHPPython使えるやつのことなのかよ。

Z80asm→Cobol88→C→C++VB6C#VB.netJava

まで、たどり着いたんだが未だにPHPPython出会えてないぞ。

2020-05-22

anond:20200522171301

組み込みだったりそういうのは作ってて楽しいわけもないし、C++みたいなわけがわからないよ言語使って作るとかやってられない

PHP とか Python とかでさらっと書いて動くのがいい

あと作るサービス性質的にも、その他よりも興味持てる物が多い

このエントリ以外にも組み込み楽しくない的なの見えたけど、それは一つの側面でしか無いぞ。

組み込み何年もやって、今は違う業界にいるけど、組み込みもそれはそれで楽しい面がある。

自分の作ったソフトウェア現実世界に影響を与えるのは、何回やっても楽しい

勝手につまらないと想像したり、そもそも組み込みを知らずにWeb/ML/ゲーム辺りを見ている人はぜひ経験してみてくれ。

今の時代スマホちょっと操作するだけでランプが付いたりモーターが動いたり。

果ては車と繋いで液晶メーターを自作することさえも、Pythonでもあっさり出来てしまうぞ。

https://qiita.com/suzutsuki0220/items/8642b1c3ea51859a95ad

(車と繋ぐのは簡単とは言わないが)

anond:20200522005004

ラクだし作ってて楽しいし新しいからだと思ってる


組み込みだったりそういうのは作ってて楽しいわけもないし、C++みたいなわけがわからないよ言語使って作るとかやってられない

PHP とか Python とかでさらっと書いて動くのがいい

あと作るサービス性質的にも、その他よりも興味持てる物が多い


ゲーム関係楽しいは当てはまるんだけど、技術的に高難易度過ぎてつらい

(ここで言うゲームPS4とかそういうのであって、ソシャゲゲーム扱いしない)


その他のIT系って基本古い昭和体質な企業が多い

最近企業でゆるく働ける今風なのってほとんどウェブ


デメリット勉強しないといけないところくらいだと思う

業界的に移り変わり激しいし、暇さえあればプログラミングしてるような人が多いか向上心ないし仕事として仕方なくやってるくらいの気持ちならついていけない

でもウェブ系行きたい行きたい言ってる人は進んでやる人多いしあまりデメリットでもなさそう

YES,New generation Optimizer STL/C++ Level Code Optimizer.I think too. you can!

X86以前のコードレベル自動的コード最適化をかけた後にX86最適化を行う。このさいに文法的最適化ではなくX86が最速になるようにCのコードを並び替える。

これはたしか新時代オプティマイザーなんだろう。だれが発案したの?

 

みんなx86で最適化を考えるがCのレベル等価コードであれば並び替えたほうが、さらX86最適化されるケースはあり得る。

たとえば、ライナーサーチだと判定できたら、さらに最速なアルゴリズムにCを置き換えることは不可能ではない。

 

コンパイラアルゴリズム最適化まで許可された場合 Pythonなどで培われた技術を使ってアルゴリズムコード最適化をしてCのコードアルゴリズムごと改変してもよく、その後X86最適化を行うことは、次の時代にはふさわしいと私は思う。

例:ライナーサーチをもっとはやいサーチアゴリズムに、このC言語コードライナーサーチだと判別して、コンパイラ自分関数化した後に、もっとはやいサーチに関数ごと置換する。

その考え方はすごい。

さすが。これは日本も負けてられない。(結構前の技術らしいです)

プログラミングスクールに通ったゴミの末路

https://note.com/mksaryo/n/n69472228f68a

この、「プログラミングスクール卒業したゴミ面接した結果」という記事はてブ話題となった。

ブコメでは「ゴミは言い過ぎだ」「筆者の人間性を疑う」のような批判的なものが多かったが、雇う側の立場としては至極まっとうな意見でもあったとも思うよ。

実際にプログラミングスクール卒業した2008年製のゴミの末路を見て、プログラマ目指すのに、スクールに通うか通わないかの参考にしてみてほしい。

2007年に、初級シスアドとれたのでプログラマなれるんじゃねと勘違い

当時26歳だった私は、上京し某プログラミングスクールに通い始めた。40万支払ってジャバの動画を見る日々。講師はいたがジャバ知らないので質問もしなかった。

ジャバの動画を見終わって、はれて卒業した私は、エスアイアーやソフトハウス面接を受けまくった。

しかし、ポートフォリオ自身プログラミングスキル証明できる成果物)など全く作っておらず、実技試験ではフィズバズテストもできない有様。あんなにジャバ動画見てたのにね。もちろん変数引数の違いも分かってない。誰か雇うかと。

そんな就職活動半年ほど続け、ようやく正社員採用してもらえた。

だがそこで待っていたのは、C++既存コードメンテ作業だった。この頃にはジャバとかどうでもよくなり、ただプログラマとして潜り込めば良しとした。

ただ案の定何もできず、一日中ググって終わりという日々が続いた。そして一ヶ月半で解雇

27歳。プログラマになるの夢はすっかり消え去り、ただ東京で食いつなぐだけの生活が始まった。

失業手当が尽きた頃、派遣会社登録。督促コールセンターにぶちこまれ、3ヶ月で逃げ出した私には、日雇い派遣がちょうど良かった。漬物工場和菓子工場物流倉庫で黙々と働くほうが性に合ってたようだ。

そんな生活が続くわけもなく、結局上京してからたった1年半で地元に逃げ帰ることになりました。

今は地元運用保守SEとなり、ほとんどコードを書かなくて済んでます

anond:20200521175300

高校入学時にパソコンを買ってもらって、FrontPageExpressってソフトウェアが入っていた。

触ったら、Webサイトを作るソフトって事を知って、その日に本を買ってHTMLでページを作った。

数日たって、掲示板を置いた。

その時にPerl言語を知って、ソースを見て何となくいじったりして覚えていった。

掲示板の返信処理のルーチン見たり、色々覚えていった。

そっから掲示板自分用にカスタマイズした。

コメント書くとレベルアップしたりする機能追加したり。

大体ここまでが、高1の夏休みくらいまでで、その後高校中退。

そんで、親戚が務めている会社Webサイトを作ってくれって頼まれて作ったり、その会社経由でPCサポートバイトをしながら

自宅でサーバを立ててみたくて、その時はFreeBSDインストールして、色々必要アプリソースコンパイルしながらソース見て行って

C言語何となく覚えて、自分ファイル圧縮作ってみたソケット通信作ってみたりした。

その後、たしか高3くらいでDirectX面白そうでいじり始めて、一回挫折して

VB6暇つぶし電卓作ったり、関数C++で作ってdll化とかしていて

ふと、DirectXをいじったらすんなり扱えるようになってたり

って感じで、とりあえず何かを作って表示させるってのは成功体験として凄く楽しいし、

からといって、自分で調べないで教えてもらって表示出来ましたってのは、成功体験として弱すぎる。

から最初に何か作れって事だと思ってる。

何も見ずに全部作れるレベルになるまでには、相当な回数の検索をしないといけないから、その練習にもなる。

今は、会社員のWebプログラマーで、Go言語をメインで色々作りながら

自宅で新しいサービスを作って独立したいと思ってる。

anond:20200521225730

プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。

JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScript改名されたり、規格を話すときECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。

Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。

Javaは初期のころオートボクシング / アンボクシングもなく、ストイックオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコード簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である

PHPWebネイティブ言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能初期化していない変数最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列数字臨機応変に切り替える機能もあり(今もそうかは知らん)、数字文字比較比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。

C#Hello Worldくらいしかいたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。

C++黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーション腱鞘炎になることもない。PC Unixにも最初から環境インストールされているか簡単インストールできるので毛嫌いせず使うとよいと思う。

Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。

CSS...はプログラミング言語なのか?そうか。

TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。

Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるからカーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。

これ以下のランキングのもその気になったら書こうかな。

2020-05-21

初心者向け】プログラミング言語人気TOP20簡易解説

概要

プログラミング経験からプログラミング勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点簡単解説してみます

対象読者はプログラミング経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。


ランキング

1位 JavaScript

Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネット世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページグリグリ動きまくりである

元々HTMLちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。

ブラウザ上で動くプログラミング言語基本的JavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。

ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。


2位タイ Python

機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。

Webも作れるが、日本ではWeb系の求人は少ない気がする。

言語としては、誰が書いても簡潔で読みやすコードになる傾向にあり、小さいプログラムを書くにはいい感じである米国ではプログラミング教育Pythonがよく使われているという話も聞くし、初心者プログラミングを始めるのにはいいのかもしれない。

将来AIデータサイエンスをやってみたいと思うのであればPythonから始めましょう。


2位タイ Java

ランキングでは常に一位に近い順位をつける言語Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去資産プログラマの数が多いのが一番の理由だと思う。AndroidアプリJavaで書く(もしくはKotlin)。

実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所短所としては、歴史ある言語下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストJavaScriptPHP, Ruby, Pythonあたりに比べると高い。

正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAJavaをかなりヘビーに使っているので要は玉石混交ということである

Androidアプリ作ってみたいというならJavaからはじめるのはアリ。


4位 PHP

Webページを作るためだけに生み出された言語プログラマの数が非常に多い。日本求人が一番多いのはJavaPHPであろう。

初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルであるしか基本的には古くてダメ言語とみなされており、PHPで作られたWebサービス脆弱性が多いという都市伝説もある。真実は闇の中である

近年のバージョンアップ比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。


5位 C#

Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。

最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#プログラマ結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。

ただし.NETUnityも触らない人にとっては基本的に縁のない言語である

なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。


6位 C++

C言語に色々な機能を足しまくってできた巨大な迷宮のような言語言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンス重要な開発において使われる。アプリサービスというよりは、それらを作るためのライブラリプラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。

基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。


7位タイ Ruby

このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界有名人である。ちなみに島根県出身、在住。

プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本情報が多く、情報収集という点ではとてもやりやすい。

Ruby on RailsというWebサービスを作るためのフレームワーク世界的に大ヒットしたため、必然的Ruby知名度も上昇した。少し前まで日本Webスタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Webプログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。

Webに興味があるのならRubyから始めるのが一番無難選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールカリキュラムに従いRailsをやりましょう。


7位タイ CSS

これは他の言語とは毛色の違う言語である。というかCSSプログラミング言語と呼んでいいのだろうか?

CSSHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトサイズを変えたりするのは基本的CSS役割である

すごく大雑把にいうと、HTMLで表示する内容(文章画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である

なので、Webに興味があるのであればある程度はCSS知識必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。


9位タイ TypeScript

TypeScript比較的新しい言語で、JavaScriptさら拡張したものであるMicrosoftによって開発されている。

プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語サクサクかけるし短く書けるがバグを生みやすプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。

そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである基本的JavaScript理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。

ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。


9位タイ C

C言語基本的OSを作るための言語であるOSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアであるAndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータ基本的OSがあって初めて動かすことができ、OS提供する機能を使ってブラウザスマホアプリなどを動かせるのである

というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語文法C言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaPHPなどはなんとなく雰囲気で書けてしまったりする。

そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味理解できるまでに2年かかった。才能がないとこうなるので注意。


11Swift

SwiftAppleによって作られたAppleのための言語であるiOSアプリiPhoneアプリと言い換えても良い)を作るためだけに存在している。

言語自体は他と比べて新しいため文法機能イケてる雰囲気があるので基本的はいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。


12Objective-C

Swiftが生まれる前はiOSアプリを書くためにObjective-C必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-Cアプリメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチ需要はこれからも残るのかもしれない。


13位タイ Scala

Scala関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター


13位タイ R

R言語データ解析用のプログラミング言語である

正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワード流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習AIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者最初にやるようなものではないことだけは確かである


15位タイ Go

Go言語比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用目的に作られたものであるしかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。

他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。

学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。

二番目や三番目に学ぶ言語としてはオススメ


15位タイ Shell

シェルというのはテレビなんかでハッカー的な人間PCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェル知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。

Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。


17PowerShell

PowerShellは上のShellの親戚みたいなもので、ShellがMacLinuxで動くのに対しPowerShellWindowsで動く。そんだけである。あと正直あまり知らない。


18位 Perl

ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語C++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である

今でも広く使われてはいるが、RubyPythonPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定目的があるのであればいいと思う。


19位 Kotlin

Kotlin簡単に言えばBetter JavaであるJavaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである

ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。

とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。

言語自体はとてもいい感じなので、もう少しコミュニティ成熟してくれば最初に学ぶ言語選択肢として有力になるかもしれない。


20Haskell

HaskellScalaと同じく関数型言語であるScalaJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語マスターしてからやりましょう。


総評

なんとなくWebに興味がありそうならJavaScriptRubyもしくはPHPAndroidアプリに興味があればJavaiPhoneアプリに興味があればSwiftAIデータ分析に興味があればPython3Dゲーム開発に興味があればC#。この辺りをやりましょう。

特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。

なお筆者はただのヘボプログラマであり、大好きな記事http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

ログイン ユーザー登録
ようこそ ゲスト さん