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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

6回答

2121閲覧

プログラミングで物を作る際の考え方

pokumizamurai

総合スコア6

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

1クリップ

投稿2020/12/12 03:19

編集2020/12/15 08:19

動画でプログラミングはカンニングOKです!というような動画を見ました。そこでどこまでの事を言っているのか分からなかったので質問します。
アプリを作ったりwebサイト等を作る際にサイトのデザインや動作の作り方を見て理解し少し手を加えて書くのでしょうか?
それとも初めから何も見ずに基礎だけ勉強して自身で全て考えて書くのでしょうか?
皆様がプログラミングをする際に気をつけている事等何かありましたら教えてください。素人質問すいません

追記
質問内容が固まっていなかった事、表現が適切ではなかった事に対してまず謝罪いたします。申し訳ありません。自身が知りたかった事は何かを開発する際に知識が備わっていなかった場合は調べて書いていくかと思うんですが、その時に得た知識ではその参考にしたコードがどういう風な構成になっているかしか理解できてないと思うんですが、それを自分らしく表現したりする為にどういう事を心がけているか、自分で何も参考にしずに書いていってるのかを疑問に思い質問致しました。また参考にしているのであればその様々なコードの書き方の知識をどうやって手に入れているのか、基礎を学んでもそれを応用しようとした時に詰まってしまっていたのでお聞きしました。それとも作りたい物、例えば電卓であれば算術演算?を学んでからそれを表現する方法やコードを自分なりの組み合わせで考えているのかを知りたくて質問しました。

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

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

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

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

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

guest

回答6

0

ベストアンサー

質問がふわっとしてて最終的に何が聞きたいのかわかりませんが、そもそもプログラミングをする事自体、学校のテストのように採点されるものではなく、出来上がった成果物がユーザーに受け入れられるかどうかで評価されるものです。

だから「カンニング云々」とテストと比較する事自体がナンセンス。

他者の権利を侵害しない範囲で、優れたプログラムを読み、模倣し、学ぶのは普通に誰でもやってます。
リストをソートしようと思うたびにそのアルゴリズムを1から再発明する馬鹿はいません。

追記に対する回答

その時に得た知識ではその参考にしたコードがどういう風な構成になっているかしか理解できてないと思う

その程度の理解で「参考にした」と思っているのであれば大間違いで、そのレベルで自分のプログラムに取り入れる行為はただの「コピペ」です。

「参考にプログラムを作った」というのは、問題解決のための具体的な手法・アプローチ他者のコードから学び、自分のプログラムに適合する形で取り入れる行為です。

自分の知らなかったライブラリやフレームワークに対する知識であったり、設計・実装パターンの学びや気付きがあって初めて「参考にした」と言えるのであって、ただ他人のコードを見て剽窃する行為なんて何の意味もありません。

それを自分らしく表現したりする為にどういう事を心がけているか

プログラミングに「自分らしさ」なんてものは不要です。
個人開発を除き、通常は開発作業はチームで行いますので、そんな独自色を出そうとする意識そのものが邪悪です。

自分で何も参考にしず

「せず」

参考にしているのであればその様々なコードの書き方の知識をどうやって手に入れているのか

公式リファレンス、デザインパターンや設計パターンの学習、チーム内でのフィードバック、勉強会など、方法は書ききれないほどあるでしょう。

例えば電卓であれば算術演算?を学んでからそれを表現する方法やコードを自分なりの組み合わせで考えているのかを知りたくて質問しました。

繰り返しになりますが、そもそも論として「自分なり」とかそういうの要らないし、電卓であればあなたの目の前にある「コンピュータ」はウルトラ高性能な電卓なので、よほど特殊な事や、車輪の再発明のような事をしたいのでなければ、やりたい計算そのものは簡単にやってくれます。

プログラミングで大切なのは、そのソフトウェアがどんな機能を備えるべきかという「仕様」に対する理解です。
それができていれば、あとはその仕様を満たすよう作るだけです。

投稿2020/12/12 03:26

編集2020/12/15 09:03
gentaro

総合スコア8947

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

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

0

書籍や Web サイトのコードを参考にします。ただしそのままコピーは著作権違反となる場合があるのでライセンスをよく確認してください。書籍であれば巻頭や巻末に、GitHub でしたら LICENSE ファイルがリポジトリに置いてあると思います。

さて、コードを参考にするとはいいましたが、参考にするにしても力が必要になります。難しい本を読むには語彙力、読解力が必要なのと同じです。それらを育てるにはどうするかといえば、易しめの本でそれらを養うわけです。そして語彙力、読解力を養うには読むだけではなく実際に使って見る必要があります。

プログラムのコードも同様です。優しい例を参考にして自分で動かしてみてコードの「語彙」を理解し「読解力」を高めます。するとより難しいコードも参考にできるようになってきます。その繰り返しで自然言語の仕組みを学ぶのと同じようにプログラミング言語の仕組みを理解していきます。

ここで大事なのは「語彙」と「読解力」を使って「実践」してみることです。自然言語では日常的に実践が行われ当たり前過ぎて意識されていませんが、プログラミング言語となると実践に当てられないのが事実です。プログラミングの「語彙」と「読解力」を使ってコードを書いて動かすという「実践」を行うことによってプログラミングという技術を身に着けています。「論より RUN」なんていう悩むよりはプログラムを動かしてみようという言葉もあります。それだけ実践はプログラミングにおいて重要です。

「基礎を身につける」という行為と「参考にする」を分けて考えてらっしゃるようですが、この二つに境目はありません。そもそも基礎を身につけること自体が誰かの行いを参考にすることなのですから、二つの行為は不可分です。ただ冒頭にも述べたとおり著作権というものが存在するので、参考の仕方にも注意が必要である。そういったところでしょう。

投稿2020/12/12 05:44

A_kirisaki

総合スコア2853

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

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

0

「カンニング」という表現が紛らわしいです。答えがあるものに対しては「カンニング」という表現が使えますが、同じゴールに向かう道が1つではないプログラミングにおいては「カンニング」という表現は適しません。
(情報処理試験などは答えがあるものなので当然「カンニング」です)

既にあるように「模倣」の範疇でしょうね。
もちろんライブラリを利用する際にはライセンスに気をつける必要があります。実務では実際にライセンスを買って利用することもあります。

で、「動画を見てどこまでのことか分からなかった」のなら、意図は動画の主しか知らないので、その主に聞くのが筋ではないでしょうか。
どこの誰のどんな動画のことを言っているのか提示されない状態で赤の他人に赤の他人の意図を聞いたところで、本来の意図など誰にも分からないわけです。
間違っているかどうか確かめようもないわけですし、私を含めてここに回答を寄せた人のコメントが嘘である可能性もあります。

あなたの中での判断基準は確固たるものですか?
ふわっとしたままなんとなく聞いてなんとなく出たアドバイスをなんとなく受け入れているだけでは、後の大トラブルに繋がりますよ。

他人は他人。無責任なものですから。

おおよそ似たような質問:
プログラミングを使って作りたいものがある時の調べ方、プログラムの組み立て方

投稿2020/12/12 06:32

編集2020/12/13 20:30
m.ts10806

総合スコア80875

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

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

pokumizamurai

2020/12/13 13:39

質問内容が固まっていなかった事、表現が適切ではなかった事に対してまず謝罪いたします。申し訳ありません。自身が知りたかった事は何かを開発する際に知識が備わっていなかった場合は調べて書いていくかと思うんですが、その時に得た知識ではその参考にしたコードがどういう風な構成になっているかしか理解できてないと思うんですが、それを自分らしく表現したりする為にどういう事を心がけているか、自分で何も参考にしずに書いていってるのかを疑問に思い質問致しました。また参考にしているのであればその様々なコードの書き方の知識をどうやって手に入れているのか、基礎を学んでもそれを応用しようとした時に詰まってしまっていたのでお聞きしました。それとも作りたい物、例えば電卓であれば四則演算を学んでからそれを表現する方法やコードを自分なりの組み合わせで考えているのかを知りたくて質問しました。
m.ts10806

2020/12/13 20:30

質問編集して追記されたほうが良いかと。
guest

0

カンニングと言っても色んな方法があるわけです。

たとえば、「隣の人の回答を盗み見て、自分も同じ回答をする」というのもカンニングの手法の一つです。これと同じ方法をプログラミングに例えるなら、「同じようなプログラムを作っている会社からソースコードを盗んできて、自社のコードに組み込む」となります。普通に犯罪です。

その動画が犯罪を奨励しているとは思えないので、たぶん、何かが間違っているのでしょう。

プログラミングというか、他の仕事もそうですが、一般の試験と、実際の仕事の違いは次のような事でしょう。

試験仕事
持ち込み教科書・参考書・辞書等は持ち込めない入門書・リファレンス等を手元に置ける
ネット検索ネットに繋がる端末を使用できないいつでもネット検索できる
対応人数個人戦であり人に聞けないチーム戦であり仕事仲間にいつでも聞ける
第三者への委託できないお金払って委託することができる
正解存在する存在しない

大学などでは参考書や辞書などが持ち込み可の試験もありますが、たぶん、動画の人はそういう経験がないため、本を手元に置けるとか、ネット検索できるとか、そういったふわっとした感覚で「カンニング」と言ったのだと思います。

なお、他人が作った物に対してどうするこうするを心配なされているようですが、そういう事は著作権に対する最低限の知識を身につければ自ずとわかります。

投稿2020/12/12 05:05

raccy

総合スコア21739

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

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

0

「プログラミング」はプログラムを作る行為。それだけ。

では、何のためにプログラミングをするのでしょう。

仕事の場合。目的は結果として作成したプログラムを作成し、対価を得ること。
他人が作成したものを盗むなどでさえなければ、資料をみようと下請けに出そうと、ちゃんとしたプログラムが出来さえすればよい。逆に、出来たプログラムに瑕疵があった場合、資料等を確認しなかったことは怠慢と言ってもいい。

勉強の場合。目的は自分の能力を高めること。
決して成果物としてのプログラムが要求されるわけではない。訓練として、資料などにあたらずにまた自力でプログラムを組むことを要求されることだってある。学習者の能力が上がるなら、プログラムの完成度は二の次かもしれない。
勘違いして、完成したプログラムを求める者のなんと多いことよ...

投稿2020/12/12 05:38

thkana

総合スコア7703

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

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

0

公開されているコードを改変して利用する場合には、権利保有者と契約を結び、それを遵守しなければいけません。

どのような契約を結ぶかについては、各ライセンスを確認してください。著作権表示とオリジナルの入手先を明記すれば良いというものも多いですが、自分が作ったような顔をして勝手に配布してはいけません。

投稿2020/12/12 04:37

Zuishin

総合スコア28669

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問