タグ

論とprogrammingに関するch1248のブックマーク (241)

  • SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ

    ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態

    SIerの下請け開発者ってレベル低すぎない? - UXエンジニアになりたい人のブログ
  • 技術的負債の返済プロジェクトが失敗する 11 のワケ - jfluteの日記

    ワケ一覧 序の口: フレームワークだけが負債だと思ってる 序二段: ビジネスサイドに理解してもらう努力がない 三段目: 技術で遊び過ぎてしまう 幕下: 太り過ぎアーキテクチャ 十両: 過去に目もくれず、現状だって見ない 前頭: 技術に詳しいだけでアーキテクト 小結: アーキテクトの知識と覚悟が足りない 関脇: スパンが長く、モチベーションが続かない かど番大関: スパンが長く、人の入れ替えでチグハグ 大関: アーキテクチャデザインはどこへ? 横綱: 実は人間的負債だった 序の口: フレームワークだけが負債だと思ってる みんな、フレームワークが大好き。とはいえ、さすがにみんな、「フレームワークが古いことだけが負債」だなんて思ってないはずだが...なのに多くの人が、あたかもそのような振舞いと判断をしてしまう。潜在意識の Big Issue だから? o 信用できないテストデータ も負債 o 現

    技術的負債の返済プロジェクトが失敗する 11 のワケ - jfluteの日記
  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

    ch1248
    ch1248 2017/01/13
    前職で直属の上司がそんな感じで俺は毎日発狂しそうになった。でも、撲滅した後に待ってるのはユートピアでも無かったりする。
  • Big Sky :: Matz の「言語のしくみ」を読んだ。

    Twitter で「言語のしくみ」読みたいなって呟いたら Matz 人から「献しましょうか」とメンション頂いて即答でお願いしました。ありがとうございます。 ひさびさ紙のを通勤電車の中で立ちながら読んだので手がだるくなりました。なんだか懐かしい感じがしました。 さてこのですが、一言で言うとこんなです。 Ruby のパパこと Matz が雑誌の連載に追われながら試行錯誤して作ったプログラミング言語「Streem」を解説する 聞こえが悪かったらすみません。言いたいのはこの「試行錯誤」がとても良いエッセンスになっている点なのです。実際にはその連載記事をまとめた物に対して、この当時はこの様に考えていたが後になってみると実は良く無かったといった振り返り「タイムマシンコラム」で構成されています。 この連載が1つのに纏められた事でプログラミング言語設計者の葛藤が非常に良く表されているな、そう

    Big Sky :: Matz の「言語のしくみ」を読んだ。
  • 不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい

    先日、珍しく時間を持て余していたので、テレビを見る機会があった。 バラエティ番組を見るつもりもなく、また、10分ほどだったので、回したのはニュースチャンネル。そのときの題材に「不寛容社会」というものがあった。 何かと繊細な昨今、運動会での組体操でのピラミッド禁止や、除夜の金に苦情がきたために日中におこなうなど、ノイジーマイノリティによる過度な規制や自粛に疑問を示す内容であった。 「不寛容社会」というものは、インターネットにも溢れていると思う。いや、インターネットこそが不寛容社会を助長させていると言っても過言ではない状態だろう。どうあっても必ず誰かが批判をし、それが大きく取り上げられ、最終的には自由が制限される世界はまさに今のインターネットだ。 そうしたインターネットについて述べても良いのだが、今日は少し変わって、「不寛容」という言葉から連想された、エンジニアの「正しさハラスメント」について

    不寛容社会とエンジニアの「正しさハラスメント」 - エモくありたい
    ch1248
    ch1248 2016/12/29
    俺もよく指摘は受けるので気持ちは解るのだが、言い方・伝え方の工夫のはじまりが非効率のはじまりになるケースが多いのが、なあ。
  • 「関数型プログラミングって何?」日本語訳 - Okapies' Archive

    この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jenkins さん (@krisajenkins) の "What Is Functional Programming?" です。日語訳の公開については著者から承諾済みです。また、London Functional Programmers meetup での同タイトルの講演動画が公開されています。 関数型プログラミングの考え方は、世間ではどうも小難しい話だと思われている節があります。その理由の一つに、議論の抽象度が(比較的)高いことが挙げられるでしょう。例えば、以前このブログで紹介した「なぜ関数プログラミング

    「関数型プログラミングって何?」日本語訳 - Okapies' Archive
  • 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス

    2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る

    404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス
  • 自分は頭がいいから未経験でもすぐ即戦力になれる - 負け犬プログラマーの歩み

    という思いあがりを持つエンジニアは少なくない。というか、現状の俺が今この状態に陥っている。 もちろん、この思考回路自体は決して間違いではない。プログラミングにおけるセンスや問題解決能力、情報収集力などは凡そ普遍的なものだから、言語やフレームワークみたいな些細なもの、時にはパラダイムの違いですらも、優秀な人間であればごく短期間で乗り越えて、その能力を遺憾なく発揮できるはずなのだ。 その辺りを理解している企業も多く、少しマイナーな言語や環境での募集の場合、たとえ未経験でも意欲と能力を買って採用する事も多い。というかむしろそれが普通なんだろう。その辺りの融通が効かない駄目な会社は、そもそも「最新の技術」なんて導入せず、既に枯れ始めて実績と経験者のあるものに固執するからだ。 ただ、問題なのは、たまに有能ではないのに自分の能力を過信して「俺は優秀なんだから何でもできる。さあ誘え」と完全に受け身モード

    自分は頭がいいから未経験でもすぐ即戦力になれる - 負け犬プログラマーの歩み
  • 明日は誕生日なので本当の乞食というものをお見せしますよ - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 今年も生き伸びてしまった。 誕生日 in 山谷 とうとう33歳となった。33歳といったところで特別に何かが変わるわけではない。変ったことと言えば、山谷のドヤ街でゴロゴロし、隙間から這い出る虫(具体的な名前は付せる)の姿を見るにつけて、侘しい気持ちになったりするくらいのものである。そんな暮しとはいえ、パソコンさえあれば、プログラミングができるので、それで時間を潰し、その知見というものをブログに書くという日常を送っている。 時折、酒で酔っぱらった老人の唸り声が、薄い壁越しに聞こえてはくるが、文明の力であるところの耳栓があれば解決する。耳栓は下のものを使っている。しかし、半日ほどつけているため、耳の垢が貯まるのが唯一の弱点である。 MOLDEX 使い捨て耳栓 コード無し 6620 Goin'Green 10ペアパック 出版社/メーカー: MOLDEX(モルデックス)メディア: ヘルス

    明日は誕生日なので本当の乞食というものをお見せしますよ - Line 1: Error: Invalid Blog('by Esehara' )
  • 「60%の人間はプログラミングの素質がない」という論文は撤回されていた | catch.jp blog

    知らなんだ。 広くプログラミング教育を実施しようというとき、「60%の人間はプログラミングの素質がない」と批評されることがあります。けれども、そもそも学校のテスト等で難易度が高い場合には、正規分布にならず、ふたこぶラクダのように頂点が2つになることがあるそうです。だから、プログラミングの素質がないのではなく、プログラミング教育へのモチベーション設定に失敗していたり、チャレンジングな教育目標が設定されているのではないかな。つまり、素質の問題ではなく、環境の問題なんだ。だとしたら、環境が改善されたら、ふたこぶラクダは解消されて正規分布に近づく。そして、平均点は上がるはず(ふたこぶの上位層はさほど変化しない)。 ということを考えて、いろいろ調べていたら、はなはだ旧聞なんだけど、論文が撤回されていたことを知りました。ぐぐっても上位に出てこないので、ここに書く。 元ネタは、これ。 The camel

  • 仕事が出来る人の勉強法 優秀なプログラマに学ぶ、効率のいい勉強の仕方 - ケーススタディの人生

    「あの人はいつも仕事が速いし正確だ」 「なんであんなにもアイデアが出てくるんだ」 優秀な人、デキる人に対しては、これらのようなことを思うでしょう。 彼らのようになるにはコツがあり、それはアウトプットの試行錯誤だけではありません。 結論からいうと、デキる人たちは集中したインプットをしています。 みんながみんなというわけではありませんが、頭の回転がすごい人というのは事前に膨大な量のインプットをまとめて行っている可能性が高いです。 取り組む前にまとめてインプットしておくことで全体像を把握でき、また勉強にかかる時間も減らせる。 彼らはあまり語りませんが、実は裏でやっているというパターンがほとんどです。 目次 はじめる前に10冊読む 基的な勉強は最初で済ませる 緻密な情報収集が成否を分ける まとめ こちらの記事もどうぞ! はじめる前に10冊読む 優秀な人の特徴のひとつとして、発想や情報処理のスピー

    仕事が出来る人の勉強法 優秀なプログラマに学ぶ、効率のいい勉強の仕方 - ケーススタディの人生
    ch1248
    ch1248 2016/08/16
    言わんとする事は解るが、この方が例のデキる人をちゃんと観れてない感ある。
  • まだたとえ話で消耗してるの? - K.Maebashi's はてなブログ

    常に話題には乗り遅れる私ですが、ちょっと前、「変数を箱にたとえる」ことについて議論がありました。 プログラミングの変数を教えるときの「箱の説明」の是非について。 - Togetter 実のところこの話題は昔から何度も出てきた話で、「何周目だ」という話ではあります。私自身、「センス・オブ・プログラミング!」に書いたことがあります。 変数は「箱」か? - the code to rock そして、上記の「the code to rock」の文章にもありますが、「箱モデル」の代わりとしてよく提唱されるのが「名札モデル」です。 こういうことは文章で書いてもわかりにくいので、それぞれ、絵にしてみましょうか。 箱モデル ■「a = 5;」という代入 「aという名前が付いた箱に、5という値を格納する」プログラミング言語の入門書によく出てくる説明ですね。 ■それに続いて、「b = a;」という代入 ここで

    まだたとえ話で消耗してるの? - K.Maebashi's はてなブログ
  • PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の料理 安物のねぎとろは、納豆と良くあう。 前提 はじめてのにき(2016-06-16) より。 このエントリの立ち位置について 元々はPythonを勉強していたのだけれども、仕事の関係上、Rubyを主軸にすることにした人間のエントリです。ちなみに、PythonRubyの立ち位置には詳しくなく、主観を元に構成されているので、客観的な部分に関しては弱いことをお断りしておく。また、現時点での知識が2.7になっているので、3.5では多少違う点があるかもしれない。 なぜならPythonのほうが「わかりやすかった」から まず最初に、Pythonのほうが機械科学系の人に支持されやすい傾向としてあるのは、Pythonのライブラリ、例えばNumpyであったり、Scipy、または各種機械学習系のライブラリなどの影響が大きいのは間違いない。最近の機械学習ブームのせいなのか、Pythonも「エモい人(エモ

    PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )
  • TechCrunch

    A few hours after this morning’s big unveil, Humane opened its doors to a handful of press. Located in a nondescript building in San Francisco’s SoMa neighborhood, the office is home to the startu

    TechCrunch
  • https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-1-%E4%BB%8A%E3%80%81%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%82%92%E9%81%B8%E3%81%B6%E3%81%A8%E3%81%84%E3%81%86%E3%81%93/

    https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-1-%E4%BB%8A%E3%80%81%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%82%92%E9%81%B8%E3%81%B6%E3%81%A8%E3%81%84%E3%81%86%E3%81%93/
  • ハッカソンというイベントの目的とは何だったのか

    おそらく僕がハッカソンを主催しだしたのは、2007年頃です。その時は、ハッカソンという言葉自体がまだほとんど知られていなくて、当に珍しいことを始めたって感じだったのを記憶してます。そしてそれから8年以上が経過して、ハッカソンという言葉は広く認知されたのと同時に、その言葉が指すイベントがどのようなものなのかが「人によって認識が違う」状況となってしまいました。もちろん、好きに定義して良いことなんだけど、そもそも僕がハッカソンをデベロッパーコミュニティとやり始めたときにどんな認識でいたのか、今一度ここで再確認しておきたいな、と。 下記の内容は、ここで当時一緒にハッカソンを主催していた方々との会話から、僕が個人的に改めて当時の認識を言葉にしてみた文章です。 ハッカソンの目的 まず、ハッカソンの来の目的がなんだったのか、ですが、これは以下でした。 普段の仕事では作らない/作れない何かを「試しで」

  • Google DeepMindの囲碁ソフト AlphaGoの衝撃 - カレーなる辛口Javaな加齢日記

    「Mastering the Game of Go with Deep Neural Networks and Tree Search」https://storage.googleapis.com/deepmind-data/assets/papers/deepmind-mastering-go.pdf http://deepmind.com/alpha-go.htmlAlphaGo: Mastering the ancient game of Go with Machine Learning 」http://googleresearch.blogspot.jp/2016/01/alphago-mastering-ancient-game-of-go.htmlAlphaGo: マシンラーニングで囲碁を 」http://googlejapan.blogspot.jp/2016/01/

    Google DeepMindの囲碁ソフト AlphaGoの衝撃 - カレーなる辛口Javaな加齢日記
  • Android Javaでフィールドにmプレフィクスをつけるのはやめよう - Islands in the byte stream

    Android Javaでは昔からAOSPのcoding style guidelineに則ったスタイルがとられることが多いようです。そのなかで、private fieldに "m" (member) や "s" (static member) などのプレフィクスをつけよ、というものがあります。 AOSP Java Code Style for Contributors  |  Android Open Source Project これはいわゆるハンガリアン記法の変種で、こういうやつですね。 class Recipe { private String mTitle; private List<String> mSteps; // ... } これについての態度はプロジェクトごとに様々ですが、たとえばクックパッド社のJavaのスタイルガイドでは明確に否定しています。 styleguide/

    Android Javaでフィールドにmプレフィクスをつけるのはやめよう - Islands in the byte stream
    ch1248
    ch1248 2016/01/24
    なるほど。
  • Squeak Smalltalkで荷物運びゲームを作るガイド - レガシーコード生産ガイド

    2015-12-07 Squeak Smalltalkで荷物運びゲームを作るガイド Smalltalk Squeak これはSmalltalk Advent Calendar 2015の7日目の記事です。 はじめに この記事では、Squeak Smalltalkで荷物を運ぶゲームの簡易版を製作した過程などを紹介します。 完成品のプレイ動画です。 www.youtube.com この記事対象はかなり限定されています。簡単に言えば、少し前の私が読みたかった記事です。 Smalltalk以外でのプログラミングの経験は少しあって、Smalltalkにかなりの興味を持ち、入門書を読み終わった時点です。しかし今までの環境とあまりにも違うので、何を作れるのか、どう踏み込んでいけばよくわからず躊躇していました。そういう風に戸惑っていた私と同じような人を対象とし、モチベーションを上げることを目的としています

    Squeak Smalltalkで荷物運びゲームを作るガイド - レガシーコード生産ガイド
  • 知能と技術的特異点 - Sideswipe

    これは 人工知能アドベントカレンダー の1日目の記事です。 はじめに アドベントカレンダーは25日間をかけて、知能、あるいは人工知能(あとで触れますが、正確には汎用人工知能を指す)について、それを理解しまた実現する技術について、広く浅く解説と紹介をします。 ここでいう人工知能は、後述するように一般に考えられている人工知能(Artificial Intelligence) ではなく、汎用人工知能 (Artificial General Intelligence, AGI) であり、一言で表すなら、「人と同じような知性をもった機械」を考えます。ただし、以降は特に断りのない限り、AGIの意味で単にAIといいます。AIとAGIの違いについては、以前の記事 人工知能は Deep Learning によって成されるのか? - Sideswipe を御覧ください。こちらは今回のシリーズで扱う内容の概要

    知能と技術的特異点 - Sideswipe