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

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

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

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

Java

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

11回答

506閲覧

C言語とJavaの履修どちらがいいか

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

Java

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

1クリップ

投稿2020/01/24 04:46

大学でプログラミングを学んでいる次2年生になるものです。
2年生からC言語とJavaとPythonを選んで履修出来るのですが、個人的には全部履修したいのですが時間割的に1つしか出来ないそうです。
その際履修出来なかった言語はその言語を受けている友達に(おそらく講義でその言語の演習問題を貰うので)貰おうと思うのですが、それを前提で何を履修した方がいいかお聞きしたいです。

例えばC言語を友達から貰った問題だけじゃなく講義を聞いてよく理解した方がいいのか、Javaの講義を受ければC言語は演習問題だけで理解出来るから(逆もありき)などの理由で受けた方がいい講義があれば教えて欲しいです。
1年次は全員Pythonを履修して、私は他の人よりかなり理解出来た方なので全体的な講義のレベルはどの言語もそのくらいだと考えています。

履修科目以外は演習課題だけになりそうですが、自分で調べてプログラムを実行まで持っていくことは出来ます。

国語力は壊滅的なので要約すると、
1番効率よくどの言語も習得できる方法を模索しています。よろしくお願いします。

hayataka2049👍を押しています

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

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

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

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

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

guest

回答11

0

で、どうやって決めるつもりですか?
意見が割れたら「多い方」ですか?
それって質問じゃなくてアンケートですよね。

どこの誰とも知らない他人に自分の人生、少なくとも1年を掛けていいんでしょうか。

自分で決めてください。
これくらいのことで他人に決めてもらうような状態では何を選択したところで成長にはつながらないと思います。

「国語力は壊滅的なので」なんて誰になにを伝えてどうしてほしいのか分からない表現を使うのではなく、もっと真剣に人生について考えてください。

投稿2020/01/24 05:07

編集2020/01/24 05:09
m.ts10806

総合スコア80765

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 05:16

回答ありがとうございます。 最終的にはどの言語もやりたいですが、将来やりたいことも明確に定まっていない今、なおさらどの言語をメインで履修すればいいか迷って大学生活という限られた時間で1番効率的に学ぶ方法を先人に聞いているだけです。 国語力壊滅的と言ったのはその自覚があるからです。その後要約して聞きたいことは明確にあるじゃないですか、、、
m.ts10806

2020/01/24 05:23

将来やりたいことを決めてから選択するのが効率的です。 >その後要約して聞きたいことは明確にあるじゃないですか、 どうしても他人に伝えなきゃいけないですか?「国語力壊滅的」 聞きたい人ってどれくらいいるんでしょう。 teratailはあくまで問題解決の場。 質問者本人の個人的事情など本来不要ですし、書いてあることでノイズとしか感じない人も少なくないです。覚えておいてください。 要件だけきちんと書けば他は要りません。
m.ts10806

2020/01/24 05:28

いずれにしても学校で習ったとしても実務で使える人ってそういません。 新人研修でいい成績をおさめたいわけじゃないでしょう? 本当にやりたい人はこんなところで他者に選択してもらうようなことはせず自分で決めて自分で突き進みます。 質問している時間がもったいない。
guest

0

どの言語でもやろうと思えば各種処理はできますが、向いている向いていないはあります。
個人的には以下のように考えています。

C言語・・・組み込み系
Java・・・汎用的
Python・・・機械学習

将来どのような方向に行きたいかで決めるとよいかと思います。
hayataka2049さんの回答にあるように、C言語は低レイヤの知識を学べると思うので興味があれば選択してみるのもよいでしょう。
但し将来たとえJavaを使うことになってもそのとき学んだC言語での知識が必須かというとそうではありません。
どの言語も独学で学ぶことはできるでしょうし、より深く学んでみたいものを選べばよろしいかと思います。

投稿2020/01/24 05:06

ttyp03

総合スコア16996

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 05:57

回答ありがとうございます。 将来どの道に進むかはまだ決めていませんが、組み込み系には進まないとは思います。趣味としてはとても興味ありますが仕事には、、、という感じです。 そうなるとJavaになるのかなという気はします。ひとつに限らず何かをしたいので。 ありがとうございます。
guest

0

C言語の講義で学ぶことになるであろう、メモリ管理など比較的低レイヤの領域の考え方は、多くの場合知っておいて損はありません。

ただし最終的にやりたいことが「高級言語をゴリゴリコーディングしてアプリケーションレイヤのプログラムを書くこと」であれば、Javaも悪い選択ではありません。

Pythonは必要に迫られたら覚えれば良いという認識で、わざわざ講義を受けるかというと微妙です。

投稿2020/01/24 04:57

hayataka2049

総合スコア30933

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 05:07

回答ありがとうございます。 メモリ管理やハードウェア上の仕組みについて疎い部分もあるので(ほぼ意識しなくていいPythonをいじっていたので尚更)C言語での低レイヤの扱いも出来た方が良さそうですね。ありがとうございます。
guest

0

日本語が潰滅的という自己判断なら、まずは日本語かと思われ。
プログラムって、自分がコンピュータに何をして欲しいかを伝える事です。日本語というか、日常的に使う言語が潰滅的なのに、どうやって思いを言葉にするのでしょうか?
まずは、手順を明確にできる言語を作ってください。あとは翻訳の仕方を覚えるだけです。

投稿2020/01/24 06:05

編集2020/01/24 06:08
Q71

総合スコア995

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

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

退会済みユーザー

退会済みユーザー

2020/01/25 10:37 編集

回答ありがとうございます。 では少なくとも同じ学部の他の人よりはプログラミングを出来ているようなので国語力はあるようですね訂正しておきます。 文章を理解しましょう。
m.ts10806

2020/01/24 09:28

文章は訂正されることなくアドバイスも活かされることなく放置へ。
guest

0

こんにちは。

Javaと言えども、ポインタを理解していないと辛い場面にぶち当たることがあると思います。(参照≒ポインタです)
そして、Javaはポインタの概念を隠蔽しているのでその部分は学びづらいです。
という視点から考えると、将来「優秀なプログラマー」を目指すのであれば、ポインタを学べるC言語はお薦めです。

その後、C++でオブジェクト指向プログラミングまで身につけることに成功すれば、Javaは容易に学べます。(C++はTMP等の様々な超高難易度な概念を多数含みます。それらは「オプション」と考えてもOKと思います。)

投稿2020/01/24 05:49

Chironian

総合スコア23272

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 06:10

回答ありがとうございます。どの言語でも結局ハードウェア部分を理解してないと理解し難いのですね、、、 ありがとうございます。
guest

0

今からC言語とJavaを自習します。

一通りできるようになりたいなら、自習が難しかったほうを受講します。
得意な方にリソースを割きたいなら、自分で出来たほうを受講します。

投稿2020/01/24 06:25

ozwk

総合スコア13512

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

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

0

国語力が壊滅的と言われていますが、言語を真剣に学びたいという真摯さは伝わってきています。

それくらい真剣であれば、2年次のカリキュラム(シラバス)を自分でしらべて、その内容から判断することができるのではないかと思いますが、いかがでしょうか。

重要なのは、流行している言語ではなく、それぞれの講義でどれくらいしっかりと教えているか判断することだと思います。

シラバスを見てみて、どんな流れで講義がおこなわれているのか、またその内容は自分の興味を満足するものなのかを判断基準にするのが良いと思います。

シラバスをご自身で精査された上で、その内容とご自身の興味とを照らし合わせた上でまた疑問があれば、(できればシラバスの内容を載せて)ここで改めて質問するのも良いのではないでしょうか。

シラバスを見れば、講義担当教員の名前や連絡先も書いてあると思いますので、先生方に連絡をとって、どういうことを教えてもらえるのか聞いてみるのも手です。

個人的には、どの言語であっても、文法だけでなく、アルゴリズムとデータ構造までしっかりと体系づけて講義してもらえる科目にするのがいいと思います。きちんと基礎力を身につければ、それがCであってもJavaでもPythonでも、あまり関係ないというのが個人的な感想です。


ここからは個人的な経験ですが、私はいわゆるロボット系の学科出身で、言語といえばC/C++だけでした。しかしそれだけでは物足りず、他学科(情報系開講)の講義も聴講しました。他学科なので単位認定できない講義もありましたが、Unix System Callやネットワークの講義を聴講できたおかげで、単位を取ること以上に純粋に満足できましたし、その後の独学で困ったときも相談できるネットワークができた、というメリットも得ましたよ。

投稿2020/01/24 05:24

編集2020/01/24 06:18
TsukubaDepot

総合スコア5086

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 06:05

回答ありがとうございます。 学生ポータルを見てみたのですが、2年次のシラバスはまだ公開されていませんでした。来年度からこれまでの講義と大きく変わるようなので特にプログラミング系は先輩と被ってる講義は無くて分かりません。 ただ、C言語の教諭は前に2年次にC教えるとしたらその人が教えると自分で言っていたのでわかります。なので(メールアドレスは分かるのでどんな感じでどの程度まで学べるのか聞いてみたいと思います。) 私も他の講義も聞こうとしたのですが単位取れない所か時間が被っていたので叶いませんでした。せめて時間をずらして欲しかったです。 質問出来て良かったです。 ありがとうございます。
TsukubaDepot

2020/01/24 06:15

ご自身で担当教員に連絡を取るというくらい意気込みがあれば、私はそれに越したことはないと思います。 しかし、この時期でまだシラバス未定というのも困りますよね。印刷版のシラバスがあった時代、私は図書館にいって過去のシラバスや他学科のシラバスを見たものですが、それでも「大きく変わる」というのであれば予測も難しいですよね。 せっかく毎年高い授業料を払っているわけですから、講義は聞けるだけ聞いた方がいいとおもいます。 多くの講義を聞くことは単に知識を増やすだけでなく、与えられる情報の良し悪しを判断するための良い訓練にもなります。たくさん講義を聞いて、それを丸呑みするのではなく、ご自身で判断し、「あ、この内容は間違っている」などと判断できるようになることが、より深い理解への第一歩だとおもいます。
guest

0

ベストアンサー

1年次は全員Pythonを履修して、私は他の人よりかなり理解出来た方なので全体的な講義のレベルはどの言語もそのくらいだと考えています。
履修科目以外は演習課題だけになりそうですが、自分で調べてプログラムを実行まで持っていくことは出来ます。

という事なら、適当に履修する方を決めて、履修しない方は入門書を自分で買ってきて勉強しちゃえばいいです。

個人的にはCの方が独学が難しいので、Cを履修して、Javaは独学するのが効率的かなと思います。

投稿2020/01/24 04:49

tanat

総合スコア18709

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 04:52

回答ありがとうございます。 やはりCの方が独学は難しいのですね、と言うより最初から独学が難しい方と聞けばよかったですね。聞きたいのはそれです。ありがとうございます。
tanat

2020/01/24 06:24

> と言うより最初から独学が難しい方と聞けばよかったですね。聞きたいのはそれです。ありがとうございます。 そのあたりも個人によって異なるとは思うので、とりあえず両方の入門書(や授業で指定の教本)を買ってみて、春休みの間に両方ともやってみるというのが確実かもしれませんね。
guest

0

“国語力は壊滅的”・・・英語はどの程度でしょうか?
どの言語を学ぶにしても、英語は必要に成ります。・・・まぁ、“マニュアル読めればいい”程度ですが。

投稿2020/01/24 05:16

cateye

総合スコア6851

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 05:23

回答ありがとうございます。 英検は準1級程度です。1級は落ちました。 TOEICもそのくらい。 TOEFLはまだ受けていません。
guest

0

Javaはオブジェクト言語で、Cは違います。
既にPythonを学習されているなら、オブジェクト指向は理解されているので
オブジェクト指向ではないCを学ぶのも良いし、惰性でJavaを習うのも有り。
個人的には、Cを学んだ方が良いかなぁと

投稿2020/01/24 04:52

NEO_PLANETT-777

総合スコア333

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 05:00

回答ありがとうございます。 そうですよね、、、 オブジェクト指向ではない言語にも触れてみたいので、C言語もいいかなという気はします。ありがとうございます。
guest

0

まあ、学ぶと言うならJAVAでいいんではないかと。

Cはちょっとやそっとやったところでモノにならなさそうだし。。

投稿2020/01/24 04:51

y_waiwai

総合スコア87719

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

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

退会済みユーザー

退会済みユーザー

2020/01/24 04:55

回答ありがとうございます。 すみません言い忘れていましたが、2年次以降その言語を2年間?発展応用まで講義があるので期間的にはちょっとやそっとでは無いです。講義以外でも多分私はずっとプログラムいじっているので、、、
y_waiwai

2020/01/24 04:59

体系的に学ぶなら、オブジェクト指向言語を突き詰めて学ぶほうがいいかと。 Cをやったところで、組み込み系に走るしか使い道ないですし。 で、独学するならCはずっと簡単です。ある程度までは。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問