Skip to content

Instantly share code, notes, and snippets.

@sue445
Last active August 29, 2015 14:02
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sue445/302fc3e0fe2b5058954a to your computer and use it in GitHub Desktop.
Save sue445/302fc3e0fe2b5058954a to your computer and use it in GitHub Desktop.
「技術的負債をなくすには」をリファクタリングしてみた

はじめに

元ネタ:技術的負債をなくすには - Qiita

内容の是非はともかく、文章が羅列してあるだけではっきり言って読みづらいです。

せっかくQiitaはMarkdownが使えるのでMarkdownで読みやすくリファクタリングしてみました。

下記は原文にMarkdown表記を追加したり改行や空白を入れただけで、それ以外は1文字も変更していません


技術的負債をなくすには

http://apps.wiki.fc2.com/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5%E3%82%92%E3%81%AA%E3%81%8F%E3%81%99%E3%81%AB%E3%81%AF

  • C# Objctive-cだけ使う
  • VisualStudio Xcodeだけ使う
  • VisualStudio Xcodeを機能をフル活用する
  • WindowsServerを使う
  • 一定のシェアを獲得したDBを使う
  • デザパタを覚える
  • コミュニケーションはOffice 365やredMine,イラレGit Svnを使う

社会的に技術的負債をなくすには

  • 動的言語は使わない。
  • 動的本をすべて捨てる(人の手に渡るような捨て方はしない ちり紙交換がよい)
  • 動的DBは使わない。リレーションのない動的DBは使わない(mongoDBやNoSQL系)
  • 動的オープンを紹介してくるメデイアのステマに気づき騙されない
  • 動的オープンの無料育成研修セミナーには行かない
  • SIerが勧めてくる技術は独立できない技術だからやらない 関わらない
  • 職務経歴書に黒歴史(PHP Java JavaScript Ruby RoR Html5)を書かない
  • マニアックなオープンソースは拾ってこない 広めない
  • Jser Phper Rubistにならない 奢らない
  • PHP Java JavaScript Ruby RoR Html5の仕事は請け負わない

動的言語をこれ以上広げるな 罪を重ねるな 脆弱性をばら撒くな トラブルを撒くな

  • セキュリティに問題のある動的言語はどこにいってもトラブルになる
  • 原発のシステムにRuby,PHP,JavaScriptを使いたいと思うか?SIerはなら提案してくるだろう儲かるから
  • 使えば必ず原発はハックされる

C# ASP.netは2007年頃から海外では大流行だった 一方日本のメディアは盛んにLAMP!LAMP!RoR!RoR!煽っていた

  • C#(静的言語)は14年前のソースが今でも使うことができる。

  • VisualStudioにはソースを自動バージョンアップ機能があり書き換えてくれる。

  • コードが負債にならない

  • コンパイル時バグがわかる

  • DLLのバージョンをチェックしてくれる

  • ブレイクポイント

  • リモートデバッグ

  • 動的言語・オープン系は 手作業で直す

  • どこにバグあるか実行しないとわからない

  • 脆弱性が出るたび バージョンアップ、機能追加のたびに修正することになる

  • リファクタが使えない

  • 負債言語

14年前のソースが今でも使うことができる

この数字を見て動的言語関係者はびっくりしているだろう。

14年前のPHPソース 使えると思うか?関係者は首を横に振るだろう。

時間と人手をかけて改修すれば使えるかもしれない(多くの場合作り直したほうが安上がりという結論になると思うが)

脆弱性や仕様変更がたくさん埋まっているソースだ

修正には手間と時間と予算がかかる

C#なら一瞬で最新の.netフレームワークのバージョンに書き換えてくれる。エラーや警告の表示も一緒に出力されるから手直しが簡単

今はRoRのステマが醜くそれに騙されて使ってしまった人がいるが、今後、仕様変更やバグ、脆弱性は出続け、そのたびに全ソースを検索し手動で手直しをしなければならなくなる

それは新しいことをやっている時に起こるだろうし、今やっている新しいことが負債に変わる。

作れば作るほど負債が増え、前に進むことができなくなる言語 それが動的言語

メンテナンスが常に必要でほっとけばハックされる。

保守や改修に人が多く必要で中間業者は儲かるのでメディアや無料育成を通して広めてくる

煽っておいて自己責任の国 日本

静的言語のサーバーサイドで何がいいかというと 自分は C# Asp.net(asmx or webApi) Ado.net 接続 & 非接続のDataSet 管理.exeアプリ(C# WinForms)をお勧めする

もうお分かりいただけただろうか?

動的言語とはSIerが定期的に仕事を得るために広めたガラクタ言語だったということを

この言語をいつまでも高い稼働の保守作業が必要だ。

機能追加、言語の仕様変更、脆弱性を修正するのにお金も時間もかかる SIerはパンク屋だったのだ。

メーカー製の静的言語を使えばここまで時間も手間もかからなかった。

これ以上元請けはSIerが言われるがままにガラクタ言語を導入しないほうがいいだろう。

技術者はSIerが無料で教育してくれるからといってガラクタ言語を学ぶのはやめたほうがいい。(洗脳されて信者になるな)

特に技術者はこの言語をマスターしたからといって独立はできない。なぜなら、5人以上のプログラマーが働いてやっと出来上がるものがほとんどだ。手間がかかるということは自分が一番よくわかっているはずだ。言語とともに使い捨てられる運命にあるのだ。

IT経営者やSIerはその方が都合がいい。こき使ってやめられても独立できないのだから。雇ってはこき使って使い捨てる。まさにIT版のねずみ講  上のしか儲からないようになっている。

それに加えて酷いピンハネ。100万で売って7割以上搾取 一人送れば70万円入る世界だ。SIerにとって開発現場は炎上すればするだけよい。

言語は脆弱性があればあるほどいい、システムが手間が掛かるなら掛かるほどいい その分人を送り込めるからだ。

その辺にいる素人を適当に教育して3年開発の下駄はかせて送り、現場を炎上させて新たに人を送り込んで利益を得ている。

メモ

  1. PHPで改修しようにも簡単には改修できなくて、その間にハックされ情報が流出すること結構あるようだ
  • @WikiはPHP
  1. 2013年 Javaフレームワーク Strutsのサポートが終了した こういうフレームワークをメデイアで煽っておいて最後は自己責任される。オープン言語はやってはいけない
  2. これはどの業界にも言える事だが、気合い、根性の気合馬鹿から組織を乗っ取られないようにするにはどうすればいいか考えないといけない。
  • コミュニケーションで社員を懐柔し組織を乗っ取った筋肉馬鹿は面倒なことを気合い根性で乗り切ろうするから失敗する。
  • 日本はそのしわ寄せがまず下くるから会社が壊れる。脳筋バカは最後まで居残る。(○ーイズ、○ルマー、○ニー、旧日本軍
  • タバコ室や残業は特定の社員を仲良くさせるからだめなんだろう
  • 履歴書の項目が少ないのも問題なんだろう
  • 理系か体育会系,血液型,さう脳とか履歴書は書く項目が少なすぎる
  1. コミュニケーションするコストが高いといつのまにかそれが目的に置き換わってしまう事がある。
  • コミュニケーションの得意な奴が本当に優秀な人をさしおえて前にでてくることだってある。
  • Office 365やRedMine イラレなどでコミュニケーションコストを下げることで優秀な人が大声を張り上げなくても力を発揮できる環境を作るべきだ
  1. 事務仕事のツール化、自動化、ロボット化、コミュニケーションコストを低くするツールの導入で、声が大きい人や事務だけ得意な人が権力を握ることを防ぐ事が出来る
  2. 思えばSIer業界は自分たちが儲かりがたいためにガラクタ言語(Java,PHP,RoR,Ruby,Js,Html5,Flash)に人材を誘導しすぎた。
  • 出来損ない言語の非効率な生産性と保守作業は社会の進化が遅れ世界とのソフト技術に差がついてしまった。
  • 人材も非効率的なスキルしか身に付かなかった。それしかやらせてもらえなかった。
  • しょーもない言語は社会の発展を止め、技術者を路頭に迷せた。
  • 有益な言語を一つだけ覚えさせ、いろんな業界で使い回した方が業界的にも技術者的にも幸せになれたのではないか?
  • C#はロボットや組み込み機器,医療機器,WEB,スマートフォン,ゲーム,CG デスクトップアプリ,業務用ツール 様々なところで使う事ができるのだ。
  • 特にロボットはMocrosoft Robotics StudioというVisualStudioのロボット版の開発環境が2006年頃から出ており、ロボット産業を発展させることだってできたのだ。(そのころのIT業界はJavaとLampが主)
  1. 出来損ない言語を使う君たちへ 
  • http://builder.japan.zdnet.com/extra/iot2014/35045066/ この記事を読んでいただきたい。
  • RubyOnRailsなんてやっていてもコードの保守に一生追われるだけで終わってしまう。
  • いつまでの手直しに時間がかかり、他のやりたいことができなくなる。
  • アプリストアがあるわけでもない 課金プラットフォームがあるわけでもない
  • 脆弱性は出し続ける
  • コンパイルはできない
  • デバッグはたいへん
  • 導入もたいへん
  • WEBだけしか使えない
  • 動的
    • なぜこんな無駄に苦労する言語を高学歴はやるのだろか?
    • 受験勉強しすぎで無駄でも我慢してやり続ける事が正しい事と勘違いしているのではないか?
    • 無駄なものはいくらやっても無駄なのだ 無駄なものはやめて 有用な言語をやるべきだ
    • 支配層は人材を閉じ込めておくのが目的で広めているのだろうけど

Amazonの倉庫ロボット自動システム

http://gigazine.net/news/20121231-kiva-system/

それを開発している会社の採用情報

PHP RoR JS Rubyなんてどこにも書いていない 数年もすれば仕様が変りバグや脆弱性を出す危ない言語だとわかっているのだろう こんな危ない言語は使ってはいけない

VisualtStudioのGUIを使って組み込み機器を開発する

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment