質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

12回答

2074閲覧

プログラミング言語について

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1グッド

3クリップ

投稿2016/07/03 06:06

プログラミング言語が使えるとはどの程度のことを指すのでしょうか?

mondaminZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/07/03 06:11

過去の質問の多くが回答待ちになっていますが、解決されたものについては「解決済」にしてください。
guest

回答12

0

「使える」というのはとても主観的ではっきりしたことを言うのは難しいと思います。

「○○が使える」というのは日常的に使っている言い回しです。○○には何かしらの__道具__が入ります。「ハサミが使える」「カッターが使える」「パソコンが使える」「Excelが使える」等々と言ったりしますが、プログラミング言語も同じように「Cが使える」「Javaが使える」「Pythonが使える」と言った場合、ここでのCやJava、Pythonというのは同じように__道具__です。つまり、プログラミング言語もプログラムを作るための一つの道具であるということです。

さて、「ハサミが使える」と言った場合、どの程度だと想定するでしょうか?ハサミを見たことも触ったこともない人は、ハサミがどんな道具で、どのように使うのかを知りません。持ち方なんてわかるわけがありません。でも、私達は日常的にハサミが__使えて__います。それは、ハサミが「紙を切る道具」であること、ハサミの「持ち方」や「握り方」、どうすればハサミで「紙が切れるのか」を知っているからです。そして、実際にハサミで紙を切ることができます。だから、私達は「ハサミが使える」と言ってしまいます

「Cが使える」も同様に考えられます。Cが「プログラムを作る道具」であること、Cの「書き方」や「コンパイルの仕方」、どうすればCで「プログラムが作れるのか」を知っているのであれば、「Cが使える」と言っていいでしょう。ハサミと同じですから、簡単ですね。

ちょっと待って下さい。さきほど「ハサミが使える」と言いましたね。なら、「切り絵」を作って貰いましょうか?え、できない?なんで、さっき使えるって言ったじゃん。

そう、「ハサミの使い方」もたくさんあります。ただまっすぐ紙を切るだけなら、誰でもすぐにできるようになるでしょう。では、ハサミで「切り絵」を作るとなるとすぐにできますか?ましてや寄席の紙切りのように観客を笑わせる喋りをしながらやるとなると、それはもう、すぐにできる人なんていません。つまり、私達は「ハサミの使い方」を知っているようで、できるているようで、実はもっと複雑で、ほんの僅かにその一部だけを垣間見ただけに過ぎないのです。

「Cの使い方」も同じです。Hello worldと表示することなら誰でもすぐにできるようになります。でも、「OS」を作るとなると、それはもう複雑で高度な技術が必要です。「切り絵」をするのにハサミだけでは難しいからカッターを使おうとするのと同じように、時にはCだけではつらいからC++など他の道具を使う必要になるときだってあります。そうそう、同じです。私達は結局、知っているかのように見えて、いつも入り口に少し立っただけに過ぎません。

はてさて、「○○が使える」とは一体何だったのでしょうか?紙をただまっすぐ切れるだけで「ハサミが使える」と言ってよかったのでしょうか?それとも綺麗な「切り絵」を作れるぐらいじゃないと「ハサミが使える」と言ってはいけなかったのでしょうか?Hello worldができれば「Cが使える」と言っていいのか?「OS」まで作れないの「Cが使える」と言ってはいけないか?なに、両極端過ぎるから、間にある適当な所までできれば「○○が使える」にすればいいのではないかって?なら、誰がその中間にあるという妥当なラインを決めることができるんでしょうか?

結局、両端を取ろうが、適当な中間を取ろうが、主観にすぎません。「○○が使える」とだけ問うことはあまり意味があることではありません。本当に問うべきなのは「××で○○が使える」であり、重要なのは「××」部分です。単に線に沿って紙を切る程度の事なのか、それとも寄席の紙切りなのか。Hello worldと表示するだけなのか、OSの作成なのか。「仕事で」とした場合も、芸術作品と寄席では切り絵で必要とされる技術が微妙に異なるように、ゲームの作成とOSの作成では必要とされる技術が微妙に異なってくるでしょう。

「○○が使える」というのは、使う場所の具体性をもって初めて意味がある言葉だと思います。それで、一体どこで何に使いたかったのでしょうか?

投稿2016/07/03 07:18

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/03 07:34 編集

素晴らしい見解ですね! まさしくおっしゃる通りです
think49

2016/07/09 23:27

完全に同意します。 > 「○○が使える」というのは、使う場所の具体性をもって初めて意味がある言葉だと思います。それで、一体どこで何に使いたかったのでしょうか? この質問に対するNobuarithmeticさんの答えが気になりますね…。
guest

0

知るを知るとなし、知らざるを知らずとなす、これ知るなり(論語)

この範囲までなら自身を持って答えられると言えれば、まあ使えると言っていいでしょう。
ただし、一般的にはわかっている人ほど「わからない」と答える傾向があるようです。

投稿2016/07/03 06:51

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

たとえ一度も扱ったことなくても「言語仕様書と処理系と少々のサンプルコードさえ頂ければものの一週間でそこそこのものが書けますよ」と言える程度。

投稿2016/07/04 04:33

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

定められた期限内に必要なものが作れるかどうかですね。
言語仕様の知識について言えばどの言語でもそれほど難解なものはありませんから、覚えれば済む話です。
短い期間に複雑な物を作れと言われれば(使ったことないから)(慣れてないから)そのフレームワークは使えませんと言いますし、時間が十分にあるなら「使ったことないけど情報は十分手に入りそうなので勉強します」と言えます。

投稿2016/07/03 07:51

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/04 00:50

職業的にプログラミングに取り組むのであれば、この観点が抜けると痛い目にあいますよね。
guest

0

こんにちは。

人によって、また文脈によって異なると思います。
今、私が回答するとしたら、下記ですね。

そのプログラミング言語の処理系を開発用コンピュータへインストールでき、ある程度複雑なプログラムを自力で開発できることですね。どの程度の複雑なものかはケースバイケースですが、Hello, world!ということはないです。

投稿2016/07/03 06:10

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/03 06:18 編集

ご回答ありがとうございます。 恐れ入りますが、「ある程度複雑なプログラム」の具体的な例をいくつかご提示していただきたいです。 また「自力」というのは、ネットの情報を一切見ないで製作できるということでしょうか?
Chironian

2016/07/03 06:29 編集

例えば、C++ならクラスを使ってオブジェクト指向的なプログラムになっているものとかですね。 具体的には難しいです。C++でもC言語的に非オブジェクト指向プログラムもできますから、例えば電卓プログラムを作れてたからといって、オブジェクト指向プログラミングできているというと判断はできません。 オブジェクト指向向きの言語ならオブジェクト指向プログラムしていること、テンプレートを使える言語ならテンプレートを使っていること、そして、標準的なライブラリの内、良く使われるものを使っていることって感じですね。 > また「自力」というのは、ネットの情報を一切見ないで製作できるということでしょうか? わたし的には、ネットをバリバリ使ってOKです。分からない部分をピンポイントで聞く分には人に聞くこともOKです。でも、1年がかりはNGです。難易度にもよりますが、一般的な開発期間程度で開発できることは必要ですね。
退会済みユーザー

退会済みユーザー

2016/07/03 07:13

詳しいご説明ありがとうございます
guest

0

やや遅めの回答ですが、言語学習のヒントになりそうな
面白い着眼点の質問なので、回答させていただきます。


プログラミング言語は手段です。
最終的に実行されるのは機械語ですから、機械への命令です。
ですから「使える」かどうかは、目的を設定するとハッキリします。

たとえば、Webサイトを作るとか、ゲームを作るとか、
文字を整形するツールを作るとか、表計算で事務をするとか。
その目的を達成していれば「使える」と言えるでしょう。


ここで私が言いたいのは、
「覚えてから使おう」とすると際限がないので、
「使いながら覚えよう」ということです。

言語を「使えるようになりたい」という人は多いですが、
適切な目的を設定する方向で考えないことが多いです。
しかしそれは学習の挫折への近道です。

たとえば英語で言えば、口では一切話せなくても、
文章を読めることで、何か有益な情報を収集できるかもしれません。

たとえ他人が「そんなのは使えるうちに入らない」などと言おうとも、
本人にとっては役に立てばそれでいいでしょう。
(職業で使うとなると、そうはいかない場面も多いでしょうが)


プログラミング言語でも、何でもかんでもできるようにはなりません。
まず使う目的を明確にして、それに必要なだけ「使える」よう学習するのが、
学習が成功する近道だと思います。

こういうことを言うのは、意外と初心者の方は、
手段に固執する傾向があります。とくにその手段が有名な場合。
「それは~でもできる」ことが分かってくると、
同じことをはるかに少ない労力で実現できることがあります。

たとえば個人や社内など内輪だけで使うツールを作るなら、
GUIでなくバッチ処理だとはるかに簡単になる場合があります。
でも今の時代CUI(CLI)がマイナーだから学習されないとか。

まとめますと、プログラミング言語も目的指向で学習するのがお勧めです。

投稿2016/07/09 22:52

LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

何か一つのシステムを完成させる事ができれば使えるって思ってもいいんじゃないでしょうか。

投稿2016/07/08 01:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「言語が使える」というのはピンからキリまで相当なレベルの差があるように思います。
また、言語が使えても課題や問題または客先の要望などに対して、仕様書から設計書などドキュメントを起こすこともしなければならないので、プログラミングの能力だけでは実務としては使い物になりません。

投稿2016/07/04 08:12

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どの言語も、基礎+応用、で成り立っていると思います。
この基礎ができていればどんな応用にも生かせるはずなので、基礎ができていれば「使える」と言っていいと思います。
では基礎って?てなると思いますが、何かを作ろうとしたときに途方に暮れないで、自力で解決できる力だと思います。

投稿2016/07/04 00:17

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自分の中では、いつまでたってもプログラム言語を「使える」というよりは「使ったことがある」と
いう認識でいます。
その理由としては、どのようなことができればそのプログラム言語を「使える」ということができるのか
十人十色だからです。
ただ、一つの指標としては、「その言語を使用して相手が求めるシステムを構築できる」というのが、
「使える」ということになるのではないかと思います。

投稿2016/07/03 23:57

tomo.ina

総合スコア357

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問を次のように変えてみてください。

日本語が使えるとはどの程度のことを指すのでしょうか?

まさに十人十色の考えた方、回答になるでしょう。
でも、それら回答を集計して何を得たいと思っているかは、質問者がそれを明らかにしない限り、回答者には伝わりません。

質問者様にとって、
"自分が使えると思っているプログラム言語は xxx です。その理由は ..." とか
"自分はプログラム言語 xxx を使えるとは思っていません。その理由は ..."
などの具合例を、質問文に含めるとよいと思います。

投稿2016/07/03 14:19

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

C++に限定すれば
C++erを簡易的にレベル分けすることで初心者詐欺を減らそうという試み -Qiita
なんていうネタ記事を書いて大きな反響を頂いたことがあります。


言語がわかる、というのと、その言語でプログラムが書ける、というのはまた違うものだったりします。
例えば某有名ゲーム会社のプログラマーで、C++使っていても、C++そのものについては殆ど知らなかったりします(平気で環境依存コード書いてたり、STLにあるのを自作してたり)


日本でものすごくよく見かける光景として、
「てめーのJava、Java4ですらねーんだよ!」(*現在Javaの最新はJava8です、だいぶ違います)
というものがありますが、それでもその人はプログラミング言語を使えているのかもしれません。

投稿2016/07/19 06:43

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問