「C#」を含む日記 RSS

はてなキーワード: C#とは

2017-05-14

プログラマ実務10年目で年収400万は妥当

http://anond.hatelabo.jp/20170513223605

PHP月50万が安いっていう人多いが

ワイはWindows(C++C#)10年、Android(Java)5年、macOS/iOS(objective-c)5年、Azure・AWS1年でいろいろやっとるが月三十数万(賞与なし)しかない

転職したらどこまで上がる?

2017-05-12

コンパイラーが無料じゃないなんて!」ちょまど氏記事修正箇所

修正前: https://archive.is/gWxJY

修正後: https://thinkit.co.jp/article/11373

差分: http://difff.jp/4jrxz.html

以下、大きく変わった箇所を抜き出します。

ちょまど:もう一つ言えば、開発ツール無償じゃないのもなんか間違ってるって思っていたんですよ。なのでXamarinマイクロソフトに買収されたって聞いた時にすごく喜んだんです。これでXamarinはきっとOSSになって無償になるって思って。

ちょまど:もう一つ言えば、開発ツール有償だと開発者に浸透しにくいって思っていたんですよ。なのでXamarinマイクロソフトに買収されたって聞いた時にすごく喜んだんです。Xamarinライセンス代が高かったけど、これによりきっと無償になるし、しかも(XamarinチームはもともとMonoチームが母体OSS好きなのもあり)XamarinランタイムOSSになって人に勧めやすくなるかなって思って。

----

ちょまど:そうです。私は逆にマイクロソフトWindows会社しか知らなくて、開発者になってからVisual StudioC#会社で、とってもOSS会社だって思ったんですが、入って気づいたのは世の中にはものすごくマイクロソフトキライな人が多いって言うことで(苦笑)。なんかアンチな人が特にインターネットには多いです。

ーーあー、マイクロソフトアンチが多いのはよくわかります。昔を知っている人は特にそうなりがちかもしれませんね。

修正記事からは上記文章が削除されました。

----

ちょまど:さきほどからマイクロソフトが変わって衝撃を受けていると言う話がみなさんから出てきてますけど、私からすればエディターがOSSなのは当たり前だし、開発ツールは当然マルチプラットフォーム対応だし、そういうのはもうホントに当たり前だったので一緒に盛り上がれなくて悲しいです(笑)

ちょまど:(さきほどからマイクロソフトが変わって衝撃を受けていると言う話がみなさんから出てきてますけど、)私からすればVisual Studio CodeのようにエディターがOSSなのは当たり前だし、Mac版のVisual Studioが出たように開発ツールは当然マルチプラットフォーム対応だし。マイクロソフトが変わって衝撃! という話題で一緒に盛り上がれなくて悲しいです(笑)

----

ちょまど:でも無料じゃない開発ツールっていうのが不思議だったんですよ、そんなことしたら開発する人も増えないし、結果的不利益を被るのは目に見えてるじゃないですか。「どんなに良いツール作ってもお金取ったら無意味だ!」って思ってました。なのでXamarinマイクロソフトに買収されてホントに嬉しかったです。だってAndroidiOSの両方作ろうと思ったら1年で25万円くらいかかるんですよ。

ちょまど:でも無料じゃない開発ツールっていうのが不思議だったんですよ、ベースが有料だと、開発する人も増えにくいし、結果的不利益を被るのは目に見えてるじゃないですか。「どんなに良いツール作ってもお金取ったら広まりにくいよ!」って思ってました。XamarinAndroidiOS版の両方のアプリを作ろうと思ったら、ライセンス代が1年で25万円くらいかかってたんですよ。私みたいな社会人歴2〜3年の人が趣味でやるには高過ぎる値段でした。

----

正直言って元記事のちょまど氏の発言不正確なところが多々あった。

Microsoftの方によると

と、記事にするのに必要な補足がうっかり抜け落ちたようだ。

2017-05-09

JavaScript簡単SPAフレームワークってありますか?

勉強が不得意な職業プログラマですが、WindowsアプリSPAに作り替えることになりそう。

プロジェクトメンバー積極的技術習得するような人はいないので、簡単フレームワークを探しています

↑に近いようなフレームワークありませんか?

2017-05-06

http://anond.hatelabo.jp/20170506211507

C#というかXAML系の技術なら苦も無く書けるだろ。

WinForms?知らんな

2017-04-28

ちゃんと生きてるのが信じられない

東北の片田舎に生まれた。

親父様は酒と野球ギャンブルが大好きなクズだったが、浮気無職借金だけはしない洗練されたクズだったので最低限の生活は保てていた。

鼻水を垂らしたまま何も考えず中学生になった僕は、そのまま何も考えず地元底辺工業高校に進学した。

大学進学率0.3%未満の絵に描いたような地域密着就職支援高校だった。

バカ貧乏次男坊のフルコンボを駆使し田舎を出て神奈川の大きな工場就職した。

なぜか筋トレとか走り込みとかが日課の軍隊みたいな会社

「僕ぁ、こんな事をする為に高校プログラムを覚えたわけじゃないんですよねえ」等と同期のヤンキー達に吹聴してたら流れ的に辞めるしかなくなった。

はいえ、ホントプログラムなんか言う程できたわけじゃないので、どっかの会社に応募して落とされたら、周りも納得するかーなんて軽い気持ちでテキトーに選んだ会社に応募したら内定きた。

その会社アセンブラかいミトコンドリアみたいに原初プログラム言語を叩き込まれた。

おかげで、CだろうがCOBOLだろうがC#だろうがJAVAだろうがハイソサエティだよね、て気持ちになれた。

結局そのままいろんな会社転々としつつもプログラム仕事を今でも続けられ、不自由なく暮らしていけてる。

て、おかしいだろ。マジで

僕の未来予測では35歳になるまでに、能力的に限界がきて、pepperくんに仕事を奪われ、飲んだくれた挙句アル中で手の震えが止まらキーボード打てなくなり、プログラム以外の仕事もできず、部屋に引きこもりxvideosばかり見てたら奥さんに愛想をつかされ、底辺高校に行かせるのがやっとの長男と、承認欲求をこじらせてニコ生やらツイキャスやらで裸体を晒す娘を連れて出ていかれるハズなのだ。今頃。

だが、現実はどうだ。

天海祐希似の奥さんと、映画CMとかで使われるくらい良ロケ高校に通う長男と、部活に汗する健全な娘に囲まれ、それなりにシアワセに生きている。

小学校時代に道端で座り込んでた奇妙な婆さんに「お前さん、34で死ぬよ」と言われ、なるほどですねーと過ごしていたが、既にそのXデーから十年以上経過しても元気に生きている。

たぶん、何十回か別の世界線で死んでるよね?僕。

じゃないと、そろそろ変な死に方しそうで怖い。

それか、首からケーブル抜かれて目覚めるか。

2017-04-21

プログラム日本語で書けばいい気がするけど(追記した)

定期的に思うんだけどプログラムで無理な英語にせず日本語にすればいいのにって思う。

実践はしていない)

日本語で書ける言語使うんじゃなくて変数名や関数名がUnicode対応日本語書けるもの

日本語でいいと思う理由は主に2つ

○画面に表示する時

フレームワーク言語にもよるけど表示するとき英語名前から日本語名前に変換して表示って手間があるものがある。

最近見かけた例だと.NETプロパティ属性に表示名書いて表示するときに取り出していた。

最初から日本語だとそのまま表示でいいことが多くて一段手間が省ける

英語がわけわからん

まず自分英語化するとき

いい単語が出てこないとか、しょっちゅう

慣れが必要だし慣れてもなんかコレジャナイ感とかで苦戦する。

次に他の人の英語化したのを見る時。

その人の英語力にもよるけど、動詞名詞が変に混ざっていたり、sがついてたりなかったり、そもそもchildsみたいな謎の語があったり。

そこそこできる人同士でも、「私はニュアンス的にこっちの単語」「僕はこの単語のほうがいいと思う」とかある。

相手の書いたところがわかりづらいのはもちろんだけど、プログラム的に同じ意味なのにクラス関数によって呼び方違うと辛い。

かといって全員に日本語英語対応を先に渡しておいて統一しようというのは大変すぎる。

日本語だと仕様の時点で日本語で書いてるからまぁおかしなことにはそうならないはず)

そういうわけで日本語で書けば色々解決するのにって思う。

----

次にデメリット

軽く調べた感じ主にこの2つな感じ。

IME」「英語圏のものへの対応

IME

半角全角を打つのってめんどい

と思うけど、実際チャットやこういう文章書いてて英語が出るときに割りと頻繁に押してる。

ほぼ無意識でやってて意外と苦じゃない。

短いとF10変換で半角にすることもあるけど、キーボードタイプカウンタとか入れてみると半角全角キーはけっこう上位にいた。

それに、なんだかんだコメント日本語で書くことが多くて、他の人と作るのならこまめにコメント書いてる。

そうなると全角半角の切り替えは普段からあるもので、あんまり気にするほどじゃない気がした。

最近じゃIDEエディタの補完が優秀だし、日本語にするにしても「最初はjから始める」とかルール入れておけば「j」って打ってあとはスコープにあるいくつかの候補から選ぶだけで全角にしなくていいかもしれない。

英語圏への対応

githubで公開したりとかライブラリ再利用してもらうとき日本語じゃ使ってもらえない。ってことみたい。

私が日本語にすればいいじゃないって思ってるのは、ビジネスロジックというかそのアプリケーション固有名詞みたいなところ。

「足し算」って関数名は 「add」 でいいと思うし、配列のそれぞれは element とか item とかそういう一般的英単語でいいと思う。

具体例がいいづらいけど、業務システムで表示する金額名前とか、日本語独特なものとか、一般的単語じゃなさそうなの。

こういうのを日本語にしたいってわけなので、ライブラリ的な共通なところは英語で良いかgithubで公開する範囲英語のものでいいと思う。

ただ、最近はやってるマストドンとか、ライブラリ的なものじゃなくアプリケーション自体githubで公開する場合はできない気がする。

でも、海外対象にしてるものだと日本語特有なせいでわかりづらい英語になる苦労とか少なそうだしそういうのだと英語いいんじゃないかな。

----

長くなったけど、まとめると、

業務システム固有名詞とか日本語特有ものとか無理に英語化してよくわからないことになってり、見づらくなるくらいなら日本語使えばいいんじゃないかな

ということ。

まあ思ってる割には実践してないので、やってる人がいたら良かった・悪かったとか聞きたいなと思ったのが書いた理由

追記


帰ってきたらすごいブクマついてた。

色々意見あってとりあえず感謝

絶対自分でやってから言えよ」みたいな意見来るだろうと思って今日の空き時間日本語行ける言語調べたり軽く日本語使ってコード書いてみたので、そのあたりと目についたコメに答えてみる。

まず、思いの外日本プログラミング言語上げてる人がいたので、うまく伝わってなかったぽい。

具体例上げずにサッと書いたらからかな。

あと自分もわりとするけどタイトルだけ見て中身見ずにコメントしてた人もいるだろうなー。

日本語で書ける言語使うんじゃなくて変数名や関数名がUnicode対応日本語書けるもの

これが、などしこやひまわりや、BF系のmisaやら北斗のあれやらうにゃーとか色々な「構文など最初から日本語を前提とした言語」ではないってこと言ってた。

---

日本語かえる言語

最近の主要な言語ならだいたい Unicode 対応でしょと思って環境があった言語を試した結果はこうだった。

JavaScript/Python/PHP/Scala/Kotlin/C#/Go/Swift

これらは日本語変数作れた。

rust と Lua は無理だった。

rust は確か前に、変数名が ascii 文字だけなことに日本以外のどこかの国からUnicode対応にしてって多くの要望あったみたいな記事があったし将来的に対応するんじゃないかなって思ってる。

実際に今どんな状態かは知らない。

その記事コメントとかでみたけど、日本語以外は割りと自国言葉を使ってたりするっぽいね

(正確なデータはないか信憑性はあるとはいえないけど)

VBA を上げてる人がいたけど、私はそこまでのはみたことない。(幸せ者っぽいな)

稀にエクセルマクロいじるときに使い方ググってて出て来る、解説してるページで関数名が日本語なのをたまに見るくらい。

パット見なんか気持ち悪い感はあるけど、読んだときのわかりやすさはけっこう大きい。

---

○使ってみて

大規模案件に使ってみてこその問題もあるだろうけど、簡単スクリプト程度のを日本語にしてみて気づいたこと。

割といける。

全角半角キーPHP の $ より楽。

PHP言語変数は全部$からはじめないといけない欠陥言語

まあ変数のみのgrepのしやすさや予約語キーワード変数名に使えるからメリットもある。

だが、$って打ちづらい。

Shift+4ってすごいつらい。

に比べて全角半角キーってちょい遠いけどそこまで苦痛じゃない。

ふだんから多用してるキーなわけだし。

ただPHP日本語の組み合わせは相性悪い。

$は半角でその後に日本語から手間が多すぎる。

それ以外の言語だと、IMEのおかげでかなり楽。

GoogleIMEだけど、多少のタイプミスは補完で修正してくれるし、予測変換が優秀だし。

IDEいから補完機能のない軽いエディタで書くようなときなら、IMEのおかげで英語変数名で書くより速度は早いと思う。

---

少し前に知人から言われた日本語デメリットを思い出したのでそれも触れとく。

仕様変更言葉変わったとき日本語だと全部書き換えないといけないよ。英語だと別にそのままでいいし。」

英語からない人が、英語言葉とみなさずただの記号として考えてるから、っていうような発言

仕様変わって変数名まで変えるのは面倒なのはわかるけど、あとからコード読む人が英語で見て意味不明になる。

英語日本語対応コメントに書いたとしても、全然意味の違う英語があるのは混乱でしかない。

こういう考えの人がいたら本当にやめてほしい。

---

あとは気になったコメントについて書いてく。

表記ゆれとか方言とか言い回しなどについては、全部日本語にするとあるだろうけど、私が想定してるのは直感的に英語にならないような固有名詞とか。

DBの項目名日本語っていうのは私の思ってるのと近い。

年金の例も○○年金というのがいろいろあって、全部英語だと嫌になってくるしよくわかる。

こういうのを日本語にしたい。

なので年金額を取得する関数で「年金額を取得する」「年金額を取得」「年金額を取り出す」とかの表記を迷うんじゃなくて「get年金額」でいいと思う。

こういう単語だけだと表記はそれなりに揃うと思う。

特にDBにある項目だと仕様とかで先に言葉が決まってることが多いだろうし。

---

見た目について。

見た目が残念とか見づらいというのは同意

ただそれ以上に読んだときのわかりやすさが大きいと思う。

見た目が悪いというのも全部英語っていう前提があるからで1ヶ月も日本語コード見ればなれるんじゃない?って思う。

---

へとヘ

これはありそうな問題

ただ、IDEを使う前提なら未使用変数エラーとか、選択したときに色が変わってないとか、割と気づけると思う。

lとIとかアルファベットでもあるけど、IDEや高機能エディタ使うと困ることはほぼなくなった。

---

ローマ字

私が日本語にしたいような固有名詞ローマ字化してるプロジェクトにであったことはある。

やすい語は見やすいけど、見づらい語は圧倒的に見づらい。

それにローマ字のほうが「ん」でnは1つか2つかや、ヘボンorローマ?という日本語より表記が揃わない問題ある。

特にローマ字場合自分キーボードで打つ方じゃないと書きづらいのでそろえてもらうのに抵抗がある。

---

ラバゴス化・日本が遅れる

海外向けとか海外の人と一緒に作る系なものって最初から英語で困らない単語ばかりだと思う。

そういうのは対象外

今回いいたいのは、元から日本しか対応してないような業務システムなど。

そういったところの固有名詞日本語になったからって、困ることはないはず。

もともとガラバゴスなわけだし。

日本しか使われないもの海外向けにするにしてもフルスクラッチで作り直すことになるようなもの

こういうのは日本語化いいんじゃないかと思う。

---

テスト

テストだと日本語が使ってる人多いのかな?ブコメスタートップだし。

とりあえずはテストから使い始めてみようと思う。

---

長くなったけど参考になる意見もいろいろあって助かった。

2017-04-11

オライリーに出てくるフレンズ

参考:http://www.oreilly.com/animals.csp

2017-04-08

http://anond.hatelabo.jp/20170407112743

プログラミング10年ちょい、仕事WebシステムとかiPhoneアプリとか、色々プログラミングしてるアラサーおっさんからだ。

増田10代後半〜20代前半くらいかな?と思って、書く。参考にしてほしい。うっかり年上だったら何かゴメン、でも少しは参考になると思う。

こういう「どこからやったらいいんだよ…」っていう悩みは俺もちょうど中学生くらいの頃に思ってて、悩みながら薦めたんだけど、

結局の所「どの経験もムダにはならないから、とりあえず沢山やってみるといい」ってことだ。これについては後述するけど、まずは細かい疑問に答えていこうと思う。

まず、色々調べてて、結構詳しいし感心した。ただ、その詳しさは、まだスタート地点だ。

どの言語がどういうものなのか、何となく知ってるのは役に立つから、これからアンテナを張り続けるといい。

MySQL使うべきなのかSQLite使うべきなのか、GolangにすべきかRubyにすべきかいっそJava?いやC#

こういう悩みが出るのは勉強した証拠しかし、この問題レベルの高いプログラマーでも難しい。

何故かというと、作ろうと思うもの次第だし、作ってみたら意外と相性が悪いみたいな事も起きるし、

何より、根性出せばどれを使っても作れるからだ。

疑問に思っているらしい、言語複数触れた方が良い理由は、こういう「どれを選んだら良いか」という問いに答えやすくなるからだ。

自分理解していないものが、今作ろうとしているものマッチするかしないか判断するには、言語環境に対する深い理解必要だ。

エディタ個人的にはVisualStudioXcode、あるいはIntelliJ系をオススメする。

何も設定していなくても好ましくない書き方の時に警告が出るから強制ギプスみたいに作用するからだ。

Twitterとかで騒いでる強いプログラマーの皆さんはvimemacsを薦めるけれど、意外にもchokudaiさんとかはVSでC#を書く派なのを思い出して欲しい。

IDEを作っているのもプログラマーなので、IDEを使うメリットもかなりあるんだ。使った上でやっぱりvimが良ければvimに戻ると良い。

パソコンスペックについては、確かにスペックが低すぎる。そのマシンで開発するなら、vim/emacsにせざるを得ない。 AtomSublimeでもキツそうだ。

書いてる通りで、Core i7/RAM 4Gくらいあればとりあえず基本的人権って感じ。

性能は高ければ高いほど良いけど、予算の都合だってあるだろう。 10万用意できるなら、結構選択の幅は広がるんじゃないかバイトなり親の説得なりお金ためるなり、頑張って調達するんだ。

さて、最初話題に戻る。

から勉強したら良いかからないなら、とりあえず何かをパクれ。Twitterクローンみたいなのでも良い。フォローテキスト書き込みだけなら作れるんじゃないか

なんならそれを公開してもいい。

もしアイディアがないなら、それこそTwitterで誰かが「こんなのあったらいいなぁ」って言ってるもののうち、何となく頑張れば作れそうなものに手をつけてみると良い。

どの経験もムダにはならない。やってみろ。1個作ったら、もっと広い世界が見えてくる。

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買わない?プログラミングバイトでもいいと思うよ。

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

http://anond.hatelabo.jp/20170407112743

これでお金を稼ぐのはハードルが高い

プログラマーになるのが、目的かな?その想定で書きます


その言語特有セオリーみたいなのを覚えるのが面倒くさそう

そういうのがない言語に心当たりがないのですが、、、。

ちなみに、C++が一番流儀が多く面倒だと思っています


ライブラリ選択肢が多すぎる

これは流行り廃りがあるので、あんまり断定できないのです。

目に付いたのをやって、廃ってしまったら、別なのをやる。

ただ、廃ってしまっても大抵その経験は別なのの習得に役立つので、適当に決めると良いです。


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

ま、まずは一つの言語で、paizaでSランク取るのも良いと思います

ただ、本当に深く習得するのは、一部の人しかできないので、壁にぶつかったら他言語に手を出すのも良いです。

仕事言語指定のものも多いので、Goしかできないときいかもしれません。

JavaC#C++はやっといた方が無難です。(C++が一番オススメできない)


twitterで有名な人てやっぱりSランクとか余裕なのかな

私は無名の人ですが、Sランクはまあなんとか。

制限時間集中してやったことはないのでなんともですが、だいたい何かしながら制限時間*2くらいでといてます

Sランク余裕の人は、ごろごろいるでしょう。


コーディングは、レゴブロック遊びです。

各パーツを組み合わせて、希望の形を作る。

まずは、もともとあるものに、オプションパーツ的なものを作って、作る能力を上げると良いです。

それから、小さいものを書けるように訓練する。

そうしてそのうち、大きなものも書けるようになります


PCはなるべく良いものを使いましょう。ストレスが違います

PCは待たせるものであって、人がPCを待つのナンセンスです。

VirtualBox等を動かしたいのであれば、メモリーは多めにしましょう。

ホスト側は64bitOSで、メモリー最低8GBは欲しいです。

グラフィックボードは、3Dレンダリング機械学習をしたいなら欲しいです。

CPUは、、、個人的にはCore i5以上にしています


ま、なんでも良いので気になったものに手を出すのがオススメです。

あと、レゴブロック遊びなので、楽しくやるのが一番です。

2017-03-22

みんなみんな籠池理事長

ふと、思ったんだけどよ

籠池理事長率いる森友学園問題として大きく取り上げられたやつで、幼稚園児に

安倍首相ガンバレ安倍首相ガンバレ安保法制国会通過良かったです!」

って言わせてた問題あるじゃん

安保法制国会通過って意外とゴロがいい気がする)

言うまでもないと思うけど、このセリフは籠池理事長が考えたはずなのよ。

そんでもって、当の安保法制の時、国会の周りでは連日デモが行われていて、それが毎日のようにテレビで流れてた訳だ。だけど、インターネットの方では違った動きもあった。

俺のTwitterでは暇つぶしアニメ系とC#言語Unity系のアカウントフォローしてた筈なのになぜか、政治系のツイートが流れてくる。

それで、気になったかTwitterで軽くググってみたんだが、当時はSEALsが有名で、それらや、デモをやっている人間否定するようなツイートが目についた。つまり安保法制を支持してる人間達がいる訳だ。もちろん、支持しない人のツイートも見かけたが、フィフティーンフィフティーンではない。たぶん7:3ぐらいの割合で支持してるツイートの方が多かった気がする。

さて、ここまで書けば何を言いたいか大方の人が勘付いてくれると思うがちょっと待ってくれ。最後に言いたいことがある。

最初に戻ろう。あの幼稚園には不相応な宣誓を見て皆は何を思った?

俺は正直、なんじゃこりゃ?!って気持ち最初だった。

幼稚園児らしくない宣誓であると本人も分からないわけではないはずだ。政治について語れる幼稚園児がいる方がびっくりだ。

でも、幼稚園児に言わせるぐらい籠池理事長はウズウズしてたんだと思う。幼稚園児を通した自己表現って奴だ。

(そもそも、幼稚園児を自己表現の道具に使うなんて論外だとは思うけど。)

だが、結局、ツイッター上(もしかしたら2ちゃんねるとかでも)で言われていたのも、難しい言葉を取っ払って本心を言ってしまえば、

安倍首相ガンバレ安倍首相ガンバレ安保法制国会通過良かったです!」

これをツイッター上でたくさんの人達ツイートしているのを俺は見てたわけだ。

自己表現ツールとやらがTwitterであるだけで、

幼稚園児を使わない分マシではあるけど)

彼らは籠池理事長と変わらない。

日本には沢山の籠池理事長がいる訳だ。

んで、最後にだ、

インターネット上では今日明日安倍首相を指示する派と支持しない派がどこかもしらないURL上で論争をしているんだろうけど、大事なことがある。

争いは同じレイヤーの者同士でしか起こらないって事だ。

まり、それに対応して殴り合っている間は、あなたも知らぬ間に籠池理事長って訳だ。

から、こんなところで、これを書いてる俺も籠池理事長なわけだけど、明日からは脱籠池理事長を目指して頑張るよ。

籠池理事長になってる間なんて心に良くないってたまに言われているからね。

2017-03-06

C#大丈夫なんだろうか

スマホアプリ発言語の話。

SwiftとかKotlinみたいな流行りの言語パイセン呼ばわりされてる姿が目に浮かぶんだけど。

パイセンちーっす!今時簡単にnull参照例外起こす言語とかレガシー過ぎて見てられねえっすよねwww」

プロパティメソッドパスカルケースwwwつか何すかその無駄な字下げwwww」

みたいな。

でもC# (roslyn) 他.NET関係の開発はGitHubをフルに使ってオープンに進められてて一番好感度持てる。

頑張れC#、お前がナンバーワンだ。

F#はよく知らないのでノーコメント

2017-02-07

ゆうちゃんの遠隔操作事件とき

ウイルスC#で書かれていて、それをゆうちゃんが使えるかどうかが争点化して、そうとうプログラミングに詳しい人までその議論にのっかって「実務経験がないから〜」とか言ってたね。

他の言語ウイルスを作る技術があればC#は実務経験がなくても作れるってわかりそうなのに、なんで「かわってる」人まであん論点ずらしに乗っかってたんだろう。

さらに言えば、ウイルスのもの感染能力とかなくて、他のソフトだと偽ってダウンロードさせる程度の低いもので、趣味プログラマーでも作れるレベルから実務経験どうこうにこだわる意味ますますわからんかったわ。

2017-01-09

プログラミングの勘所

プログラミングの入門者には伝統的に変数やif文、for文などが教えられてきました。

昨今ではJavaやってGoogle Play Storeでアプリリリースするのが目標になるのかもしれません。

開発環境は年々高級になっており、以前より人の思考に近い感覚コーディングできるようになってきました。

はいえ、かつてWindowsGUIプログラミングがそうであったように、

スマホにはスマホ流儀があり、いくらアイコン右クリックしたいといってもスマホには右クリック概念が無いという、

今までの常識思考の在り方に対する挑戦も数多くあります

様々な流れに翻弄されつつもプロダクトを開発し世にリリースしていくことは、

プログラマ選択できる使命の一つとして今後も世界中で支持されていくと私は信じています

プログラミングとりまく状況はこの30年で大きく変化したと言えます

それでも基本的な部分は変わりがありません……などというのが通例ですが、

からといって基礎練を素直に続けることが正しいとも思いません。

今の新しい世代の人なら、まずはスマホアプリWebアプリWebサイトを目指すべきでしょう。

ハードウェアに興味があるなら、ラズベリーパイやArdinoを組み合わせても面白いですね。

すると、今とっかかりにすべき言語も絞られてきます

アプリならJavaSwift。(Unityを使うならC#ですね)

Web系ならphp。(ruby on railsもいいかと思います)

(15年前だったらC++でかっこいいwincdowsゲームを作りたい若者で溢れていました)

何かを作るにあたり、まずは1ボタン1機能から始めると良いと思います

ボタンを押したら、何かコマンドを実行する。

それはメール送信だったり、画面に文字を表示したり、ショップではがねのつるぎを購入したりと様々です。

技量が上がると、ボタンを増やしたくなります

ボタンを押すとボタンが増えたり減ったり、違う画面に移ったりしたくなります

途端に難しくなります

それらを整理するためにオブジェクト指向とやらを使わないといけなくなります

バグを出しにくくするための工夫が必要になってきます

何かを作る際に、機能が多くなると、それらを整理する手間が発生します。

グローバル変数はやめようとか、goto禁止というのはそういう活動の一環として生み出されてきたハウツーです。

そして自分の作りたいものは往々にして自分の実力を超えた所にあります

そこで挑戦と葛藤が始まります

幾多の困難を乗り越え、今の自分ならどの程度の規模のものを無理なく作れるかということがわかる場合があります。(わからない場合の方が多いんですけど)

するとあることに気づきます

自由に作りたいものを列挙するのは重要ですが、

最終的に何を作るか、何を作れるかというものを見据えながら、本当に必要機能を選別しないといけないのです。

欲しいものは全ては手に入りません。

全部じゃないと意味が無いなら、即座に全てをあきらめるか、考え方を変えなければ生き残れません。

プログラミングをする上で、夢を実現する技術を学ぶわけですが、

それには、何を実現したいと願うか、何を夢とするか、をコントロールする術も含まれます

そしてそれこそが、プログラミング、ひいては

生きていくために大切な希望を見つけるための技術であると気づかされます

2016-12-29

はてブで「Amazon」と検索してみると

昨今話題になってるヤマト佐川関連のブックマークが上位を占めるかと思いきや、まったく違った。

2016年12月29日10:54時点、本文、新着順で検索

Amazon検索結果 (絞り込み: 3 users 以上) 約 3,423 件中 1 - 40 件目 (0.26 秒)

以下略

ECサイト連想させるトピックほとんどなくて、AmazonB2B向けサービスを充実させていることに驚いた。

Amazonって表向きは物流業界革命問題を起こしている要因に挙げられているけど、EC以外のインパクトがどれだけ大きいのか門外漢なので分からない。

↑でブクマ付けた人、何が起きるのか教えて

2016-12-03

老害プログラマだが。最近若いもんが書いたコードを読んだ。

例外ってあるじゃろ。tryしてる間にthrowされたのをcatchするアレじゃ。あれは、たしか有用な仕組みじゃ。何かの関数に失敗したとき本来の値のかわりに特定の値を返すのもダサいし、参照型の引数成功たか否かを返すのもダサい場面、というのは確実にある。そもそもプログラマ怠惰で忘れっぽい生き物なので、例外という仕組みがなければ、関数で失敗したことにすら気づかないかもしれない。

だがな。例外魔物じゃぞ。昔は、gotoというものがあってだな。好きなところに処理を飛ばすことができる。あまりに、いろんなところに飛ばせるので、邪悪だと言い出した奴がおって、今ではあまり使われなくなった。なぜgoto邪悪と呼ばれたかgotoというのは、順接、分岐、反復という、プログラムを組む上で最低限必要制御構造から逸脱した、どっかからどっかに飛んでいく、という行為が容易にでき、それを多用したコードはまともな人間には読めなくなるからであった。そして、例外は、まさにその「どっかからどっかに飛んでいく」を容易にするための仕組みなのじゃ。

例外は、順接、分岐、反復による基本的制御構造があった上で、あくま対処を要するアブノーマルな状況に使われるべきものであり、例外というのは、制御機構として使ってはいけない。値を返す目的例外を使ってはいけない。一体どこから来て、どこへ行くのか分からない、そんな、流れ星のような例外の使い方をしてはいけないのじゃ。例外を使うなと言うつもりはまったくない。じゃが、例外制御構造を壊しうるものだと認識し、例外悪用していないか、それによってコードが追えなくなることはないか、と、考えてから、使ってほしいのじゃ。

イベント悪用も見た。イベントは非常に有用な仕組みだし、GUIなんかだと、もはや必須とも言える。なので、イベントを使うことは有用なことだ。けれど、イベントは、いつどこで発生するか予想が付きづらいものが多く、また、スレッドなどを使って非同期でイベントが処理される場合(今時は、多くがそうだろう)は、マルチスレッドと同じく、リソース排他制御を行う必要があるかもしれない。複数の処理が同時に動くというのは、恐ろしいことなのじゃ。いつの間にか、変わってないと思ってた変数が途中で変わるやもしれない。「まー、滅多に起こらないし、ええじゃろ」って判断の上、何も対策しない、という手もあるが、ええじゃろで済むのか済まないのか検討するくらいは必要じゃわな。C# なんかだと、言語レベルイベント実装されておる。じゃからイベント必要ないじゃろと言いたくなるような場面で、イベントが使われていたコードを見た。

便利な仕組みがどんどん出てきて、新しいものがどんどん古くなる今のコンピュータ業界。新しいものを追いかけるのもいいが、基本は基本として、しっかり押さえて欲しいのじゃ。今更、アセンブラゲームを作れるようになる必要なぞ、微塵もないが、自分コードがどのように動くのか、興味をもってほしいのじゃ。わしのような新しいもの不勉強老害は、最近若いもの基本的なことを不勉強からこそ、居場所があるのじゃ。じゃが、わしももう長くない。若いもんは、新しい仕組みの表面だけでなく深い部分に触れて、学んで、わしら老害を追い出せるくらいになってほしい。わしからは以上じゃ。

2016-11-25

日本にchokudai先生以外に乱数を力説できる人は限られている

Imagine Cup 2008のアルゴリズム部門世界3位のchokudai先生ならVimrand()とsrand()の必要性を力説してくれるはずだ。

あとは数学バカとかセキュリティエンジニアも力説できる?

その筋の人ならbramを説得できるはずだ

残念な事にchokudai先生Vimを使ってない。

我々はchokudai先生を早急にVimワールドに引きずり込むべきだ。

vimmerVim使ってみませんか?おすすめエディタです」

chokudai「VimVisual Studioで間に合ってま〜す」

vimmervimプラグインのomnisharp-vimを入れたらVimC#書けますよ」

vimmer「中でもおすすめなのがShougoさんのVimプラグインです。これがあれば暗黒の力が簡単に手に入りますよ」

vimmer「neobundle.vimを入れるとプラグイン管理が楽になります

vimmerunite.vimを使えばもっとVim操作が楽になります

vimmer「更に開発中のdein.vimやdenite.nvimやdeoplete.nvimを使えばさらに強い暗黒の力が手に入りますよ」

chokudaiは唾液をゴクリと飲み込む

vimmer「ククク・・・興味を持ったようだな」

vimmer「もうひとつ情報を与えてやろう」

vimmer「暗黒に染まったプラグイン更新する度にパワーがはるかに増す・・その更新無限にオレは残している・・その意味がわかるな?」

震えるchokudai「いきなり意味がわからないことを言いやがって!!でも怖いっ!!!!」

震えるchokudai「tanakhさん!助けて!!!

tanakh「だめだ!暗黒の力が強烈過ぎて僕のemacsの力では太刀打ち出来無い(´・_・`)」

震えるchokudaiとtanakh「きさま!まさか!!(((((((( ;゚Д゚))))))))ガクガクブルブルガタガタブルブル」

暗黒美夢王「フハハハハ!!!!!!!!!!!そのまさかだ!」

https://github.com/vim/vim/pull/1277

2016-11-20

新卒スキルなし社内SEさらに追記あり)

市の就職支援セミナーで紹介された機械製造会社

就職活動では文系学部ながらSE職を目指していたことが社長に伝わったらしく

「うちの会社営業システム更新してほしい」

との鶴の一声社内SEとして就職

最初既存営業システムを触るために1か月程度営業アシスタントとして働く

しかし肝心の社長プログラミングスキルはなく、研修にも連れて行ってもらえず

もちろん上司プログラミング経験者も社内にはいない(実質的上司社長に当たるが忙しく業務報告のみで終わる)

結局営業システムVBAで開発することが決定し、本で買った知識で外側(フォーム)を作成しOKサインを取る

しかし相変わらずコードが書けないため、自分が作ったフォームから要求される機能実装できない

就職先も自分で決めたものではない(親に他社の内定蹴りを強要された)し研修も行かせてもらえないし

ことごとく自分の気の弱さのせいで自分物事を決めたいように決められなくなっている

定時で帰れているくせに(仕事もひとりの部屋で窓際族のくせに)休日になったら寝たい以外のことをしたくなくなるくらい生命力が弱いのも災いしているんだろうなあ

追記

就職活動の経緯(親に内定蹴りを強要された)についてはhttp://anond.hatelabo.jp/20160119225411

に書いてあります

1月高速バス事故のあと親がヒスって路線バス運転職の内定を蹴らせたことは事実です

自分反論/主張できない気の弱さがいけないと常々思っています

さらに追記

最初C#で開発する予定でしたが、コードの書き方すらわからないのにサーバとの接続さらにわからないものをやらされるのは無理だったのでVBAで開発することになりました

社長曰く開発を外注することは「弊社の技術が身につかない」そうで嫌だそうです

2016-08-12

無能すぎてつらい

プログラミング経験からIT企業SEとして入って

1週間

C#勉強させられているけどまったくわからない

会社でだされる課題もわからない

はてなのみなさんどうすればプログラミングうまくなりますか。

2016-08-04

[] [ASP.NET] Microsoft.Web.Infrastructure が見つからない場合

ファイルまたはアセンブリ 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。 」

http://stackoverflow.com/questions/4742894/mvc3-deployment-dependency-problems

IIS を実行させているサーバの GAC に Microsoft.Web.Infrastructure.dllアセンブリキャッシュ存在しないようです。

プロジェクト参照設定にある Microsoft.Web.Infrastructure のプロパティを開いて「ローカルコピー」を True に設定して、発行(デプロイしましょう。

(C#でもVB.NETでもほかでも同じ...)

2016-07-25

javaはジャバジャバ水遊び

C++はあれをプラプラさせてる

C#はやたらと周りを威嚇してる

君は何タイプかい

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発の言語

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

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

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

まとめ

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

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

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

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