「C++」を含む日記 RSS

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

2017-04-22

C++/Perl/Rubyゴミ

分かったのは言語の多機能さというのは、一点水準さえ満たしていれば、それ以上足しても生産性寄与しないという事

自分しか使わない、最初書くときに限れば書きやすいと思うこともあるが、それ以上に保守性を落とす

ライブラリを利用したり他人コードを読む機会の方が多い昨今マイナス要素でしかない

perlスローガンだかに "There's More Than One Way To Do It." というのがあるらしいが、読む側からするとたまったもんじゃない

演算子オーバーロードされてるかも?モンキーパッチされてないかな?等々あれこれ想定しなきゃいけないのが苦痛しかない

スラムダンク流川が沢北を抜いたのも

パス選択肢を見せた事で沢北が集中できなくなってしまたか

それほど選択肢が多いということはストレスになる

Rubyゴミ

DSL(笑)が良いと思ってるのは最初だけで、最終的に負債しかならない糞コード

統計機械学習系のライブラリが皆無で先細りのイメージしかいかRailsと一緒に心中ください

Perlゴミ

リスト評価スカラー評価とか意味わかんねーくくりもtie変数アイディアは糞中の糞

Perl6にいたってはわけわかんねー演算子オンパレードで悪いところをさらに悪くした感じ

C++ゴミ

テンプレートマクロboostも何もかもダメ意味不明

オーバーロードされまくりコードなんてどっから読んでいいかわかんねーよ

こんな意味不明なことを覚えていられるほど人生長くない

結局PythonとかGo言語現実的な解で黒魔術のある言語なんて意味ない要らない使わない

2017-04-15

http://anond.hatelabo.jp/20170415115330

結論から言うと型を欲するのは成長できた言語のみに許された特権である

どんな言語最初から厳密な型チェックをアピールしてしまうと開発を阻害するばかりで流行らない。



増田理屈だと最初から全部C++Javaで作ればいいじゃんとなるが、

現状を見るにそうはなってない。

web黎明期フロントエンドを支えたのは紛れもなく型チェックのゆるい言語だ。

パソコン黎明期一般向け主力言語BASIC(あるいはアセンブラ)だったわけだが、

時代が進むにつれて型チェックの厳しい言語を求めるようになるのは理由がある。

それはプログラムの規模だ。

言語が出た当初はライブラリも少なく、できることも少なかった。

時間が経過してライブラリノウハウが蓄積し、マシン性能向上も相まってできることが増えてくると

プログラムの規模も増えてくる。

すると、厳密な型チェックを取り入れないと全体を統制できなくなるのだ。

故に厳密な型チェックを取り入れるというのは、その言語(及び開発者)の成長と発展の証と言える。

http://anond.hatelabo.jp/20170414142432

知ったかPHP語るなよ。一発勝負って、PHPの考え方の真逆じゃねえか。それはむしろJavaとかC++の考え方だろ。

PHPHTMLに埋め込んで手軽に表示確認できるんだからトライアンドエラー何度でも確認しながら作っていくもんだろ。

ひょっとしてコマンドラインスクリプトファイルを動くもんだと思ってないかお前?

2017-04-08

C++スープラ感は異常

みんなやろうぜ湾岸inゲーセン

モーゼも驚くいなせな腕前

YeahYeahYeah仕事も切り上げ

YeahYeahYeahおしゃれに決めてけ

家にいねーで湾岸やろう

だって今日は念願の週末

スープラに乗って行こうぜ

http://anond.hatelabo.jp/20170407112743

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以上にしています




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

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

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

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-04-01

http://anond.hatelabo.jp/20170401171101

あぁ、なるほど。

入出力関係が厳密に明確に決められる(決めないといけない)から部品化しやすいってことか。

なんとなくわかるけど。。。

それでもC++下位互換な気がしてならない。C++もそんな詳しくないんだけど。

pythonと戯れてきたけれど

必要に迫られてjavaに触ってみたらなにこれクソ使いにくい

java存在価値は何なの

速さではC++に及ばず、可読性や使いやすさでは圧倒的にスクリプト言語に及ばず

javaさんの存在理由を教えて

それともjavaでもこんなことができる?

v = [int(x)-int(y) for x,y in zip(v[1:],v[:-1])]

2017-03-26

本当にあったゲーム2chまとめサイトの怖い情報統制

(1)

2ちゃんねるで「【朗報次世代ポータブル機開発の求人Vita後継機の発売が濃厚にwwwww [無断転載禁止2ch.net」というスレが建つ。Joblinkという求人サイトに「☆ミ☆☆次世代携帯カーナビファームウエア開発・有識者☆☆彡(http://www.joblink.co.jp/jobinfo/detail/5649658?ad=005)」という求人があり、その中に

==

案件ですが、下記のようなお仕事も同時に募集しておりますので、見合う方がいらっしゃれば、是非エントリーを!

ゲーム機メーカー/次世代ポータブル機の開発業務

Windows/C++

SE

==

という記述があることが指摘される。現状、任天堂以外で携帯ゲーム機を作るメーカーソニー(SIE)だけなので、PS Vitaの後継機なのではという推測だ。

さら2chスレ内で「PS Vitaが出る前の2010年に出された『【品川次世代ポータブルゲーム機』という求人がそっくりだ」という指摘がされる。

これをゲーム2chまとめサイトゲーム迷惑サイト拡散する。


(2)

しかし、ここで少し疑問が生じる。

・一部上場企業戸塚メーカー求人には書いてあるのだが、ソニー(SIE)に戸塚関連会社はあるのか?

2chスレ内でPS Vita求人とそっくりだと指摘された「2010年求人」は画像アーカイブのみでリンクが貼ってない(求人サイトリンク募集終了後に消えることはあるのだろうか?)

2chまとめサイト個人ブログばかりで取り上げられ、一般ゲームメディアアングラ情報も取り扱うメディアも含む)がまったくこの求人に関する噂・話題記事にしない。「ソース2ch状態だが一応今回の求人実在するサイトのものであるから真っ赤な嘘ではないし、かなりのスクープになる筈なのだが。日本よりもアングラ記事掲載する傾向にある欧米メディアもまったく取り扱う様子がない。

海外大手匿名掲示板の一つ4chanでは件の求人リンクが貼られているレスが一つあったものの、いずれにせよ大きな話題となっていない。


(3)

この増田で何が言いたかったのかというと

情報の流れがあまりに不自然すぎる

情報を発信したモノ、情報を流したモノ、情報を流さなかったモノ、すべてが暗闇の中でPV数だけが回っている。


私はてっきりねとらぼあたりが記事にするかと思ったがそんな様子もないし、欧米ゲームゴシップメディアKotakuも取り上げる様子がないし、何が何だかからない。

2017-03-06

ハングルプログラミング言語"Aheul"というのを見かけたが

Hacker Newsの上の方にAheui(아희) https://aheui.github.io/specification.en というのが上がってきていて(ろくにコメントがついてないが)、どうも世界初ハングルを使ったプログラミング言語であるらしい。

どんな言語なのかとググってみたらが日本語情報はなく、2014年2015年に同プロジェクトのページをはてブしている人がいた程度だった。

This code printsHello, world!”

밤밣따빠밣밟따뿌

빠맣파빨받밤뚜뭏

돋밬탕빠맣붏두붇

볻뫃박발뚷투뭏붖

뫃도뫃희멓뭏뭏붘

뫃봌토범더벌뿌뚜

뽑뽀멓멓더벓뻐뚠

뽀덩벐멓뻐덕더벅

これがその言語で書いたHello,World!なのだそうだが、短縮しまくったPerlより読める気がしない。本気で使おうとは思っていないのかもしれない。

ハングル文字の中に方向を示すキャラクタがたくさんあり、カーソルを動かすイメージがつかみやすいという売りはあるようだ。

Wikipedia: Non-English-based programming languages

https://en.wikipedia.org/wiki/Non-English-based_programming_languages

これ見ると英語以外で記述できるプログラミング言語は多い。中国BASICPythonC++中国語化したものかあるらしい。C++中国語版は丙正正。名称がそのまんまといえばそのまんま。BASICを見ると一つ一つのコマンド漢字1文字が割り振られているだけのような感じだ。インドヒンディー語もそんな感じ。その程度のレベルならプログラミング言語母国語に置き換えるメリットはないか

日本にもひまわりやMindなど日本語単語を使えるプログラミング言語があるけど、あれらをマスターしてる人は見かけないな。

2017-02-21

プログラムの触りにCから始めるのは止めにしませんか

Pythonが神だよ。読みやすいよ。

計算時間とか気にする人だけがC,C++を学べばいい


今時プログラムを学びたい人はなんかゲームみたいなの作れるんでしょとかwebアプリと書いてみたいって理由が多いでしょ

それならCじゃなくね。Pythonじゃね、jsじゃね。

2017-02-14

Tombo Platformについての13歳女子高生感想

iPhoneゲームブラウザで遊べるTombo Platformをリリースしました

http://blog.wktk.co.jp/ja/entry/2017/02/14/tombo-platform-is-released

技術的な詳細とかは英語ブログに書いてます。そちらも見てちょ。」などと書いてありますが、そちらを拝見すると「Emscripten」というCやC++Webで動かす(JavaScriptに変換する)技術Objective-C対応させただけということがわかります英語で書いたと言えばほとんどの人が見ないだろう、という小賢しい意図を勘ぐってしまます(実際、ブコメを見た感じほとんど誰も英語のほうを見ていないようです)。

最近iPhoneゲームほとんどは、Androidにも対応するためUnityやCocos2d-xなどのクロスプラットフォームフレームワークで作られています。この2つで作ったゲームどちらもWebブラウザで動くので※、実はほとんどのスマートフォンゲーム最初からブラウザで動かせる技術で作られているのです。Webブラウザ対応しないのは技術問題ではなく、対応していないだけというのが実際のところです。スマートフォンゲームスマートフォン向けに作られているので、単にPCブラウザ移植しただけでは面白くないというのもありますし、課金や、広告や、集客認証などなど、ゲームプラットフォームに求められる様々な機能を素敵な感じにWebブラウザ提供してくださるものがないから、ビジネスとしては衰退したというのが2017年現在です。何周遅れのことをなさっているのかな、と思ってしまます

※加えてWindowでもMacでも動きますし、Unityはほぼ全ての家庭用ゲーム機にも対応しています。今iOSであえてObjective-Cゲームを作る方は、よほど偏屈でいらっしゃる方だけかと思われます

EmscriptenObjective-C対応させたのはおそらく価値があることなのだと思いますが、現在iPhoneアプリ開発において主流な言語であるSwift対応していらっしゃらないというのも、iPhoneゲーム移植できると主張する上でちょっと誇大広告がすぎるのではないでしょうか。

たぶんこの技術を使ってWebブラウザで動かせるようになるゲームは、素人の方がお作りになったものも含めて単純に数でカウントしたとしてもiPhoneゲーム1020%ぐらい、ビジネスで作られているゲームだとは5%ぐらいではないかと思います

2017-02-02

http://anond.hatelabo.jp/20170202223904

C++案件なんかないのに、C++が条件になってるとかな。

2017-01-22

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/20170119210801

ネタか?

c++なんて低級だからいい腕もってると思われるだろう

最近rubyとかphpプログラマー気取ってるクズが多いから余計にそう思う業界多いだろ

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-08

奇妙で残酷作業依頼 - フリーランス残酷物語 Advent Calendar 2016 15日目

この記事「フリーランス残酷物語 Advent Calendar 2016」15日目のポエムです。えっ、まだ12月15日じゃない?あぁ、そんな事もあるかもしれないですねぇー。でも気のせいじゃないですかたぶん。

まず前置きですが、mesaka さんの書いた記事萌えましたねぇ。じゃなくて燃えましたねぇ。まぁ、会社バカにされたっていいじゃないですか。社員プログラマーバカにされたってしったこっちゃありませんよ。Qiita ユーザーにもバカにされ、はてブに晒され、社会からゴミ扱いされたかどうか分かりませんが、フリーランサーはそれでも生きている限り契約を繰り返し日々前進していかねばならないのです。愚痴ることで生きていけるのなら問題ないのです!というわけで、mesaka さんには最終日の日記でも燃料を投下してほしいと思うわけです。よろしくお願い致しますm(_ _)m

前置き終わり。さてさて、僕がフリーランスだった2004年頃に体験した、奇妙で残酷作業依頼のことを書きたいと思います

フリーランスになる前はゲーム会社社員プログラマーをしていました。コンシューマアーケードゲームを何本か開発したのですが、ゲームの発売が近づくと月400時間以上の長時間労働を行います。そんなことを何回もやっていると人間は壊れます裁量労働制裁量ってどんな意味だろう、、、と考えながら3年働き、もうダメだなと思った時に同期の10人は誰も残っておらず、一番最後退職者となりました。その後1年は携帯ゲーム会社ゆるふわな開発を行い、元気がでてきたところでフリーランスとして働き始めました。

フリーランスとしての一般的作業

初めての契約3DRPG を開発している会社と結びました。準委任契約なので会社に出向し決まった時間働き、毎月決まったお金をいただく形です。業務内容はプログラミングとそれに関連する作業となります。関連する作業曖昧ですが、まぁ雑用含めてお仕事するうえでの作業全てなので、社員プログラマーと働き方はそんなに変わってない思います

一般的プログラム作業であれば、例えば MMORPG の開発ではマップ表示を担当しましたが、これはマップ担当3Dデザイナーさんとデータ仕様などを決めていって、あとはプログラミングするだけのお仕事です。この開発ではプログラム全体の設計プログラマーのまとめ役もやっていたので、メンバーへの指示出しやタスク管理プログラミングに関連したお仕事です。

少し変わった作業だと PS2 で発売した 3DRPG のコードを渡され、「VisualStudio で動くようにして。大丈夫、描画エンジンだけ DirectX で動くものを別で用意したから」という依頼だったりします。幸いにして同じような依頼を前職の社員ときに受けていました。その時は PS 用に発売した 3D 格闘ゲームプログラムを渡され「ナムコのSystem12基板で動かせるようにしてよ。大丈夫PSと System12 の違いは CPUクロックが違うだけだから」というものでした。どちらの依頼もプログラムと向き合うだけの作業なのでとても単純なです。CodeWarrior で書かれたコードVisualStudioコンパイルすると2万くらいコンパイルエラーを吐き出すのですが、それをもくもくと修正するだけです。

新人プログラマー教育係もプログラミングに関連したお仕事です。ペアプロで一緒にゲームを開発していくのはとても楽しかった!あと成長していく新人かわいいぺろぺろ。

当時その会社ではまだバージョン管理ソフトを使っていませんでした。社員毎に Sambaディレクトリがあり、そこにプログラムファイルを配置して共有を行っていました。さすがにこれは不味いと思いバージョン管理ソフト提案も行いました。前職では CVSMicrosoft Visual SourceSafe使用していましたが、CVS には悪夢マスターアップ1週間前にデータが壊れる)しか思い出がない事と、Visual SourceSafe無料ではなかったため、当時流行りだしていた Subversion検証したレポート作成し、それをもってシステム管理部門を説得するということもプログラミングに関連したお仕事でした。システム管理部門企業ガーディアンですので、そうそう実績のないソフトウェア会社内の PCインストールさせるわけにはいきません。2004年頃の SubversionRuby など新しい技術を使う Web 業界ではそれなりに認知度があったかもしれませんが、C++ も使わず C のみで開発を行っているゲーム業界での認知度はとても低いものでした。時間をかけじっくりとシステム管理部門を説得していく必要がありますが、これはプログラミングに関連したとてもとても大切なお仕事です。

なお、会社から社員にならないかとの提案を頂いたのですが、当時はフリーランスという契約のみで結ばれた、ときには人情のかけらもない綱渡り状態スリルと興奮を感じていたため断りました。24歳という若さのためか、それとも前職で壊れた頭がまだ治っていなかったのかはわかりません。

そして奇妙な作業依頼

そのようなプログラミングプログラミングに関連する作業を行っていたところ、プログラマー全体を統括するマネージャーから奇妙な作業依頼を受けました。それはとある社員プログラマースキルチェックをして欲しいというものです。


新人教育でもなく、サポートしながら一緒にゲームプログラミングを行っていくのではなく、スキルチェックです。スキルを見るならペアプロでもしてゲーム実装を行っていくのが良いと思ったのですが、製品にそのプログラムを入れたくという事で却下されました。また、スキルチェックに僕の時間をあまり使ってほしくないそうです。まぁそりゃそうだよねゲーム開発に時間使わないと。そこで、既存の開発とはまったく関係ないプログラム課題を出して実装してもらいました。


しかし、まず課題説明するところから問題が出ます。こちらの説明を全部紙にメモっているのですが、話が先に進むとメモれないとのことでメモり待ちが発生しました。口頭で2分くらいで伝わる仕様10分くらいかかります。全部話しを聞いてから後でメモるのではダメなのかなと思ったのですが、どうもこのやり方でしか話が聞けないようです。


翌日に進捗を確認たかったのですが帰ってしまっていたので、次の日の朝に進捗を確認するとまだ実装中とのことでした。分からないところがあれば聞いて欲しいと伝え、作業を続けてもらいます毎日こちらから進捗を確認するのですが、もう少しでできるという返事を貰う以外に特にアクションを起こしてきません。そんな状態で1週間が経ちました。ちなみに課題は1日くらいで実装できるものと想定していました。そして、この状況をマネージャー説明し、チームメンバーに入れれるかという質問には難しいと答え、作業は終了となりました。


そして、その社員プログラマー退職していかれました。

社員解雇

フリーランス解雇簡単です。しかし、社員解雇というのはとても難しいものです。金の横領など分かりやすい行動をとった場合は別ですが、プログラミングスキルが低い事で一方的解雇しようものなら逆に訴えれて終わりです。僕の今まで関わった会社さんでも、解雇した社員が訴えを起こさない代わりに和解金を要求し成立したケースもありました。スキル不足の社員解雇するなら、社員にその事を納得してもらい円満退職してもらうのが良いと思います。納得してもらうには情報必要です。「○○を依頼しましたが、あなたは達成できませんでした」という情報をいくつも集めて納得してもらいます退職していかれた社員プログラマーフリーランスの僕のところに来る前、2人の社員プログラマーのもとでスキルチェックを受けていたそうです。僕で3人目だったわけですね。それら3人分の評価を伝え、納得してもらい退職してもらったのだと思います


なんにせよ、一連の流れの中で僕は社員印籠引導を渡すという残酷作業をしていたわけです。正直楽しい作業ではありません。このような不幸なフリーランスを増やさないためにも社員の方々には採用時のスキルチェックをしっかりと行って頂きたいと思う次第です。というかそいう首切り作業社員でやって。。。あ、でも外部委託した方が会社としてメリットが大きいか

フリーランスのその後

こちらの会社さんがある意味消滅と言ってしまえるような状態になったので別の会社社員として働いたものの、また頭がおかしくなってたのかフリーになり、受託用の個人会社まで設立し、その会社も今年で閉じ、今はサンフランシスコ英語勉強趣味プログラミングをしています。あまり普通ではないので最初会社でアホになってからそれが治ることはなかったようです。長時間労働マジ怖い。

自己紹介が遅れましたが akiraak といいますQiita に糞ポエム晒すのは公衆衛生上よくないと思い増田に排泄した次第です。Qiita ではこんなのを書いています

TensorFlowで株価予想シリーズ

ディープラーニング面白いのでみんな遊びましょう!

2016-12-02

http://anond.hatelabo.jp/20161201235627

競技プログラミングが何やってるのか知らないけれど、

C++数学問題を解くツールではないよ。

Matlabとかの方がいいんじゃないの。

2016-12-01

c++で自己実現できるのか?

『やさしいC++』という本を買った。第三章まで読んでみた。

この本を読み始めた理由は、「TOP CODER」というオンライン競技プログラミングをやりたいと思ったから。

元々将棋とか競う系が好きだったんだけど、生産性の無さに自信を無くして、新しいものがないかなと思ったら、出会った。

  

TOP CODERというやつは、実力でレーティングされているらしい。

プログラミング数学問題を解くというのに、かなり興味を惹かれている。

世の中の問題はこうやって解かれているんだなあというのを知りたいからだ。

  

また、プログラミングで強くなることは、そのまま知性につながる。

将棋場合ソフトさんにとってかわられて微妙なところだが、C++での強さはまだまだ現役だろう。

とりあえず、100時間くらいは頑張りたい。

2016-11-29

エバンジェリストについての覚書

・K氏(Mというペンネーム活動

1994年生まれ H県出身 C++ Haskellを得意とする

大学在学中に校内システムハッキングし停学処分

その後、上京、各種勉強会に参加し、 そこで出会った某氏交際を開始

就職先を探すも主に性格面の問題で見つからヒモ状態

某氏宅に居候し、ドアを破壊するなどのDVを振るう。Twitterで内情を暴露され、自暴自棄になり西武線に飛び込み自殺

該当の期間の某氏のツィートはすべて削除されている。




悪いのは某氏でなくK氏の方だと思うが、ああ見えて中々の修羅場を潜り抜けてきたのだなと思う

2016-11-24

http://anond.hatelabo.jp/20161124184113

C++プログラマなら、転職あっせんサイト登録すればすぐにオファーがたくさんくるでよ。

んー今C++プログラマやってて仕事きついからやめたいなーと思って職業訓練さがしたら、プログラミング関連1個しかなくて、


ソフトウェア管理

 コンピューターに関する基本知識と、Java言語によるプログラム作成システム設計ネットワーク構築等の実技を学びます

※入校時期の記載のない科目は4月入校です。

訓練期間(入校時期) 1年

定員 30名

主な対象者 高卒・離転職

取得可能資格 基本情報技術者

(在校中に基本情報技術者試験の午前問題受験

免除となる「基本情報技術者試験午前問題免除講座

修了試験」が受けられます。)

Javaプログラミング能力認定試験


だって

自分場合基本情報はもう持ってるし、このレベルで1年もやること考えたらあまりにも時間もったいない気がするわ

Javaネットワーク全然詳しくないけど、仮にそれをやるにしても自分の今のレベル考えたらちょっと遠回りすぎる気がする

適当IT技術者派遣にでも登録して実務でいろんなことやったほうがまだマシな気がする

2016-11-22

俺はもう駄目かもしれない

30歳、独身独立系SE

派遣契約で入ってる客先の要求レベルが高すぎる。

元々インフラ系のシステムの開発系SEだったが、部署方針変更でアプリ系の開発系SE配置転換になった。

言語C++なのでワリと親しみのある環境だが、それ以外のほとんど全てが元の職場と違い、悪戦苦闘する日々。

日に日にエスカレートしていく要求に付いていけない。心が折れそう。

一応来年契約が切られる事はないが、俺は作業速度が遅いそうだ。

頼れる人はいない上に毎日降ってくる作業要求レベルは高い。

社会人になって7,8年、色々辛いことはあったけど、今が一番辛い。

 

一応、瞑想運動最近はサボリ気味)はしているのだが、

病んでいくスピードに追いついていない感じ。

 

まだ、増田に書き殴れる程度には余力があるのかな。

ほんとに駄目なら何もする気起きないだろうしな。。

 

はぁ、1ヶ月くらい休みたい。

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