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

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

ただいまの
回答率

90.75%

  • Java

    13160questions

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

  • Python

    6884questions

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

  • Swift

    6708questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

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

受付中

回答 8

投稿

  • 評価
  • クリップ 0
  • VIEW 412

toza_program

score 5

AIや機械学習に興味を持ち、Pythonをはじめてのプログラミング言語にしたのですが
AIや機械学習を本格的に行うには、能力的な意味で当面不可能であると感じています。

その為、以前から興味のあったiphone向けのアプリ製作をする過程で
何かひとつの言語を習得した後、興味のあったAIや機械学習に取り組むプランはどうでしょうか?
コーディング初心者には、その方法の方がハードルがずっと低くそして取組みやすいのではないかと考えています。

アプリ製作は、大掛かりなゲーム等ではなく収益目的ではないので目覚まし時計や電卓のような簡単そうな物を作ろうと考えています。

そうなると、プログラミング言語の変更を検討する事になるのですが、iphone向けのアプリを作るとなると
言語をSwiftにする事になるのですが、Swiftをアプリを作れる程度に習得すれば、PythonでAIや機械学習を行いやすくなるのでしょうか?それとも別言語の為、Swiftの経験は全くの無駄となりますか?

Android向けアプリでも良いのですが、Javaは難しそうなのと、自身がiphoneユーザーである事でSwiftを検討しています。

お尋ねしたい事は以下の3点です。
・質問文中の状況で、プログラミング言語を変更する是非
・ご回答者さんはどのような環境でコーディングを習得されたか
・質問者のような初心者が、コーディングを習得するには、オイラインスクールに入るべきか否か

知識がない為頓珍漢な質問かもしれませんが、宜しくお願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

+6

AIや機械学習に興味を持ち、Pythonをはじめてのプログラミング言語にしたのですが
AIや機械学習を本格的に行うには、能力的な意味で当面不可能であると感じています。

いえ、AIや機械学習でしたら、Pythonで使えるライブラリも充実していますので、「自分でライブラリから作る」ぐらいの野望があるのではなければむしろ最適な選択肢ではないかと考えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/23 18:49

    「能力的」というのは質問者の事を指していると読みましたが

    キャンセル

+5

Javaは難しそう

プログラミング言語はきちんと仕様を理解し、また仕様変更や追加を追いつつ
きちんと極めるにはどの言語も押しなべて難しいものです。

厳しいこと言いますと「とっつきやすそうだな」という安易な判断で現在学んでいる言語を投げだすようでは、おそらくその変更先の言語にも限らずどの言語も習得は無理です。
(というか変更先に選んだ言語、現在学んでいる言語 どちらにも失礼です)

一応、私のほうは主にPHPで実業務を行っていますが、「完璧に習得した」と思っていませんし、
日進月歩で進化するので、むしろ置いていかれないようについていくので必死です。
正直現場によってPHP扱わないので時に置いていかれたままというのも感じます(ちょっと愚痴です)

どのような言語であっても時間と根気(あとやはり学習のための教本など費用)が必要です。
当質問及び過去の質問をザッと見た感じだと失礼ながら「根気」部分が著しく欠けているように思います。

せっかくはじめての言語にPythonを選んだのであれば、それも出会いの1つです。
ゆっくりでもいいので着実に1つの言語を、せめてある程度思ったものが人の手を借りながらでも
作れるように、頑張ってみませんか?

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+5

プログラミングのスキルというのは、自学自習が利く度合いがかなり高い部類にあることは確かだと思います(たとえば外科医になるための手術のスキルなんてどう考えても自習というわけにはいかないよね)。そして、ここで回答しているような人たちは押しなべて自習が苦にならない方々でしょう。なので概ね既存の回答のようになると思うのですが……

しかし、質問者さんはifの条件の書き方がわからなくて頭がくらくらするなどとおっしゃっています。このレベルだとさすがに自習は厳しいかもしれないですね。コツをつかむ前に気力が尽きてしまいそうです。初期段階だけでも授業料を払って先生におしりをたたいてもらうというのは選択肢としてありだと思います。

iphone云々は、正直なところ逃げでしかないように感じます。それに、機械学習プログラムを習得すること以上に、覚えるべきことは多様にあると思いますね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+5

質問を私の理解で整理します。

  • 機械学習に興味を持っている
  • Python を学んでみたが機械学習は自分の能力的に難しい(言語の能力でなく)
  • 一度寄り道して別の言語を学べば機械学習の理解が早いのではないか

私の回答です。

多分、あまり関係ありません。
機械学習の理解の役には立たないと思います。

ただ、無駄な経験と言うものは何一つありません。他のことをやってみれば、機械学習以外にも興味深いものはたくさんありますので、それに気づけるでしょう。

目的をもってひた走るなら難しいのどうの言わず Python と機械学習を学んでください。
それが一番近道です。
しかし他に興味を持つものがあるなら、悩んでいる暇に手を出して下さい。
悩む時間が一番効率悪い時間の使い方です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

 質問文中の状況で、プログラミング言語を変更する是非

まず最初に、「機械学習やAIは難しい(と思う)ので、簡単なものから取り組みたい」という方針自体は妥当と考えます。というか、質問者様が「ハードルが高すぎる」と思われているのなら、そうすることは仕方ありません。高すぎると思ってるハードルを跳べる訳はないので。
Swiftによるiphoneアプリの開発がその「簡単なもの」として適当かどうかは別の問題です。スマホアプリはちゃんと作ろうとすると難しいはずでし、また逆に「簡単に作れるものを」という方針で行くと、どこかからコピペしてきて書き換えて終わり、というレベルで終わってしまうので、あまり経験値にはなりません。目覚まし時計や電卓は、いかにもどこかのサイトからコピペすれば作れそうなものの代表格です。というか、本当にそんなものを作りたいんですか?
また、iphoneアプリ独自の概念もたくさんあるでしょうし、Swift自体もiphoneアプリ以外にはほとんど使えない言語です。ですから、中途半端で潰しが効かない知識がいっぱい増えて終わり、という展開にならざるを得ない気がします。
そんなことやる暇があったら、プログラミング入門者向けのC言語の本を買って進めていけば・・・と私は思います。
良い本なら、コンピュータの基礎とコーディングの基礎を同時にちゃんと勉強できますから、コピペでアプリ作るより面白いと思いますよ。逆に、その面白さがわからない人は、(恐らく)プログラミングに向いていないということでもあります。

 ご回答者さんはどのような環境でコーディングを習得されたか

まだ未熟な身で、コーディングを習得していると言えるかどうか、甚だ怪しいですが・・・。学校です。高専だったので、15歳から。
でもプログラミングばっかりやっていた訳でもなかったし、勉強はどちらかといえば怠けていたので、「プログラミング? 一応できるよ」と言えるレベルに達したのは、研究をやり終えてからだったと思います。ということは20歳のときか・・・。
私はかなりダラダラやった例だと思いますが、恵まれた環境でも5年かかったことは一つの事例として参考にはなるかもしれません。
ちなみに、2年生くらいで競技プログラミングの全国大会で優勝してた奴もいましたし(さすがに学生限定の奴だったと思うが)、5年かかってもプログラム書けなかった奴もいました。なので、個人差はとても大きいです。平均して「ちゃんと取り組み始めてから」数年かかるような気はします。

 質問者のような初心者が、コーディングを習得するには、オイラインスクールに入るべきか否か

経験がないので是非は判断できません。独学でもやりたければできると思います。教材は(書籍、Webサイト、動画など)いくらでもある訳ですし。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

・質問文中の状況で、プログラミング言語を変更する是非
正直どの言語も基本は同じなので、
より初学者に易しいPythonを選択するのは良い選択だと思います。

・ご回答者さんはどのような環境でコーディングを習得されたか
業務であらゆる言語を広く浅く触ってきました。
基本は同じですので、基本文法さえ押さえればよほど太古の言語でない限りは対応できます。
習得できたかは不明ですが、対応は少しずつ出来るようになってきました。

・質問者のような初心者が、コーディングを習得するには、オイラインスクールに入るべきか否か
maisumakun様も解答されていますが、Pythonはライブラリが豊富ですので、
全くの初学者であっても写経を積み重ねることで十分学習できるかと思います。
(写経で何かを完成させることで、モチベーションも向上する)
まずは、機械学習の基本といわれるMNIST等をやってみてはいかがですか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

今まで Python でどんな勉強をしてきたでしょうか?Python が使えなくて他の言語に乗り換えても使いこなせる可能性は低いです。どこで躓いているいるのか質問するのがここの掲示板に相応しい使い方でしょう。

使い方も大切なノウハウのひとつですから、他人のふんどしを借りる。すでに開発されたAIを借りる方法もありかと。Amazon 御社にAI貸し出します

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

できるようになるのならスクールでもなんで入れば良いと思います。
仲間に囲まれてモチベーションを高められるし、何がわからないかすらわからないという状況から脱出できるかもしれません。

プログラミングの本質は言語には依存しないので、そこをどう処理するのかについて想いを馳せるべきです。
アルゴリズム本を理解できるのなら、言語に慣れることです。
アルゴリズム本を理解できないなら高校数学みたいな基礎的なところからやり直さないと成長の余地がありません。

動的型付のpythonで苦労するのならswiftはもっと難しいです。
高い壁を先に越えた方が後で楽できるとお考えなら挑戦しても良いかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    13160questions

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

  • Python

    6884questions

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

  • Swift

    6708questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています