「Hello World」を含む日記 RSS

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

2017-04-07

http://anond.hatelabo.jp/20170407112743

意識低い企業研究者です。プログラミングはサブウエポン。だけど趣味でも勉強してる。

働き方改革のせいで早く帰れって言われて、酒のみながら今これを書いてる。

C言語とかC++・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、

WindowsAPIを使って複雑なプログラムを作りたいわけじゃないのでwhileとかifとか基本的な構文だけ覚えるだけで満足。

組み込みプログラミングではC言語はいまだに現役。お金普通に稼げると思うよ!次代のCOBOLと化しそうで怖いとこはあるけど。

Java・・・使える人が多いからあえて今から学習しなくてもいいような気がする。

文字列の結合だけでもダメやり方と良いやり方があるらしくて、何かPHPのようにその言語特有セオリーみたいなのを覚えるのが面倒くさそうなので入門の時点で学習するのをやめた。

セオリーとかあるかもしんないけど速度とか気に揉むまえに書いて測れ。たいていは杞憂か、あるいはCPUパワーで殴れるから

Go・・・HTTP/2が使えるから学習してる。他の言語だとnghttp2をインストールしないといけないようなのでGo便利だと思ってる。

ライブラリ選択肢が多すぎるのでこういうのが作りたいってときにこれを使うのがいいよっていうのが知りたい。

GUI作るのにライブラリありすぎてどうやって選べばいいのかさっぱりわかんない。

Goデータベース扱うならこれを使え、だけどMySQLしか使わないならこれを使え、あっSQLiteならこっちのライブラリ使うと便利みたいなこういう情報が欲しい。

GoGUIつくるの?あんまり普通じゃない気がする。軽量プロセスうまみがそんなない(詳しい人に否定されそうだけど)

普通にC#(mono/.net)かwebアプリにするかで良くないか

ただ、言語をあれもこれも覚えるのって僕は意味があるのかなという思いもある。

20言語Hello World出来るより、1つの言語でいろんなアルゴリズムを知っている方がすごいと思う。

コミュ症がフランス語英語ドイツ語覚えても、使う機会がないとまったく価値がないと思う。

アルゴリズムは使うものだ書くものではない!!

広く浅く学習するより、狭く深くいきたいとおもうけど、paizaでCランクしか取れない。

twitterで有名な人てやっぱりSランクとか余裕なのかな、こういうのもいろんなプログラマーに聞いてみたい。

一応著名なプログラマーTwitterフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像RTしてたりと、twitterはメインの情報収集としては利用してない。

twitterやってるプログラマーって勉強会とかオフ会に参加してるようなリア充の人ばっかりなので、肩身が狭いか自分からリプは送ったりはしない。

ファンがたくさんいるのに最近ニコ生配信してくれないchokudai先生みたいに、アルゴリズムを学ぶのがいいのかな。

深さ優先探索とか理解できない。

コード写経しても覚えられないし、仕組みは理解したけど自力コードが書けない。

コードにする能力ってどうやって鍛えるのか知りたい。

アルゴリズムは使うものだ書くものではない!高階関数とかテンプレートプログラミングとかその辺勉強するといい。

あと計算制限時間内に終わるなら総当たりが最速で品質も高いぞ。

エディタサクラエディタからVimに変えた。

どうしてVimかというとプラグインが多いしIDEっぽくできるから

Vim使う一番の理由は補完が強いのが気に入ってるから

Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。

NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。

Vim知らない。Linux使うならVimemacs使えるだろみたいな雰囲気あるけど、GUIならgedit, CUIならnanoでいいよね。

パソコンスペックもどのくらいのものを用意したらいいのかわからない。

10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートからプログラミングに向いてないのかもしれない。

VirtualBox上のubuntuMySQLコンパイルすると2時間20分ぐらいかかった記憶がある。

CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。

スペックお金をかけることで時間節約ツール選択肢が増える

EclipseなどのIDEが支障なく使えるレベルスペックってどのくらいするんだろう。

ノートCore i3メモリ4GBにランクアップしたらいけるのかな。

他人がどんなスペックPCで何のツール使ってプログラミングしているか知りたい。

3年前のCore i7, SSD, 8GB。最近はもっぱらJupyter。

もっと早いPCが欲しいけど、年度末に買うのを忘れた。

Python・・・機械学習する上で避けて通れないけど、今のPCだと無理。

例題が豊富逆引き辞典みたいなサイトや本がほしい。

あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。

過大請求されるの怖いし、トラブルが起きた時に英語コミュニケーション出来ないから。

Pythonはいいぞ、機械学習だけじゃなく計算系はエクセルじゃなくてJupyter使う。でも周りはエクセルつかってる、勿体ない。

使ってないけど最先端研究では機械学習使って当たり前感があってそろそろヤバい

僕は中学生の頃、いじめにより心の余裕なんてなかったか勉強どころではなかったけどもっと英語勉強しておけばよかったと後悔している。

やっぱり子供の頃の生活環境って大事だなと思う。

今は英検3級に向けて勉強中。

APIドキュメント頑張って読もう。俺も頑張って読んでる。

何を学習したらいいのか本当にわかんない。

迷宮にいる感じ。

なんとなく、プログラミングじゃないほうがいい気がするなあ。

とりあえずバイトしてPC買わない?プログラミングバイトでもいいと思うよ。

働き方改革最前線からは以上です。

プログラミングの学び方がわからない

C言語とかC++・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、

WindowsAPIを使って複雑なプログラムを作りたいわけじゃないので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に変えた。

どうしてVimかというとプラグインが多いしIDEっぽくできるから

Vim使う一番の理由は補完が強いのが気に入ってるから

Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。

NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。

パソコンスペックもどのくらいのものを用意したらいいのかわからない。

10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートからプログラミングに向いてないのかもしれない。

VirtualBox上のubuntuMySQLコンパイルすると2時間20分ぐらいかかった記憶がある。

CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。

スペックお金をかけることで時間節約ツール選択肢が増える

EclipseなどのIDEが支障なく使えるレベルスペックってどのくらいするんだろう。

ノートCore i3メモリ4GBにランクアップしたらいけるのかな。

他人がどんなスペックPCで何のツール使ってプログラミングしているか知りたい。

Python・・・機械学習する上で避けて通れないけど、今のPCだと無理。

例題が豊富逆引き辞典みたいなサイトや本がほしい。

あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。

過大請求されるの怖いし、トラブルが起きた時に英語コミュニケーション出来ないから。

僕は中学生の頃、いじめにより心の余裕なんてなかったか勉強どころではなかったけどもっと英語勉強しておけばよかったと後悔している。

やっぱり子供の頃の生活環境って大事だなと思う。

今は英検3級に向けて勉強中。


何を学習したらいいのか本当にわかんない。

迷宮にいる感じ。

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広く使われていたが今は若干時代遅れのスプリクト言語。汚い
PythonPerlにかわって主流になりつつあるスクリプト言語。綺麗
PHPWeb開発にフォーカスされたスクリプト言語一世を風靡した。
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両方入れてるけど面倒臭くて一度も起動してない

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

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

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

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