タグ

programmingに関するdev2のブックマーク (15)

  • プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    <追記>いろいろ反応あってたしかになーって思いましたが、ここで説明されてるのは「汎化」とか「パラメタライズ」としたほうが正しいですね。抽象化というと、一塊の手続きをブラックボックスにして、実装を隠蔽する面のほうが正解に近いです。でもまあそこを差し引いて読んでいただければ、それなりに有用ではある記事だと思うので、このまま残しておきます</追記> プログラミングに限らない話かもしれませんが、ふだんの生活で触れないような概念というのは、一度わかってしまえば便利なんだけど、どうしてもとらえどころがない、というようなことが多いと思います。プログラミングにもそういう概念はたくさんあって、わたしのような凡人は新しい概念にぶち当たるたびに苦労しています。今日はそんな中で「抽象化」という言葉について、「昔の自分にこうやって説明してあげたかったな〜」という説明をします。 プログラミングを学んでいく中で、「とり

    プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    dev2
    dev2 2015/08/05
    「nop」の例には違和感がある。これはコードと機能が減ってるけど、ふつうは抽象化するほど、コードと機能が増えていくはず。抽象化を続ける先に、APIやライブラリや言語(DSL)に行き着くイメージ。
  • プログラマを志す君に伝える「仕事が無くなるリスク」

    言論の自由が保障された日国に住んでいるが、日経ソフトウエア編集部に所属している以上、なかなか言えないことが1つある。それは「安易に職業プログラマにはならない方がよい」という意見だ。 日経ソフトウエアはプログラミングの面白さを伝え、プログラマを応援するのが使命の雑誌なので、これは言ってはいけない。それどころか、「プログラマはとても面白く、やりがいのあるすばらしい職業だ」と普段は言うようにしている。ちょっといやらしい? しかしつい先日、とあるコンピュータ専門学校からプログラマという職業をテーマにした講演依頼があったときは、少し考えてしまった。講演相手は進路に悩む高校生や専門学校の在校生だ。未成年者も多いであろう。となると、「プログラマほど素敵な商売はない」などと言って煽ったりするのは、一人の大人として無責任であるように思われた。やはり、職業プログラマになることの考えられるリスクもちゃんと伝え

    プログラマを志す君に伝える「仕事が無くなるリスク」
    dev2
    dev2 2015/07/28
    機械に仕事を奪われる未来より、人間に(ブラックな)仕事を押しつけられる現在を考えよ。
  • プログラミング上達するためにだいじだなぁとおもったこと一覧

    コードを書くことコードを読むことコマンドラインをほぼ常に使うこと(「使わないわけないだろう」と思う人が多いと思うが、それができない人はそれよりも多い)ライブラリも可能な限り読むこともっとコードを読むことコピペしてもいいけど、コピペするコードの意味は絶対に把握すること自分の勤め先がクソなら、会社は辞めること(ある程度技術力があればどこでもやっていける)英語が読めること数学的・論理的思考をみにつけることオープンソースのコードを読むことなるべく根的な概念を知ることひとつの言語に拘らず、何個も触ること(ひとつのパラダイムに固執する可能性がある)UNIX/Linuxをメインでつかうこと流行を追いかけ過ぎないこと(結局ソフトの上で踊らされているだけ)自分の知らない分野はいくらでもあると心得ること井の中の蛙にならないように心がけることマネジメント視点も取り入れること「他人のため」を考えること(独りよが

    dev2
    dev2 2015/07/17
    全体的に同意できる意見も多いけど、コマンドライン-UNIX/Linux-Vimは、上達に必須の要素でないと思う。学習論と宗派は別の話。CUI主義は根強いけど、今の時代IDEがかなり重要になってきた。
  • [速報]米マイクロソフトが「Project GigJam」発表。指先や音声でアプリケーションのマッシュアップを作り、人やデバイスで共有する

    [速報]米マイクロソフトが「Project GigJam」発表。指先や音声でアプリケーションのマッシュアップを作り、人やデバイスで共有する 米マイクロソフトは、米フロリダ州オーランドで開催中のイベント「World Partner Conference 2015」で、「Project GigJam」を発表しました。 GigJamはCortanaによる音声対話、画面タッチなどの簡単な操作で複数のアプリケーション、クラウドサービス、データソースなどをマッシュアップし、それを同僚などと共有しつつビジネスを進めていくアプリケーションです。 GigJamのデモは、まっさらな画面で始まり、Cortanaを通じて必要な情報を呼び出すところから始まりました。 「Hey Cortana, Show me my customers」(顧客一覧を見せて)、「Hey Cortana, Show me open or

    [速報]米マイクロソフトが「Project GigJam」発表。指先や音声でアプリケーションのマッシュアップを作り、人やデバイスで共有する
    dev2
    dev2 2015/07/14
    MSのVS LightSwitchみたいな方向性で、より進化した感じなのかな。WinOSもVSもVBもみんな、MSのパワー源はGUIなので、当然出てくる発想だと思う。
  • Pure Data — PD Community Site

    Welcome to the Pure Data site! This site is a contribution of the IEM to the Pure Data community. Every Pure Data user who wants to contribute is welcome to join this portal and write/contribute some documentation, reports, news, comments and announcing events. The site is run on a Linux server with Zope / plone and administrated and driven by the Pure Data community. About Pure Data (aka "Pd" / "

    dev2
    dev2 2015/07/14
    データフロー型のビジュアルプログラミング言語。
  • vvvv - a multipurpose toolkit

    This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more. vvvv is a hybrid visual/textual live-programming environment for easy prototyping and development. It is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously. Respon

    vvvv - a multipurpose toolkit
    dev2
    dev2 2015/07/14
    データフロー型のビジュアルプログラミング言語。
  • グラフィカル言語"Flower"つくったぽよー - nobkzのブログ

    どもー@nobkzです Technical Rockstarsで、データフロー型の僕と@syuhei_hiyaさんで社内の人達とFlower言語をつくりました。 現在は、お試し版を公開しています。 ドキュメントは今後追加していく予定です。 ですが簡単に紹介と使い方の紹介したいと思います。 flower紹介 flower言語はデータフロー型言語です。 特徴としては、 データフロー型言語 実行が視覚化されること ブラウザ上で動くので、環境構築が簡単であること マウス*タッチパネルでのコーディングに特化させたUI を特徴としています。 「iPadなどタブレット端末またはスマーフトフォン端末で気軽にプログラミングを楽しむこと」ができることを目標にしています。(現時点ではタブレット端末の動作確認中で、動作保証はしておりません。) はじめる http://flower-lang.com/にアクセス 試

    グラフィカル言語"Flower"つくったぽよー - nobkzのブログ
  • コミっくむーび-

    電子書籍電子書籍ストアで買う場合、を書店で買う時と同じように1冊ずつ買う場合とサイトによっては、定額で読み放題など様...

    コミっくむーび-
    dev2
    dev2 2015/07/14
    ブラウザベースで動く、データフロー型のビジュアルプログラミング言語。
  • The HEX Programming Language

    HEX is a multi-paradigm programming language that supports both static and dynamic types, and was designed with the core principles of simplicity, readability, versatility and scalability to allow developers to create a diversity of types of computer programs with modern language features, succinct syntax and semantics that are built into the core of the language construct. HEX syntax and semantic

  • Crystal : The Crystal Programming Language

    Batteries includedCrystal’s standard library comes with a whole range of libraries that let you start working on your project right away. Check the API docs # A very basic HTTP server require "http/server" server = HTTP::Server.new do |context| context.response.content_type = "text/plain" context.response.print "Hello world, got #{context.request.path}!" end address = server.bind_tcp(8080) puts "L

    Crystal : The Crystal Programming Language
    dev2
    dev2 2015/07/04
    RubyってLLの中でも書きやすく、書き味だけなら一番好き。ただ速度が遅い! 重い! だから早いCとかでしようがなく書くことがよくある。弱点を補う良い武器になりそう。発展と普及をすごく期待!
  • Rubyベースの文法で高速に動作するNativeコードにコンパイルされるCrystal言語の情報まとめ #crystal #ruby - Tbpgr Blog

    概要 Rubyベースの文法で高速に動作するNativeコードにコンパイルされるCrystal言語の情報まとめです。 2015/06/18 時点の内容をまとめました。 特徴 Ruby風の文法 静的型チェック Crystal内でCのコードを呼び出せる 重複コードを避けるため、コンパイル時評価とコード生成 効率的なnative codeを吐き出す Official Site Crystal Official Author Ary Borenszweig GitHub Crystal - GitHub Docs Crystal Docs Qiita Qiita 内で公開されている情報 Crystal 入門 Crystal + HTTP Server Crystalの型を限定した配列と多機能な暗黙のto_proc Crystal + Amethystの導入からちょっとしたWebApp作成まで Cry

    Rubyベースの文法で高速に動作するNativeコードにコンパイルされるCrystal言語の情報まとめ #crystal #ruby - Tbpgr Blog
    dev2
    dev2 2015/07/04
    RubyってLLの中でも書きやすく、書き味だけなら一番好き。ただ速度が遅い! 重い! だから早いCとかでしようがなく書くことがよくある。弱点を補う良い武器になりそう!
  • プログラミング言語の選択は開発効率を左右する - LL開発記

    ポール・グレアム「普通のやつらの上を行け」 普通のやつらの上を行け ---Beating the Averages--- ポール・グレアム氏は「普通のやつらの上を行け」(上記参照)というエッセイで、言語の選択の重要性(とLisp推し)を述べている。 かんたんにまとめておくと、彼の会社は開発言語にLispを採用したため、ライバル会社よりも高速にWebサービスをリリースでき、商業的に成功したという話だ。 Lispは難解だが強力な言語で、ハッカー御用達の言語とよく言われる。難解で習得者が非常に少ないため、使用しているライバル会社がほとんどなかったわけだ。 Lispを採用するかどうかはともかく、言語の選択が重要であることについては、私は完全に同意する。 これは当たり前のことを言ってるようで、意外とそうではない。「どの言語でも、たいして変わらない」という認識もけっこう根強くある。 最初の学習言語は何

    プログラミング言語の選択は開発効率を左右する - LL開発記
  • ラムダ式とストリームAPIでJavaプログラミングはここまでシンプルになる!--Java SE 8に今すぐ移行すべき理由 - builder by ZDNet Japan

    「大きく進化したJava SE 8は企業に多くのメリットをもたらす。プロジェクト・マネジャーやアーキテクトも、今すぐ移行に取り掛かるべき」と訴えるJavaエバンジェリストの寺田佳央氏。ラムダ式とストリームAPIを例にとり、Java SE 8によるプログラミングの特徴と利点を語った。 2014年3月にリリースされた「Java SE 8」の大きな変更点の1つは、新たな言語機能として「ラムダ式(Lambda Expressions)」が導入されたことだ。同機能を使うことで、開発者は従来よりも効率的にプログラムを書けるようになる。また、併せて導入された「ストリームAPI(Stream API)」を使用することで並列処理の実装が容易となり、マルチコア・プロセッサの能力を生かしたハイパフォーマンスなアプリケーションを迅速に作れるようになる。 日オラクルのJavaエバンジェリスト 寺田佳央氏は、企業の

    ラムダ式とストリームAPIでJavaプログラミングはここまでシンプルになる!--Java SE 8に今すぐ移行すべき理由 - builder by ZDNet Japan
    dev2
    dev2 2015/07/02
    ムーアの法則もそろそろ頭打ちで、マルチコアの性能を引き出さざるをえない時代。マルチスレッドと相性の良い関数型が入ってくるのも自然。
  • Java SE 8のラムダ式の基礎──なぜ必要なのか? 従来記法のリファクタリングを通して、その本質を理解する - builder by ZDNet Japan

    Java SE 8では、言語仕様に大きな変更が加わり、新たに「ラムダ式」が導入された。なぜこの機能が必要なのか、コードの書き方はどう変わるのか? 米国オラクルでJava SEのコア・ライブラリ開発チームをリードするスチュアート・マークス氏が解説する。 >> 後編の記事はこちら 2014年3月にリリースされたJava SEの最新版「Java SE 8」における最大の変更点は、言語仕様に大きな変更が加わり、関数型のプログラミング記法である「ラムダ式(Lambda Expressions)」が導入されたことだ。Java SE 8以降のJavaプログラミングでは、このラムダ式をうまく使いこなしていくことが求められる。 「そのためには、なぜこの機能が追加されたのか、どう使えば効果的なのかを知ることが近道となります」と語るのは、米国オラクルでJava SEの仕様策定をリードするスチュアート・マークス氏

    dev2
    dev2 2015/07/02
    関数型の波がJavaにも到達。冗長と評判の記述をラムダで短縮。
  • 1