「プログラミング」を含む日記 RSS

はてなキーワード: プログラミングとは

2017-01-24

好きなことだから給料安くてもいいよね

プログラミングは好きだけどお前に命令されるのは嫌いなんだよ

2017-01-22

SIerWeb系に転職したい

スペック

ユーザー子会社SIer二年目

Excel職人、たまにJava親会社システムの改修

文系学部卒で学生時代プログラミング経験ゼロ

半年からプライベートHTMLCSSJavaScriptちょっと勉強して、しょぼいサイトなら作れる程度

とにかくコード書けハゲ言葉を信じて、ドットインストールやったり、ググったりしながらやってみたけど、ここからどうすればいいかからない。

休日だけとはいえ、半年かけてしょぼいサイト作る程度にしか達せない奴は、1社目はブラック覚悟で修業のつもりで、とにかくとっとと飛び込むべきなんだろうか。

それとも、もっと本気で勉強しまくって、勉強会なんかで人脈を広げてマッチする会社出会える機会を待つべき?

くだらない言い訳だけど、勉強していく中で自分Web系には向いていないと気付いてしまった時のために、SIerで働き続けることも考えて基本、応用情報技術者勉強もしていて、時間以上に気持ちを注力できていなかった。

秋の試験で応用まで取れたので、最近はようやく少しずつ勉強できるようになってきた。(といっても週に10時間程度か)

はてなを眺めていると、今の自分では到底入れないようなイケイスタートアップに鳴り物入りで入社してる新卒とか、インターンバリバリやってる学生とか、幼少期からゲームプログラミングに興じてきたスーパーおっさんばかり目に入って怖い。

WindowsVista休日にニヤニヤしながら一人で勉強してる俺でも、MacBookAir買ってTwitterやって勉強会行けば、何か開けるのかな。

攻撃的なプログラミングがしたい

どうすればいいのか?

ownership とシステムプログラミングその他に関する怪文書

この会話ログフィクションであり、実在人物地名団体とは一切関係ありません。

坂木

わろた

Rust vs. Go に対する @tanakh さんの発言まとめ

https://togetter.com/li/1072495

坂木

自分理解できないもの意味がないと思いこみたがるタイプの人だということがよく分かったので原文を読まずに済んだ。ありがたいまとめだ。

安原

NTPsec が,ownership を理解していない開発者たちの声が大きくなるようなコミュニティによって開発されているということが分かって大変有意義でした(こなみかん

宮森

今までCで開発してきたプロジェクトを移すなら極端な話ownershipを理解しなくても良いわけで、悪くないのではと思う。

宮森

……が、理解できないものに対して、理解を試みず~すべきだ~と設計しろ、っちゅう人が作るソフトとはちょっと関わりたくないと思う。

安原

いや,私は C で開発してきたプロジェクトであるならばなおさら ownership を理解していないといけないと思います. ownership に理解を示さなコミュニティが関わってきた一定規模以上の C によるプロジェクト……私の第一感は「こわ…近寄らんとこ…」です.

宮森

いや、Cで開発してきた人たちって、ownershipを自前でコントロールできると思っている(思い込んでいる)人たちですんで……こわちかは同意

安原

いや,私は C で開発してきた人たちの多くは,そもそも ownership の概念を獲得していないのではないか危惧しています.元々,私はもっと楽観的で,多くの C プログラマは ownership の概念を獲得していると思っていました.

宮森

あ、それはそうだと思います概念を獲得していない

リソース人間管理をすれば適切に管理できる、という思想の下に皆さん書いていらっしゃるので……。

安原

OpenSSL騒動の時,関数の途中で return したことによるリソース漏れ揶揄したことがありますOpenSSL のようなインターネットの基盤を支えるオープンソースプロジェクトにおいてさえ, ownership の概念を獲得していれば脊髄反射で気づくであろうバグが随所に見られたことには本当に絶望しました.

安原

ああ,はい人間を信頼しすぎているというのはいかにもありそうですね.

藤堂

C++er の方がその辺もっときちんとしているように見える

安原

しろ C++ によって ownership という概念が明確になり,その重要性が認知されるようになったのではないでしょうか? これについては,私は歴史的なことが分からないので真偽のほどは何とも言えませんが.

宮森

シニア開発者しかC++/Rustが受けないと思うの、まさにその点だと思っていて、人類を信頼したがために足どころか頭を吹き飛ばす経験を積んでいないからだろうなー、とか。

宮森

OSとかシステム系のプログラマの人々、基本的リソース人間が適切に管理するし管理できると考えている人が多い印象([検閲削除]社時経験)。言語側で安全を確保したい、的な話をしても相容れなかった記憶が。

坂木

[検閲削除] のコードには、間違って自分の足どころか頭を撃ち抜いてしまった偉大な先人たちの知恵が詰まっていて、開発していてとても勉強になります。なお [検閲削除] は頭がなくなっていることに気づかずゾンビとして生きている模様。

今井

自分が知っている C 「しか」書けない職業プログラマ基本的地雷だなぁ...。

今井

リソースどうこう以前に、そもそもちゃんと構造化されてるコードが書けるかも怪しい(個人の感想です。見識にバイアスがかかっている可能性があります)

安原

うーん,数値計算系のチームやコミュニティも ownership の概念の獲得,重要性の理解,その管理自動化することへの理解,これらを期待するのは難しいだろうなあ…….そもそも高度なリソース管理必要になる場面少ないし…….

坂木

コード品質が強く求められるプロジェクトとそうでもないプロジェクトがあるからなあ。クライアントサイドソフトウェアは割と品質が求められる気がする。

安原

OS 実装とかシステムプログラミングって,クライアントに直接接しないだけで,その上にクライアントサイドソフトウェアが載るわけで,コード品質が強く求められると思うのですがそれは…….まあ, API とかで切り離されているので,そこだけしっかりしていれば,という話はあるか.

宮森

そこはコードレビューテスト等でカバーっちゅう。まぁ確かにコードには実際assertが入りまくったりするわけですが。

坂木

品質が強く求められるからといって品質が高いわけではないのが問題ですね

今井

あとは、デモが作れればいい、的なのも同じかなぁ。

宮森

メモリ管理、freeせずに終了してOSに全て回収させれば管理しなくて良い。

宮森

メモリ管理コンパイル時に全て静的なサイズで確保すれば管理しなくて良い。(FORTRAN77並の感想)

安原

OSGC してくれる論, TPO をわきまえているならば普通にありですよね(TPO をわきまえているならば!).

今井

まー、 offline で動くバッチ、的なのはそこまでメモリ管理とか / パフォーマンスとかにもシビアにならなくていいし(最悪オーダーがほどほどならよい、的な)、そいう文化にいると、雰囲気にのまれる人が多い、というのはまぁわかる。

坂木

私は基本その文化で過ごしてきたので現在進行形でわりかし困ってますね……

今井

あれ、そうなんです? 私がかかわった人のなかでは、コード見ててもむしろカッチリしてるほうだと思ってたのですが...。

(つまり、ここから坂木さんのハードルめっちゃ高いという帰結が...)

宮森

いろいろ言っていますがワタクシ、そういう管理必要プログラムは全く書けなくなりましたので今書くと死にますプログラム顧客大事データが)

安原

しかし,システムプログラミング界隈に「人間リソースを適切に管理できる」という悪しき信仰がはびこっているの,何か構造的な原因があったりするのかなあ?

宮森

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

宮森

実際、Linuxカーネルとか、規模からすれば驚異的に少ない数のバグで動いているので、信仰心が生まれ気持ちも分かる。

宮森

他の言語OS書くっていうのも研究レベルではあるけど、実用になっているのは見たこと無いですねぇ……。

坂木

Linux カーネル、一体どうやったらあの規模のコードクオリティコントロール出来るのか本当に不思議

安原

Linux カーネルのアレは,属人性依拠しすぎていて全然スケールしないのでは…….

坂木

Linux カーネル属人性高そうではあるけどそれでも実際に十分スケールしているからなあ…… ヤバいレビュアーごろごろしているのかな

宮森

属人性依拠しさえすればできるので十分な数の開発者がいれば問題になりません(キリッ

安原

私も [検閲削除] のコミュニティを見てましたから,各々必要ドメインにおける圧倒的なタレント性を持った人たちが1ヶ所に集結して奇跡アンサンブルを奏でうる場合がありうるのは理解しているんですが,本当にただの奇跡しかないと思っています

宮森

つーても機械エンジニアリング町工場職人芸を必要であれば使うように、属人性を求めるのも一個の正しい戦略だと思うんですよね。

宮森

なおその対極がみずh(省略されました

安原

Linux カーネルにおけるスケール云々は, Linux カーネルコミュニティ自体におけるスケーラビティではなくて,(システムプログラミングコミュニティ全体(他のプロジェクト)へスケールするかどうかを言ったつもりでした.

坂木

まあ人外を集めるという手法一般にはスケールしないですからね……

宮森

C系がシステム系で優先されるの、ツールを変えるとツール独特の罠があるので、罠が全て分かっているツールを使う、っつうのもあるな。

安原

システム系、基本的に生のハードウェアが透けて見える言語を使う必要があって、そのために選択肢がCしかなくて、手段が限られているからこそ信仰が発生した、という認識

これが原因だとすると,やはり Rust だ……Rust しかない…….ツール周りとか,まだまだ未整備な部分たくさんあるけれど……そこをクリアすれば…….

坂木

Rust は 1.0 が出る直前くらいにちょっと触ってイテレータが作れなくて敗北したっきりだな。

坂木

イテレータっていうか Java でいう Scanner を作ろうとしたんだっけ。サードパーティライブラリも探してみたけどその頃は I/O 周りの API が unstable でビルドが軒並み壊れていたりしたな……

藤堂

1.0 以前のことは忘れましょう (本当に unstable)

安原

Rust,型でエラーを弾くだけではなくて質の低いプログラマまでも弾く印象.

坂木

一般に型の強い言語は質の低いプログラマを弾きますね(Haskell などを思い浮かべながら)

安原

「Rust 経験者」という条件でプログラマ募集して,それで入ってきた人材に C を書かせればよいのでは!(ピコーン!

藤堂

犯罪ですよそれは

安原

はい

藤堂

haskell 経験者を集めて php 書かせようとした会社がどこかにあったような (ヘイトけがたまる)

安原

まさにそれをイメージしていました.

宮森

どういう顛末になったか詳しく知りたいw

藤堂

うーん、それ以降の話は知らず

今井

Rust そして誰もいなくなった、にならないかが一番心配だったりする

安原

それな

宮森

もしかして、NTPsecの人がRustでミニサーバーを起こすのにすら苦労していたの、普段からバグありのコード生産しているからなのでは、という気がしてきた……。

(この辺で一同寝落ち

2017-01-19

http://anond.hatelabo.jp/20170119222429

いずれにしても業務系だね。

業務系の人は難しいんだよなー。

ネットにきた途端、自分で考えないといけない範囲が劇的に広がる。

業務フローとかアウトプットすべきデータってユーザーの使いやすさにあわせて変えれちゃうし。

UIの絵がきても動きはプログラマ実装しないといけないし。

何回か業務系のプログラミング能力が高い人をいれてみたけど、結局画面を作り直さないといけなかったり、クライアントOKがでなかったりするんだよね。

設計には現れない些細な動きとか反応がどう説明してもわからないみたい。

全員とは言わないけど、そうなる確率が高い。

あとネット設計が荒いことが多いから細かい設計の指示待ちになってしまう人がすごく多い。

クライアントもやりたい方向やビジネスは決まってるけど完成系のイメージがほぼないってことが多いし。

なので業務しかやってない人は、ネットに詳しくて、このサービスはこう変えれば使いやすくなるとか、こういうビジネスモデルで動いてると思うって話ができるような、ネット好きな人しかとらないようにしてる。

新人は染めることができるけど、中途は難しいんだよね。一度ついた癖って抜けない。

http://anond.hatelabo.jp/20170119211328

ネット業界採用してるけどVCできる人ってだいたいSI出身ネットに向いてないんだよね。

それはプログラミング能力問題ではなくネットのお作法がわかってないという意味で。

普通な新入社員でもこうするよねっていうUX実装がとてつもなく複雑になってたりレスポンスが悪かったりする。

業務系中心にやってる人だとスケーラビティ考慮が弱いから本番にリリースしてピー時間になるとオートスケールしまっくてDBレスポンス悪化してサービスおとしたりとか。

プログラマーの1日のスケジュール

理想

9:00-12:00 プログラミングバグフィックス

13:00-15:00 テストコーディング

15:00-16:00 打ち合わせ

16:00-18:00 資料作成検証

現実

9:00-12:00 打ち合わせまたは客先訪問

13:00-16:00 打ち合わせまたは客先訪問

16:00-18:00 社内調整、資料作成

18:00-20:00 プログラミングコーディング

20:00-22:00 打ち合わせ

22:00-終電 プログラミングコーディング

頭が一番冴えてる時間プログラミングに充てて、普通レベルに落ちたら頭使わなくても大丈夫コーディングテスト、頭が回らなくなってきたらどうでもいい資料作成や打ち合わせなどに充当させるのが理想だが、実際はプログラマーなんてプロジェクトのための歯車の一つに過ぎず、プロジェクトリーダーは打ち合わせに最も頭を使いたいので、それに引きずり回され、頭が全く働かない時間にダラダラダラダラゴミコードを量産していく...

辞めよう

器用貧乏、あるいは中途半端負けず嫌いプライドのようなもの

自分器用貧乏であるという自覚がここ数年なんとなくある。自分で器用とか言うのか、というのはあるが、しかしそうなんとなくそう思ってしまう。逆に、どうせ何者にもなれないのであれば器用貧乏であるということをせめてもの誇れるアイデンティティにしようと思って過ごしているのかもしれない。

自分は今大学3年で、いわゆる情報系の学部所属している。機械みたいなのは小さい頃から好きだったし、中学高校のころからなんとなくプログラミングの真似事のようなこともしていたので、まあ自然な流れだと思う。といっても、高校最後のほうでも、2chパソコンの大先生コピペWindows Serverのポート番号がどうたらみたいなアレ)の意味を正しく理解できてない程度だったけど。

それでもって、大学に入ってからは以前よりもプログラムを書いたりすることも増え、先輩から紹介してもらったアルバイトとかもやりつつ、一応なんとかそういう職種に就けそうというところまでにはなったと自負はしている。

ところで、昔からずっと自分は熱しやすく冷めやすタイプ、もしくは飽きっぽい性格だと思っていて、そんな感じなので中途半端にいろいろな趣味に手を出しては有耶無耶にしてきた。当時はニコニコ動画音MAD自分の周りでそこそこ流行っていたりしたこともあったり、パソコンはまあまあ得意なほうだったので、それを使って何かを作ってみたい、みたいなことを思い、動画とか音楽とかに中途半端に手を出しては挫折していた。

今でもその時の経験微妙に役に立つこともあるけど、そのころから何かをがっつりやってる人間にはそれらで敵うことはまずないだろうし、万事がそんな感じなので、漠然自分の将来が不安になることがたびたびある。今自分就活するとして、スキルに支払ってくれる対価や、楽しんでやれる仕事かどうかという観点職種を選ぶならプログラムを書く仕事になるのだろうと思っている。それでも、超複雑なアルゴリズムを駆使したプログラムを書けるとか、そういうことはないなあ、という感じもしている。もちろん、今から勉強してやっていけばいい、というのはあるだろうが、いやしかしその間に奴らはもっと先に行っているに違いない、みたいな気持ちになってしまう。最近流行りのディープラーニング量子コンピュータとか、もっとよくわからない何かが滅茶苦茶発展した先には自分の居場所はあるのか、みたいなことを想像して、意味もなく辛くなったりしてしまう。

この話に特にオチはなくて、最近は開き直って本当に居場所がなくなったら死ねばいいかという風に思っている。とはいえ、そういうメンタリティで過ごしていると実際にそうなったときに困ってしまう、というのは大学生活(留年した)の間で学んだことの一つでもあるので、どうしたものかということを考えている。どうしたものでしょうか。

2017-01-18

ソシャゲプログラミングもつまらないけどマクロ作りは楽しい

ソシャゲでクッソ面倒くさい周回クエスト自動でやってくれるマクロ最近組んでいるんだけどこれが結構楽しい

正直ソシャゲというジャンル自体は同じことの繰り返しばかりでかなりクソだと思っている。

そしてプログラミングも面倒なことだらけでクソつまらんと思っている。

学生時代部活ゲーム作ってた時ですらなんでこんなクソめんどいだけの事やってるんだろうと疑問に思っていた。

だけど少しずつマクロを成長させて効率よく、正確に、素早く、自動的に高難易度の面倒なステージを片付けられるようにさせるのはとても楽しい

最初のうちはマクロで回せるように簡単ステージばかりやっていたのが、今は自分でやったら3回に1回は微妙タイミング判断を間違えそうになるステージですら正確に勧めてくれるし自分でやるよりもスピードも早い。

そうしてやれる事が増えていくのが本当に楽しい

もう一度言うが自分プログラミング自体は好きじゃない。

ゲームを作ってもソフトを作っても他人が既に作っているもっと素晴らしいものを再発明するだけの無駄行為だらけだ。

だけどくだらないソシャゲマクロづくりだけは違う。

ゲームでわざわざマクロを作るぐらいならそんなゲームやめる人が大多数だ。

そのため艦これパズドラぐらい大きい作品でもなければ他の人間マクロを配っていたりはしない。

自分で作るしかない。

から楽しい

自分で作るより他人が配ってるのを貰うか売ってるのを買うかした方が遥かに効率がいい事だらけだから自分プログラミングが嫌いだったのかも知れない。

人気のないゲームマクロ作りには意味がある。

社会に利をなしてはいないけど自分自身の楽しみにはなっている。

ソシャゲ自体はつまらないけどマクロ作りは本当に楽しい

プログラミングって「得体がしれない」よな

プログラミングって、これから始めてみようっていうとき、なんだか「得体のしれない行為」っていう感覚がありませんか?


ぼく自身は、プログラムを書いてる側の人間で、いまでこそ少しはプログラミング本質的な難しさをわかってる気になってます。でもつい数年前までは、プログラミングは難しくはないけど得体がわからない、という感じでした。

そのへんのコードを組み合わせて動くものはできるけど、何がどうなっているのかは知らんし、ググって分からないものはできない、という方向で、「プログラミングは難しい」と思ってました。


最近になって、プログラミング義務教育必修化の話題とか、コピペプログラマー話題とかを目にするたびに、かつて自分プログラミングに対して抱いていた「得体のしれない行為」という感覚が思い出されてしまい、少しざわざわした気持ちになったので、ちょっとここに書きなぐらせてください。


だいたいが個人的な話なので、そういうのがうっとうしい人は無視してください。


ぼくが世の中にパソコンという道具があることを知ったのは、たぶん中学生ときです。30年くらい前。当時、電気屋の売り場ではけっこうな床面積を使ってワープロ文章入力する専用マシン)が陳列されてました。文章を書くのは好きだったけど、字を書くのが死ぬほどめんどくさかった自分は、ワープロさえあれば自分小説とか書くのになあと思いながら指をくわえて電気屋の店内をうろうろしてました。しかし、ファミコンすら買ってもらえなかった家計ではワープロなんぞ買ってもらえるわけもありません。そのうち巡回してた電気からワープロが消え、それに代わってパソコンのコーナーが広がっていきました。このパソコンというのは、よくわからないけどワープロとして使えるっぽいし、どうやらファミコンを持っていない僕にもゲームができるらしい、おれに必要なのはこれだ、というわけで、中学生だった自分パソコンという存在に興味を抱くようになったのでした。


はいえ、だからといってパソコンを買ってもらえるような家計ではなかったわけなので、カタログを熱心に眺めるだけの毎日が続きました。その当時の自分にとって、パソコンが欲しいといったら、それはNECを買うかエプソンを買うかという選択でした。冨士通からパソコンが出ていることは知りませんでした。マッキントッシュっていうやつもあって、このPerformaっていうやつはなぜか安いとか、よくわからないけどシャープとかソニー独自パソコンを作っているぞとか、そういう情報パソコンに対する認識のすべてでした。当時の自分にとってのパソコンは、電気メーカーから発売されている商品一種であり、ラジカセとかテレビと同列の存在でした。


なんでこんな話がプログラミングにつながるかというと、ひょっとして自分プログラミングにずっと感じていた「得体のしれなさ」の源泉の一つは、こんなふうにパソコン電化製品として見ていた当時の感覚の延長だったのかもなあと思ってるからです。


ラジカセなら、CDだのテープだのを入れて再生タンを押せば、そのハードウェア機能物理的に体感できます。それに対してパソコンは、プログラミングちょっとやってみても、その行為と、そのハードウェアとが、感覚的に結びつきません。もちろん、プログラミングというのは、物理的なデバイスに結びつけて考えなければできない行為ではありません。しかし、パソコンを「カタログ商品」として見るところから入ってるばかりに、そこでやるプログラミングという行為ハードウェアとの結びつきが見えにくい状態に、なんとなく居心地の悪さを感じていたように思うのです。


もし自分スタート地点が、パソコンを使って文筆やゲームをするところだったら、パソコンは文筆やゲームのための箱だったでしょう。その後でプログラミングを始めていたなら、プログラミングという行為を、文筆やゲームに関連した創造的な活動として学べたかもしれません。


ところが実際には、自分はつい数年前まで、パソコンという電化製品に対する漠然とした行為としてプログラミングを捉えてた気がします。


プログラミングを始めたのは、高校生になって誰も使わないFM77が部室に置いてあったので立ち上げてみたらF-BASICインタプリタが起動したからでした。とくに何をプログラミングすればいいかもわからなかったので、教科書雑誌コードを転記したり、ループで線画を書いたりして遊んでいました。大学に入ってからも、授業でFORTRANとかLispをやらされたけど、基本的自分目的をもってプログラミングするのは数値計算くらいのものでした。そのころになると、本で情報を探して(まだインターネット検索は使い物にならなかった)適当コードをつなぎ合わせるのがプログラミングだと思ってました。そんなん面白くないなあ、とも思ってました。


この感覚、完全に、いま揶揄されているコピペプログラマーのそれだったと思いますちょっと話はそれますが、ブロック遊びとか砂場遊びって、ほとんどの人はわりとコピペプログラミングと似たような感覚でやってるんじゃないでしょうか。パーツを勘で組み合わせたり、とにかく砂を盛っていったりすれば、家みたいなのができるよね、という感覚プログラミングは、自分にとってそれに近い作業でした。学生のころは、内心、自分にもパソコンサンプルコードさえあれば何かすごいものを作れるかもなあ、くらいに思っていたふしもあります


自分バカでした。パソコンがあるとかないとか、関係ないのです。パソコンさえあれば、なんて思う者に、本当のプログラミングがわかるはずがありません。


そんなこんなで、自分はまともにプログラミング経験しないまま社会人になったわけですが、幸いにもプログラミングに対するこの感覚は、仕事パソコンを日々使うようになってから徐々に変わっていきました。

具体的には、パソコンが、自分の中で「カタログ商品から武器」へと変わりました。それと同時に、プログラミングという行為が、武器開発という位置づけになりました。

武器というのは言い過ぎだとしても、ちょっとしたプログラミングは確かに業務上課題を打開しました。それなりに計算機科学教科書を読んで勉強をしたこともあって、いつのまにかプログラミングに対する「得体のしれなさ」も解消してました。


結局のところ、自分にとっては、プログラミングという行為の「得体のしれなさ」から解放されるまでにずいぶん長い時間必要だったことになります自分がそうだったからといって他人もそうだとは限らないですが、たとえば小学校で形だけプログラミングを教わっても、分かるとかわからないとか、好きとか嫌いとか以前に、なんかモヤモヤした気持ちになるだけの子もも少なくないんだろうなあ。それは不憫だなあ。


かといって、自分がいまプログラミングで少しは戦えてるのは、そのむかしパソコンに憧れがあって、得体がしれないなりにプログラミングをする機会が若いときたまたまあったからでもあるので、そういう機会になるなら小学校で形だけでも教えるほうがいいのかなあとも思います


オチがないので、このへんで。

中学生でもできる! 素因数分解プログラムを書いてみよう(bashで)

http://anond.hatelabo.jp/20170117205622

より。

「ワイは全然すごくない」という増田書き込みに対して「いや全然すごいよ」みたいな書き込み散見されるようだが、ここではっきりと申し上げておきましょう。

素因数分解プログラムで解くとかとか中学生でもできるぞ」と。つまり増田全然すごくないし、この記事を書くワイも全然すごくない。

素因数分解というのはなんか用語だけ聞くと難しそうに思うが、要は「ある数字素数の組み合わせに分解」するだけの話である

数字素数で割っていけば自然素因数分解が行えるのである

というわけで増田全然凄くないの根拠として、以下に素因数分解を行うプログラムサンプルを挙げる。

このプログラムbashで書いてあるが特にbashである必然性はないのでphpなりCで書き直してみるといいだろう。

中学生のお子様がいるご家庭の方は、これをサンプルとして別の言語で書かせてみると、その子プログラミング素養が図れるかもしれない。

#! /bin/bash

n=$1;
a=2;
while [ $a -lt $n  ]
do
  #割って余りが0なら素因数やな!
  m=$((n%a));
  if [ $m == 0 ]
  then
    # $n は 素数やない! $a で割り切れんで!
    #a自体素数かどうか調べなあかんecho -n "${a}x";
    n=$((n/a));
    a=2;
    continue;
  fi
  #素因数やないので割る数を増やしてみるで
  a=$((a+1));
done;
#余った $n は素数やな
echo  $n;

最初ソースバグってた。ちょっとしました)

このソースtest.shなどのシェルスクリプトファイル作成してその中に記述する。ソース記述した後はchmod +x で実行権限をつけてあげることを忘れないようにしよう。

このプログラムは渡された一番目の引数に対して素因数分解を行う。整数以外を入れた場合動作保証できないので、適宜チェック処理を入れるなりしよう。

このプログラムを実行すると、結果は以下のようになる。

$ ./test.sh 114514
2x31x1847

結果が不安なら電卓計算してみればいい。必ず合うはずだ。

ついでにクリップボードコピーする

結果を出すのはいいとして、元増田クリップボードコピーして貼り付けまでを手動で行っていたそうな。

MacOSならばクリップボードコピーするまでを一貫して行うことも可能だ。pbcopyというコマンドを使う。

$ ./test.sh 114514|pbcopy

これでクリップボードコピーされた状態になるので、そのままニコニコなりのコメント欄コピーすればいい。これで俊速素因数分解コメントが書き込めるようになる。

また、いちいちpbcopyコマンドを打つよりも今回作成したシェルスクリプトの中でpbcopyまでを行ってしまうのもありかもしれない。

いずれにせよ、今回の素因数分解というプログラムはかなり簡単な部類になるため、初心者への課題としてはうってつけだ。

どうです、簡単でしょう? 

ちなみに実行速度ですが、よほどデカ素数でもない限りジョン・フォン・ノイマン暗算よりは早いはずです。多分……

2017-01-17

言語の良さなんてあるのだろうか

プログラミングの達人はプログラムをどのように組むべきかを知っていて、

どんな言語であろうと自分の中の組み方に合わせて構文を選ぶ。

ただし関数型を除く。



初心者は手当たり次第に機能を試して自分にあった構造を探さないといけないので、言語の特徴による恩恵は受けられない。

ただし関数型を除く。



なんだかんだいってどの言語も素晴らしい出来であることは間違いない。

ただし関数型を除く。



素晴らしい利点を持つ言語は万人から評価され利用される。

ただし関数型を除く。

昔読んだ増田でもう一度読みたい奴があるから探して欲しい

たぶん増田だと思うんだけど、

情報系の大学生の「プログラミングの授業がさっぱりわからなくて困ってる。本とか探して読んでみたけど無理。」みたいな増田に対して

誰かが「あなたは分かってないってことが分かってるし、自分で調べたりとかして頑張ってるので自分で思ってるよりもプログラミングに向いてるよ」みたいな感じでプログラミング勉強の仕方を教えてあげてて、

その記事情報系に限らず大学の新入生にはぜひ読んでほしいなと思った記憶があるのでまた読みたい

2017-01-15

PythonってWebプログラミングに使うとこあるの?

RubyPHPなら使うけどさ。フレームワークありでもなしでも。

Pythonって全然きかなくね?使うとこあるのどうなの。数字にめっぽう強いと聞くからグラフを多用するサイトで使うの?

プログラミング素人だけどブクマカを殴るサイト作ったぞ

殴れるハテブ

http://beat-htb.anko.red/

 

炎上者やいつもブクマカに殴られているはてなブロガー各位には、ぜひストレス解消にご活用ください。

今のところホッテントリオンリーだが近日どのページでも殴れるようにする予定。

 

 

以下言い訳

http://anond.hatelabo.jp/20170115121116

今時のプログラミングってwindows用のIDESDKしかなかったり、ドキュメントwebにあったり、動作チェック用にハイスペックグラボ積んでたりするから

プログラミングしかできない端末と言いながら結局なんでもできる端末になりそう。

プログラミングしかできないパソコン

そんなものが世の中にあれば

僕も少しは何か書けるようになってたのかなって

2017-01-14

あーーーーーーーー有能共が全員死ね

コミュニケーションができる野郎イケメン野郎スポーツができる野郎手先が器用な野郎地頭が良い野郎知識がある野郎絵が描ける野郎エッセイが書ける野郎小説が書ける野郎物語が作れる野郎曲が作れる野郎面白いことが言える野郎プログラミングができる野郎あとその他特技がある野郎ーーーーーーーー

あーーーーーーーーーーーくそくそくそこsくsskすspsくそくそくそkすおsくそ

俺に持ってない物を持って楽しそうにしやがってkldfhvgkvffcpkrlぎじぇhtglhぎてgkh、きgh

くそーーーーくそがしね

プログラミングって難しすぎね?二年ほど学んだけど全く理解できない

なんかifとかforとか使えば色々できるっぽい?ってことまではわかったんだけど

APIがどうのこうのってのが全くわからない

サイトからAPI取得して情報ソートして云々ってのがやりたくて二年以上掛かったけど

未だに答えに辿り着けない、調べても難しい単語ばっかでよくわかんないし

タダでプログラミングを教えるメリット

俺がパソコン屋ならswift教えるからといって、macの購入を勧める。

最初は一番スペックの低いものをすすめる。

もちろん俺が経営するショップからなら割引とサポートつけますとかなんとか言うし、

オプションもたくさんつけて

「本気でプログラミングするならwindows pcは当然必要だし、macだってもっとハイスペックなやつ必要。あとデュアルディスプレイとか常識だよね」みたいな話を随所に盛り込む。

もちろん俺が経営するショップからなら割引とサポートつけますとかなんとか言う。



でもめんどくせーな

貴方が本当に必要だったものプログラマじゃない

本当の意味でのSEだったはずだ。

それを単価の安いプログラマ(有能)に置き換えて買い叩こうとしたところで、

プログラマプログラミングしか責任を持てないのである

無能はいくら安く買い叩いても役に立たないし、

貴方自身無能であることを自覚し、

謙虚に月給の高いエンジニア有償で教えを乞うべきだった。

だが慈悲深い私は、超有能なエンジニアお茶くみは任せてください)である私を

超高給(月100万以上)で雇う交渉するチャンスを贈呈したいと思う。

ぜひ有効活用してほしいと思う。

プログラマに独学が求めらるたった一つの理由

プログラミングを教える手段がぜんぜん確立されてないから、誰もまともに教えられない。

他人に頼るプログラマはもれなくずり落ちる。

2017-01-13

webエンジニアへのキャリアパス

大阪小学生へのプログラミング教育話題になってて、

その中でもやっぱりどう教育していくのがいいのか

デファクトスタンダードは見つかってないみたいだよね


仮に今20代前半で働いてるとして、結局どういうルートがいいんだろう?

20代で働いてるけど技術者ではない人が

web系の企業転職してるのもたまに見かけるけど

結局だいたいの人はphpとかjava扱ってるSIer入って勉強してweb系に転職していく感じ?


web系の会社ってあんまり経験では採用してない気がするんだけど

そこらへんどうなのweb系おじさんたち

よかったら教えて

2017-01-12

http://anond.hatelabo.jp/20170112225035

元増田とか元記事ブコメとかでも指摘されてるけど、もう内定していて形だけの公募だろこれ

それにプログラミングの授業ったって正式な教科なわけでもなく

他教科の中で精々年数回程度お遊びでやるだけだろ?

あくまちょっと体験させておく、くらいが目的だろうしそこまで深刻に考える必要もないだろ。

大阪市プログラミング教育協力事業者公募の件

http://www.city.osaka.lg.jp/kyoiku/page/0000386948.html

事前にどっかの企業から打診があったんじゃないの?

でも、いきなりそこを採用するわけにはいかんから公募って形をとって。



そのあとは実績があるとか、引き続き行う必要があるからって理由で…

ログイン ユーザー登録
ようこそ ゲスト さん