「Perl」を含む日記 RSS

はてなキーワード: Perlとは

2017-04-09

Rubyはもうやめた

もうRubyシステム書くの止めた

日々更新されてコロコロ変わる言語仕様に付き合ってられない

最近互換性を気にしてるようだけど新しい書き方ですとか毎回言われるストレス半端ない

プログラミング言語みたいな土台となる技術がそんな変わって何も違和感覚えないやつらがどうかしてる

(その意味SwiftRuby以上に頭おかしい)

rbenvやらBundlerで完璧ベンダリングできますってそんな誇れることなの?

バージョン依存が激しいのでそうしないとバグますって言ってるようなもんじゃねーかw

まだpython2,perl5で書いた方がまだ良いわ(Perl文法が糞だから書かないけど)

多少言語に粗があっても互換性を維持してくれた方がよっぽど重要なんだけど(少なくとも俺は)

ついでにRailsも止めた

フルスタックフレームワークでなんでもできるぞ!とか言ってるけど理解できない

自分が使わない機能がたくさんコードに入ってて使わない機能脆弱性がありましたアップデートあります

って毎回言われてどう思うの?

モックアップみたいなのをササッと作るには良いかもしんないけど、こんな異常なアップデート地獄に付き合わされて

まだRails生産性が高いとか言えるの?

結局Railsマジックで作ったような気になってるだけで後に来る保守問題先延ばしにしてるだけじゃねーの?

Rubyが変わりRailsが変わりそれに追従して今回のアップデートはあーだーこーだーって茶番すぎんだろw

世の中のレガシーRailsシステムを見て現実を見たらw?

2017-03-21

http://anond.hatelabo.jp/20170320235648

http://fut573.com/compare/?url1=http%3A%2F%2Fjp.techcrunch.com%2F2017%2F01%2F10%2Fline-shimamura%2F&url2=https%3A%2F%2Fmatome.naver.jp%2Fodai%2F2133323755602668001

1:「お前が言うな」の声も想定していた——キュレーション騒動を受けてNAVERまとめが新方針を打ち出した理由 | TechCrunch Japan

2:プログラマーの力量を見極める質問まとめ - NAVER まとめ

b:id:pzp

1:四の五の言ってないではやくやめろよ

2:こんな学術試験みたいな質問ビジネス通用する実力がわかるわけないだろ

b:id:kastro-iyan

1:面の皮が厚いな、というか。表に出てきて、話をすりかえるとか、すっとぼけるとか、逆に印象悪いよ

2:ブコメ読むと非難轟々だけど、この辺の知識あるとなしでコーディングし始めると有意な差が出るけどね。ググればいいって言ったって時間は限られるわけだし

b:id:wow64

1:NAVERまとめ役に立った事はないし、今となっては押し間違える事もない か ら正直どうでもいい。みんなも「楽して儲けてるやつが憎い」以外の感情はないのでは。

2:Perl質問されたらごめんなさいって言おう。

b:id:masatomo-m

1:ちゃんと引用定義に従ってるまとめもごくまれにあるけど、大半が転 載やんけもしかして本気で「引用」の定義理解せずにメディア事業担当者とかやってるのかな

2:職種PG(いわゆるコーダー)でSES一山いくら、みたいな感じで動員するのであればこの質問は悪くないと思う。ただそもそも単なるコーダーが欲しいなら日本人である必要もないと思うけど

b:id:YukeSkywalker

1:“ネット界隈で有名な人に引用されたら「ありがとうございます」となるのではないでしょうか”役員からしてこの認識とか、ほんまク ズやな

2:コーディング問題出されたのは良いけど、紙と鉛筆で答えろ、って言われた時は辛かった。


両方共批判した人

b:id:xvd385hsDdk

1:引用モザイクコンテンツではありません!!

2:短文・画像なしだと元記事へのリンクだらけになってNAVERパクリっぷりの酷さが特に際立つな

2017-03-19

http://anond.hatelabo.jp/20170319132149

日本のお役所PDF大好きなのは、知っている。霞ヶ関から吐き出される有効資料は、ほぼpdf

一方で、e-statなどでは、ネ申エクセルや方眼エクセルとは、別の方向でcsvデータを公開している。

今、株価が上昇しているIT企業様は、PDFhtmlとを比べるような使い方はしていないのでは?

世界は、IT企業htmlPDFとを比べたらどちらを重用しているのか?

  

googlejava script 推しのJQueryを良く使ってるし、これからは、人工知能時代からxml形式とか、マークアップ言語は、良く出てくると思うよ。

Facebookphpなんでしょう?リア充御用達で、Twitterよりも株価資本も安定している。

これからは、you tubeとかLINEみたいなツールがどんどん出てくるから、先のことは分からないよね。

オープンソースでもGit hubみたいなツールが使われているんだし。。  

そう言えば、perlcgiは、ほぼお亡くなりになりましたね。

2017-03-12

書き換える必要なくね?

大企業銀行で、昔から動いている基幹システムは、大抵メインフレームCOBOLの組み合わせである

それをここ十年くらい、リプレースx86サーバJavaという構成に変更することが多い。

しかし、ハード汎用機からオープン系になるのはともかく、プログラムを別の言語に書き換えるとか、誰も幸せになる気がしない。

ぶっちゃけCOBOLCOBOLのまま移植し、今後も改修を続けるほうが、長い目で見たコストも低くなるのでは?と思うのだ。

その理由はこうだ。


COBOLで書かれたバッチ処理は、設計書の書式がフローチャートであることが多い。

勿論ロクに設計書がない場合もあるだろうけど、いずれにせよCOBOL文法は、「普通の人にとっての仕事らしい仕事」をそのまま入れ子状のフローチャート(分岐の先が別のフローチャート参照みたいになってるやつね)に書き表したものである

そういうモノが既にある企業銀行文化において、当然発注側は担当者からお偉いさんまでCOBOLerフローチャート脳だし、新しいシステム設計でもそれを踏襲しようとする。

というか踏襲すること前提じゃないと設計書をレビューできない。

UMLで考えるようなパラダイムシフトはまず不可能なので、それを求めるのは受注者の傲慢だろう。

というわけで、受注した大手SIerは、ほぼ確実にフローチャートもしくはそれに準じる記法設計書で処理を組み上げざるを得なくなる。


そうなると、実装フローチャート設計を基にコードを書くわけだが、こういう設計ハッカー文化で発展してきた言語(FortranC/C++Javaという流れと、PerlからPythonPHPというインタプリタ系の諸言語)との相性が最悪である

設計とは実装を楽にするために書くのに、これらの言語において、フローチャート設計は役に立たないどころか、邪魔しかない。

からFortranしかなかった頃から、本物のプログラマ達はフローチャートdisってきたわけである

ちなみに筆者はハッカー文化が生み出した恩恵に敬意を示すし、実際とても好きという立場である

しかし、「普通人達普通思考からはかけ離れ過ぎているという意味で、「普通人達普通仕事」をシステム化する時にどこまで役に立つかについては、非常に懐疑的に見ている。

…いささか話が脱線してしまったが、とにかくフローチャートで上がってきた設計書でコードを書くならCOBOLアセンブラ選択すべきだし、それで書けないなら書く意味が無いくらいに思ったほうが良い気がする。


というわけで、自分COBOLからリプレース案件は、その根本的な愚かしさを抱えている現状を見るに、今後一切関わる気はない。

COBOLリプレースするのでない限りは。

2017-03-07

Perl挫折したので

PHP勉強しようと思う。南無。

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

今、スタバでルネラジを聴きながらコレを書いてます

さっき、テックブログRSSと一緒にホットエントリRSSを外して、アプリを削除したよ。何年の付き合いだろう?サービス開始からから・・・悲しくなるから確認せずに行くよ。

最初ダイアリーに書いて、反応なんて全然なくて、広告コメントばかりだったな。いまでもはてなの知り合いはいないんじゃないかな。

ネットコミュ障なんだ。Twitterとか色々やってるけどやりとりする相手なんて誰もいないよ。

僕は君になにもできなかったね。本当に君の事が好きだったのかな?本当に村民になりたかったのかな?多分、違う。本当はブクマされて、スターつけられて、承認欲求を満たしたかったんだ。

意識高い系を笑えないよね。何年も異性にお金を注ぎ込む人を笑えないね。僕もずっとホットエントリを見て、色んなものを買ったりしたんだ。

====

どうしてこうなったか?聞きたくもないだろうけど、最後から言わせてくれよ。

初めて君を見たとき天国に見えたよ。最新の技術トレンドがここにあってさ。自分理想郷はここなんだって技術力をつけて、認められる人間になって、ここの住人になる事が幸せなんだって思ったんだ。

そうやってさ、次々流れてくるトレンドに耳だけが年増になっていって、それを知らない周りの人たちをバカにしてたな。

でもさ、肝心の技術力は全然つかなくてさ、大学生になれば、就職すれば、東京に出れば、新しいマシンがあれば、お金があれば、時間があれば、やる気があればって制約条件がなくなる度に新しい言い訳を考えてたな。

結局、生半可な知識じゃ参加できないってチンケなプライドのせいで勉強会に参加せず、ブログも書かず、なれたのは一番軽蔑するExcelとにらめっこしてるSIer。おいおい、Web系のベンチャーテックブログ書くんじゃなかったのかよ(笑)

耳年増で、周りをバカにしてたクセに仕事全然できない自分とのギャップ10年耐えてきたけど、年末休職したんだ。自律神経失調症

眠れるんだよ?ごはん食べられるんだよ?ただ、会社の人みんなが怖くなってさ、朝だるくってさ、すげー疲れてさ。苦しくて。仕方ないから受け入れて。っていうか、甘やかして。つまるところ、ズル休みなんだよ。

時間が出来たから、ずっと積ん読になってた技術に正面きって立ち向かってみたんだ。すぐ投げ出したね。理由は分からないけどただ苦痛だった。

作りたいものなんかなかったし。多分、技術を使いこなしてスゴいって言われたかったんだね。

部屋にはPerlRoRSQLitejQuerynode.jsAWSHaskellHadoopDockerRaspberry Pi、R、Reactのホコリを被った本がある。彼らはブックオフ行きかな。

最近時間はあるからさ、はてブばっかやってたんだ。見るのがホットエントリから新着エントリーになったな。いつもみたいに100文字制限ギリギリコメントだけじゃなくて、10文字くらいの一言コメントも書くようになったんだ。その10文字コメントのうちひとつ100スターくらいもらえてさ。

そのとき分かったんだ、これはずっと片思いなんだって。叶わない恋なんだって自分が住める世界じゃないんだっておかしいよね、小学校の頃のプロ野球選手の夢だって中学生の頃の小説家の夢だって高校の頃のパンクロックスターの夢だってすぐ諦められたのに、この夢は35歳の今だって諦めきれないんだ。

応用情報取った時も、ネスペ取ったときも、オラクルブロンズ取った時もLPIC 2取った時も全く達成感なかったよ。コレ取るのに何年かかってんだってさ。村民は1ヶ月あれば取れるぞ。同期のアイツだって3ヶ月で取ってるぞ。何が言えるんだってさ。

銃・病原菌・鉄読んだ時もそうだった。で、お前はそこから何かアウトプット出来るのか?ってさ。読むだけなら幼女でも出来るんですけどwって。

伝わる?伝わらないだろうな。みんな高IQですぐに色んな技術理解出来るじゃない?すごいよ。自分二浪駅弁大学しか行けないくらいのバカで、リアルでもネットでも知り合いを作れないコミュ障自己承認全然出来ないんだ。

ADHDって言葉を知った時、これだーって思ったけど違ったね。IT勉強してても過集中が全然ないんだ。

話が逸れたね。認知療法してて、気づいたんだよ。何をしてても自分を認められないんだよ。はてなに受け入れられる事を成し遂げられてないからね。

から自分を認めるために、君のことを自分から切り離さなきゃいけない。自分世界を作らないと。一方的なっちゃうけど、さようなら勝手だけど、今にも泣きそうだよ。

これからどうしようかな。匿名で好きな事書けるのはココだけなんだ。自信のない間違ってるかもしれない事を書いてもいいのはココだけなんだよね。ここなら見たくないコメントを見なくてすむんだ。

新聞も取ってないかチラシの裏にも書けないよ。

でも、前に進まなきゃ。夢の世界への憧れは終わりだ。目の前の現実世界適応しなきゃ。また逃げ戻ってくるかもしれないけど、いまはさようならしなきゃ。

最後に何か残せるとしたら・・・スタバハチミツ、あれ何に使うと思う?あれ、ワッフルを食べるときに使うんだよ。

・・・スベったね。

さようなら。このエントリも2時間すれば次のページ行きだ。そうすると、誰かの目にも触れなくなる。単なるはてな磁気データになる。

最後ブコメとかつくんじゃないかって浅はかな期待を持ちながらこの内容を登録するボタンを押します。じゃあね。

P.S. 認知療法について書いてくれたこの増田には本当に感謝しています。まだまだ自分について書く事が苦しいけど、正しい道を向いてると信じています

http://anond.hatelabo.jp/20150213215921

2017-02-05

静的型チェックのない時点で五十歩百歩な感じだから

JSやらPerlやらPHPの間で、どれがガバガバか争われてもって細かい話ににしか見えない。

PerlよりJavascriptの方が言語仕様的に糞だと思うんだけど

セキュリティだの保守性だの気にするなら

2017-01-29

http://anond.hatelabo.jp/20170129162605

自分Excelマクロちょっとした雑用こなすもの作ったら

自分が書くならPerlかな」と言いやがった同僚

Excel仕様書Excelスケジュール表、Excelで埋め尽くされたプロジェクト

せいぜいPerlでもなんでも使ってExcel操作するプログラム書いてみろや

と内心思ったけど言わなかった

そいつ技術専門部署から実務部署への異動組だったが

2017-01-18

http://anond.hatelabo.jp/20170118131712

『(シンプルな)Perl』という表現が、暗にシンプルではないPerl存在示唆し、

それは初心者には解読困難であることを示しているのだ。

バッチ書ける?」と聞かれて

バッチ処理のことしか思い浮かばなくて話がかみ合わなかったけど、よく聞いたらWindowsのBATのことだった。

バッチの貧弱な言語機能を補うべく、いろいろテクニックを駆使して分かりにくいコードを書かなければいけなかった。

バッチ以外の普通プログラミング言語で書いたほうが、メンテナンスとか楽だろうと思ったけど、こういう時に言語の変更を提案しても100%却下されるから、黙って仕事をした。

メンテするのは俺じゃないしな。

 

何年か前にも、Windowsサーバーで使うバッチを書かされたことがあったけど、そのときバッチでは実現できない機能実装しなくてはいけなくて、Cで外部コマンドを書いた。

そのサーバーにはperlインストールされていたから、これPerlで書いたほうがいいですよって提案したけど、分かる人がいなくてメンテできないからって却下だったな。

技巧をこらしたバッチ + Cで書かれた外部コマンドの処理も、そこの人たちにはメンテできないだろうからどっちでも同じだろうって内心思ったけど。

 

その現場の人たちもPHPを使ってるんだから、(シンプルな)Perlなら、見れば分かるだろって思うんだけど、まあ、技術に興味ない技術者の未知の技術への恐れはすごいから無理なんだろうな。

2016-12-11

転職活動で感じたこと。

30代中盤、新卒からWeb開発、ここ数年でスマホアプリ開発をやってきました。

色々あって9月から転職活動をはじめ、11月末までに内定が揃い、1月から新しい職場となります転職活動で感じた点をいくつか書きます

活動内容:Wantedly、Greenキャリアトレックエンジャパンから合計8社エントリー

     うち3社が書類審査落ち、1社が面談落ち、1社が1次時面談通過後に辞退。3社内定&条件提示

■提出する履歴書・経歴書は手書きである必要はない。

もうあたり前ですよね。手書き履歴書を求める企業ゼロでした。

フォーマット独自問題無かった。

ありきたりのJIS規格履歴書は使わずMacOSPagesという標準ソフトにあった横書き履歴書テンプレートを使いました。写真も貼っていません。

見づらいとか、再提出を求められたことはありません。ある会社から人事部として必要情報掲載されて見やすければ良いという返答をいただきました。

職務経歴書に関わってきた全てのプロジェクトは書かなかった。

Androidアプリ開発エンジニアとしての転職をしたかった為、直近の開発プロジェクトについては手厚く書き、

過去プロジェクトは簡易に又は記載しませんでした。

10年以上も前のPerlで書かれたプロジェクトについて説明しても、その技術即戦力になるとは限らないし、ぶっちゃけ意味ないでしょと思った為です。

同じ事をずっとやってきたのなら、感覚値ですが5〜7年以上前プロジェクトについて記載する必要は無いと思ってます賛否あるでしょうけど)

希望する職種に見合った実績こそ最大の武器

ストアにリリースされている自作アプリや、githubで公開したプロジェクトについて職務経歴とは別で詳解資料を作りアピールしました。

その効果があったかのか、書類審査はすんなり通った方だと感じました(以前の転職では書類審査時間がかかったり、よく落ちていたと思う)。

内定を頂いた企業の全てでこの部分で評価が高かったと思います

現場責任者との面談テクニカルディスカッションを入れると良い。

エディタは何を使っていますか?タスク管理redmineですか?なんていうありきたりな質疑応答でなく、事前に受ける会社アプリシステムを触ってみて、見つけた感想改善点を提案するなどしてテクニカルディスカッションができると、責任者の考えや開発方針などが聞けるため、その人の元で働けるか、スキルが見合っているかを多少なりとも判断ができます

面談パソコンを開いても問題なかった。

自作の何かを紹介する際にパソコンを開いて見せたり、質疑応答時のメモ確認する為に開くなど、一旦断りを入れておけば問題ありませんでした。

年収ハンディキャップなどプライベート情報最初面談で必ず確認

相手サイト記載されている現在年収を知っているため、年収交渉最後で良いかと思いがちですが、提示年収が現行よりも下がる事もあったので、

自分面談質疑応答の際、希望年収レンジ問題は無いか?を毎度きいて反応を伺っていました。

以上、ありきたりな内容だったかもしれませんし、業界によっては又事情が違うかもしれませが、参考になると幸いです。皆さんも良い転職を!

2016-11-20

大多数のプログラマは…

IT業界に努めてもうそろそろ二桁年。

そこそこの企業特にWeb系で渡り歩いた経験から真実を書こう。

一般的プログラマと呼ばれる人たちは

はっきり言う、ほとんどのプログラマ自称する人間の 9 割はコーダーである

言われたものを作る事はできるが、それ以外何も出来ないと言って過言ではなく、何もしない。

そんな驚きの生体をここに晒していく。

一般的コーダー自称プログラマ)は、アプリケーションの基盤が作れない

標準化と呼ばれるプロセスで、プログラマ環境設計、組み合わせ、開発プラットフォームセットアップ、開発環境の構築手順作成、開発手順の作成必要技術考察を行う。

なぜそうなったのかは知らないが、一般的にそうなっている。

その環境に浸っているせいか、彼らはゼロベースものを作ることが出来ない。

彼らにできるのは HelloWorldコマンドプロンプトで表示するプログラム程度の事しか出来ない。

複数ソースの連結、ライブラリの読み込み、サーバへのデプロイ、どれも手動で出来ないのだ。

一般的コーダー自称プログラマ)は、保守性を考えない

彼らは自分に任されたものを動かせればタスクが終了する。

逆にそれ以外のこと、コードの読みやすさや、クローン率の低減、メソッドコメント記載などの保守に関わることをしない。

それは彼らにとって「必要ない無駄作業」としか考えないのだ。

早く仕上げるためなら、似たような動いてる箇所から、よく読みもせずにコピペを行う。

そして彼らは、作るより運用する期間の方が遥かに長くて、その間に修正地獄を見るという簡単論理に気づかない。

…何度味わっても気づかない。

一般的コーダー自称プログラマ)は、勉強しない。

一般的プログラマコーダー)は勉強をしない。

たとえするとしても、業務時間中に業務で使ってる技術ピンポイント学習するだけだ。

勉強会は確かに多い。「.dits」何かがいい例だ。

だが、プログラマと呼ばれる人間の母数に比べれば微々たるものだ。

彼らは言う「土日にまで仕事してられるか」「勉強会行ってるの?馬鹿か?」

あえて言おう、馬鹿は彼らだ。

一般的コーダー自称プログラマ)は、自分の使う道具がわからない

Web仕事をするならIDE統合開発環境エディタコンパイルテストデバッグ実行などを画面から行えるツール)はほとんど必須エディタで済ませる事も出来なくはない)が、彼らは状況に応じたセットアップができない。

たとえば「Mavenプロジェクト管理ツール)、checkstyleコーディング規約チェック)、editorconfig(改行、インデント文字コード設定)」が入っていたとする。

するとEclipseなどを使うとして

  1. どのプラグインを入れればいいか調べられない
  2. どうやってプロジェクトを取り込めばいいかからない
  3. プラグインを入れても設定方法がわからない(IDEデフォルト設定と、プロジェクト内の設定の違いを認識できない)
  4. IDE の設定画面がわからない

マニュアルチュートリアルを用意しないと、道具の使用もままならない。

一般的コーダー自称プログラマ)は、テストコードで書かない

テストをなるべく機械やらせようということの利点が理解できない。

コンパイルして動かして確かめればいいと本気で考えている。

そのために、何十回もコンパイルデプロイアクセスログインの手順を何度も繰り返す。

関連する他の修正を行うたびに繰り返す…。

そしてやっと動くとひと仕事終えたと満足感に浸る。

一般的コーダー自称プログラマ)は、プライドが無いか、変なプライドを持っている

ラリー・ウォールというとある有名な人物Perl開発者にしてC言語ハッカー)がいる。

彼の言う三大美徳に「傲慢」がある。

これは、自分の作るもの完璧なのだ、だから完璧であるように出来る限りのことをするという美徳である

一般的コーダー自称プログラマ)は、このプライドはない。

彼らは金のために嫌々動くだけのものを作るのだ、動きさえすれば報酬は変わらない、よって当然完璧かどうかなどどうでもいい。

同じ金でより良いものを作るのではない、要件だけ満たせばよいのだ。

変なプライドを持つコーダーは、それで運良く成功すると、自分知識は正しい、自分技術は十分なのだと考えている。

こういう人間は、プライドの無いコーダーよりたちが悪く、うまくいかないと他人環境のせいにする。

そして調べず周囲を苛立たせるのだ。

おわりに

土日に自ら勉強会に行くプログラマや、それこそ 50 人以下などという会社であればこうした事はあまりない(んじゃないかと思う。)彼らは自分でなんでもやらないといけないからだ。

だが、大企業に飼われる子飼い企業派遣(そもそも人手のみを求められる企業)、100人以上の企業では、役割分担に伴いこうした状況が多々発生する。

だが役10年、エンジニアを見てきた結果は変わらない。現実問題こうなのだ、こんな人間が大多数なのだ

人の多い企業ほど考えたほうがいい、それでより良いものが生まれるのかと。

必要とされる技術だけを叩き込んで金にしたいと言うのは分からなくないが、基本姿勢思想はどうなんだと。

経営者マネージャーよ、あなた方の言う「最適化」とは現場が日々考え行っている最適化か?人員最適化だけを行って、生産性が伸び悩んでいないか

そのあたりは考えた方がいい。

エンジニア立ち居振舞い: 技術的な暴力を振るわない - futoase

http://futoase.hatenablog.com/entry/2016/11/19/155427

例示されている暴力はだいたい頭の悪い暴力なので反論できます

CGIには今の時代PHPを利用するのに、なぜ未だにPerlを使っているのか。処理速度も遅く、表現も難解だ。

では今あるシステム全部PHPリプレイスするとして、○人月工数必要ですがそのような予算はありません。

Go言語のもの表現力が低い。そんなものを利用するならJavaScalaで書くべきだ。ライブラリ豊富にあるだろう。Googleに縛られた環境での開発は恐ろしい。

ところでどうしてWindowsPCを開いてExcel文書作ってるのか教えてください。

Serverlessそのものサーバがなくなるわけではない。自身チューニングなど細かなリソース管理ができないPaaSを使って自身サービスの命運を預けるなんて馬鹿げている。

理屈の上ではオンプレミスIaaSの方が細かな管理できるかもしれませんが、サーバ管理にそこまでコストかけるつもりが無いのに適当なこと言わないでください。

みんな忙しいから結局何もやってないじゃないですか

iOSアプリのものプラットフォームがいつまであるかもわからないし、今後広がるかわからない。Objective Cを覚えたり、そんなもの技術をかけてどうするのか。

Nintendo Switchが大流行するかわからない。コントローラー使いづらいし。あんものはチンケなものだ。そもそもUnityインフラエンジニアが覚えて意味があるのか。

流行前は流行らないと言い、流行った後は将来性が無いと言う、じゃあ一生何も始めないつもりですか?

でも安心してください。すべてはUnity解決してくれます。そう、Unityならね。




とは言っても結局は私も暴力をふるう側の人間

例示された人たちに暴力ふるいたい。

windowsmacフロントエンドインフラ組み込みいう線引きからはみ出してはいけないと思うな。むしろ全部やれ全部だ!誰もお前がカバーしてない部分をサポートなんぞしねえからな!

ECサイト作りたい人 → ヤフオクでやれ(CMSを使うことの大切さ)

iosアプリ作りたいwindows開発者 → くだらないことにこだわってないでmaciphone買え(ios開発は何もかもmacxcode大前提

フロントエンドプログラマgo → goだけ使われても微妙。当然DBとの連携もあるんだよな?ん?(サーバサイドスクリプトDB連携のためにあるようなもの

サーバレスに興味あり組み込みエンジニア → どうでもいいからさっさと作れ。そこ悩むとこじゃねーから!(悩むなら一度サーバ立ち上げから自分でやってみてイメージをつかんだ方がいいかも)

NintendoUnityインフラエンジニア → やればいいと思うがハードルが高すぎて頓挫する可能性が高い。まずはUnityエディタ上で動くくらいを目標にすべきだ。

2016-10-02

http://anond.hatelabo.jp/20160427005612

ぱいそん使いの10歳下の同僚に簡単文書ファイルパースするスクリプトを書かせてて1時間くらいして「できたー?」って聞きに行ったら出来てなくて10分くらいで俺が書いたんだけどどうすりゃいい

Perlオワコンなのは承知してるんだがPython代替できんのかなあみたいなそういう意味

これからはDじゃ!と思ってDを勉強した苦い経験あり


今書いてて思ったんだけど別に1時間スクリプトに集中してたとは限らんな

59分くらいはリア充してたから出来てなかったのかもしれん

2016-09-18

プログラミング言語の過渡期に立ち会う

最近アメリカとか海外を中心に既存システムリプレイスしているって話をよく聞く。

特にLL(PHP, Python, Perl, Rubyなど)をgolangに置き換えた(置換え中)ってのが多い。

LLオワコンなのか。今まで保っていた優位性が失われつつあるのは確かだ。

Rubyオワコンだと思うけど、日本ではなぜかイケてる感がある風潮(自分はまったくない)。

このご時世Rubyリプレイスしてますなんて会社日本だけだろう。

悲しい。

2016-07-18

Vimフィルタコマンドで使うUNIXコマンド

http://vim-jp.org/vimdoc-ja/change.html#filter

Vimにはフィルタコマンドといって、テキスト任意UNIXコマンドで処理するExコマンドが用意されている。

用意されていて、実際強力なんだけど、Vim組み込み機能で間に合うことも多くて、下記以外はあまり使っていない気がする。

以前はVim正規表現に慣れないからとPerlを使ってたりもしたけれど、Vim正規表現も悪くないかなとなって。こう。

何かおすすめUNIXコマンドがあったら教えてください。

bc

簡単計算をするときに使う。1行に計算式を書いて「:.!bc<CR>」あるいは「!!bc<CR>」とすると計算ができる。

(小数を扱いたいときは-lオプション指定する)

「<C-r>=」で代用できる。

sh

長めのコマンドを実行するときに使う。「:%!sh<CR>」とすると書いたシェルスクリプトを実行できる。

最近Bashの<C-x><C-e>で良い気がしてる。こちらだとヒストリで戻って<C-x><C-e>として再編集することもできるので。

column

簡単な整列をするのに使う。ビジュアルモード選択して「!column -t<CR>」とすると整列ができる。

(デフォルトのセパレータがスペース二つなので、一つにしたければ-oオプション指定して「!column -to' '<CR>」という風にする)

vim-easy-alignやvim-aligntaが入っているならそれでいいかも。

jq, xmllint, pup

それぞれJSONXMLHTMLを整形するのに使う。JSONは「:%!jq .<CR>」、XMLは「:%!xmllint --format -<CR>」、HTMLは「:%!pup<CR>」。

ただ「jq . <JSONファイル> | vim -」としていたりして、直接Vimの中で使ってない場合が多いかも。

awk

連番を振る時、重複行を削除する時、指定した列を抜き出す時、などなど、色々なことに使える。

それぞれ「:%!awk '{printf"\%-6d \%s\n",NR,$0}'<CR>」、「:%!awk '\!a[$0]++'<CR>」、「:%!awk '{print$2}'<CR>」といった風にする。

tee

保存するために管理者権限必要場合sudoと一緒に使う。「:%!sudo tee %<CR>」とすると保存できる。

編集中のテキストを何処かに残すため……と思ったけど:wで事足りる。

2016-07-08

http://anond.hatelabo.jp/20160708164611

その人、昔テレビに出たけどすぐいなくなったっしょ。

話し方が下手で視聴者がぽかんとしちゃうからだったんだよ。

奴には perl正規表現の話だけさせておけば十分なんだよ。

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

【決定版】プログラミング言語を徹底解説!



http://cpg.hatenablog.com/entry/2016/06/30/193755

【決定版】プログラミング言語を徹底解説!

プログラミング言語は、200種類以上存在していると言われていますが、その亜種や野良プログラミング言語を含めれば、星の数ほどあります。たとえば今回紹介しませんが、ベーシックという言語だけでも、ファミリーベーシックプチコン3DSベーシック)、べーしっ君などがあります

今回はその中から厳選に厳選を重ねて厳選した、プログラミング言語を5つ、徹底解説します。

では早速解説していきます!!!

1.Perl

Perl歴史的に古く、sedawkといった歴史として語られる以前のプログラミング言語のいいとこどりをした、とても、素晴らしい言語だ。

モンスト以前のmixiや、みんな大好きはてブはてなブログは、Perlで作られています

学習する際は、歴史が古い分、Perl4の本も、たまに図書館に残っているため、気を付けなければなりません。

2.Perl

よく勘違いされるのが、「PerlPearlって似てるんでしょ?」。違います

何が違うかといいますと、文法から用途までほぼ全てが違います

Pearlとは?

Pearlとは真珠のことだ。あと、バンドメンにとっては楽器。それと、譲れない願いかPEARLCDを買った人も、いるんではないでしょうか。

Perlは?

PerlはAndoridにも、対応してたりします。

https://www.infoq.com/jp/news/2014/06/perl520

3.Perl

Webサービスを開発したい場合、真っ先にお勧めしたいのがPerlだ。

Perlの特徴として、[[TMTOWTDI]]があります。あとPerlを生み出したLarryは、プログラマの3台美徳として、 "Laziness, Impatience and Hubris"というすばらしい考え方があります

https://en.wikiquote.org/wiki/Talk:Larry_Wall

4.Perl

皆さんはAIをご存知ですか?

PerlAI(Artificial Intelligence)でググッテても、わかるように、2000年台前半からすでに話題に上がっており、最近流行ディープラニングでも、Perl6を使った話があるようだ。

http://ai.neocities.org/P6AI_FAQ.html

5.Perl

iPhoneで動くPerlもありますアプリあります

https://itunes.apple.com/jp/app/perl-programming-language/id486217730

だんだん書くのが疲れてまいりました。

http://blogs.perl.org/users/lestrrat/2013/09/perlmotion-perl-for-ios.html

あとはlestrratさんにおまかせします。

それとYAPCは去年で一区切りしましたが今年も、YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa あります!!!!!!

http://yapcasia8oji-2016mid.hachiojipm.org/

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