アカウント名:
パスワード:
1.教育用のシンプルなソースコードを読んで意味を説明できる2.教育用のシンプルなソースコードを修正して動きをちょっとだけ変える3.教育用のソースと同レベルの要件に対して0からソースコードを書ける4.オープンソースで提供されているアプリのソースコードを修正して動きをちょっとだけ変え5.業務で 0 からソースコードを書く6.外注先が作った、カプセル化の概念がほとんどない 100Ks を超えるソースコードの中から障害の原因を探しだし、多数のモジュールに変更が必要なことに怨嗟のうめきを上げながら管理職に報告、「なんでそんなことになってるんだ」と怒られつつ毎日終電まで修正する
どのあたりまでできたら「プログラミングを学んだ」って言えるんでしょ(2.あたりまでなら「簡単に」って言っても差し支えがない気がする)
5と6の間は絶壁ですね。全くプログラムができない管理職に説明するのは超がつくほどたいへんだし、プログラムができる人に説明するのは超簡単。同じ理屈でエンドユーザに説明するのは、かなり大変。
私は、孔子が「教うるは学ぶの半ばなり」というように、新人に教えられれば、プログラマと呼べるんじゃないでしょうか。
それって新人の資質に左右されちゃいませんか。ソフトウェア会社の新人と、メーカーに就職して、希望はハード設計だったけど何故かソフト開発に配属された新人では、モチベーションからして違いますよね。
また、アマチュアは、この理屈ではどうなるんですか。新人どころが独学でやってれば一人ですよね。
単体動作のアプリケーションを作るのと、複雑なシステムの動きを動作を理解したうえで動作を変更する修正を行うのとでは、天と地の差があるものなあ。システムの仕様を理解するだけで、600MBものドキュメントファイルを読んで理解しなきゃならないとか地獄だよなあ。まあ、ドキュメントファイルが全くなくて、既存システムのソースコードすらないなんて案件もあったけれどね。
そのリストの学ぶ段階の目的語は、「プログラミング」ではなくて「SIの仕事」でしょう。
「プログラミング」というのは、その最終段階では、様々な「汎用的な道具」を「具体的な応用」のために落とし込むことといえます。「プログラミングを学んだ」とは、この2つの間でどの程度落とし込めるのか、という段階型になると思います。
しかし、もともとは変数と分岐とジャンプくらいだった道具のほうが、例外機構やら連想配列やらも大きく超えて、近年は格段に道具のほうの抽象度のレベルが上がりました。このためいまでは逆説的に、直接的な応用化を個々で学ぶよりも、その可能性を全体的に広げる道具自体の使い方のほうの重要度が増しています。
よくある言語100本ノックのようなものは、道具の習得に主眼をおいている例でしょうか。変数分岐ジャンプがレベル1の学んだ、で、次のレベルが連想配列、とかそういう感じでしょう。
このためいまでは逆説的に、直接的な応用化を個々で学ぶよりも、その可能性を全体的に広げる道具自体の使い方のほうの重要度が増しています。
何を言っているのかよくわからんな
> 直接的な応用化を個々で学ぶよりも、XcodeとかeclipseでiPhoneとAndroidアプリを個別に作る
> その可能性を全体的に広げる道具自体の使い方UnityやXamarinで楽する
って感じの意味合いじゃないかな。元ACじゃないので知らんけど。
何にせよ、元ACはまさに
> こうしたページの作者は、自分と同程度のスキルを持った読者を想定してデザインしてしまっており
って感じだなぁ。「同程度のスキルを持った読者を想定」ってよりは「自分の世界を想定」って感じに近いけど。
4.まではプログラミングができるようになることだが、5.からはプログラマになることだな。
プログラマになることとプログラミングができるようになることは同じように見えて違うこと。プログラマになるにはプログラミング能力が無いとダメだが、プログラミング能力が高いからと言って、プログラマになれるわけではない。
7. 電話ごしに状況をきいてデバッグすることができる
もちろん、手元にコンピュータの類はない状態で、です。
○○バイト目を0x??に書き換えれば大丈夫ですってやつですな
6.外注先が作った、カプセル化の概念がほとんどない 100Ks を超えるソースコードの中から障害の原因を探しだし、多数のモジュールに変更が必要なことに怨嗟のうめきを上げながら管理職に報告、「なんでそんなことになってるんだ」と怒られつつ毎日終電まで修正する
この外注先の偉い人たちが件の「プログラミングは簡単に学べる」的発言をしているんですよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
何を持って学んだと言えるのか (スコア:4, おもしろおかしい)
1.教育用のシンプルなソースコードを読んで意味を説明できる
2.教育用のシンプルなソースコードを修正して動きをちょっとだけ変える
3.教育用のソースと同レベルの要件に対して0からソースコードを書ける
4.オープンソースで提供されているアプリのソースコードを修正して動きをちょっとだけ変え
5.業務で 0 からソースコードを書く
6.外注先が作った、カプセル化の概念がほとんどない 100Ks を超えるソースコードの中から障害の原因を探しだし、多数のモジュールに変更が必要なことに怨嗟のうめきを上げながら管理職に報告、「なんでそんなことになってるんだ」と怒られつつ毎日終電まで修正する
どのあたりまでできたら「プログラミングを学んだ」って言えるんでしょ
(2.あたりまでなら「簡単に」って言っても差し支えがない気がする)
# mishimaは本田透先生を熱烈に応援しています
Re:何を持って学んだと言えるのか (スコア:1)
教うるは学ぶの半ばなり by 孔子 (スコア:2)
5と6の間は絶壁ですね。
全くプログラムができない管理職に説明するのは超がつくほどたいへんだし、
プログラムができる人に説明するのは超簡単。
同じ理屈でエンドユーザに説明するのは、かなり大変。
私は、孔子が「教うるは学ぶの半ばなり」というように、
新人に教えられれば、プログラマと呼べるんじゃないでしょうか。
Re: (スコア:0)
それって新人の資質に左右されちゃいませんか。
ソフトウェア会社の新人と、メーカーに就職して、希望はハード設計だったけど何故かソフト開発に配属された新人では、モチベーションからして違いますよね。
また、アマチュアは、この理屈ではどうなるんですか。新人どころが独学でやってれば一人ですよね。
Re:何を持って学んだと言えるのか (スコア:1)
単体動作のアプリケーションを作るのと、複雑なシステムの動きを動作を理解したうえで動作を変更する修正を行うのとでは、天と地の差があるものなあ。システムの仕様を理解するだけで、600MBものドキュメントファイルを読んで理解しなきゃならないとか地獄だよなあ。まあ、ドキュメントファイルが全くなくて、既存システムのソースコードすらないなんて案件もあったけれどね。
Re: (スコア:0)
そのリストの学ぶ段階の目的語は、「プログラミング」ではなくて「SIの仕事」でしょう。
「プログラミング」というのは、その最終段階では、様々な「汎用的な道具」を「具体的な応用」のために落とし込むことといえます。「プログラミングを学んだ」とは、この2つの間でどの程度落とし込めるのか、という段階型になると思います。
しかし、もともとは変数と分岐とジャンプくらいだった道具のほうが、例外機構やら連想配列やらも大きく超えて、
近年は格段に道具のほうの抽象度のレベルが上がりました。
このためいまでは逆説的に、直接的な応用化を個々で学ぶよりも、
その可能性を全体的に広げる道具自体の使い方のほうの重要度が増しています。
よくある言語100本ノックのようなものは、道具の習得に主眼をおいている例でしょうか。
変数分岐ジャンプがレベル1の学んだ、で、次のレベルが連想配列、とかそういう感じでしょう。
Re:何を持って学んだと言えるのか (スコア:1)
このためいまでは逆説的に、直接的な応用化を個々で学ぶよりも、
その可能性を全体的に広げる道具自体の使い方のほうの重要度が増しています。
何を言っているのかよくわからんな
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:0)
> 直接的な応用化を個々で学ぶよりも、
XcodeとかeclipseでiPhoneとAndroidアプリを個別に作る
> その可能性を全体的に広げる道具自体の使い方
UnityやXamarinで楽する
って感じの意味合いじゃないかな。元ACじゃないので知らんけど。
何にせよ、元ACはまさに
> こうしたページの作者は、自分と同程度のスキルを持った読者を想定してデザインしてしまっており
って感じだなぁ。「同程度のスキルを持った読者を想定」ってよりは「自分の世界を想定」って感じに近いけど。
Re: (スコア:0)
4.まではプログラミングができるようになることだが、5.からはプログラマになることだな。
プログラマになることとプログラミングができるようになることは同じように見えて違うこと。プログラマになるにはプログラミング能力が無いとダメだが、プログラミング能力が高いからと言って、プログラマになれるわけではない。
Re: (スコア:0)
7. 電話ごしに状況をきいてデバッグすることができる
もちろん、手元にコンピュータの類はない状態で、です。
Re: (スコア:0)
○○バイト目を0x??に書き換えれば大丈夫ですってやつですな
Re: (スコア:0)
6.外注先が作った、カプセル化の概念がほとんどない 100Ks を超えるソースコードの中から障害の原因を探しだし、多数のモジュールに変更が必要なことに怨嗟のうめきを上げながら管理職に報告、「なんでそんなことになってるんだ」と怒られつつ毎日終電まで修正する
この外注先の偉い人たちが件の「プログラミングは簡単に学べる」的発言をしているんですよ。