パスワードを忘れた? アカウント作成
243677 story
プログラミング

IT 系じゃない人がプログラミングを始めるには? 107

ストーリー by reo
焦点がぼやけすぎていて何が何やら… 部門より

ある Anonymous Coward 曰く、

本家 /. 記事「How Should a Non-Techie Learn Programming?」より。

マーケティング部門の人や小企業のオーナーなど、IT 系じゃない人々も「IT 知識を深めるべき」と考えるようになってきている。これは正しい方向であると思われ、例えば小さなサイトを立ち上げたり、大量の演算を行ったりできるようになれば、そのスキルは家族を養う手助けになるであろう。「IT 系じゃない」人々がプログラミングを始めるにはどうすれば良いか、DBMS2 にてスレッドを立てたところ下記のような答えが返ってきた。

  • HTML と CSS を早い段階で学ぶ
  • SQL も軽く学ぶべきだが、SQL に焦点をあてて学ぶ必要はない
  • SQL を学ぶには MySQL がオススメ
  • 初めに学ぶ言語は PHP や Python など、今使われている言語にするべき
  • サンプルコードに手を入れて作ることができる WordPress ブログなどを使い、実際に完成までもっていきたいと思えるプロジェクトから始めるのは良い
  • Microsoft のスタック技術は他の技術と考え方が異なり、興味深く学べるだろう

他にも多くの本やウェブサイトなどが参考に挙げられたが、中でも注目すべきだったのは MIT メディアラボの開発している子供向け教育用プログラミング言語環境「Scratch」だろうか。実際 HTML や CSS、MySQL などを始めるのにあたりどんなウェブサイトや本がオススメか、「IT 系じゃない人」が基本的なスキルを身につけるにはどうすればよいか、率直なご意見を聞かせて欲しい。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by gonta (11642) on 2010年08月05日 10時41分 (#1805203) 日記

    DQ9で学ぶARMアセンブル [2ch.net]」

    もちろん、モノがモノだけにおおっぴらにおすすめできませんが、非常に強い動機づけにはなるかも。ディスアセンブルで解析する人って、こうやって調べていっているんだ、という「解析をはじめる」の勉強になりました。

    やべぇ、「IT系じゃない人」っていうの見落としていた。

    --
    -- gonta --
    "May Macintosh be with you"
  • by NOBAX (21937) on 2010年08月05日 11時05分 (#1805217)
    >マーケティング部門の人や小企業のオーナー
    なら

    >小さなサイトを立ち上げたり
    テンプレートを使う。どうせ大して売れない。
    もし間違って売れたら、人を雇うとか、楽天に店を開けばいい。

    >大量の演算を行う
    EXCELが最強。
    小企業なら大量の演算はあり得ない。
  • by mogya (27057) on 2010年08月05日 13時01分 (#1805328) ホームページ

    MySQLやPostgreSQLだと、インストールした後、デーモンを起動するとか、ユーザーを登録してパスワードを決めるとか、SQLと直接関係ないことを学習しないといけない。
    データの読み書きさえ出来ればいいのなら、sqliteのほうがいいんじゃないかなぁ。

  • 必要は学習の母 (スコア:2, すばらしい洞察)

    by okky (2487) on 2010年08月05日 13時20分 (#1805353) ホームページ 日記

    「IT 系じゃない人」が基本的なスキルを身につけるにはどうすればよいか

    まず、そのスキルで何をしたいのか、というスキルと直接関係する目標を立てる事でしょう。
    スキル習得を目標にしてしまうと、目標を達成した時に「で?」で止まってしまい、その瞬間に燃え尽きてしまいます。

    で、できればその目標は「自分が楽したい」系がよろしい。
    『Excelで同じ操作を繰り返したくない』
    とかその程度であれば具体性があるので、習得したものをすぐ応用でき、「楽」という成果を収穫し易い。
    すると「もっと楽したい」というずぼら心が芽生え、さらに学習を進める気になる。

    --
    fjの教祖様
    •  職場にパソコンが全面導入されて十年くらいたちますが、未だに
      ワープロは漢字タイプライタ代わり、表計算ソフトは表作成ソフト
      というレベルの人が多いですね。
      IT管理担当部門が基幹業務システムからはき出した業務データを数
      万件手計算で集計してExcelに入力していたなんて人もいました。
      で、その人の後任から方法がないか相談されたので、Accessのクエ
      リーで集計して見せたら、とても感動されたりしてます。
      で、こういう事例を見るたびに思うのが、パソコンでどんなことを
      できるのかわからないと効果的な利用はできないということですね。
      なので、非IT系業務の人がプログラミングを覚えるなら、まず、ITで
      どんなことができるのかを概観するところからはじめた方が良いと思
      います。
      そして、自分の業務にITを適用することで、どんな効果が見込めるのか
      そのためには、どんなスキルを身につけたらいいのかの目処を立てる
      と、効果的に学べると思います。
      あと、ワープロや表計算などのアプリケーションの本来の使用目的や
      使い方を覚える必要もありますね。

      具体的なプログラミングですが、事務系の場合、AccessとAccess VBAが
      効果的です。ビジネスの場合、大量のデータを取り扱う必要があるので、
      データベースを使えれば、かなり効率が上がりますし、VBAは比較的、覚え
      安いです。難点はMSのヘルプが専門用語バリバリで初心者にはわかりにくい
      点ですが・・・。
      でも、そのあたりAccessみたいなメジャーなソフトは、入門者向けのテキス
      トで良書がたくさんあるので乗り越えやすいと思います。


      私自身は歴史専攻で文系ですが、メカトロに興味があったので、学生時代
      にZ80のマイコンボードの仕組みを独習して、その後MSのQuick Basic/Cで
      プログラムを覚えました。
      SQLは情報処理技術者試験の問題で初めて遭遇しましたけど、SQLなら他の
      言語やDBMSの知識が有れば、すぐ理解できますね。
      親コメント
  • by ilonasive (6257) on 2010年08月05日 22時29分 (#1805681)

    どんなプログラミング言語が最適か以前に、 自然言語を含む「言葉」一般に対して、

    • 書かれている言葉から、それの意味することを的確に読み取れるか
    • 自分が伝えたい事柄を、言葉によって端的に表現することができるか

    などの、「言語によるロジックを操れる能力」がどれだけあるかが 重要なのではないかと常日頃から感じています。

    日頃の努力によってそのような能力を培ってきた人は、もともとプログラミングの世界に関わりがなかったとしても、進むべき方向を適切に示してあげれば自力でスキルを身に着けることができるでしょう(要所要所での方向修正は必要かもしれませんが)。

    逆にそういう基礎ができてない人には、どんなに恵まれた環境を与え、手取り足取り教えてあげても、その手を離したとたんに壁にぶつかってしまい。その壁を自力で乗り越えることができず、いたずらに時間だけを浪費することになってしまいます。

    以上が、私の今までの経験から感じたことです。

    まぁ、それはそれとして、実際「IT系じゃない人々がプログラミングを始めるには」ということで考えると、awkなんか結構いいかも、と思います。

    • 文法自体は、わりと普通の手続き系な言語
    • 言語仕様もそんなに大きくない
    • 事前に宣言する「おまじない」もない
    • 短いプログラムでも実用性のあるコードを書けるので、興味をもってもらい易い

    こんなところが、awkを推す理由です。

  • ちゃんと文法エラーや実行時エラー(ソースのどの行が関係しているかをちゃんと指摘してくれる)を報告してくれる処理系(デバッガを含む)で勉強を始めたほうがいいとおもうけどな。

    いまだにHTMLがプログラミング言語だとは思えないのでID

    • HTMLやCSSは表現方法や配置を定義しているだけですよね?
      プログラミング言語とは言わないと思います。(Postscriptをプログラミング言語とは言わないですよね?)
      文書とか定義体に近い扱いだと思います。

      ただし、プログラミングと密接に結びつく場合が多いのも事実だと思うので、プログラミングの中でHTMLやCSSを書くのはおかしいことではないでしょう。

      プログラムを勉強するなら、単一言語環境だけである程度の動作が出来る方がオススメだと思うので、Webアプリケーションで勉強するのはオススメ出来ないに1票。
      ただし、Perlやphp等cliでも動作し、ある程度学んだあとにWebアプリケーションを作って勉強するなら良いと思う。

      親コメント
  • >SQL を学ぶには MySQL がオススメ

    ちょっとまった!

    INSERT INTO table SET ~ が使えて当たり前。みたいな人は、チト困るのですが。
    じゃあ何でやらせるか? って言われたら。 入れるのも楽だからMySQLでやらせるだろうけどさ。

    wikibooksに、SQLチラっと書いてみたのですが
    手元に用意してあるのがSQL99の本とはいえ「SELECTは、各DBの方言も言及するべきだろうか」というのがチラっと頭をよぎった瞬間に、そこのノートに書き出したSQL99の残項目数やらと計算して、放り投げました。……いつかやる。 maybe. i hope so...
    # CREATE ASSERTION とか CREATE TRANSLATION なんて、見たことないよっ!! 何処が使ってるのよっ!!

    私個人MySQLでやらせるメリットって「導入が楽だから」という点しか見出せないのですが
    それ以外のメリットも伺いたいところです。

    --
    ==========================================
    投稿処理前プレビュー確認後書込処理検証処理前反映可否確認処理後……
    • ・検索して出てくる情報が圧倒的に多い(玉石混交とはいえ、ね。。。)
      ・各言語、開発環境でのツールやモジュールが多い
      ・無料、かつ速い
      ・Oracleが飼い殺して先がなくなるだろうと思ったが、意外とちゃんとケアしてた

      事実上の標準DBと化していると言ってもいいんじゃないかな?
      (個人的にPostgreのが好きだけど、やっぱ情報量が違うわ)

      --
      ---------------------------- うちの猫は、ながぬこ
      親コメント
  • これが、肝心です。
    特に間違った専門用語を連呼する人物には近づかないこと。
    オラクルを投入する(大々的に導入することではなく、ただ立ち上げる意味)
    シスジス(シフトJISのつもり)
    パテンション(パーティションのつもり)
    ブルートゥルース(ブルートゥースのこと。青の真実?)
  • 別にIT系じゃなくたって、どうプログラミングを学ぶかは関係ないと思う。何をしたいかを決めて、それをするのに順当と思われる言語を選び、チュートリアルなり本なりを読む、もしくは習いにいく、というだけでしょう。

    • 自分は土木系なので所謂IT系ではありませんが、周囲の中でPC関連技術については
      一番詳しいつもりです。
      で、一昨年くらいに主にテキスト処理やMP3タグのHTML化などがやりたくてVB.NETを
      始めました。後押ししてくれたのは無料のVB2008 Expressです。チュートリアルを
      少しやったら簡単なソフトがすぐ作れてしまって驚いたのを覚えています。
      派生してExcel VBAやAutoCAD VBAなど仕事にも生かせてきました。

      「何がしたいか」が既存のフリーソフトなどで対応できなくなったら自分で開発する
      という選択肢はアリだと思います。あとはほんのちょっとのやる気ですかね。
      親コメント
  • by Sukoya (33993) on 2010年08月05日 12時14分 (#1805279) 日記

    中途半端にプログラミングを覚えても、家庭の医学病やグーグル病に陥るだけじゃないかな……

    やるなら本格的にJAVAだのなんだのを使うべきだし
    触りたいだけなら、皆が言う通り、Excel VBAの方が、よっぽど実用的

  • by hishakuan (32621) on 2010年08月05日 12時23分 (#1805287) 日記

    私はおそらくIT 系じゃない人だけど、つまり養う家族がいなければプログラミングなんて無視してていいってことだよね。
    それにひきかえ法律は独り身でも役に立ちそうだしみなさんもどうかな。

    ストーリーのリストを法律に置き換えてみようと思ったけど、半分くらいどういう意味かよくわかんねーや。
    特に一番下のスタック技術云々ってのはIT 系じゃない人のはじめの一歩に本当に相応しいのか?

  • by Anonymous Coward on 2010年08月05日 12時35分 (#1805298)
    いわゆる【勉強のための勉強】が平気な人以外は、とりあえず具体的に「プログラムでやりたい/やらねばならないこと」をはっきりさせるのが一番じゃない?(それも出来たらなるべく技術的な難易度の高そうでない奴)  「何をやりたい」が決まらないと「そのために何をするか」は決まらないんじゃないかと。
  • 将来プログラマに転職したいとか、趣味としてプログラミングしたいってのでは無いようですね。 「マーケティング部門の人や小企業のオーナー」とあるので。
    1. SI会社にかっぱがれる
    2. IT製品の特性を知らず無茶な売り込みをして赤字案件になってしまう
    3. プログラマの人事評定を誤る(仕事が早くて定時で帰るプログラマを低く評価する)
    4. 遅れたプロジェクトにさらに新人を追加して火に油を注ぐ
    5. 「バグ残存数0保証」とか言い出す
    6. 「明日から我が社は○○手法に全面的に切り替える」とか言い出す
    7. プログラマを1年ごとにWindows→UNIX→組み込み・・・・と配置転換してノウハウ蓄積してるひまがない
    8. 「顧客ヒヤリングとは使用策定とかしてる暇があったら1行でもコーディングを始めろ」とか言い出す
    9. セールスマンの「画期的な新製品(=採用実績無し)」の売り込みに転ぶ
    10. コンサルの「これからは○○ですよ」を信じ込んで社内IT部門の諫言を聞かない(○○は任意のバズワード)

    ・・・ということがないように、マーケティング部門の人や小企業のオーナーに[プログラミングの常識」を持ってもらうには、どういう面のプログラミングを「ちょっと体験して」もらえばよいか、という観点で考えてみるとおもしろいと思いますよ。

    • 全くその通りだと思う。

      彼らへのカリキュラムには
      1、10万行以上あるコードへの機能追加
      2、10万行以上あるスパゲッティプログラムの読解、機能追加、デバッグ
      3、(マルチスレッドの)非決定的動作を含むアルゴリズムの設計、実装、テスト、デバッグ
      4、曖昧な仕様書を元にした開発
      5、頻繁な仕様変更への対応
      6、夢を語るだけの顧客への対応

      などを入れると良いのではないだろうか。
      #参考書は「Cプログラミング診断室」 [pro.or.jp]も入れておくべし

      親コメント
  • by the.ACount (31144) on 2010年08月06日 9時54分 (#1805825)

    決まった手続きの通りにしないと働かないものばかりなんだから、録画設定でも何でも勉強すればいいじゃん。

    --
    the.ACount
  • 菅首相に教えてやってください。
  • 「IT系じゃない人がプログラミングを始めるには」の意味がよくわからないので考えてみる。
    まず「IT系じゃない人」の意味がわからない。
    その次に続く「プログラミングを始めるには」は解決できそう。

    IT系じゃない質問者 A : IT系じゃないんだけど。
    IT系かどうか不明な回答者 B : そうですか。
    A : プログラミング始めたいんだが。
    B : どうぞ始めてください。

    おわり
  • by Anonymous Coward on 2010年08月05日 10時33分 (#1805198)
    無理して、プログラミングしなくていいんだよ。
  • by Anonymous Coward on 2010年08月05日 10時53分 (#1805207)
    プログラミングの勉強なんて効率の悪いこと、
    忙しい大人がやるもんじゃないと思います。

    趣味でやりたいってのなら止めませんが、
    仕事で使える水準に達するには子供のころから
    コンピュータに親しんでないと無理でしょう。
    • 達人プログラマとして有名な人の大半は大学か大学卒業後にプログラミングを始めてるんですけどね (というのも、彼らの子ども時代には身近にコンピュータなんて無かったので)。

      最近は小学校の時からパソコン使ってましたという人も珍しくなくなりましたが、プログラマとして特に優秀だという気はしませんが。10年も集中して勉強すれば大人になってから始めても達人になれます。

      余談ながら、フィギュアスケートとかバイオリンとかは幼児時代から始めとかないと世界レベルにはなれないと聞きますね。ピアノだって、音楽学校のピアノ専攻の学生なんて「○○県小学生ピアノ大会優勝」とかいう経歴のやつばっか。

      親コメント
    • なるほど。オレがいつまでも英語が苦手な理由はそれだな。

      というか、あらゆる勉強のテンプレとして使えそうだ。
      親コメント
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...