「Hello World」を含む日記 RSS

はてなキーワード: Hello Worldとは

2017-03-22

競技プログラミングのすすめ

4月から大学生になってどこのサークルに入ろうかと悩んでいる人に、競技プログラミング存在を知ってもらうために書きました。

競技プログラミングとは?

プログラミングコンテストとは、「与えられた問題いかに素早く、正確に」解くことができるかを競うものです。

AtCoder Regular Contest 70より引用

厳密な定義はないような気がしますが、問題が与えられて、入力に対する正しい出力をするプログラムを書く競技です。

競技プログラミングのことを省略して競プロ、競プロをするひとのことを競プロerと呼んだりします。

ACM-ICPCという大学対抗の大会や、様々な企業主催するオンラインオンサイトコンテストがあります

どうして競技プログラミングをするの?

様々な理由がありますが、一番は楽しいからだと思います

逆にしばらくやってつまらないと思ったら向いていないかもしれません。

以下にぱっと思いついたメリットを挙げておきます

  1. 就職に有利(らしい(詳しくは知らない
  2. プログラミングができるようになる(業務とはかなり異なるけど
  3. オンサイトイベント交流できる
  4. twitterで知り合いが増える
  5. いろいろなアルゴリズムに詳しくなれる
  6. 英語ができるようになる(海外サイトを使うことも多いので(要出典

どうやって始めればいいの?

環境設定が結構大変ですが諦めないで!そこは本質じゃないので。最初は標準のメモ帳でもいいと思います


大学サークルがある場合は先輩方に聞いてみるといいと思います(丸投げ。

少し情報が古いかも?Twitterなどで検索してみるといいと思います。(「oo大学 競技プログラミング」みたいな?

http://acm-icpc.aitea.net/index.php?2016%2FTeams%2F%E3%82%B5%E3%83%BC%E3%82%AF%E3%83%AB

別にサークルがなくても一人でも始められます

基本的にわからないことはググれば8割ぐらい出てくるので自分で調べましょう。

http://judge.u-aizu.ac.jp/onlinejudge/finder.jsp?course=ITP1

このサイト解説も載っているので初心者でもわかると思います

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_1_A

たとえばこの問題では"Hello World!"と出力するようなプログラムを書くことになります

以下のサイトで何問か練習してみましょう。

初心者から初級者へ

文字数がたりない。

プログラミングコンテスト攻略のためのアルゴリズムデータ構造

通称TLE本。初心者向け。わかりやすい。

プログラミングコンテストチャレンジブック

通称蟻本。すごい。むずかしい。すごい。

https://atcoder.jp/

毎週日本語コンテストを開いています

とりあえずABCに出てみましょう。

http://judge.u-aizu.ac.jp/onlinejudge/

いっぱい問題があります

http://codeforces.com/

いま一番ユーザーの多いサイトです。(英語

http://aoj-icpc.ichyo.jp/

ACM-ICPC練習向けのサイトです。

http://kenkoooo.com/atcoder/

AtCoder練習向けのサイトです。

終わりに

なにかあったらコメントいただけると幸いです。

この記事自由に使ってもらって構いません。

2017-03-16

http://anond.hatelabo.jp/20170316222422

ある意味Hello World」表示できたら満願成就なわけで、

挫折するってことはやっぱりやりたいことがあるんだと思う。

それってつまりビルゲイツとかスティーブジョブズみたいな大物になって

世間から認められるようなスキルと実績を手にしたいということだと思う。

そこんとこの目的意識を多少なりとも意識しておかないと

何を作ればいいのかわからないとか、

どうでもいい言語でどうでもいいプロダクトを作って満足したりとかしてしまう。



で、具体的に何やるかって話だけど、

スマホアプリラズパイ工作AWS。この3つオススメ2017年のお題的に考えて。

2016-12-11

自分プログラマーとしてのレベルが低くて凄く心配になってくる

Webエンジニア歴2年目。多分年齢的にはまだ若い



RailsとLaravelくらいは触れる。

でもPlayとかはHello Worldくらいしか作ったことな



オレオレWebフレームワークくらいなら作れる。

でもRailsソース見て内容を理解しろと言われても多分無理。



AngularとBackboneくらいは触れる、

けど最近フロントエンド界で大量に出てくるツール群には全然ついて行けてない。

ReactとかAngular2はビルドするまでが面倒くさくて投げた。



インフラネットワーク全然からない。この前ネスペ受けたけど午前で落ちてそうだったから途中で帰った。

会社にいるインフラ系の人達超人に見える。



静的型付け言語あんまり触ったことない。

というか動的型付け言語あんまり出てこないステートフルな分野のアプリ全然作ったことない。

言語仕様くらいはわかるけどデスクトップアプリとかは未だにストップウォッチくらいしか作れない気がする。



自分身の回りのよく使うツールを考えてみる

OS、勿論作れない。

Git、無理

Atom、うん作れない。

Office、無理無理

Steamクソゲーすら無理だし、もうむしろ増田くらいしか作れない気がしてきた。

例えば学生時代友達に「一緒にゲーム作ろうぜ!」とか誘われてもあんまり役に立てない自信がある。



就職するまでエンジニアってもっとなんでもできるものだと思ってたよ。

ネットにはスーパーエンジニアがいっぱいいるからよくわからないけど、もしかするとこんなもんなエンジニアっていっぱいいるのか

凄く将来が心配だ。

2016-10-13

主語デカ系】ITに対する教育コストが高くなりすぎている

なんか「プログラミングはそんな簡単じゃない」みたいな話題があったじゃないですか。

なんかうまく言えないんだけど、プログラミングに限らず、今の世の中は若者ITスキルを得るのにかかるコストデカくなりすぎてないですか?

俺ら40絡まりのオッサンどもはマイコンパソコン黎明期あたりから趣味としてITに触れていて、

できることも限られていたから、その辺のパソコン少年的凡人だってH/W S/Wの根本から触れてた人が多いと思う

でもって元々大したことができなくっても、動くだけで楽しかったしね

それが今では、フロントエンドアプリを作るってならリッチ統合環境とかライブラリが揃ってて、

別にH/Wのハの字も知らないでも結構見栄えするすごいものが作れちゃったりするわけじゃないですか

日常生活だってものすごい能力をもったものが当たり前のように手のひらに収まってる

こんな環境では、よっぽど高い意識能力を持った奴でないと、H/Wの基礎からそれを動かすS/Wをキッチリ学ぼうなんて思わないでしょ

手のひらですんごいものが動いてるのに、Hello world!やったって面白くもなんともないよね

よしんば興味をもったところで、今度は突然40年前に逆戻りだ

しかも目の前で起こっている出来事からイメージリンクしにくいから凡人には理解し辛い

オッサンどもはテクノロジの進化とともに自分たちも年を重ねてるから、頭が凡人でもなんとかかんとか「流れ」で理解していけるし、理解するための時間たっぷりあった

から別にそれほど高い意識とか能力が無くても、ちょっとしたゲーム好きから始まった奴とかでもそれなりに基礎を体で理解していて、みっちり鍛えられてはいないけど

全方位まぁまぁ戦える在野の武士っぽい奴らがいて、そいつらがこれまでのITをそこそこ支えてきたように思う

ところが今の若い連中は下手すりゃそれを数年で詰め込まなきゃいけないし、とっかかりが現実とロングディスタンから明確な目標とか意思がないとモチベが保てない

そりゃフロントエンドアプリはいいかもだけど、ITを支えるのはそこだけじゃなくて、今だってH/Wからすべて理解したうえでの領域人材はたくさん必要な筈

どっこい、昔は沢山いたはずのソコソコかもしれないけどまぁ戦える在野の武士絶滅寸前で、武士といえば兵法も知らない農民バイトか、

逆に超一握りの生粋武将だけになっちまったような気がしてるんだが、これからITはそれでやっていけるんかいね?

教えて!エロい人!

2016-07-25

http://anond.hatelabo.jp/20160725213548

そのクソサイトで、rubyhello worldみたいなのやったら、

会いませんか?ってきた

クソが

ruby問題を解いた

ってキー検索して、メール送ってるだけなのがまるわかりなのがうざい

2016-07-14

Hello world

3年前の今日、ぼしゃんがいなくなったんだお

いなくなる前日、仕事を無理やり終わらせ

急いで帰宅し22時。

近所のガストで一緒にごはん

明日いなくなることの実感もわかずに

ぼくは最後の晩餐だねとつぶやいたが

すぐに戻ってくるから大丈夫、と。

ガストで何を食べたかはおぼえてない

かえりみち、ミスドドーナツ買った

夜が明けて、ぼしゃんは躊躇なく出て行った。

それが最後だった。

最後の晩餐だった

なにもできなかった

あれから3年、もう3年?まだ3年?

けがえのない人をなくしてしまった

なにもできなかった

どうか、健康で強くたくましく自分を信じて元気でいてください

Goodbye World

2016-07-06

コンピュータ言語言語ごとの特徴を俺が教えてやる(異論は認める

コンピュータ言語って世の中に山ほどあるけれど、それぞれの言語ごとに特徴がある(特徴のない言語は廃れていく)。

まり言語に詳しくない人相手に、俺の考えるそれぞれの言語の特徴を書いてみようと思う。

なお、取り上げるのはある程度広く使われている言語に限りたいと思う。

TL;DR

言語 概要
C言語 高速動作するバイナリ生成を目的としたコンパイル言語。だいたいどんな環境でも使えるがバグやす
C++ マニアック言語、高速、習得大変
Java サーバで高速かつ安定に動作するコンパイル言語、大規模でよく使われる
C# 主にWindowsクライアント用のバイナリ生成に使われるコンパイル言語
Perl 広く使われていたが今は若干時代遅れのスプリクト言語。汚い
Python Perlにかわって主流になりつつあるスクリプト言語。綺麗
PHP Web開発にフォーカスされたスクリプト言語一世を風靡した。
Ruby とても綺麗なスクリプト言語
JavaScript ブラウザで実行出来る唯一の言語言語自体はいまいちだが、ブラウザ事情需要あり
Go サーバサイドで安全かつ高速動作するバイナリ生成を目的としたコンパイル言語

詳細

C言語

メモリに直接アクセスして書き換えるといったコンピュータ機械語に近い言語構文を持つため、高速な処理が可能言語

コンパイラ歴史も古く環境も整っており、組み込み系などを含むほぼ全ての環境で利用可能な万能言語

一方で、メモリの確保や解放といった基本的なことも自前で処理する必要があるため、コーディング効率が良くなく、多種多様バグを生みやすい側面も持つ。

ある程度以上のエンジニアであれば常識として知っておきたい言語だが、初めて覚える言語としてはあまり適当ではない。

C++

C言語オブジェクト指向を導入した言語C++言語とはあまり呼ばれず、しーぷらすぷらす、もしくは略してしーぷらぷら、しーたすたす、などと呼ばれる。

C言語の速度を維持したままオブジェクト指向テンプレートなどの効率的記述可能にしようとした意気は真っ当だったのだが、

当時最先端だった色々な技術思想を叩き込んだおかげで、あり得ないほど複雑化した言語としても有名。

C++理解しています」という人はほぼ初級者で、本当に理解していくほど「C++には自信がありません」となっていく。

速度を追求する分野では良く使われている。完全に理解するのは難しいとしても、テンプレートくらいまでは理解しておくと仕事上なんとかなる…かもしれない。

Java

サーバサイドで安全コードを実行する目的でよく使われる言語。長い歴史を持っており、比較的高速に動作する。

当時は画期的だった「バーチャルマシン」や「ガベージコレクション」という機構を備え、CやC++でよく問題になるメモリ解放忘れというバグを生まず、

サーバサイドなどで何千時間動作するソフトウェアに適した言語として受け入れられた。

必然的エンタープライズ用途で利用されることが多く、各種ツールなども豊富人海戦術がしやす言語という側面も出てきた。

一方でブラウザHello Worldを出すだけでも大変な労力を必要とするので、スタートアップなどではあまり使われない。

ガラケーアプリや(ちょっと違うが)Androidなど、クライアントサイドでも使われることがある。

プログラミング言語最初Javaを覚えるという人は結構多いが、仕事としてJavaを使うのは大抵SI系の業務になり、なかなか辛い労働を強いられる可能性が高い。

C#

クライアントサイドで安全コードを実行する目的でよく使われる言語。こちらも比較的高速に動作する。

元々はWindowsクライアント用の言語であり、Javaとは違ってクライアント向きのAPIが多数ある。

マイクロソフトが開発した言語ということもあり、マイクロソフトの優れた開発環境が利用出来るので開発効率は非常に高い。

Unityなどでも利用可能であるが、基本的にはクライアントの実行形式ファイルを生成する目的が大きく、サーバサイドではあまり使われない。

自作ゲーム開発をしたいのであればうってつけの言語。初めて覚える言語としても十分に良いだろうが、C#を使う仕事は近年無くなりつつある。

Perl

ほぼ全てのLinuxディストリビューションに含まれており、ツールや様々な用途で使われていた。

上に紹介したC、C++JavaC#のようなコンパイル言語とは違い、(少し語弊はあるが)1行ずつ実行してエラーがあれば止まるスクリプト言語である

ちょっと開発してすぐに実行ということが出来るのと、コマンドラインでワンラインコードを読み込ませてちょっとした処理が出来るなど応用範囲の広い言語である

20年近く前にWebCGIが普及した時には、ほぼどのようなサーバ環境でも実行可能だったこともあり、Perlを使うことが極めて多かった。

しかし、主に読みづらい言語仕様のせいで、近年新規ではほとんど使われなくなった。既存コードもどんどん別の言語に置き換えられていることが多い。

日本大手Web企業の一部が使っているので、そこに就職するために覚えるのもアリっちゃアリだけど、今からPerlをわざわざ覚えるのは強くオススメしない。

Python

後発のスプリクト言語。こちらもほぼ全てのLinuxディストリビューションに含まれており、それゆえに広く使われている。

インデントまで言語仕様規定することで、誰が書いても読みやすコードになるように考えられている言語である

Perlの代わりに使われることが増えていて、周辺ツールなども充実しており、小規模から大規模までカバーする勢いがある。

ただ、Python2とPython3のバージョン間での非互換性があまり綺麗に設計されていなかったため、そこで混乱を招いていたこともあった。

最近だとマシンラーニング系のライブラリPythonが使われていたり、海外ではPerlに代わる言語として受け入れられつつある。

最初に覚える言語としては良い選択肢だろう。

PHP

Web開発に特化したスクリプト言語CGIの代わりに使われ始め、一世を風靡した。

以前CGIWebに何かを表示するには比較的大変な労力を割かなければいけなかったのが、PHPを使うと誰でも即座にWeb開発が出来たので爆発的に普及した。

またphp.net豊富ドキュメントスニペットのおかげもあり、開発初期の効率が大変に良い言語である

残念なことに、言語API設計がいけていない点が多く、一部の人から蛇蝎の如く嫌われている。

今でも根強い人気があり、海外でも小規模プロジェクト最初の開発にPHPを選ぶのは比較的よくある選択肢であるようだ。

Webアプリを開発をしたいという明確な目的を持つ人が、最初に学ぶ言語としてPHPを選ぶのは理にかなっていると思う。

なおこの言語を本気でディスってる人は大体視野の狭いエンジニアであることが多いので、地雷エンジニアを見分けるのにも役立つ。

Ruby

綺麗なスクリプト言語日本発で世界的に普及している数少ないIT技術の一つ。

言語仕様が美しく、それゆえにファンが多い。Ruby on RailsというWebフレームワークの登場で、Webアプリでの採用例も一気に増えている。

基本的には他のスクリプト言語と同じくサーバサイドでのプログラミングに用いられることがほとんどである

スクリプト言語で何かを作成するのであれば、Rubyを選んでおけばそう失敗することはない万能言語

サーバサイドで何かすることに興味を持っているならば、最初に覚える言語としてはとてもオススメ出来る。

一方で、なぜかRuby採用するWeb側のフレームワーク(具体的にはprototype.jsCoffeeScriptはいつもクソなので、そちらは深入りしないのが吉。

JavaScript

ブラウザで動くスプリクト言語ブラウザ戦争が勃発していた18年前、奇跡のようなめぐり合わせでベンダー間の合意が取れ実装された言語

言語としてはプロトタイプベースオブジェクト指向という少しめずらしい形式を取っているが、実際にはあまりその特徴は利用されていない。

言語仕様イマイチで、大変バグを生みやす言語であり、また関数スタックが深くなる特性もあり、あまり積極的に使うべき言語ではないが

ブラウザで動く言語現在これしかないので、大きなシェアを持っている。

一部の物好きがサーバサイドでこの言語を使おうと(主にnode.jsで)四苦八苦している(とはいえ、1つの言語Webサーバが完結するのは大きなメリットだ)。

ブラウザで動く唯一の言語のくせにとにかく書くのが面倒ということもあり、多数のAltJSと呼ばれるJavaScriptに変換される別言語を生み出されている。

まあJavaScript本体人が手で書く言語ではない…というのがECMAScript5までの印象だったが、新しい規格が順次導入されており、今後に期待。

Web業界で生きていくならば、好むと好まざるとにかかわらず覚えなければいけない言語である

最初に覚える言語としては、ブラウザ上でゲームなども作れるし、node.jsサーバサイドもできるしで、意外とオススメだったりする。

GO

C、C++Javaと同じでコンパイル言語サーバサイドで高速かつ安定なバイナリを出力することを目的とされ設計されたGoogle発の言語

その目的においてはかなり高性能を誇るので、特に速度を要求されるサーバサイドでのプロジェクトでは導入が進んでいる。

それ以外の目的ではあまりこの言語採用するメリットはないが、ニッチ用途ピンポイントで抑えており、これから広く利用されることも期待される。

コミュニティも活発であり、初めて言語を覚える人が参入すれば喜ばれるだろう。言語としても美しい言語なので、サーバ系のプログラムに興味があればオススメである

まとめ

繰り返しだけれど、それぞれの言語ごとに特徴があり、特徴のない言語は廃れていく。

ここに挙げた言語は何らかの特徴があり、何らかの用途必要なので生き残っている。

その背景を知った上で、ここにある言語は全部ある程度読み書きが出来るようになると素晴らしいと思う。

2016-06-01

Hello Worldのその先へ

「プログラムの書き方は知っているが、何をプログラムしていいか分からない」 | キャリア・働き方 | POSTD

http://postd.cc/i-know-how-program-i-dont-know-what-program/



むしろプログラミングしかできないから、何も作れないということに気づくべき。

企画やプロダクトデザインはプログラミングには含まれてない。

絵やサウンドも含まれてない。

UI, UXも含まれてない。

要件定義も、DB設計も含まれてない。



模倣すべきはプログラムではなくてプロダクトの方。

2016-05-07

小学校プログラミング必修化について思うこと

僕は小学4年男児もつプログラマ



僕の場合ワープロからはじまり、物置に眠っていたBASIC機をいじり倒し、叔父から譲り受けたDOS機をいじり倒し、小学高学年の頃にはプログラマになることを決めていた。

そんな僕も今や一児の父だ。定時で帰れる日は息子に勉強を教えている。彼の理解力や興味に合わせた手書きドリルを作って、学校の授業ではわからなかったところをサポートしている。今では満点をもらえることも増えてきた。同僚に技術指導をする機会が多いが、当然ながら息子に教えるほうがはるか簡単だ。



そんな僕が思うこと。



プログラミングを必修化したところで成果は得られない。



プログラミングに入門させるくらいならエクセル教室でもやったほうがいいだろう。どんな業界でも表計算必須と言えるし、興味があれば思うままに使って遊んで覚えてくれる。子供に教えられる家族も、それなりにいる(期待はできないが)。

ちなみに、表計算は、プログラミングエッセンス必要とする。変数、条件分岐、繰り返し、関数、これらはどのようなプログラミング言語の基礎となる概念だ。



さておき、プログラミングを教えるとして、どんな言語だろうが、"Hello World" がはじめの一歩だろう。その次は変数変数を教えるのは難しい。「箱に入れる」という比喩理解できる子とできない子に分かれるだろう。四則演算と同様に、ここでつまづくと先はない。それからも、条件分岐、繰り返し、配列関数、ここまで来れるのだろうか。

プログラミング言語は覚えたとしても、論理の組み立てができなければ、モノはつくれない。言語を覚えることと論理を組み立てることは、必要とする能力が違う。単語を覚えたところで、ネイティブと話すことはできない。人間ならば、単語だけでも曖昧さを補完して理解してくれるが、プログラミング言語は書いた通りにしか動かない。おそらくプログラミングに苦手意識を持つ子供が増えるだけだろう。



プログラミングより先に、外国語教育を充実させたほうがいい。

そして、基礎的なIT教育をするのなら、表計算のほうがいい。

2016-05-03

Qiitaメモ帳として使うな

言語Hello world記事とか、

言語仕様のなぞり書き記事とか、

ノイズしか無い

Qiitaメモ帳じゃない

2016-04-23

http://anond.hatelabo.jp/20160423145512

例えばHello Worldならたいていの言語で書けるけど、あんな回りくどいやり方で文字列コンソールに表示させる意味が分からない

こう感じてしまうなら、IQとか作りたいものがあるとかではなく、性格的に向いてない。

特に作りたいもののない人間プログラミング学び始めると地獄

プログラミング勉強始めてはや十年、持ってる本も五百冊を越えてるけど何も作れない、作れる気がしない

この状態から脱するために何をすればいいのかもよく分からない

本のサンプルコードじゃ文法しかからないから何も作れない

例えるなら小説を書くために日本語文法勉強から始めて無駄英語ドイツ語ロシア語手話なども学んでみたがそもそも小説をまったく読んだことはないという状態に近い気がする

小説を読む」に対応するプログラミングおける行為がなんだかよく分かっていない

ふつうプログラマーがどのようにプログラミングしているかだけでなく、プログラミングを学んで最初に何を作るのかのイメージも湧かない

例えばHello Worldならたいていの言語で書けるけど、あんな回りくどいやり方で文字列コンソールに表示させる意味が分からない

Fizzbuzzとかもどう分岐させればいいかとか分かるのだけれど、そこから先にまったく想像力が働かないから条件分岐を教えられてもそれを使って何かするということができない

オブジェクト指向がどんなものであるか、どのような歴史的経緯を経て現在に至っているか、それぞれの言語でどのように、どの程度サポートされているかなどいくらでも語ることはできるけど、オブジェクト指向で何かを設計し作ることはまったくできない

知的障害があるわけではないと思う

IQは平均以上ある

英語は人並みにはできる

大昔に受けたTOEICスコアは900以上、アメリカ留学経験もある

とにかく、何かを作ろうとするときに手がピタリと止まり頭が働かなくなる

およそクリエティティというものが完全に欠落しているのでコピペ適当でっちあげることすらできない

とにかく手を動かせと言われてもそのスタートラインにすら立てない

2016-04-11

Hello World!!

最近、この言葉が切なく感じる

See you again! はないんだよ

ドラクエ7エリーみたいな感じ


期待に夢膨らませた開発者の卵がC言語で「Hello World」して、

今では別の言語を使い、C言語には戻ることは無いだろうと思うと

C言語にもサヨナラを言って欲しいな、それはそれで切ないケド

2016-03-27

ここでコードの話してる連中って

Hello worldより難しいこと無理そう

プログラムなんて誰が書いても同じ

お客さんとかディレクターってこんな認識な気がするんだけど

プログラマとしては技術力の差ってもちろんあるわけで

そこをうまく伝えられないもどかしさがある



LINEが元ライブドアの人たちが作ったみたいなことをホリエモンが言ったらしく

誰が作っても同じようなものが作れるって反応があったんだよ

すごいのはネイバー企画だって



実際のところLINEは出したタイミング絶妙で運の要素が強いと思うけど

あのクオリティアプリを作れるプログラマがどれだけいるんだろうね

同じようなものは確かに作れるよ、でも運用も含めてあのクオリティは凡百には出せない



どうしたらお客さんとかディレクターにそういうの伝わるんだろうね

絵とかだったらわかりやすいんだろうけどね

でもデフォルメを手抜きとか言っちゃう人もいるからそうでもないか



一回何かしらのプロジェクトやらせてみないとわからないのかな

まあHello Worldすらできないだろうけど

2016-02-09

から気分がいい

出社後、少し時間ができたので、ふと、過去に在籍していたベンチャー企業ホームページを見た。




入社時、そこの社長は声高らかに、打倒 google を謳っており


若く、身の程を知らない自分根拠のない高揚感に包まれ入社した。




自分joinした時は、立ち上げ間もなかった頃で資金も潤沢。R and D に勤しんでいた。


だが、半年経ったころ、ふと気付いた。




技術者の類が、自分を含め3人しかいない。


しかも全員、ちょっとプログラムをかける程度。ましてや、自分以外はPHPで"hello world"なレベル




もともと、社長は、某日本企業に在籍していた。


そこから引き抜く予定であった、優秀だと噂の技術者も来ない。




ある日社長に問いただす。


ゴールの確認と、それに向けた会社マイルストーン


「勝てると思ってるの?数も資金技術力もノウハウも、比較にすらならないのに」


その返答に戦慄した。




しばらくして、会社資金繰りに苦しくなる。




出資者から資本金引き上げも相次ぎ、入社当初4億近かった資本金は3000万まで下がった。




リストラも加速。給与も1割減。


ついには受託開発に手を出し始めた。


運用はどうする?インフラはどうする?そんなことも決めないまま、訳のわからない受託案件が飛び込む。



受託に慣れていない社長営業は、3人月で100万とか、どこの会社にも見向きもされれないブラック案件ばかりをとってくる。




1年と半年が経ったころ、自分退職をした。


今は200人くらいの中小企業の開発部でマネージャをしている。




朝、過去いた会社ホームページには事務所移転とあった。


昔は大きくはないが、ちゃんとしたビルに入っていたのに、なんとかマンションの302号室。




いや。ほんとに辞めてよかった。

転職時は、年齢的にもギリギリだったが、あの時、歯を食いしばって動いた自分を褒めてやりたい。


さて、仕事頑張ろう。




こんな自分性格の悪さも、ちょっぴり愛おしい。

2016-01-18

Vimクイズ - 2016年1月

【前提条件】

これらのお題はvim -u NONEでvimを起動した状態で行うこと。

-u NONE以外の引数を付けてはならない。

Vimバージョンは7.3以上とする。

【お題】難易度:初級

コマンドラインウィンドウHello Worldを出力する方法を3通り書きなさい。

ただし、:echo、:echomsg、:echoerrの使用禁止します。

:の次に大文字入力する行為禁止します。

Hello World前後無駄文字列が含まれていても構いません。

2016-01-12

30年くらい前はまだPCに夢があった

当時はマイコンって言われてたけどな。

店頭PC

10 PRINT "ウンコ"
20 GOTO 10
RUN

プログラム入力して、ウンコが止まらなくなるだけで、すごくワクワクしてた。

最近の若者は、Hello Worldじゃつまらんか。

プログラミングなんか勉強してどうするの

コンソールHello Worldって表示させて、電卓で出来る計算やらせて、文字並べ替えたりして、で?

それだけ?

料理教室に例えると手の洗い方を覚えただけだよね

それでなにするの?

2015-10-19

10年前ソープで脱童貞したけど

女性との接点がないので10年間セックスしてない

ちょっとでもお金に余裕ができると技術書買っちゃうからもう一度ソープに行くお金も貯まらない

そもそも技術者じゃないしパソコンじたい何年も触ってないし買った技術書も読まずに積んでるだけだから技術書買う意味がない

C言語とか何に使うのか分からない

どの言語の本読んでも文字列操作とかファイル操作に一章割り当ててるけど用途が分からない

Hello Worldならどの言語でも書けるけどその先が全く見えない

プログラミングを学ぶ意味が見出せなくて本を読むモチベーションが湧かない

SICPとかCTMCP原書で読んだけどとくに得るところがなかった

emacsvim両方入れてるけど面倒臭くて一度も起動してない

去年から生活保護もらってるけどはやく再就職したい

でも対人恐怖症がなかなか克服できない日々

人生詰んでるとまでは言わないけどかなりジリ貧

2015-10-09

http://anond.hatelabo.jp/20151009231702

プログラム最初に「Hello world」と表示されるのを見て「なにこれ」みたいな反応か「おもしれー」みたいな反応かで、適性があるかわかるな。

そういうことだ。

2015-09-10

世界いちばん遠回りな世界一周

もう誰も覚えていないと思うけど、3年ほど前、ここに、"Hello world!"というタイトルエントリ投稿した。あの話の続きをしようと思う。



※このお話はたぶんフィクションです。実在の人物や団体とはあんまり関係ありません。



※前回のあらすじ:高校中退工場派遣プログラマホームレス自立支援施設プログラマ海外放浪職業訓練世界一周アプリを作る




あれから3年、いろんなことがあった。またプログラマとして働いたり、またホームレスになったり、福島除染作業員をしたり、本当にいろいろあったけど、 今回の主題にはあんまり関係ないのでざっくりはしょる。今回の主題世界一周についてである

はいつか世界を巡る旅をする。10年くらいかけて。わりと本気で。その計画を立てるためのアプリケーションも作った。でもそのアプリ正式リリース以降、開発が頓挫している。開発を進めるにあたって、致命的な問題があることがわかったからだ。それは、開発者である自身が、この世界について何も知らないに等しい、という問題だ。

開発者は、システム化する対象に関して、誰よりも精通していなければならない。業務用アプリケーションの開発なら、 その会社の業務フローについて、社内の誰よりも詳しくなくてはいけない。システム開発とはそういうものだ。そして今度の対象世界だ。すべての国だ。それを僕自身が知らなくてはならないのだ。

しかし世界は巨大で、そして複雑だ。

国連加盟国は現時点で193か国。それぞれの国の下に州や省や県があり、その下に市区町村があり、そういった階層的な行政単位以外にも、歴史的背景から自治区になっているところや特別行政区連邦直轄領もあり……。

そういや連邦ってなんだろう。なんとなく知っているようでいて、詳しくはわからない。王国共和国ってどう違うんだろう。国の形ってなんでこんなにいろいろあるんだろう。いやそもそも国ってなんなんだ。どうすれば「国」になるんだ。

国連に加盟していればいいのか。いや国連非加盟の国もあるじゃないか。国家の三要素(領域人民主権)を満たしていればいいのか。しかしそれを満たしていることを誰が認定するんだ。他国から承認があればいいのか。その他国は誰が国だと承認したんだ。政治的問題から国なのか国じゃないのかはっきりしない地域だってたくさんある。国とか国じゃないとか最初に言い出したのは誰なのかしら。

それは世界一周アプリの開発中に国データをちまちま作っていたときにも思ったことだ。もしかして「国」というのは、僕が思っていたほど絶対的で、はっきりしたものではなく、相対的で、曖昧ものなんだろうか。

からない。わからないことだらけだ。こんなもの本当にシステム化できるのか。複雑ってレベルじゃねーぞ。これが仕事だったら「うんこー☆」とかいいながら全力で投げ出しているところだ。しかしこれは仕事ではない。これは仕事ではないので、真剣に取り組まなければならないし、投げ出すわけにはいかないのである

だけど、 どうしたらいいんだろう。世界はあまりに巨大で、複雑で、茫洋としている。何かとっかかりが必要だと思った。基点が必要だと思った。人でも物でも事柄でもいい。それをとっかかりにして、基点にして、少しずつ裾野を広げていけばいいのではないか。そう思って、自分記憶を探ってみる。僕の基点、時間軸と空間軸の原点、それは子供のころ、ブラウン管の向こうに見た、落書きだらけの大きな壁だった。




1989年11月ベルリンの壁崩壊した。僕が9歳のときだった。ニュースは連日連夜、この話題で持ちきりだった。興奮気味に壁を壊す人たち、全身で喜びを表現する人たち、泣きながら抱き合う人たちもいた。世界中が大騒ぎになっているようだった。僕はその映像を、意味もわからずただぼんやりと見ていた。

それからしばらくして、社会科教科書世界地図が大きく書き換わった。ソ連という国がなくなり、新しい国がたくさんできたのだという。国がなくなる? 国が新しくできる? その意味もまたよくわからなかった。

時間軸は一気に飛び、ベルリンの壁崩壊から20年以上たったころ、僕は生まれて初めて日本を出た。半年かけて海外放浪した。特に目的もない旅だった。だからその場所に行ったのも、ほんの気まぐれだった。

ベトナムホーチミン市にある戦争証跡博物館ベトナム戦争記憶を後世に伝える博物館だ。旅の途中にふらりと立ち寄ったそこで見たものを、僕はいまでもフラッシュバックのようにありありと思い出せる。

銃器、対戦車地雷、その他さまざまな武器弾薬が「こうやって使われていたんだ」といわんばかりに、実際に使用している場面の写真と並べて展示されている。銃を突きつけられて悲壮な顔をしている男性、道ばたで血まみれになって死んでいる子供、虫の死骸のように雑多に並べられた人の死骸、そんな凄惨な写真がこれでもかと並ぶ。

何か、自分の中で価値観が急速に書き換わっていくのを感じた。頭の中がぐちゃぐちゃになって、いろんな言葉が浮かんでは消えていく。

資本主義

共産主義

イデオロギーとは何だ?」

そのとき同時に頭の中に浮かびあがってきたのが、子供のころに見たベルリンの壁崩壊ニュース映像だった。あれから20年以上たってようやく僕は、あの人たちがどうしてあんなに泣いたり喜んだりしていたのか、少しだけ理解できたのだ。




あの博物館で僕がもっとも強く感じたのは、「戦争悲惨だ」という事実ではなく、「どうしてここまでのことになったのか?」という疑問だった。人が人を虫けらのように殺す、その理由が知りたい。そこには絶対にそれなりの経緯があるはずである。東西冷戦とは何だったのか、僕はまずそれを知らなければならない。

しかしこうなるともう最初から世界史をやり直したほうが早いんじゃないかと思った。よし、時間軸を一気に人類歴史の始まりまで巻き戻そう。

まずは大河流域で文明がおこる。チグリス・ユーフラテス川ナイル川インダス川黄河。うわー、すげー懐かしい。そして農耕が発達する。食料を安定して収穫・保存できるようになると権力が生まれる。そこから世界各地で似たような権力闘争が延々と繰り返される。

特に印象深いのが「カノッサの屈辱」だ。十代のころ、学校でこれを習ったとき意味がわからなかった。この人たちは何をそんなに必死になっているんだろうと思っていた。いまならわかる。目的は、権力そのものなのだ。人の頭を踏みつけること、人を思い通りに動かすこと、それ自体が目的であって、権力によって得られる富や名声は二の次なのだ。それは自分の経験を振り返ってみてもわかる。ヤンキー世界でもエリート世界でも、どんな場所でもどんな階層でも、人間が集まれば、始まるのはいつも頭の踏みつけあいである。それが直接的か間接的か、下品上品かという違いはあれど、やっていることは同じだった。だから世界史に記されたこのくだらない争いの数々も、いまは実感を持って理解できる。

そして絶対的権力者である神によって凍結されていた歴史が、ルネサンス以降、急速に動き始める。宗教改革名誉革命フランス革命。それまで聖職者王侯貴族が持っていた権力が少しずつ引き剥がされていく。そしてフランス王国フランス共和国に。ああそうか、王国共和国の違いって「王様」がいるかいないかなのか。さらに現代の「国」という概念国民国家というのも、このころに生まれてきたもののようだ。人類歴史から俯瞰すれば、ここ200年くらいの「流行」にすぎないのだ。

しかしフランス革命って華々しいイメージだったけど、こうして改めて調べてみると、革命政権恐怖政治によって何万もの人間が処刑されていたり、何度も王政に戻っていたり、混沌としすぎていて、華々しいなんてとてもいえない血まみれの革命だったのだと気づかされる。

そんな混沌の中、産業革命を経て、歴史さらに加速する。権力のあり方も変わる。聖職者王侯貴族に変わって資本家が台頭してくる。資本主義が加速する。貧富の差が拡大していく。賃金労働者悲惨労働環境で搾取され続ける。暗澹とした空気の中、社会主義共産主義という思想が台頭し始める。ロシア革命が起こる。世界初社会主義国ソビエト連邦誕生する。

いままで社会主義ってあまりいいイメージはなかったけど、こうして順序立てて成立の経緯を追っていくと、歴史の中での必然性がわかる。みんな、もう誰も頭を踏みつけあわずにすむ世界が欲しかったのだ。だから既存の権力や富や労働のあり方を強制的に変える。そしてそれが国の形を変える。そうか、国の形ってこういうふうに決まるのか。

しかし計画経済ってなんだろう。どうしてそんなもの必要になったんだろう。と思って、初心者向けの経済学の本を何冊か読んでみた。めちゃくちゃおもしろかった。経済ってこういうものなのかと思った。市場経済では必ず景気は好況と不況を繰り返し、いつかどこかで恐慌を引き起こす。そんな繰り返しをさせないために、計画経済では政府の計画にしたがって商品を生産する。そうか、そんな経済の形もあるのかと思った。ずっと現代日本で生きてきた僕にとっては、市場経済があたりまえすぎて、市場自由がどうの規制がどうのといわれても、これまでピンとこなかった。「あたりまえ」のことは、対比されるものがないと、それを知覚することさえできないものなのだと知った。

その市場経済へのアンチテーゼとしての計画経済は、しかし破綻する。いつ、どこで、誰が、何を、どのくらい欲するか、なんてことを計算し尽くすには、リソースが足りなさすぎたのだ。結果が出ているいまだからいえることなのかもしれないけど、少数の頭のいい集団演算能力よりも、多数の平凡な人間無意識的な分散コンピューティング見えざる手)のほうが演算能力は遥かに高いのである

そして社会主義自体も破綻する。ソ連型の社会主義では一党独裁必要とする。しかし絶対的な権力は絶対的に腐敗する。それは歴史証明している。独裁政権必然的暴走していく。これも僕は経験として知っている。「いじり」がいつも「いじめ」に発展するのと同じだ。他人おもちゃにできる、自分の思い通りにできる、これは権力である。そして「いじり」は場の空気によって正当化されるので抑制がない。抑制のない絶対的な権力は暴走する。だから 「いじり」はいつも「いじめ」に発展する。企業内のハラスメント家庭内虐待も同様だ。人間は好き勝手にできる状況に立たされたとき、好き勝手振る舞うものなのだ。そうか、チェックアンドバランスってそのために必要なのか。絶対的な権力は絶対に生み出してはならない。権力は絶対的に抑制されなければならないのだ。三権分立を唱えたモンテスキューさんマジパネェすわ。

こうして自由主義資本主義矛盾への疑問から生まれた社会主義共産主義は、自身内包していた矛盾によって自壊していく。そして時間軸と空間軸はまた原点に戻る。冷戦象徴であり、永遠に世界を二分し続けるかのように思われていたベルリンの壁が、ささいな行き違いからあっけなく崩壊する。ほどなくしてソビエト連邦から次々に構成国が離脱し(国が新しくできる)、連邦は解体される(国がなくなる)。

天秤の片方から社会主義共産主義が脱落したことにより、その後、世界はまた自由主義資本主義へと大きく傾いていく。混合経済社会主義的な部分が次々と取り払われていく。その結果が、派遣法改正だったり、リーマンショックだったりするのだ。そしてそれらは僕の人生にも多大な影響を与えている。そうだ、これはひとごとではない。遠い昔にあった「歴史」でもない。僕がいま生きている「現代」の話なのだ

そうか、世界ってこういうふうに動いていたのか。少しずついろんなことがわかってきた。国とは何か。イデオロギーとは何か。なぜ法の支配必要なのか。なぜ憲法必要なのか。しかしそれよりも何よりも、ひとつ重大な事実を確信した。それは、世界のすべてを知ることは絶対にできない、ということだ。

ミクロ領域――個人の感情や行動、これはわかる。マクロ領域――世界市場や情勢、これもわかる。しかし両者がどのように関連しているのか、個人の感情や行動が、どのように影響しあい、どのような力学が働いて、世界市場や情勢を動かすのか、逆に、世界市場や情勢が、個人の感情や行動にどのような影響を与えるのか、それを計算し尽くすことは、誰にもできない。それは人間演算能力の限界を遥かに超えているからだ。

「俺は世の中の仕組みをわかってる」「裏の論理まで知ってる」と嘯く人にはたまに出会うけど、そういう人が本当に世界の仕組みを知っていたことは一度もない。本当にただの一度もなかった。陰謀論マクロミクロの間にある巨大で複雑な回路をショートさせただけの反知性主義にすぎない。僕はそんなチートに興味はない。僕は真正から正攻法で、その回路を解析したいのだ。そうでなければ意味がない。

ああ、そうか、経済学とは、それを解き明かそうとする学問なのだマクロミクロの間にある巨大で複雑な回路。それを解析するのが、経済学や、その他の社会科学なのだ。僕はそれを、もっと深く学ばなければならない。

進むベき方向性は見えてきた。しかしここからどうするか。独学ではもうこのへんが限界のような気がする。つぎはぎだらけの学習じゃなく、もっと体系的に学びたい。でもどうやって学べばいいのかがわからない。僕はまず、学び方を学ぶ必要があるのだ。それには、どうしたらいいのか。

頭の中に浮かんだのは、「大学に行く」という選択肢だった。




大学に行く。どうしてそんな選択肢が浮かんできたんだろう。これまで僕の中にそんな選択肢は存在していなかった。そのはずだった。これまでずっと金も時間もなく、ただ日々の生活に追われるばかりで、そんなことを考える余裕は一切なかった。そんなことを考えるくらいなら明日の飯の心配をしたほうがいい。ずっとそう思って生きてきた。

何より僕には自信がなかった。自分みたいな中卒の人間高等教育を受けたところで何の意味もないと思っていた。そんなの僕にはまったく関わりのない知識階級人間世界だと、大学なんて僕にはまったく何の関係もない、別の世界に存在するものだと思っていた。

でも思い返してみれば、その認識は少しずつ変化していた。いろんな仕事をしたり、あとさき考えず旅に出たり、プログラムを組んだり、文章を書いたり、そしてそれを不特定多数の人の目に晒したり、ずっと何かに追われるようにそんなことを繰り返してきたけど、その過程で、僕は何か大切なものを拾い集めてきた気がする。それはたぶん、自尊心と呼ばれるものだ。幼いころに失い、ずっと欠けたままだったそれを、僕はこの歳になって、ようやく取り戻すことができたのだ。

からいまは自分高等教育を受けることに意味がないだなんて思わない。大学が別の世界に存在するものだなんて思わない。ああそうか、だからいま、このタイミングで、「大学に行く」という選択肢が、僕の前にあらわれたのか。

あとはこの選択肢を選び取るかどうかだ。

いまの時代大学に行くなんてそんなにたいしたことじゃないのかもしれない。だけど少なくとも僕にとってそれは、とてつもなく勇気エネルギー必要なことだ。ホームレスになることよりも、右も左もわからないまま海外に飛び出すことよりも。

現実的問題もたくさんある。資金、学力人生の残り時間。いろいろと考え始めると、解決しなければならない問題が多すぎて、わけがからなくなってくる。もうどうでもいいじゃないかと投げ出したくなってくる。でも僕の中の何かが、そうさせてくれない。僕の中の何かが、そうじゃないだろうと責め立てる。

これには覚えがある。この熱には覚えがある。これは、あの旅の途中、自分の中に発見した、マグマのような熱量だ。感情になる前の感情。行動になる前の行動。名前なんてつけようもないほどプリミティブな衝動。僕はいままさに、それに直面している。そしてその熱量からは、どうあがいても逃げられない。それだけは確信できる。

だったらもう、覚悟を決めるしかない。本当にもう、そうするほかどうしようもない。

僕は大学へ行く。

そうやって覚悟を決めてみると、ものすごく気が楽になった。気分が軽くなった。

ああどうしていままでこんな簡単なことに気づかなかったんだろう。その想いはずっと自分の中にあったのに。

僕は、「大学へ行きたかった」のだ。



続き→http://anond.hatelabo.jp/20150910220232

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