はてなキーワード: エスケープとは
どもども。
わたしは「なにか作ってみろ」系の言説にはまったく同意しません。
わたし自身、会社に3ヶ月間みっちり導入教育をしてもらい(COBOL85とPL/I。時代がわかる……)、基本的なアルゴリズム(コントロールブレーク、マッチング、マスタ-トランザクション、ソート、マージ、etc.いよいよ時代がわかる……)の演習を(給料をもらいながら)やって、その後もプログラムとつかず離れずでフラフラと生きてきました。
こういう経験は新卒カードがあるから有効なもので、では1から始めるとしたら……、というときに、プログラミングスクール(専門学校)というのは悪くない選択肢ではないかと思います。が、行ったことないので正直わかりません。
実際自分が1から始めるという立場になったら、まったくオロオロして元増田さんのように世のなか(の気にいらないヤツら)に呪詛を吐いて満足するだけだったと思います(当然ながらそれをいくらやってもプログラミングは上達しません)。
話をプログラミングだけに限っていえば、一番大事なのはやりかたじゃなくて動機だろうと思います。
「なにか作ってみよう」というのは、なにか作ってみようと思ってない人にはまったく心に響かないでしょう。
動機ドリブンで「なにか作ってみた」人といえば思いだすのは、MikuMikuDanceの樋口優さん(ミクを簡単に踊らせたい!)とhinadanの若宮正子さん(高齢者にも遊べるゲームが欲しい!)でしょうか。
ただかれらはわたしから見れば(モチベーションを維持しそれを行動に移す)天才で、あんまり参考にならないのも確かです。
あと、元増田さんの動機は「プログラミングを生業にしたい」ということなので、野良プログラマでは履歴書上でのアピール力が弱いかも、と思います。
ビジネスで使われるアルゴリズムにはそれなりのルールがあります。安全な(バグの出にくい)コードの書きかた、「車輪の再発明」はぜず、枯れた(将棋で言えば定跡のような)アルゴリズムを使う、ほかの人に使ってもらえるための工夫(可読性の向上など)、etc.です。
「なにか作ってみよう」を繰りかえしても、そういった作法的なものが身につくかどうか、それは才能に関わってくる問題だと思います。才能だのみの手法を推奨するのは無責任だと思いますね。
また、たとえば「例をコピーして解析する」というのもある意味有効なプログラミング学習法ですが、「下手に習うと下手が伝染る」ともいいます。どれがお手本として優れているか、それを見る目はある程度ビジネス用途のプログラムに関わっていないと持てないというジレンマがあります。
野生のプログラマで就職に有効なくらいの力を見せるとしたら、なにかのコミッター(なにする人かよく知りませんが)とかになって「××ならこの人」となったり、プログラミングコンテストで上位の成績を残したりしなければいけないのかもしれません。
どうしたものでしょうね。ブクマカのみなさんの反応を見ると、専門学校でもあまり就職に有利にならない(ホントか?専門学校の意味あるのか?)という話ですが、目的が就職ならば、一番の近道のような気がします。
そこらへんからは、元増田さんがなにをしたいか、あるいは聞いてみたいだけだったのかによります。仕事には適性とやる気が大事です。あとは年齢と必要性かな。進路はオーダーメイド以外にはありえないので、提示された案を自分で選んでそれに賭けるしかないのかな、と思います。
さて、この文章は実はこの一文に反応してのものです。(↑のは前書き)
GWあたりからトシも考えずにRubyの再入門をしていまして、手始めに「首相動静」の整形ツールを作ってみました。
初心者で(Rubyに関しては仕事で使ったことないので)なにか作ってみよう、というとこの程度ですね。
これで就職に有利になるかというと、あんまりそうは思えないなあ。Excelのマクロが組めるとかのほうがどこかの事務所に潜りこめそうですよ(でもそれも最近はインフレ気味かもしれませんね)。
朝日新聞の首相動静は詳細ですが、改行が入っておらず、大変読みにくいものです。こんな感じです。
【午前】9時31分、自民党本部。33分、同党役員会。10時2分、官邸。5分、閣議。21分、宇宙開発戦略本部。34分、柴山昌彦文部科学相。38分、岩屋毅防衛相。41分、山下貴司法相。11時3分、安全保障と防衛力に関する懇談会。
【午後】0時11分、政府・与党連絡会議。44分、山口那津男公明党代表。1時27分、日韓議員連盟の額賀福志郎会長、河村建夫幹事長。2時20分、行政改革推進会議。52分、兼原信克官房副長官補、秋葉剛男外務事務次官。3時36分、麻生太郎財務相、財務省の岡本薫明事務次官、太田充主計局長。4時7分、太田氏出る。可部哲生理財局長加わる。15分、全員出る。25分、黒川弘務法務事務次官。34分、谷内正太郎国家安全保障局長、北村滋内閣情報官、宮川正内閣衛星情報センター所長。41分、谷内、宮川両氏出る。5時3分、北村氏出る。10分、東京・永田町のザ・キャピトルホテル東急。宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。20分、官邸。6時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。27分、アクフォアド大統領と会談。7時12分、署名式、共同記者発表。32分、公邸。首相主催の夕食会。8時43分、アクフォアド大統領を見送り。9時、ヨルダンのアブドラ国王と電話協議。
ただ、これはフォーマットがはっきりしており、
と、例を見るかぎりキッチリとしたルールに則っているようです。
なので、「これだったら整形できるかも」と思い、再び学びはじめたRubyで整形ツールを作ってみることにしました。
【午前】
10時02分、官邸。
10時05分、閣議。
10時21分、宇宙開発戦略本部。
【午後】
01時27分、日韓議員連盟の額賀福志郎会長、河村建夫幹事長。
02時20分、行政改革推進会議。
03時36分、麻生太郎財務相、財務省の岡本薫明事務次官、太田充主計局長。
04時15分、全員出る。
04時34分、谷内正太郎国家安全保障局長、北村滋内閣情報官、宮川正内閣衛星情報センター所長。
04時41分、谷内、宮川両氏出る。
05時10分、東京・永田町のザ・キャピトルホテル東急。宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。
05時20分、官邸。
06時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。
06時19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。
あと、午後の時刻を24時間制にしたいな、とも思いますが、それは今後の課題(つぎに首相動静が話題になったとき)とします。全角数字の計算ってどうやるんだろう?
たぶんRubyistにいろいろ突っこまれると思うけど、こんな感じです。
プログラマは玉石混淆ですが、これは石のほうの例だと思っていただければさいわいです。
※ はてな記法にはシンタックスハイライトあるけど、増田だとInternal Server Errorになるのではずしました。見にくくてスマソ。
# encoding: utf-8 # 漢字コンバータのライブラリを取りこむ(Stringに漢字変換メソッドを付けてくれる。神) require 'kconv' # 正規表現パターン # 時刻をh時m分形式からhh時mm分形式にする # 否定後読みを使用する # 時は行頭にある OneDigitHour = /^((?<![0-1])[0-9]時)/ # 分は時のあとにある。このパターンとマッチすると、92;1が時、92;2が分になる。 OneDigitMinute = /^([0-9]{1,2}時)(?<![1-5])([0-9]分)/ # 分のない、時だけの行のパターン。否定先読みを使用 HourWithoutMinute = /^([0-9]{1,2}時)(?![0-5]?[0-9]分)/ # 行頭のh時m分をhh時mm分にするサブ処理(これは関数といっていいの?) def convTopHourMinute2TwoDigits(oneLine) # 時を変換 oneLine.sub!(OneDigitHour, "092;92;1") # 分を変換 oneLine.sub!(OneDigitMinute, "92;92;1092;92;2") # 分がない場合"00分"を追加 oneLine.sub!(HourWithoutMinute, "92;92;100分") # 戻り値 oneLine end # 入力ファイルの名前 InputFilename = "首相動静2018年12月11日.txt" # 出力ファイルの名前 OutputFilename = "首相動静2018年12月11日_編集済.txt" # 入力ファイルをオープン inFile = File.open(InputFilename, "r") # 出力ファイルをオープン outFile = File.open(OutputFilename, "w") # 時刻パターンはシンプルに、h時、m分、h時m分、という3パターンを結合する # 1つのパターンで全部カバーするよりこちらのほうが見やすい。というか、脳の容量の問題で1文に書ききれなかった jikokuPattern = /[0-9]{1,2}時[0-9]{1,2}分、|[0-9]{1,2}時、|[0-9]{1,2}分、/ # 午前/午後 ampm = /(【午前】|【午後】)/ # 午前/午後、あるいは時刻の前で改行するためのパターン kaigyouSign = Regexp.union(ampm, jikokuPattern) # ファイル一括読み込み # 昔は1行ずつ読みこんでました。メインメモリが3MByteとかだったので contents = inFile.read.toutf8 # 入力終了。閉じておきます inFile.close # スコープの関係から、ここでローカル変数に代入 # ※ Rubyのスコープと暗黙の型には泣かされました。これに慣れるのがRubyのコツかしら # 明示的な型宣言はあったほうがいいと思うなあ。エラー出力の理由がわからなかったりするので。 hour = "" # デバッグ行はコメント化しています # 時刻パターンチェックのため、コンテンツを出力してみる # p jikokuPattern.match(contents) # エントリを改行サインで行に分ける contents.gsub!(kaigyouSign, "92;n92;92;&amp;") # "92;92;&amp;"はマッチした文字列そのもの。2重のエスケープ"92;92;"が必要 # 改行チェックのため出力 # p contents # 入力を行で分割して各行ごとに処理 contents.split("92;n") do |oneLine| # 午前/午後を示す開きカッコ"【"があるか if (oneLine =~ /^【/) then # そのまま出力 outFile.write(oneLine + "92;n") # p "午前午後:" + oneLine next # 空白行は無視(スキップする) elsif (oneLine =~ /^[92;s ]*$/) then # 出力しない # p " 空白行:<skip>" next # 行頭に「時」があるか elsif (oneLine =~ /^[0-9]{1,2}時/) then # あったら時間表示を抜きだしておく hour = oneLine.match(/^([0-9]{1,2}時)/)[0] # p " 時:" + oneLine outFile.write(convTopHourMinute2TwoDigits(oneLine) + "92;n") next else # 「時」がなければつけて出力 oneLine = hour + oneLine # p "普通の行:" + oneLine outFile.write(convTopHourMinute2TwoDigits(oneLine) + "92;n") end end
手でやったほうが早いね。
以上
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 54 | 11206 | 207.5 | 42 |
01 | 29 | 3895 | 134.3 | 64 |
02 | 15 | 1051 | 70.1 | 36 |
03 | 25 | 5333 | 213.3 | 142 |
04 | 5 | 383 | 76.6 | 29 |
05 | 5 | 222 | 44.4 | 31 |
06 | 31 | 3022 | 97.5 | 38 |
07 | 39 | 2204 | 56.5 | 40 |
08 | 69 | 4610 | 66.8 | 46 |
09 | 128 | 11337 | 88.6 | 36 |
10 | 139 | 10376 | 74.6 | 34 |
11 | 198 | 12869 | 65.0 | 41.5 |
12 | 121 | 6092 | 50.3 | 20 |
13 | 104 | 5630 | 54.1 | 29.5 |
14 | 135 | 10890 | 80.7 | 39 |
15 | 171 | 11253 | 65.8 | 41 |
16 | 167 | 14527 | 87.0 | 39 |
17 | 145 | 10140 | 69.9 | 31 |
18 | 104 | 6416 | 61.7 | 30.5 |
19 | 82 | 9005 | 109.8 | 34.5 |
20 | 94 | 10280 | 109.4 | 33 |
21 | 100 | 16014 | 160.1 | 49.5 |
22 | 173 | 14782 | 85.4 | 32 |
23 | 110 | 10464 | 95.1 | 39 |
1日 | 2243 | 192001 | 85.6 | 37 |
left(10), ミト(4), 早期教育(4), ビリヤニ(11), 真夏日(4), キャラデザイン(3), エスケープ(6), 海原(4), 運び込ま(3), あんパン(3), UberEats(4), シャンプー(10), 遺族(11), 店主(6), 凍結(5), 太もも(5), ラーメン(21), 学年(5), 回文(6), 情緒(4), 冷え(4), 公表(9), トランプ(12), 聞け(17), 去っ(7), バグ(9), 飲み物(6), 酷く(6), 学費(7), 奥さん(15), 韓国人(12), 嫉妬(15), 就活(11), 遊ぶ(10), 京アニ(12), プログラム(10), 強要(9)
■「小さい子供がいるから」という理由でお気に入りの店を出禁になった /20190827164720(19), ■妹の将来が心配 /20190827144937(18), ■🛀お前らはシャンプーなに使っているんや /20190827191513(14), ■CHAGE and ASKAみたいな単語教えて /20190827172202(12), ■飲み物でテンション上げるには?【追記あり】 /20190828121321(11), ■ビリヤニ警察です。 /20190827210036(10), ■ /20190828140440(8), ■ /20190828110157(8), ■おにぎりの具のネタが尽きた /20190828224254(8), ■仕事の断り方[追加しました] /20190828141458(8), ■内申点制度はクソ /20190827195428(7), ■ラーメンマンガの多様性のなさ /20190827220734(7), ■RPGのタイトル画面、剣ささりすぎ /20190815151605(6), ■触手欲しい。触手! /20190827223603(6), ■すぐに死ぬわけでもないのに /20190828103644(6), ■ハーフとハーフの子供は何て言うの? /20190828164229(6), ■anond:20190827164720 /20190828083347(5), ■anond:20190827214325 /20190828083051(5), ■三大改名しても昔の名前で呼ばれる人物 /20190827233911(5), ■主人公が超能力を持っている漫画って /20190827171221(5), ■付き合ってる女性から10歳の娘がいることを告白された /20190828164701(5), ■自律神経の敵 /20190828174220(5), ■「涼宮ハルヒキャラデザイン池田晶子」とかニュースに出てるけど /20190828175045(5), ■完全にはてな民に当てはまる心理学用語を見つけた /20190828220625(5), ■ /20190828220739(5), ■ /20190828085857(5)
6558940(2854)
満員電車でも、乗車率は場所により上下がある。降りる駅によって率は変わる。
知られていない、いくつかの技を紹介する。
割と初期段階の戦略で、人が少ない時に使う技。見知らぬ他人との意思疎通、協力が必要。
入り口に数人で立って、満員でこれ以上乗れない事を演出する。これによって乗車率を下げる。
幻影なので、入ろうとすると勝手に避けてくれる。
「すみません降ろしてください」
と言う事で、戦いから降ろしてもらうことができる。
6月〜7月の蒸し暑い時期、気分が悪くなったお客様の離脱謝罪が失敗し、満員電車がゲロまみれになる事。
入り口付近は混むので、入り口から一番遠いところに陣取る。意外と空いてることが多い。
ここが閉じてる時は諦めよう。
始発組の顔と降りる駅を覚えて座る
うん、それでいいと思ってる
そうしないと多分認証とか大変そうだから・・・とは思ってるんだけど、どうもとっかかりがむずかしい
http://b.hatena.ne.jp/entry/json/任意のURL(この任意のURL では # を %23 にエスケープする必要があります) を GET リクエストで送信することにより、JSON 形式でデータを取得することができます。
例:) http://b.hatena.ne.jp/entry/json/http://www.hatena.ne.jp/
例:) http://b.hatena.ne.jp/entry/json/?url=http%3A%2F%2Fwww.hatena.ne.jp%2F
これURL部分にhttp://b.hatena.ne.jp/entry/json/https%3A%2F%2Fanond.hatelabo.jp%2Fほげほげ%2Fでアドレスバーいれてエンターしてみたけど、nullしか返ってこなかった
2019年4月8日、私の好きなバンドの一つであるヒトリエのボーカル/ギターを務めていたwowakaが亡くなったと発表された。
さかのぼれば私が二次元オタクになった最初のきっかけはボーカロイドだった。世代だったと一言いえば済む話だが、私は中学二年生の頃に初めてインターネットという世界に触れ、ボーカロイドを知りそこからずぶずぶとネットの海におぼれていき、現在では息の仕方を忘れるほどになっている。そんな話は置いておいて、そのボーカロイドと触れ合う中で知ったのがwowakaという作曲家だった。しかし私がはまり始めたころには彼はちょうどその世界からは離れ始めていたころだったように思う。それから様々なボーカロイドの楽曲に触れあいはしたけど、初めて曲を買おう思ったのは彼の『アンハッピーリフレイン』だった。CDの買い方を覚えてからは少しづついろいろな曲を買ったけれど。
そんなこんなでwowakaの新しい楽曲を聞けなくなったころ、私は一つのCDのジャケットに惹かれてジャケット買いをしようと試みる。でもやっぱり慎重派なのでどんな人が作っているのかを調べてみるとwowakaの文字があった。ヒトリエの『ルームシック・ガールズエスケープ』だった。衝撃だった。彼はボーカロイドの使用をやめ、自分で歌い始めていたのだ。すぐに買うことを決め家に帰ってCDを聴いた。その時初めて人間(ボカロ以外)のCDを買った自分にはそれはとても新鮮で新しい酸素がどんどん入ってくるみたいだった。いままでのボカロが歌っていた曲はあくまでボカロで、本来の彼の音はこの音なのだと思った。それからというものヒトリエというバンドの音が好きになり、そこから他のバンド曲も聞き出した。私にとってwowakaという人間は私の音楽の様々な部分を踏み出させてくれた人間だった。
バンドを好きな人間からしたらライブに行くのは当たり前かもしれないけどやっとインターネットを使い始めたり、CDを買い始めたりとやっと人生の楽しみ方を知りだした人間にはまだハードルが高かった。世間知らずなのでいまだに様々なもののチケットを取るということが理解できていない。それでも彼らの曲がCD音源として聴けるだけで私はすごくうれしかった。彼らの音が聴けていればよかった。
なのに彼らの音が急に聴けなくなった。いや音源的な意味で言えばCDは残っているので間違っているのかもしれない。でも私にとって音を聴くということは彼らが新しく作っていく進化していく曲を聴くことだとも思う。あまりにも急だった。こんなことなら自分の知識の無さを言い訳にせずライブに行くべきだった。私は馬鹿だ。
煽りに聞こえてたなら申し訳ない。確かに余計なことを書いたけど、ユーザからの入力を受け付けるシステム(ここでは増田)ではコマンドに使われるような記号は安全のためエスケープされるということをすぐに理解するのは無理でもいつかわかるといいと思って書いてしまった。
下手にジャンプを書いたらコードはスパゲッティになるとか書こうかなーとは思ったけどスルーした。それに関数周りの話はもっとコンパクトでよかったね。
最後に、Rubyを選択したのは日本語で問題が滅多に出ない、その一点。Pythonも3ならまず問題ないと思うけど、2系は割と問題が出る。もうみんな3系に移行してると思うけど、もし2系を使ってしまう罠があったらと思った。Macで最初にインストールされてるpythonも2.7だし。
プログラマじゃないけどプログラミング完全に理解した()おばさんが理解してる基礎知識書くよ。
(追記 この文章はプログラミングの勉強をしたいけどその周辺にある基礎知識になかなか触れる機会がない人向けに書きました。これらの基礎知識があると、困ったときに調べ方すら分からないという状況は回避しやすくなるはず)
ターミナル、いわゆる黒い窓からCUI(コマンドユーザーインターフェース)でコンピュータを使う方法を覚えよう。これは大学のコンピュータリテラシーで習った。MacOSXで復習すると捗った。(追記 すごく間が抜けてたけどMacOSXはUnix系OSです)
まずはファイル操作。Macでターミナルを使って、cd Desktopって打ってからecho ohayou > aisatsu.txtって打ってみて、cat aisatsu.txtってやる。そうすると何が表示されるのか?とりあえずやってみよう。ここで>は増田の都合上大文字全角にしてるけど、ちゃんと半角にしてね。なんで増田の都合上半角がダメなのか、そのうち想像できるようになろう。(追記 ブコメ指摘感謝)
そして、実際にデスクトップを見に行ってみると、aisatsu.txtってファイルがあるはずなんで、開いてみよう。これで何が起こったのか7割くらいはわかるはず。
こういうファイル操作の基本をまず覚えよう。これこそ空気みたいなものだから。
(追記 ここも間が抜けてたけど確かにhogeって何かわからないね。直しました)
最近は何も考えなければ文字コードはとりあえずUTF-8でなんとでもなるようになってるけど、バックスラッシュとかは環境設定で出てくるように設定しないと出てこないし、その意味合い、つまりエスケープとしての使い方を頭に入れておくと後々困らないと思う。あとEOF(エンドオブファイル)とか改行コードとかもそういうものがあるよ程度には覚えておこう。これ頭の片隅にはいってないと分からん殺し的な罠にはまることがある。
これは使いたいプログラミング言語の公式サイトに行くと大抵書いてある。
でもMacだとだいぶ楽。とりあえずターミナルからgccって打ってみるとなんかCUIツールとか書いてあるものをインストールしろって言われるのでインストールする。これだけでCとかC++とかRubyとかPythonとか一通り使えるようになる。もしかしたら最近はこのインストールすらいらないかもしれないけど。
あと、シェルのコマンドとかプログラミング言語を実際に使うときはいろんなライブラリをインストールする必要があるけど、そのライブラリは管理がすごく面倒なので管理をまとめてくれるコマンドがあったりする。aptとかhomebrewとかがそういうのだから、そんなものの使い方も覚えておこう。
(追記 言語の文法を追うだけなら環境構築なんてしなくてCloud9とか使ってもいいかもだけど、プロダクトを作ろうとした時にはまだまだ手元で環境作って必要なライブラリを入れてとやった方が後々応用がきくと思うのですよ。それにそうしていくとDockerの有り難みなんかも理解できるようになっていくのではと思います)
最初に勉強するプログラミング言語は、Javaだけはやめておけ。
なんでかっていうと、Javaはオブジェクト指向言語ってやつなんだけどオブジェクト指向的にしか書けないから。古い人間だと言われそうだけど、最初は手続き型言語から始めるべきだと思ってる。少なくとも、手続き型的に書ける言語から始めるべき。
なぜそう思うのかも含めて、とりあえずおばさんが理解しているプログラミング言語の発展の経緯を軽く解説する。
最初の頃のプログラミング言語は、手続き型と呼ばれるものが多かった。
この〇〇型ってのはプログラミングをするときの考え方によって名前がついているんだけど、手続き型はまず0を作って、0に1を100回足して、最後にその結果を表示してください、みたいな、上から書いた順番通りに動くのが基本のルールである考え方。プログラムは基本的にはこうやってデータをアルゴリズムを使って変化させていって望む結果を得ている。でもこのやり方は問題も多かった。プログラム全体がひとかたまりになってしまっているので、数千行とかになるともう普通の人では手がつけられないし、人間のミスでデータを間違って扱ってしまうことがバグの温床になった。
なので、この手続き型の考えに構造化という考えが加わって、関数というものが生まれた。関数っていうのは料理のレシピに例えるとわかりやすいかも。
5:豚こまを入れて色が変わるまで炒めます。
9:火を消して8をお皿に盛り、野菜炒めの出来上がりです。
B:肉に味付けをします。
2:Bを入れて色が変わるまで炒めます。
3:Aを入れてしんなりするまで炒めます。
4:火を消して3をお皿に盛り、野菜炒めの出来上がりです。
って書ける。ここではAとBが関数。
この程度だとあまり意味を感じないかもしれないけど、これがもっと複雑なものを想像してみると、なんとなくありがたみが分かって来ないだろうか?こうすると、多人数でプログラミングをするときに、Aを書く人、Bを書く人、1〜4にまとめる人って感じで作業分担ができる。それに、バグが起きた時もAの領域でバグったのか、Bの領域でバグったのかとか、全体にまとめると上手くいかないのかとか、原因の切り分けがしやすい。
でも、プログラムがとっても複雑化すると、これでも手に負えなくなる。料理の例えを拡大すると、料理店を運営することを考えるといいかも。
料理店でたくさんの料理をさばくときに、レシピを完全に1から作ることってないと思う。Aさんが野菜の仕込み担当、Bさんがスープの仕込み担当、というように各人に仕事が割り振られているはず。AさんもBさんもそれぞれの仕込みのレシピを持っていて、最終的に出てくる仕込みがちゃんとしてればAさんBさんの仕事の詳細までいちいちシェフが細かくチェックしない体制になっていると思う。大雑把にいうとそういう考え方をプログラムで再現したのがオブジェクト指向型言語。
なので、本気で料理の初心者がいきなり厨房の仕切りを任されて上手くいくのは難しいように、構造化プログラミングのありがたみすらわからない段階でオブジェクト指向型プログラミングに手をつけても意味がわからんだろうと思うのがおばさんの立場です。
(追記 おばさんはRubyを勧めておきます。オブジェクト指向型言語ですが、手続き型的に書き下すことも出来るからです。一つの言語で手続き型構造化オブジェクト指向、全部勉強できます。メソッドも便利なのが一通りあるし、日本語を扱うのにも問題が少ないです)
次に問題を分解できるようになろう。
例えば、クイズゲームを作りたいと考えたときにクイズゲームを作りたいです、って問題は大きすぎる。
クイズゲームに必要な要素は、問題文を表示する、回答を入力してもらう、正誤判定をする、正誤判定の結果を表示する、ということだなぐらいにまず分解する。
これを実際にプログラミングしようとすると、もっと分解できてさらに問題が見えてくると思う。
コンピュータってのは創造的なことはできない代わりに、とても簡単なことをとても階層的に重ね合わせて大きな問題を解けるように作られてる。それを心するといいと思う。
これ超大事。プログラミングって本当に自分で1からものを考えなきゃいけないことってあまりない。大きな問題はあなただけの問題かもしれないけれど、それを構成する小さな問題は大抵他の誰かが解いている問題なので、調べてみれば答えが見つかると思う。
エラーメッセージが出てきたらまずググってみる。翻訳しても初心者には意味がわからないし、ググったら誰かが解説付きで紹介してくれているのでその解説を読んだりしながらエラーメッセージとの付き合い方を覚えていけばいい。
メソッドの使い方がわからなかったら言語の公式サイトに行ってみる。メソッドの使い方で大事なのは呼び出し方、返ってくる値の型とかそういうのだから、こういうところはググるよりも公式サイトに書いてあることをしっかり読んで理解する。
あと、アルゴリズムの勉強もしてみるといいと思う。アルゴリズムとデータ構造と計算量の勉強。大学の学部レベルの教科書をちゃんと読んでみると、例えばデータベースを操作するSQLというものを書くことになった時とかに効いてくる。あとは作ったプログラムが遅すぎてどうしようとかいうのを解決する時とか。
なんか深夜までいろいろ書いてしまったけど、あくまでもプログラマじゃないおばさんが書いたものなので、みんなでツッコミとか入れてくれると大変助かります。
30年経って何の変化もないのか、予言に近づいていったのか
1 いない ほとんど見かけなくなった
2 いる すごく多い
3 いる はてなはこればっかり
5 いる 派閥間抗争をしている
6 いる はてなはこれでもっている
7 いる エスケープシーケンスがhtmlタグに変わっただけ、色より大きさで主張する人が多い
10 いる はてブは使い捨てられたIDだらけ、ブロックが追いつかない
13 いる 再投稿は甘え、自分で再投稿してないのに増えてることも
14 いる はてなの燃料
15 いる はてなの本質
18 いる 近頃はややこしい
19 いる 運営側も打っても響かなくなってる
20 いる
9割遵守されている
昼に起きた
ゲオ安売りしてたなーでも別に欲しいものなかったしなーと思ったけど、
チラシみたら地球防衛軍5が税抜き2980だったからまじかよと思ってダッシュで買いに行った
仕方なく遠いゲオまでひーひー言いながらいった
雨も軽くぱらついて散々だった
他にも買うかなーと思ったけど、デトロイトは2980でそこまで安くなかったし、ドラクエヒーローズ1はつまんないらしいし、逆転裁判5は微妙そうだしやるなら4からやりたいし、仁王は難しくてストレスマッハになりそうだし、ゼロエスケープはイベント飛ばせないし脱出ゲー好きじゃないしでもストーリー気になるけど
レジのメガネのにーちゃんがディスクの扱いがすげー雑で見ててイライラした
スリーブから出すときに盤面を指でつまむし、ケースにはめこむときもディスク全体に均等に力がわたってディスクがいたまないようにとかいう配慮が一切なくディスクはしっこを無造作に押してたし
そのあと近くのブコフについでにいった
ペルソナ5とかげお298だったから下手すりゃせどりできるかもと思ったから
でもブコフでも398で、つーことはうっても よくて2000だからせどりどころか大赤字だって思ってやめた
しっかしゲオ安いなー
昔みたいにゲームショップがたくさんあったときならまだしも・・・
半額で買えたらラッキーだけど、あと2本1480円以下ソフト見繕うのがめんどすぎる
買っても当分やんないだろうし無理してかわなくてもいっか
帰って地球防衛軍やる
4.1クリアしたばっかで連続EDFなのに全然飽きなくて楽しい!!!
なんか地味に快適度上がってるし!
友達が少ない。平均より随分と少ない。
劣等感で息ができない。
かなり浮いた。けど友達だと呼べる人は三人くらいいたと思う。
浮いた、完全に浮いた。
部活の人とは仲良くなれたと思う。
今でも交流がある。
地震で東京から友達が避難して来てそのまま家にいついたから、一年くらい一緒に住んだ。
結婚することなったので、同居解消したけど、真に親友と呼べるのは彼女だけ。
お昼休みは気を使って誘われる時だけ行っている。
たまに土日に遊びに行っているらしいけど、誘われてもだいたい断っている。何故なら行き帰りの電車が気まずいから。でも誘われないのも寂しい。
習い事をしてるが、もちろんそこでも浮いている。
友達がいない理由は思い当たりすぎて、何を直せばいいのかわからない。
ちょっと挙動不審。数学と地理が壊滅的に出来ない。出来ないというレベルではない。数字は覚えられない。ゆえに金銭管理もできない。
気が利かなくて、無神経。
約束をすぐ忘れる。
時間に間に合わない。
理解力が乏しい。
気に食わないことがあるとイライラする。
良いところもある。
好き嫌いが無い。よく笑う。一般人より絵が上手い。それくらいだろうか。
落ち込んだひとに気の利いた対応ができないのも、怖い話の途中にオチを忘れてしまうのも、人をイラつかせてしまうのも、予定を忘れてしまうのも全て
人として能力が低いせいな気がする。
帰り道が一緒になったひとに気まずい思いをさせずに済んだだろうか。
もうすぐ会社を辞める。
7年勤めた。社会不適合者ながらよく頑張った。
誰も彼も私の能力の低さを蔑んでいるようで辛かった。
出会った人全てを不快にさせるなら引きこもって二度と出て来たく無い。
知ってる人がいたら、教えてください。