はてなキーワード: hello worldとは
Hello Worldを生み出す乱数の種はどうやったら特定できるんだ?
public static void main(String[] args) { System.out.println(helloWorld()); } // https://stackoverflow.com/questions/15182496/why-does-this-code-using-random-strings-print-hello-world private static String helloWorld() { return IntStream.of(-229985452, -147909649) .mapToObj(Random::new) .map(ran -> IntStream.generate(() -> ran.nextInt(27)) .takeWhile(k -> k != 0) .map(k -> k + '`') .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)) .collect(Collectors.joining(" ")); }
トランプbotとか言われると、トランプスクリプト思い出すわ−。
https://github.com/samshadwell/TrumpScript
Example:
so this election say "Hello World" say "TRUMP FOR PRESIDENT"!
America is great.
Hello World が好きでプリントアウトして読んでます。プログラミングを始めてみました。自分も大学行きたいなと思い、22ですが目指しています。
「もうからないのが一番の問題だ」 IIJが語る“農業IoT”の課題 - ITmedia NEWS
http://b.hatena.ne.jp/entry/www.itmedia.co.jp/news/articles/1712/05/news092.html
まあ、これはこれで良いのかも知れないが、「儲かる・儲からない」の話にするならば、例えば、家庭菜園用の農業IoTキットを売り出すとか、
目的論的にやるのでは無く、趣味的にやらないと上手く行かない気もする。
民間企業を巻き込むなら尚更、勝算のある戦いでないと巻き込めないと思う。
プログラムにしても、"Hello world"の表示から始める訳で、小さなことから始めて応用発展させて実用に耐えうる物を作っていく、
という流れの方が収益化は早いと思う。
もちろん、寄り道したり、ステップを踏んだ発展をするので、時間はかかると思うが(なので、目的論的な研究も必要だとは思うが)、
まず米農家の問題の解決よりも先にビニルハウスの野菜の問題を先に解決しよう、的なスタンスもありではないかと。
今までの研究の流れというのは軍需産業からトップダウン的に降りてくる物が多かったが、これからはもっとボトムアップ的なやり方を
有効に利用するべきではないかと思う。深センの流れにしても、ボトムアップ的に技術が育ちやすい土地だからという面は大いにあるあるだろうし。
今セールしている下の本も似たようなことを言っているのではないかと思うが(ステマという訳ではない)
シビックテックイノベーション 行動する市民エンジニアが社会を変える (#xtech-books(NextPublishing))
以下を読んだので意見を述べたい
https://togetter.com/li/1172284
https://togetter.com/li/1172310
この記事を書く目的はクリエイターに関する理解を深めて欲しいからである。
①発議者は業界の賃金問題の話なのに「お前は下手、私は上手い」とクソリプとばしている森次は論旨を理解してない
②しかし森次の絵は実際上手い。ポケモンのメインキャラクターもデザインしているようだ。絵描きとしては天才だけど性格が壊滅的に悪い人なのだろう
①については特に異論はない。しかし②について、つまり森次氏の実力については意見を挟ませて欲しい。
私の結論として森次氏の表面的な作画能力は天才的なレベルとはいえず、業界内基準でいうなら凡庸程度。過去の仕事をいくつか検索させてもらったがカードイラストに関しては良くて「まあまあ」、絵画作品は「少し下手」という評価をしている。絵が上手いか、下手か、という話は抽象的な議論に聞こえるが、プロの作家や編集からみると顕著に評価がわかれる。もちろん理由セットで。プログラミングが分からない人に “Hello World” を表示させるコードを見せたら、さも難解なことをしているのだと思われるのと同じことだと思う。要するに無理解から来る尊敬だ。
特に話題になってたのが高校生の時に描いたというエビの絵だ。10代でここまで描けるなんて天才だろうという意見が多く出ていた。これは本人も言っているが模写である。「模写だったとしてもすごい」という人もいるかもしれないが、美大受験レベルの高校生であればざらにいるレベルである。上位20-30%には入っているかもしれない。ただ模写はやってみるとわかるが想像以上に上手にかけるので、あの絵を正しく評価するには現物をみるしかない。多摩美や芸大の油絵科の学生に、この絵を見せても「天才」と思う人はおろか「なんで学生時代の課題を公の場に晒しちゃったのかな…^^;」という反応が来ると予想する。ただ素人目にみるとすごく見えちゃうので、そこを堂々と出してくるのが逆にすごいというか、まともな神経なら恥ずかしくてできないんだけど。
これはゲーフリの開発体制を知らないから想像でしかないのだけど、恐らく一人のスタッフがキャラクターデザインをピンからキリまでやらされることはないし、何を持ってして「デザイン」と呼ぶかにもよる。大げさにいうなら「髪は緑」というコメントを出してそれが採用されるだけでも「デザインをした」という実績といえる。さすがにそのレベルの実績をプロフィールに書かないだろ!と思いもしたがエビの件をみるとあり得るのではと勘ぐってしまう。
気になった言葉なのでプロフィールから抜粋した。そもそも予備校で飛び級の意味がわからないが、言い方の問題で、浪人生のクラスに混じって高校の頃から授業を受けていた、ということなのではないか。これは本人が希望して時間の折り合いがつけば普通にできる。私も美大浪人したがクラスに1〜2人は高校生がいた。
「自分もアニメーションに関わってるから適当に発言しているんじゃないよ?」アピールが入っている。映像の仕事はアニメと3DCGで技能もツールも全く異なる。自分の仕事領域を明確にしてないので色々謎。発議者は「自分の仕事は動画」だと明言しているのでこの話はフェアじゃない。この件がどうだかわからないが、大して重要なポジションにコミットしているわけでもないのに「私は〇〇の仕事をした!(実際にはデバッグをやっただけ)」というクリエイターは珍しくない。
〜
細かく突っ込むと他もいくつかあるがとりあえずはこんな感じでしょうか。なにか質問あれば追記します。
普通、美大やゲーム会社で育つとまわりに上手い人いっぱいいるので「いや〜私なんてまだまだですよ…」となるのだが。本当にものっっっそい上手な人でも謙遜するくらい化け物クリエイターばかりの世界なのだが。彼女の場合、そういうのをみじんも感じないので素で自分の実力がわかってないのかもしれないし、そういうロールなのかもしれない。しかし周りもその自信に怖じ気づいて「天才なんだな」って同調しているのがわりとつらい。
twitterを見ていると美少女イラストに対してのリテラシー(可愛いor可愛くない)はとても高くて私も嬉しいのだけど、少しジャンルはずれると(特にリアル描写系)「よくわからないけどすごい」のような評価になってしまうのが少し残念に感じる。あと森次氏の比較対象としてあきまん氏が挙げられてたけどあきまん氏の方が性格の悪さも技術力も万倍は上だろう。それくらい差がある。
本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学に入学してからです.
今では幸運なことにインターンで都内のベンチャー企業でgolangやpython, scalaを用いた大規模なシステム構築に携わっています.
お給料も日本の大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.
大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.
私が大学の授業で初めて習ったプログラミング言語はC言語でした. 理由を教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.
最近のTwitterやQiita, StackOverflowなどでは「初学者が最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptやPythonから入るのがベストだと言う人を沢山見かけます.
JavaScriptはブラウザというものが有る限り20年は消えなさそうですし, Pythonは機械学習を始め, Webシステムでも使え, 非常にクレバーな言語です.
javaもオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメントも豊富です. 色々な分野にも応用が効くでしょう.
さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語を最初に学ぶメリットとは一体なんなのでしょう.
一つ, 私が思いついたのはコンピュータと仲良くなれる.
というのもC言語はアセンブリや機械語に比べれば, 人間にわかりやすく, かつコンピュータ側にも近いという顔をもちます.
真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識が現代の開発に置いて役立つ分野比較的限られると思います.
しかし, それらは思わぬバグの特定や意図していない動作の改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)
二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.
そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)
ただ, 私はC言語の構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤな実装的な面と概念的な面ですんなりと理解することができました.
そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.
メモリの管理を適切に設計した時あなたのプログラムはボルト並みに早く走ってくれるかもしれません.
他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.
書いているとこれぐらいしか思いつきませんでした.
それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.
昨今, 高機能な言語が沢山ありますが, あなたのプログラミング生活にささやかなアクセントとしてC言語を学び直してみてはいかがでしょうか?
きっと今使っている言語に普段言わない感謝の言葉を述べること間違いなしです.
邦画の話が出てたので便乗。
恥ずかしながらつい先日初めて七人の侍を見た。
噂通りの大傑作、「当時にしては凄いな」とかじゃなくて純粋にとても楽しめた。
「名作と言えど60年前の作品だしな」という冷めた視点で見はじめたが、
開始10分で困窮する村人の一人として映画の世界に引き込まれていた。
この作品、今日の邦画に欠けている諸々が詰まってたような気がする。
・これでもかと汚しまくった人・物・映像。(みんな乞食みたい)
・秀逸なセット+優れたカメラワーク+泥臭くリアルな殺陣の三位一体。
・冗長・緩慢な描写の排除。(こいつは俺だ!という一言で観客に全て悟らせる)
なんというか、全てにおいて格が違った。背伸びとかでなく、本気でそう思った。
こんな邦画はもう生まれないのだろうか。シンゴジで活路が開かれたかと思ったのだけど。。。
*追記
おお、思いの外伸びてる。。。
あの頃のような漫画チックな演技
ああいう明朗快活な演技の方が好きだな。
yashinegi 邦画の人材はアニメに流れちゃったからしゃーない。「切腹」とか「拝領妻始末記」とか観ると、俳優や監督よりもまず、殺陣や作法を指導できる人がいなくなったんだなあと実感できるよ。
仲代達也の殺気と現代音楽のような劇伴の緊張感の相乗効果は失禁モノ。
リメイクは見てないけどやっぱよくなさそうだな。
「拝領妻始末記」も気になってたところだった。見てみる。
本当にこれ。天涯孤独になった婆さんとかいちいち説得力が凄い。
myaoko 昔に比べて、最近の作品は平易である事を求められている気がする。言葉遣いもストーリーも。現代の作品で「お前は俺だ!」の一言で全てを悟らせるシーンを、何の横槍もなく撮らせてもらえるかどうか…
あのシーン、鳥肌立って泣きそうになった。
今の邦画だったらお涙頂戴の安っぽい回想シーンが入るんだろうな・・・w
久々に邦画でほぼ純粋な冒険特撮活劇を見れて大満足だったけどな。
アニメ臭さ・人物の掘り下げ皆無・噴飯ものカヨコちゃん・ムラのあるCGとか差し引いてもお釣り来るよ。
パシリムやゴジラ2014とか本来なら日本がやらなきゃいけなかったんだからさ。作るの遅すぎるくらい。
まあ、まだ生傷の震災原発をフレーバーに取り込んで凝ったものを仕上げたんだから良しとしなきゃ。
今日日の邦画界であれだけのエンターテイメント性の高さは特筆すべきでしょうよ。実際売れたし。
*追記2
ブコメ、正直にまだ見たことないって言ってくれる奴がいてくれて嬉しい。
是非、これを機に見てみてくれ。ぶっ飛ぶぞ。音声不明瞭なので字幕付きオススメ。
あと「今更七人の侍w基礎教養だろw」みたいな意見が出てるけど、
入門者にいきなりジャブを食らわせて萎縮させるようなこの態度はホント改めた方がいい。
これこそがガチのマウンティングだと思うし、古典的なものが敬遠されてしまう要因だろうに。
「Hello world」で喜んでるプログラミング初心者を「うはwそんなん誰でも出来るしw」と中上級者が嗤うことの醜さに気付け。
「ほー、面白かったか!黒澤だとこんな面白いのもあるぞ!見てみろ!」って方向になんでならないかなあ。
こういう権威主義的な奴は門番気取りでそのジャンルの未来は暗いものにしてしまっている。
俺は映画詳しいなんて一言も言ってないし、「恥ずかしながら」って書いたのもそのせいだ。感想も頓珍漢かもしれない。
現在の邦画を貶し気味に書いたのは悪かったけど、「今の邦画ツマンネ」的な意見がリアルでもSNSでも増田でも散見されたから便乗した。
実際に俺の目にした近年の邦画では「七人の侍」ほどの満足感を得られることは出来なかった、という実体験に基づいてるし、
周りの老若男女にこの話したけど殆ど名前認知だけで見たことなかったし、純粋にみんなに見て欲しいから書いた。
俺はアニメが苦手なんだけど「●●(ジブリ作品)見たことないとかwお前本当に日本人か?w」と
BUMP OF CHICKENというバンドがある。chikenではない。このバンドのファンだったおかげで、中学生の頃の英単語のテストでスペルを正しく覚えることができた。そういう意味では学業に貢献しているバンドであると言える。
俺は中学の時にCD貸してくれたやつがいて、そっからハマっていった。
そっからまあ色々あって、車校でたまたま知り合った奴らとBUMPのコピバン作ったりして、ライブハウスで歌ったりもした。すまん嘘だ。俺はドラムだったから唄は歌ってない。ライブハウスでポコチャカやったりしていた。
もちろん、ライブにも行った。ファンから「チャマ」って呼ばれてるベースの人(直井さん)がいるんだが、ずっとピョンピョン跳ねてんの。ずっと跳ねてて演奏できるんだから、やっぱプロすげーなとか思った。あと同じドラムスとして、ドラムの升って人に注目してたんだけど、MCとかでも全然しゃべらなかった。無口なのか。
で、ライブ行ったりすると分かるんだが、BUMPって熱狂的なファンがメチャクチャ多い。他のバンドのライブにも何度か行ったし、他のバンドにもそりゃあ熱狂的なファンはいるんだろうけど、BUMPはちょっと多すぎだろってぐらい多い。俺が行ったライブ会場では、終わった後に「フジくん(※ボーカルの藤原さん)の声がきけたよぉ~」「藤君ありがとう~」とか言って泣いてるやつメッチャ多いの。泣くとかじゃなくて号泣。こう言っちゃ何だが、宗教の信者ってこんな感じなんだろうなって思った。その後ネットで「ファンが痛いと思うバンド」堂々の1位を取ったという事実を知り、さすがの俺もちょっと泣いた。・・・ウソである。涙なんか見せないんだから!
(※現在はさすがに挙がってないと思う。調べてないが。当時は他にRADとかエルレとかの名前もあった。両方好きだった俺はさらに泣いた。)
まぁだから、ネット上とかで宗教戦争かってぐらい荒れてるのよ。もう完全に荒野ですよ荒野。「ヒャッハー!」とか言ってモヒカンが新参のファンから種もみを強奪とかしてんの。なんだよそれ世紀末救世主伝説かよ。藤君はケンシロウかよ。でも聖飢魔IIはサイコーだよな。お前も蝋人形にしてやろうか!
いやもちろん良識のあるファンが多いって事は知ってる。黙々と子供たちの為に井戸を掘ってるババアみたいな聖人も多い。嘘つけお前、お前のようなババアがいるか。違ったそっちは聖人じゃなかった。ラオウの手下だった。井戸掘ってるのはトヨだった。バット最後だ、母さんと呼んでやれ・・・。母さ~~~~ん!!(号泣)
まぁ読んでもらってだいたい分かってもらえたと思うが、良識のあるファンは多い。
そんな中、迂闊に「BUMP OF CHICKENの好きな曲」なんてものをネットに書こうものなら、火薬庫で火遊びしてるほうがまだ安全である。それどこのバルカン半島だよ。第一次世界大戦勃発かよ。
俺がもし「BUMP OF CHICKENの好きな曲」なんて凶弾をサラエボ事件よろしくネットにブチかますと、世界大戦は起こらないかも知れないが、即座に「はい開示」→「自宅本名特定」→「コラ素材化」→「一生ネットで晒し上げ」のKRSW弁護士コンボをキメられる事はほぼ確実であり、それを避ける為にもBUMPファンは皆一様に口をつぐみ、例えBUMPファン同士の交流の場であったとしても、暗黙の了解のうちに「BUMP OF CHICKENの好きな曲って何?」等という愚かな問いかけはしない。そんな問いかけをした途端に、指をパチンと鳴らし「そいつはオフパコの為だけに参加したエセ野郎だ、連れていけ」と、部屋の外に引きずり出される光景を俺は何度も見てきた。ああはなりたくない。・・・ウソである。俺も何度か引きずり出された。
そんなこんなで、全国に数多存在しているであろうBUMPファンは、息を潜めつつ各地に潜伏している。
諸君!BUMPを心から愛する良識あるファンの諸君!!諸君らはそんな事でいいのか!!真に良識あるもの、優良たるものが虐げられ、悪逆非道の限りを尽くす浅薄な似非BUMPファン気取りが跋扈する、そんな世界でいいのか!!!
否!!断じて否であるッ!!優良が蟄居し、劣等が跋扈するこの世界は、剛毅果断、改革されねばならない!!彼ら劣等は、諸君ら優良による支配でのみ安息の日々を得れると言う事実に、気付かなければならないッ!
奴ら蒙昧な愚民共が自ら気付くことができないというのであれば、我々優良の手をもってして、奴らの蒙を啓いてやらねばならないッ!!(唾を飛ばしながら)
・・・ああ、こうやって扇動する奴がいるから、世界は戦争になるんだなあ、と一瞬だけ考えた。三歩歩いたら忘れた。歩きながらこれ書いてる。・・・ウソである。実際には家でダラダラしながら書いてる。
それにつけても、BUMPの話がしたい。BUMPの好きな曲とか好きな理由とかを思いっきり書きなぐって、
「お前こんなの好きなのかよ!分かってねーな!」
「じゃあお前はどんな曲が好きなんだよ!」
「pillowsのカバーじゃねえか」
「違いますぅー、ミスチルのカヴァーですぅ~。ってか君、『カヴァー』の発音悪いね」
とかやりたい。でも個人を特定されるのは避けたい。あとカバーの発音とかどうでもいい。日本に20年以上住んでる米国人の知人は、日本語で会話するときは日本人と同じ発音で話してた。俺が「外人ってさ、日本語で話す時にもっとガイジンっぽく発音しないの?トマトをトメーイトゥ、とか、タマゴをタメーイゴゥ、とか」って言ったら、怪訝そうな顔で、「タマゴは日本語でしょ?」って言われた過去を思い出した。・・・ウソである。出典はネットのコピペで、俺の実体験じゃない。
・・・と言う訳で、俺の「BUMP OF CHICKENの好きな曲」を書いていく。理由も書く。ランク形式にしたほうが「なんで〇〇が10位なんだよ!ふざけんなよ!」等とより世紀末っぽくなるかなとヨコシマな考えが浮かんだりもしたが、途中まで考えてやめた。漫画とかゲームとか映画とか、よく個人ブログで「本当に面白い、私のオススメする漫画ベスト100ランキング!」とかやってるけど、71位と72位の差がどこにあったのかが気になって夜も眠れなくなった事があったので、ああいうのは本当に止めて欲しい。あとこういうアフィリエイトが目的なだけの互助会クソブログがGoogleのランキング上位にあがってくるのが本当に害悪でしかないし、そういうブログエントリに限って中身が薄い。サジェストも汚染されるし、あれで得するのって金儲けしてるクソ互助会連中だけじゃねえか。こっちはただ単純に面白い作品知りたいだけなんだよ。あと順位は固定なのかよ。変動しないのかよ。年月とか気分とかでそんなもんいくらでも変わるだろ。互助会連中もブクマで「参考になりました!」とか「いつも素晴らしい記事ですね!」とか、お前らそれしか言えねえのかよ。せめて「〇〇好きなら、ランキングにはないですが△△もオススメですよ!」ぐらい書いとけよ。amazonのアフィリンクでも添えてくれればゴミ度合いが増して尚良し。
BUMPは隠し曲も含めてほぼ全部好きなので、現在音源がリリースされてる全ての曲の好きなところとかを書いても良かったんだが、冒頭の「俺とBUMP」にちょっと行数を使ってしまったので、5曲ほど書き連ねたい。
■リトルブレイバー
BUMP OF CHICKENというバンドがインディーズレーベルでデビューした際のアルバム、「FLAME VEIN」の中の1曲。
映画や音楽業界では、よく「デビュー作品には、すべてが詰まっている」と言われる。完全に首肯する訳ではないが、何かのきっかけがあってファンになったアーティストの作品群を聴いていくと、「これいいな」って曲がデビューCD収録の曲って事はまれに良くある。
バンドでも映画でも漫画でも、「表現手段として自分にはこれしかないから、これで発表した」っていうのはあるんじゃないだろうか。別に「カネ!名誉!オンナ!」が動機でも作品が良い物であれば一向に構わないのだが、特に若い頃って「なんだかよく分からんがとにかく俺はこんな感じのなんか俺的にスゲェイケてる何かをやりたい!!」みたいな、思春期特有のモヤモヤとかがあるじゃん。
で、行動力があるやつはモヤモヤしてるだけじゃなくて、実際に行動する。液タブ買ってきてpixivに絵をアップしたり、大学の映研に入って自主制作でなんだかよくわからん作品を撮ったり、楽器もできやしないのにバンドを組んだりする。そんな感じだから、初期のころの作品にはその人の「やりたいこと」が詰まっている、という理論は分からなくもない。
BUMPも御多聞に漏れずそんな感じだ。今リトルブレイバーを聞くと、最近の楽曲と比べて演奏技術面での拙さが目立つ。だが、そんな事はお構いなしに、BUMPの、メンバーの、藤原の、「俺の曲を聴いてくれ!」って感じが伝わってくる。後発の「グロリアスレボリューション」あたりの楽曲でもそうだが、原始的と言うかなんと言うか・・・。英語だと"primitive"って単語が一番しっくりくるが、聴いていてとても心地良い。
■リリィ
インディーズ2枚目のアルバム「THE LIVING DEAD」の中の1曲。
BUMP藤原の書く歌詞は各方面から好評を多々得ている。(ちなみに、BUMPの楽曲はほぼ全て藤原が作詞作曲している)曰く、山田かまちの再来だとか、叙事詩的であるとか。ミスチルの桜井さんも、「メンバーに入れて欲しいぐらい好きだ」と公言している。
BUMPの曲(歌詞)には、「モノガタリ的」なものがいくつかある。ストーリーラインのようなものがあって、登場人物的なものがあって、結末がある。「モノガタリ的」なBUMPの曲で一番有名なのは「K」という曲だろうか。Youtube等で、有志の作成した動画を見た事がある方も多いのではなかろうか。公式では「カルマ」という曲は人形劇としてリリースされているが、こちらもモノガタリ的な曲として挙がることが多い。くそっ、それにしてもニコル見つからねえ・・・。
そういった点から、「叙事詩的」と言われることも多いBUMPの楽曲の中で、俺がオススメしたいのが「リリィ」だ。
ストーリーラインはこうだ。バンドのボーカルっぽい男と、その彼女らしき女性の話。男には色々と苦悩があるようだ。
これが藤原自身の話かどうかは知らない。
続きは歌詞を見ながら聴いてもらえばいいとして、この曲の中で俺が良いなと思っている点は、「歌詞が荒い」「言わない」の2つである。
まず「歌詞が荒い」点。「出てこい!ウソツキめ!」とか、「ブチまけた」とか、最近のBUMPの楽曲ではなかなかお目にかかれない荒々しい歌詞が並ぶ。これが男の苦悩している様子が伝わってきて良い。もっと言ってしまうと、伝わりすぎて辛い。対する女性側に関係する歌詞が終始穏やかなのも対比としてより一層深く伝わってくる。
もうひとつの「言わない」点は複数ある。例として歌詞をいくつかあげるが、JASRACさんお願いですから個人の特定とか使用料の請求とかやめてください。何でもしますから!
膨れたポケット 裏返すとホラ 出てくる弱音の数 一日分想像つくかい?
「実際に弱音という物質がポケットに入っている事態は想定し難い」とか、そういう部分はどうでもいい。「お前に俺のポッケに入ってる一日分の弱音の数が想像つくか?」という問いは、「弱音が多い」という事である。だが、「弱音が多い」とは言っていない。まあ比喩表現のある歌詞なぞ世界にゴマンとあるだろうが、藤原の書く歌詞は、(特に叙事詩的な楽曲において)絶妙なシラブル数と相まって、いわゆる「世界観の構築」に一役買っている。
強がりの裏のウソを 放った ブチまけた
終電を告げる放送 慌てて掛けて行く人 右手に君の左手 もう放さなきゃ
「ブチまけた」後、場面がいきなり「終電を告げる放送」になる。その間に何があったのかは言わない。
思うに、日本語と言う言語は表現力に優れている。同じような事でも、微妙な差で違う表現にする。おそらく皆は普段は気にしてないだろうが、「見る」という表現だけでも、「見つめる」「眺める」「観る」「見上げる」「見渡す」「見通す」など多岐にわたる。こと表現力という方面において、日本語に比肩する言語はそうないだろう。
■Stage of the ground
メジャーデビュー1作目のアルバム「jupiter」の中の1曲。
一般の人に「BUMPと言えば」と問うと、「天体観測」という答えが多く返ってくるかと思うが、当時は「天体観測」で爆発的ヒットを飛ばしたインディーズバンドが移籍し、メジャーデビュー後に満を持して放つ渾身の1枚!って感じだった。・・・らしい。
「らしい」というのは、当時の俺はBUMPどころか音楽を全然聞いてなくて、ずっとポケモンばっかやってたからである。この話は熱心なBUMPファンから聞いた話なので、当時の「世間一般の」空気感としては間違ってるかも知れない。でも、そんな俺でも一応「天体観測」という曲があって、英会話講師並みにオーイエーアーハンって言いまくっているというのは知っていた。一応補足しておくと、「天体観測」もjupiterの中に入っている。
BUMPの選ぶ言葉には「jupiter」「天体観測」「COSMONAUT」「プラネタリウム」「orbital period」等、宇宙的な・・・もう少し正確に言えば、「宙的な」用語が多く並ぶ。ここまでアピールしておいて宇宙が嫌いという事はないと思うが、「Stage of the ground」をそう言った視点で聴くと、なかなかに味わい深い。
この曲は藤原の友人に子供が生まれて、その記念か何かで作ったらしい。自分がその子供だったらメッチャ嬉しいが。
それはともかくとして、宇宙である。「夜空の応援席」「あの月も あの星も」など、宙を想起させる歌詞が詰まっている。「那由多に広がる宇宙」とあるが、那由多というのは万とか億とかの「数の単位」の一種である。他には「恒河沙」「無量大数」とかもある。「1那由多」で、1の右に50個だか60個ぐらいゼロがついてるぐらい大きな数字、それが那由多なのだが、一説によると、こういった数字の単位は古代の人々が「星の数を数える」為に用いた、という説がある。
友人のエピソードや、那由多という単位の事などを思いながら聴くと、なんだか自分が宙に浮かんで地球を見下ろしているような、そんな不思議な気分になれる。もちろん、そんなエピソードを知らなくても、藤原の優しさと言うか、応援している気持ちと言うか、よくある表現で言えば、「聴いていて元気になれる」曲。
■Hello,world!
「そういえばシングル曲全然紹介してないな」と思ったので。あと昔の曲が多いんで、最近の曲の中からという事で1曲。
シングル曲だが、「Butterflies」というアルバムにも収録されている。最近放送された「血界戦線」というアニメのOPテーマとして放送されていたので、聴いた事のある方も多いのではないだろうか。
さて、皆さんは「Hello world」を知っているだろうか。「何言ってんだコイツ頭おかしいんじゃねえのかBUMPの曲だろ?」と思われるかもしれないが、とある業界において、この言葉は特別な意味を持つ。それは、プログラム業界である。
本職のPGやcoderの方々からは「何だよプログラム業界って。そんなのねーよ」と言われるかもしれないが、まあとりあえず聞いてほしい。プログラム言語というのは本当に数が多くて、「プログラムを書いてご飯を食べている人」でも、仕事で書くのは2言語か3言語ぐらいである。就職時の面接で「10言語書けます!」という奴は信用してはいけない。雇った後にクソみたいなコードを書いた挙句CVSをグッチャグチャにしてある日突然遁走するのがオチだ。雇ってはいけない(戒め)
だが、仕事ではなく、趣味でいくつかの言語を使って書いているという人もたくさんいる。逆に仕事上に必要に迫られて、新しい言語を習得するハメになる人もいる。Swiftとかの比較的新しい言語なんかは当然そうなるケースも多い。まぁプログラム言語を習得する動機は人それぞれなのだが、覚えたてのプログラム言語を使って一番最初にやる事が、「Hello world」である。嘘ではない。詳しくは以下を見ていただきたい。
https://ja.wikipedia.org/wiki/Hello_world
ともあれ、「Hello world」には意味がある。それはつまり「『世界』に初めて降り立ったものが発する言葉」である。あのビルゲイツも、twitterアカウント開設時の第一声は"Hellow world."だった。それほどに歴史と伝統ある言葉であり、作法なのだ。
ここでBUMPの「Hello, world!」を改めて聴いてみる。
ご自分だけがヒーロー 世界の真ん中で 終わるまで出ずっぱり ステージの上
どうしよう 空っぽのフリもできない
さあ目を開けて 君は強い人
その目が見たから すべては生まれた
世界は終わる。だが、また新しく生まれる世界もある。いくらでも生まれてくるのだ。よく自殺報道が取り上げられたりしているが、とても悲しい。自殺なんてせずに、そんな世界は終わらせてしまえばいいのだ。「世界を終わらせる」手段は自殺なんかでは断じてない。
世界をはじめよう。そして、その新しい世界で、高らかに叫ぼう「ハロー、ワールド!」と。
藤原は特にそんな事を意識してないだろうが、俺はこの曲を聴いてると本当に勇気が出てくる。
■バトルクライ
もう5曲目かよ。早いよ。まだまだ書き足りねえよ。あと20曲は書かせろよ。って言うか、ここまで読んでくれてる人ってあんまりいないような気がしてきた。あまり長くなると読むほうもダルいだろうし、もし他に書く時があれば、そん時は別の増田で書くわ。
とりあえず5曲目を紹介する。これは記念すべきBUMPのデビューCD「LAMP」の中に収録されていたのだが、LAMPが廃盤となった為、急遽「FLAME VEIN」を「FLAME VEIN+1」と改題し、バトルクライを追加したという話がある。そのせいかどうかは知らないが、歌詞カードに歌詞がない。何も知らない人からすれば「???」となること請け合いである。(歌詞はCDトレイの下に書かれている)
デビュー作なので、「リトルブレイバー」で触れた通り、演奏技術に関してはかなり未熟である。だがBUMPにとってそれはマイナスではない。粗削りだが「バトル」であり、「クライ」なのだ。
この曲も叙事詩的である。「自分に嘘をついたが、その嘘が本当になったんでまだ頑張って歌ってる」奴が出てくる。藤原本人かどうかは知らない。仮にそうだったとしても、インタビューでは「いや、あれは別に・・・フィクションとして聴いて頂ければ」とか言うだろう。俺ならそうする。
ともあれ、まだ頑張っているその男は、戦っている。何と戦っているのかは知らない。そして叫んでいる。
ずっと強がってんだ 強がって またウソついて
ひとつのウソにさえ縋る僕の そのウソが 誓いに変わる
BUMPの唄には「応援するスタンスの曲」が割とある。「才悩人応援歌」というド直球の題名の曲などもある事にはあるが、だいたいは「応援している」という明確な意思表示はしていない。先ほどの「才悩人応援歌」だって、歌詞中には「応援」という単語は出てこない。
藤原の書く歌詞世界は、概ね「俺はやってるぞ、さあ、お前はどうなんだ」的な、言葉で語らず背中で語る的な世界観の楽曲が多い。歌詞がある時点で「言葉で語ってしまっている」のだが、明確な意図・意志は常にボカしている印象だ。「バトルクライ」では、そんな藤原の「藤原節」とでも言うべきケレン味が存分に味わえる。
実は、冒頭に書いた「中学の頃に友達が貸してくれたCD」がFLAME VEIN+1だった。当時は音楽なんかに全然興味がなくて、どっちかって言うとポケモンばっかやっていた思い出しかない。そんな俺に「絶対ハマるから!いい曲だから!!」と執拗にすすめてきた級友を当時は大変疎んだものである。今では素晴らしいバンドを紹介してくれてありがとうという感謝しかない。
当時は全く興味もなかったし、聴く気もサラサラなかったのだが、諸事情があって結局俺は家にCDを持ち帰って聴くことになった。中学当時の俺が聞いても下手である。「あいつ、こんなバンドすすめてきやがって・・・こいつらの何がいいんだ?」とポケモンやりながら思っていたが、「バトルクライ」を初めて耳にした時、頭を撃ち抜かれたかのかと思った。
俺はGBAの電源をすぐに切った。セーブしてなかった。まあ厳選中だったんでどうでもいい。とにかくこの曲だ。この曲はヤバい。人の頭を平気で撃ち抜く危険物だ。
危険物として「セックス、ドラッグ、ロケンロール」の3つがよく挙がるが、なるほどよく理解できる。この曲はROCKだ。俺は未だ「ロックとは何ぞや?」という問いに回答できる自信はないが、これだけは断言して言える。
BUMP OF CHICKENの「バトルクライ」、この曲は、ロックだ。
そういう事情もあって、俺の中で「バトルクライ」はちょっと特別なところに位置している。勇気が欲しいとき、悲しいとき、気分を切り替えたいとき、ヒマなとき、ノリノリになりたいとき、戦いに赴くとき、誓いのとき、大事な時。
俺はいつもバトルクライを聴いてきた。ただそれだけの、まあだいたいそんな感じの曲である。
◆(隠し曲)星のアルペジオ
BUMP OF CHICKENの出すCDには、恒例として「隠し曲」という概念がある。
CDプレーヤーだと色々複雑な手順な必要らしいが、iTunes世代からするとあまり意味はない。(ただ、無音部分が50分ほどあるせいで曲の長さが異常に長いケースがあったり、ダミートラックが大量に生成されたりするので、知識のある方はmp3やAACの無音部分はカットしたり、ダミーを除去したほうがいいだろう。)そんな隠し曲の中から1曲。シングル「車輪の唄」の中に隠されている。
隠し曲は、普段のBUMPの楽曲と比較した場合、全体的にネタ的な要素が多い。メンバーも(ちょっと違う方向に)ノリノリでやっている。ライブではほぼ演奏されないが、「DANNY」という隠し曲だけはまれに演奏されることもある。
この曲はクリスマスソングなのだが、恋愛要素はない。というか、この曲の主人公である「ある男(BUMPメンバーの誰かだという噂がある)」は、12月24日に自宅でクリスマスパーティーの準備をしているのだが、呼んでいた人が誰も来ずに、一人待ちぼうけている様子を歌っている。巨人の星のアニメで似たような展開があるが、その時の星飛雄馬は机をひっくり返し、準備していたケースをグシャグシャにして泣き崩れていた。この曲の「ある男」がその後どうなったかが気になる人は、是非各自で音源を聴いてみて欲しい。
メンバーの実体験を基にしているのかどうかは定かではないが、妙に感情がこもっていて涙無くしては聞けない1曲となっている。繰り返すが、BUMP OF CHICKENのギター担当の増川さんとかは一切関係ないので、奇妙な詮索はしないように。
意識低い企業内研究者です。プログラミングはサブウエポン。だけど趣味でも勉強してる。
働き方改革のせいで早く帰れって言われて、酒のみながら今これを書いてる。
C言語とかC++は・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、
WindowsのAPIを使って複雑なプログラムを作りたいわけじゃないのでwhileとかifとか基本的な構文だけ覚えるだけで満足。
組み込みプログラミングではC言語はいまだに現役。お金も普通に稼げると思うよ!次代のCOBOLと化しそうで怖いとこはあるけど。
Javaは・・・使える人が多いからあえて今から学習しなくてもいいような気がする。
文字列の結合だけでもダメやり方と良いやり方があるらしくて、何かPHPのようにその言語特有のセオリーみたいなのを覚えるのが面倒くさそうなので入門の時点で学習するのをやめた。
セオリーとかあるかもしんないけど速度とか気に揉むまえに書いて測れ。たいていは杞憂か、あるいはCPUパワーで殴れるから。
Goは・・・HTTP/2が使えるから学習してる。他の言語だとnghttp2をインストールしないといけないようなのでGo便利だと思ってる。
ライブラリの選択肢が多すぎるのでこういうのが作りたいってときにこれを使うのがいいよっていうのが知りたい。
GUI作るのにライブラリありすぎてどうやって選べばいいのかさっぱりわかんない。
Goでデータベース扱うならこれを使え、だけどMySQLしか使わないならこれを使え、あっSQLiteならこっちのライブラリ使うと便利みたいなこういう情報が欲しい。
GoでGUIつくるの?あんまり普通じゃない気がする。軽量プロセスのうまみがそんなない(詳しい人に否定されそうだけど)
普通にC#(mono/.net)かwebアプリにするかで良くないか?
ただ、言語をあれもこれも覚えるのって僕は意味があるのかなという思いもある。
広く浅く学習するより、狭く深くいきたいとおもうけど、paizaでCランクしか取れない。
twitterで有名な人てやっぱりSランクとか余裕なのかな、こういうのもいろんなプログラマーに聞いてみたい。
一応著名なプログラマーをTwitterでフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像をRTしてたりと、twitterはメインの情報収集としては利用してない。
twitterやってるプログラマーって勉強会とかオフ会に参加してるようなリア充の人ばっかりなので、肩身が狭いから自分からリプは送ったりはしない。
ファンがたくさんいるのに最近ニコ生配信してくれないchokudai先生みたいに、アルゴリズムを学ぶのがいいのかな。
アルゴリズムは使うものだ書くものではない!高階関数とかテンプレートプログラミングとかその辺勉強するといい。
あと計算が制限時間内に終わるなら総当たりが最速で品質も高いぞ。
どうしてVimかというとプラグインが多いしIDEっぽくできるから。
Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。
NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。
Vim知らない。Linux使うならVimかemacs使えるだろみたいな雰囲気あるけど、GUIならgedit, CUIならnanoでいいよね。
パソコンのスペックもどのくらいのものを用意したらいいのかわからない。
10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートだからプログラミングに向いてないのかもしれない。
VirtualBox上のubuntuでMySQLをコンパイルすると2時間20分ぐらいかかった記憶がある。
CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。
スペックにお金をかけることで時間の節約ツールの選択肢が増える
EclipseなどのIDEが支障なく使えるレベルのスペックってどのくらいするんだろう。
3年前のCore i7, SSD, 8GB。最近はもっぱらJupyter。
Pythonは・・・・機械学習する上で避けて通れないけど、今のPCだと無理。
Pythonはいいぞ、機械学習だけじゃなく計算系はエクセルじゃなくてJupyter使う。でも周りはエクセルつかってる、勿体ない。
使ってないけど最先端の研究では機械学習使って当たり前感があってそろそろヤバい。
僕は中学生の頃、いじめにより心の余裕なんてなかったから勉強どころではなかったけどもっと英語の勉強しておけばよかったと後悔している。
迷宮にいる感じ。
なんとなく、プログラミングじゃないほうがいい気がするなあ。
C言語とかC++は・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、
WindowsのAPIを使って複雑なプログラムを作りたいわけじゃないのでwhileとかifとか基本的な構文だけ覚えるだけで満足。
Javaは・・・使える人が多いからあえて今から学習しなくてもいいような気がする。
文字列の結合だけでもダメやり方と良いやり方があるらしくて、何かPHPのようにその言語特有のセオリーみたいなのを覚えるのが面倒くさそうなので入門の時点で学習するのをやめた。
Goは・・・HTTP/2が使えるから学習してる。他の言語だとnghttp2をインストールしないといけないようなのでGo便利だと思ってる。
ライブラリの選択肢が多すぎるのでこういうのが作りたいってときにこれを使うのがいいよっていうのが知りたい。
GUI作るのにライブラリありすぎてどうやって選べばいいのかさっぱりわかんない。
Goでデータベース扱うならこれを使え、だけどMySQLしか使わないならこれを使え、あっSQLiteならこっちのライブラリ使うと便利みたいなこういう情報が欲しい。
ただ、言語をあれもこれも覚えるのって僕は意味があるのかなという思いもある。
20の言語でHello World出来るより、1つの言語でいろんなアルゴリズムを知っている方がすごいと思う。
コミュ症がフランス語や英語やドイツ語覚えても、使う機会がないとまったく価値がないと思う。
広く浅く学習するより、狭く深くいきたいとおもうけど、paizaでCランクしか取れない。
twitterで有名な人てやっぱりSランクとか余裕なのかな、こういうのもいろんなプログラマーに聞いてみたい。
一応著名なプログラマーをTwitterでフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像をRTしてたりと、twitterはメインの情報収集としては利用してない。
twitterやってるプログラマーって勉強会とかオフ会に参加してるようなリア充の人ばっかりなので、肩身が狭いから自分からリプは送ったりはしない。
ファンがたくさんいるのに最近ニコ生配信してくれないchokudai先生みたいに、アルゴリズムを学ぶのがいいのかな。
コードを写経しても覚えられないし、仕組みは理解したけど自力でコードが書けない。
どうしてVimかというとプラグインが多いしIDEっぽくできるから。
Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。
NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。
パソコンのスペックもどのくらいのものを用意したらいいのかわからない。
10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートだからプログラミングに向いてないのかもしれない。
VirtualBox上のubuntuでMySQLをコンパイルすると2時間20分ぐらいかかった記憶がある。
CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。
スペックにお金をかけることで時間の節約ツールの選択肢が増える
EclipseなどのIDEが支障なく使えるレベルのスペックってどのくらいするんだろう。
ノートでCore i3、メモリ4GBにランクアップしたらいけるのかな。
他人がどんなスペックのPCで何のツール使ってプログラミングしているか知りたい。
Pythonは・・・・機械学習する上で避けて通れないけど、今のPCだと無理。
あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。
過大請求されるの怖いし、トラブルが起きた時に英語でコミュニケーション出来ないから。
僕は中学生の頃、いじめにより心の余裕なんてなかったから勉強どころではなかったけどもっと英語の勉強しておけばよかったと後悔している。
迷宮にいる感じ。
RailsとLaravelくらいは触れる。
でもPlayとかはHello Worldくらいしか作ったことない
でもRailsのソース見て内容を理解しろと言われても多分無理。
AngularとBackboneくらいは触れる、
けど最近のフロントエンド界で大量に出てくるツール群には全然ついて行けてない。
ReactとかAngular2はビルドするまでが面倒くさくて投げた。
インフラ、ネットワーク全然わからない。この前ネスペ受けたけど午前で落ちてそうだったから途中で帰った。
というか動的型付け言語があんまり出てこないステートフルな分野のアプリを全然作ったことない。
言語仕様くらいはわかるけどデスクトップアプリとかは未だにストップウォッチくらいしか作れない気がする。
OS、勿論作れない。
Git、無理
Atom、うん作れない。
Office、無理無理
Steamのクソゲーすら無理だし、もうむしろ増田くらいしか作れない気がしてきた。
例えば学生時代の友達に「一緒にゲーム作ろうぜ!」とか誘われてもあんまり役に立てない自信がある。
就職するまでエンジニアってもっとなんでもできるものだと思ってたよ。
ネットにはスーパーエンジニアがいっぱいいるからよくわからないけど、もしかするとこんなもんなエンジニアっていっぱいいるのか
凄く将来が心配だ。
なんか「プログラミングはそんな簡単じゃない」みたいな話題があったじゃないですか。
なんかうまく言えないんだけど、プログラミングに限らず、今の世の中は若者がITのスキルを得るのにかかるコストがデカくなりすぎてないですか?
俺ら40絡まりのオッサンどもはマイコン、パソコンの黎明期あたりから趣味としてITに触れていて、
できることも限られていたから、その辺のパソコン少年的凡人だってH/W S/Wの根本から触れてた人が多いと思う
でもって元々大したことができなくっても、動くだけで楽しかったしね
それが今では、フロントエンドのアプリを作るってならリッチな統合環境とかライブラリが揃ってて、
別にH/Wのハの字も知らないでも結構見栄えするすごいものが作れちゃったりするわけじゃないですか
日常生活にだってものすごい能力をもったものが当たり前のように手のひらに収まってる
こんな環境では、よっぽど高い意識と能力を持った奴でないと、H/Wの基礎からそれを動かすS/Wをキッチリ学ぼうなんて思わないでしょ
手のひらですんごいものが動いてるのに、Hello world!やったって面白くもなんともないよね
よしんば興味をもったところで、今度は突然40年前に逆戻りだ
しかも目の前で起こっている出来事からイメージがリンクしにくいから凡人には理解し辛い
オッサンどもはテクノロジの進化とともに自分たちも年を重ねてるから、頭が凡人でもなんとかかんとか「流れ」で理解していけるし、理解するための時間もたっぷりあった
だから別にそれほど高い意識とか能力が無くても、ちょっとしたゲーム好きから始まった奴とかでもそれなりに基礎を体で理解していて、みっちり鍛えられてはいないけど
全方位まぁまぁ戦える在野の武士っぽい奴らがいて、そいつらがこれまでのITをそこそこ支えてきたように思う
ところが今の若い連中は下手すりゃそれを数年で詰め込まなきゃいけないし、とっかかりが現実とロングディスタンだから明確な目標とか意思がないとモチベが保てない
そりゃフロントエンドのアプリはいいかもだけど、ITを支えるのはそこだけじゃなくて、今だってH/Wからすべて理解したうえでの領域に人材はたくさん必要な筈
どっこい、昔は沢山いたはずのソコソコかもしれないけどまぁ戦える在野の武士は絶滅寸前で、武士といえば兵法も知らない農民のバイトか、
逆に超一握りの生粋の武将だけになっちまったような気がしてるんだが、これからのITはそれでやっていけるんかいね?
教えて!エロい人!
コンピュータ言語って世の中に山ほどあるけれど、それぞれの言語ごとに特徴がある(特徴のない言語は廃れていく)。
あまり言語に詳しくない人相手に、俺の考えるそれぞれの言語の特徴を書いてみようと思う。
なお、取り上げるのはある程度広く使われている言語に限りたいと思う。
言語名 | 概要 |
---|---|
C言語 | 高速動作するバイナリ生成を目的としたコンパイル言語。だいたいどんな環境でも使えるがバグ出やすい |
C++ | マニアック言語、高速、習得大変 |
Java | サーバで高速かつ安定に動作するコンパイル言語、大規模でよく使われる |
C# | 主にWindowsクライアント用のバイナリ生成に使われるコンパイル言語 |
Perl | 広く使われていたが今は若干時代遅れのスプリクト言語。汚い |
Python | Perlにかわって主流になりつつあるスクリプト言語。綺麗 |
PHP | Web開発にフォーカスされたスクリプト言語。一世を風靡した。 |
Ruby | とても綺麗なスクリプト言語 |
JavaScript | ブラウザで実行出来る唯一の言語。言語自体はいまいちだが、ブラウザの事情で需要あり |
Go | サーバサイドで安全かつ高速動作するバイナリ生成を目的としたコンパイル言語 |
メモリに直接アクセスして書き換えるといったコンピュータの機械語に近い言語構文を持つため、高速な処理が可能な言語。
コンパイラの歴史も古く環境も整っており、組み込み系などを含むほぼ全ての環境で利用可能な万能言語。
一方で、メモリの確保や解放といった基本的なことも自前で処理する必要があるため、コーディングの効率が良くなく、多種多様のバグを生みやすい側面も持つ。
ある程度以上のエンジニアであれば常識として知っておきたい言語だが、初めて覚える言語としてはあまり適当ではない。
C言語にオブジェクト指向を導入した言語。C++言語とはあまり呼ばれず、しーぷらすぷらす、もしくは略してしーぷらぷら、しーたすたす、などと呼ばれる。
C言語の速度を維持したままオブジェクト指向やテンプレートなどの効率的な記述を可能にしようとした意気は真っ当だったのだが、
当時最先端だった色々な技術や思想を叩き込んだおかげで、あり得ないほど複雑化した言語としても有名。
「C++を理解しています」という人はほぼ初級者で、本当に理解していくほど「C++には自信がありません」となっていく。
速度を追求する分野では良く使われている。完全に理解するのは難しいとしても、テンプレートくらいまでは理解しておくと仕事上なんとかなる…かもしれない。
サーバサイドで安全にコードを実行する目的でよく使われる言語。長い歴史を持っており、比較的高速に動作する。
当時は画期的だった「バーチャルマシン」や「ガベージコレクション」という機構を備え、CやC++でよく問題になるメモリの解放忘れというバグを生まず、
サーバサイドなどで何千時間と動作するソフトウェアに適した言語として受け入れられた。
必然的にエンタープライズ用途で利用されることが多く、各種ツールなども豊富。人海戦術がしやすい言語という側面も出てきた。
一方でブラウザにHello Worldを出すだけでも大変な労力を必要とするので、スタートアップなどではあまり使われない。
ガラケーのアプリや(ちょっと違うが)Androidなど、クライアントサイドでも使われることがある。
プログラミング言語で最初にJavaを覚えるという人は結構多いが、仕事としてJavaを使うのは大抵SI系の業務になり、なかなか辛い労働を強いられる可能性が高い。
クライアントサイドで安全にコードを実行する目的でよく使われる言語。こちらも比較的高速に動作する。
元々はWindowsのクライアント用の言語であり、Javaとは違ってクライアント向きのAPIが多数ある。
マイクロソフトが開発した言語ということもあり、マイクロソフトの優れた開発環境が利用出来るので開発効率は非常に高い。
Unityなどでも利用可能であるが、基本的にはクライアントの実行形式ファイルを生成する目的が大きく、サーバサイドではあまり使われない。
自作のゲーム開発をしたいのであればうってつけの言語。初めて覚える言語としても十分に良いだろうが、C#を使う仕事は近年無くなりつつある。
ほぼ全てのLinux系ディストリビューションに含まれており、ツールや様々な用途で使われていた。
上に紹介したC、C++、Java、C#のようなコンパイル言語とは違い、(少し語弊はあるが)1行ずつ実行してエラーがあれば止まるスクリプト言語である。
ちょっと開発してすぐに実行ということが出来るのと、コマンドラインでワンラインのコードを読み込ませてちょっとした処理が出来るなど応用範囲の広い言語である。
20年近く前にWebでCGIが普及した時には、ほぼどのようなサーバ環境でも実行可能だったこともあり、Perlを使うことが極めて多かった。
しかし、主に読みづらい言語仕様のせいで、近年新規ではほとんど使われなくなった。既存のコードもどんどん別の言語に置き換えられていることが多い。
日本の大手Web企業の一部が使っているので、そこに就職するために覚えるのもアリっちゃアリだけど、今からPerlをわざわざ覚えるのは強くオススメしない。
後発のスプリクト言語。こちらもほぼ全てのLinux系ディストリビューションに含まれており、それゆえに広く使われている。
インデントまで言語仕様で規定することで、誰が書いても読みやすいコードになるように考えられている言語である。
Perlの代わりに使われることが増えていて、周辺ツールなども充実しており、小規模から大規模までカバーする勢いがある。
ただ、Python2とPython3のバージョン間での非互換性があまり綺麗に設計されていなかったため、そこで混乱を招いていたこともあった。
最近だとマシンラーニング系のライブラリでPythonが使われていたり、海外ではPerlに代わる言語として受け入れられつつある。
Web開発に特化したスクリプト言語。CGIの代わりに使われ始め、一世を風靡した。
以前CGIでWebに何かを表示するには比較的大変な労力を割かなければいけなかったのが、PHPを使うと誰でも即座にWeb開発が出来たので爆発的に普及した。
またphp.netの豊富なドキュメント&スニペットのおかげもあり、開発初期の効率が大変に良い言語である。
残念なことに、言語やAPIの設計がいけていない点が多く、一部の人からは蛇蝎の如く嫌われている。
今でも根強い人気があり、海外でも小規模プロジェクトの最初の開発にPHPを選ぶのは比較的よくある選択肢であるようだ。
Webアプリを開発をしたいという明確な目的を持つ人が、最初に学ぶ言語としてPHPを選ぶのは理にかなっていると思う。
なおこの言語を本気でディスってる人は大体視野の狭いエンジニアであることが多いので、地雷エンジニアを見分けるのにも役立つ。
綺麗なスクリプト言語。日本発で世界的に普及している数少ないIT技術の一つ。
言語仕様が美しく、それゆえにファンが多い。Ruby on RailsというWeb用フレームワークの登場で、Webアプリでの採用例も一気に増えている。
基本的には他のスクリプト言語と同じくサーバサイドでのプログラミングに用いられることがほとんどである。
スクリプト言語で何かを作成するのであれば、Rubyを選んでおけばそう失敗することはない万能言語。
サーバサイドで何かすることに興味を持っているならば、最初に覚える言語としてはとてもオススメ出来る。
一方で、なぜかRubyが採用するWeb側のフレームワーク(具体的にはprototype.jsやCoffeeScript)はいつもクソなので、そちらは深入りしないのが吉。
ブラウザで動くスプリクト言語。ブラウザ戦争が勃発していた18年前、奇跡のようなめぐり合わせでベンダー間の合意が取れ実装された言語。
言語としてはプロトタイプベースのオブジェクト指向という少しめずらしい形式を取っているが、実際にはあまりその特徴は利用されていない。
言語仕様がイマイチで、大変バグを生みやすい言語であり、また関数のスタックが深くなる特性もあり、あまり積極的に使うべき言語ではないが
ブラウザで動く言語が現在これしかないので、大きなシェアを持っている。
一部の物好きがサーバサイドでこの言語を使おうと(主にnode.jsで)四苦八苦している(とはいえ、1つの言語でWebとサーバが完結するのは大きなメリットだ)。
ブラウザで動く唯一の言語のくせにとにかく書くのが面倒ということもあり、多数のAltJSと呼ばれるJavaScriptに変換される別言語を生み出されている。
まあJavaScript本体人が手で書く言語ではない…というのがECMAScript5までの印象だったが、新しい規格が順次導入されており、今後に期待。
Web業界で生きていくならば、好むと好まざるとにかかわらず覚えなければいけない言語である。
最初に覚える言語としては、ブラウザ上でゲームなども作れるし、node.jsでサーバサイドもできるしで、意外とオススメだったりする。
C、C++やJavaと同じでコンパイル言語。サーバサイドで高速かつ安定なバイナリを出力することを目的とされ設計されたGoogle発の言語。
その目的においてはかなり高性能を誇るので、特に速度を要求されるサーバサイドでのプロジェクトでは導入が進んでいる。
それ以外の目的ではあまりこの言語を採用するメリットはないが、ニッチな用途をピンポイントで抑えており、これから広く利用されることも期待される。
コミュニティも活発であり、初めて言語を覚える人が参入すれば喜ばれるだろう。言語としても美しい言語なので、サーバ系のプログラムに興味があればオススメである。
繰り返しだけれど、それぞれの言語ごとに特徴があり、特徴のない言語は廃れていく。
ここに挙げた言語は何らかの特徴があり、何らかの用途で必要なので生き残っている。
その背景を知った上で、ここにある言語は全部ある程度読み書きが出来るようになると素晴らしいと思う。
「プログラムの書き方は知っているが、何をプログラムしていいか分からない」 | キャリア・働き方 | POSTD
http://postd.cc/i-know-how-program-i-dont-know-what-program/
むしろプログラミングしかできないから、何も作れないということに気づくべき。
企画やプロダクトデザインはプログラミングには含まれてない。
絵やサウンドも含まれてない。
要件定義も、DB設計も含まれてない。
模倣すべきはプログラムではなくてプロダクトの方。
僕の場合、ワープロからはじまり、物置に眠っていたBASIC機をいじり倒し、叔父から譲り受けたDOS機をいじり倒し、小学高学年の頃にはプログラマになることを決めていた。
そんな僕も今や一児の父だ。定時で帰れる日は息子に勉強を教えている。彼の理解力や興味に合わせた手書きのドリルを作って、学校の授業ではわからなかったところをサポートしている。今では満点をもらえることも増えてきた。同僚に技術指導をする機会が多いが、当然ながら息子に教えるほうがはるかに簡単だ。
そんな僕が思うこと。
プログラミングを必修化したところで成果は得られない。
プログラミングに入門させるくらいならエクセル教室でもやったほうがいいだろう。どんな業界でも表計算は必須と言えるし、興味があれば思うままに使って遊んで覚えてくれる。子供に教えられる家族も、それなりにいる(期待はできないが)。
ちなみに、表計算は、プログラミングのエッセンスを必要とする。変数、条件分岐、繰り返し、関数、これらはどのようなプログラミング言語の基礎となる概念だ。
さておき、プログラミングを教えるとして、どんな言語だろうが、"Hello World" がはじめの一歩だろう。その次は変数。変数を教えるのは難しい。「箱に入れる」という比喩が理解できる子とできない子に分かれるだろう。四則演算と同様に、ここでつまづくと先はない。それからも、条件分岐、繰り返し、配列、関数、ここまで来れるのだろうか。
プログラミング言語は覚えたとしても、論理の組み立てができなければ、モノはつくれない。言語を覚えることと論理を組み立てることは、必要とする能力が違う。単語を覚えたところで、ネイティブと話すことはできない。人間ならば、単語だけでも曖昧さを補完して理解してくれるが、プログラミング言語は書いた通りにしか動かない。おそらくプログラミングに苦手意識を持つ子供が増えるだけだろう。