タグ

言語とプログラミングに関するiwwのブックマーク (92)

  • eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/ at eeeeeeeeeeeeeeeeeeeeeeee · eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/ at eeeeeeeeeeeeeeeeeeeeeeee · eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
  • 侍エンジニア塾のC言語のサンプルがヤバすぎる。

    C言語はもうかれこれ10年くらい書いていないけど、流石にこれはヤバい。 正直な感想として、ブランド毀損するくらいの危険性をはらんでいると思う。 当該記事からコピーしてきた。 #include <stdio.h> #include <stdlib.h> // 構造体の宣言 typedef struct { int num; char *str; } strct; int main(void) { // 実体を生成 strct *entity; // 動的メモリの確保。確保したメモリをstrct型ポインタにキャスト。 entity = (strct*)malloc(sizeof(strct)); // メンバの初期化 entity->num = 0; entity->str = (char*)malloc(sizeof(32)); // メモリに文字列を代入 sprintf(entity->s

    侍エンジニア塾のC言語のサンプルがヤバすぎる。
    iww
    iww 2018/10/17
    こういうので学んで安く請けてやらかす人たちがいるからこそ、ちゃんとした人たちの評価が高く保たれる。
  • Arduino開発環境(IDE) v1

    Open(開く) スケッチブック内のすべてのスケッチを表示します。スケッチをクリックすると、現在のウインドウ上でそのスケッチが開かれます。 注意: Javaのバグのため、このメニューはスクロールしません。リストの最後 のほうのスケッチを開きたいときは、代わりに、File > Sketchbookメニューを 使ってください。 他のコマンドは、File(ファイル)、Edit(編集)、Sketch(スケッチ)、Tools(ツール)、Help(ヘルプ)の5個のメニューの中にあります。メニューは実行状態に依存します。つまり、そのときに実行可能な項目だけが選択可能です。 File(ファイル) New(新規ファイル) エディタの新しいインスタンスを作成します。スケッチに必要な最低限のコードが挿入されています。 Open(開く…) コンピュータのドライブとフォルダからスケッチをロードします。 Open R

    Arduino開発環境(IDE) v1
    iww
    iww 2018/02/19
  • C言語でOpaqueポインタを使って構造体のメンバを隠蔽する - minus9d's diary

    C言語で、自作の構造体のメンバをユーザに開示しないテクニックとして、Opaqueポインタというものが知られています。今回は、書籍「C++のためのAPIデザイン」の3.1.6節を参考に、Opaqueポインタを使う簡単なサンプルを紹介します。 Opaqueポインタを使わない場合 人に関するデータを集めた構造体Personと、その構造体を使ったライブラリを作成することを考えます。以下にPerson.hのコードを示します。 #pragma once typedef struct _Person { int age; } Person; // 以下、Person構造体に関するAPI Person* createPerson(int age); // Person構造体のオブジェクトを生成 void printPerson(Person* ptr); // Person構造体を使った操作(メンバのプリ

    C言語でOpaqueポインタを使って構造体のメンバを隠蔽する - minus9d's diary
  • 組み込みLinuxでGolangのススメ - Qiita

    一年近く、組み込みLinuxでのユーザープロセスをgolangで書くことを試していたのですが、これはいける! という感触を持ちました。 仲間を増やしたいと思うので、ここにその情報を紹介します。 #何をしたか 既存の製品をベースにして、新機能の実装をGolangで書いてみました。 既存の部分はCで書いてあります。Golangで書いた新機能部分は別プロセスになっています。 既存部分とのやりとりは場面によって以下を使い分けました。 cgoによる関数呼び出し UNIXドメインソケットの通信 シグナル Golangで書いた部分には以下の要素を含みます。 UARTやi2cで接続されたセンサーからデータを受け取る インターネット上のWebサービスAPIを使用する 2Dグラフィックスの描画 (cairoを使用) 最大性能を目指すよりも、十分な性能を手早く形にすることを重視しました。 #Golangでよか

    組み込みLinuxでGolangのススメ - Qiita
  • JavaScript - IE11でFileAPIが動かない|teratail

    IE11で、FileAPIを用いた以下のjavascriptが動きません。 IE10以降サポートしているはずなのですが、何が問題なのでしょうか? function display() { var content = document.getElementById("hoge").value; var blob = new Blob([content]); var url = window.URL.createObjectURL(blob); document.getElementById("download").href = url; }

    JavaScript - IE11でFileAPIが動かない|teratail
  • Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ

    なんども繰り返される話でうんざりなんだけど、繰り返されるたびに反論するのもアレなので、URL貼れるように記事にしておく。 Goが頑なにジェネリクスいらないというだけ他の言語勢から失笑買ってるというのは自覚して— {{alert()}} (@mizchi) 2017年9月19日 頑なに要らないと言ってる人が具体的にどの発言のことを差してるのか分からないけど、コア開発者たちはツールチェインやランタイムの進化を優先していただけで頑なに拒否してたりはしません。今はツールチェインやランタイムが大分進化したから、Goの適用範囲を広げるためにジェネリクスを含めて機能追加も検討し始めようかっていうフェーズです。 あとどの言語にもちょっと公平的な見方ができなくなった痛いファンはいるもので、そういった人たちをいちいちあげつらってこういう言い方で失笑するのは、別に止めはしないけど自分の格を下げるだけだと思う。

    Go にジェネリクスがなくても構わない人たちに対する批判について - methaneのブログ
    iww
    iww 2017/09/20
    ジェネリクスって全然よくわからん。 型に依存しないけど型安全 とかよくわからん。 「テンプレートとかのちゃんとしたやつ」 って認識でいいのかな?
  • 真偽値を返す関数のネーミング - Qiita

    みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、AppleMicrosoftGoogle が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "

    真偽値を返す関数のネーミング - Qiita
    iww
    iww 2017/09/08
    『英語的に、is 始まりが難しい場合もあります。』 当の英語圏がそれを大して気にしていないのだから ごちゃごちゃ考えず整合性というか統一感を第一に考えた方がいい
  • CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita

    CPPでプログラミングする記事です。 みなさんれっつCPPプログラミング! CPPって何だよC++じゃねーのか じゃねーんだよ。悪かったな。 いや、まあ、C++に入門する記事を期待したみなさんには申し訳ない限りです。でもBoostとかにもCPPは結構使われているので、知っていて損は無いと思います。 C言語には、マクロという機能があります。これは構文解析の前(プロプロセス時)に行なわれる単純な字句展開機能で、例えば、 // 「#define 名前 値」という形式で宣言する #define MAC 42 // ソースコードにその名前が現れると、値に置換される MAC // 関数みたいにもできる #define F(x) x + 20 // 関数みたいに呼び出す F(22)

    CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita
    iww
    iww 2017/08/06
    『これでカウンタ変数も手に入ったことになります。やった。』 すごい。 きがくるっている
  • Haskellは真面目なアプリケーション開発に向いている - syocy’s diary

    qiita.com ↑の記事で(主題ではないと思うものの)Haskellの批判に結構な分量が割かれていて、その批判のなかに「ちょっと違うんじゃないかな」という点がいくつかあったので反論ぽいことを書きます。 "Haskell は真面目なアプリケーション開発には向いてない"について これには多分いくつか事例を挙げればよくて、 Facebook ではスパム等の攻撃と戦うためのシステムを Haskell で作っています。 Fighting spam with Haskell | Engineering Blog | Facebook Code | Facebook (この記事を書いている Simon Marlow 氏は Haskell および GHC の主要開発者) より「アプリケーション」な事例が必要なら、プレゼンツールの Prezi を挙げることができます。 Case Study - Hask

    Haskellは真面目なアプリケーション開発に向いている - syocy’s diary
    iww
    iww 2017/06/26
    進化が落ち着いて5年くらいビルド環境が変わらなくなってからなら使ってみたい
  • Kotlin - Wikipedia

    Kotlinは、ロシア・サンクトペテルブルクにある、ジェットブレインズの研究所で生まれた。 ジェットブレインズ社は JavaRubyPython などのプログラミング言語による開発環境などを開発して販売してきた。Kotlinは、同社の経験を活かしJavaをもっと簡潔・安全になるように改良した産業利用向け汎用言語として開発され、2011年7月20日に発表された。 Java仮想マシン上で動作するため、Javaで書かれたプログラムと同程度に速くコンパイルされ同程度に速く動作するとしている。 Javaに望まれている機能であっても互換性を保つために実現できていない機能や、将来のJavaの仕様で実現が予定されている機能から、有用と思われる機能を採用した。また、Java仮想マシンで動く点で似ているスクリプト言語 Groovy や関数型プログラミング言語の要素が強い Scala から、機能や簡易記法(

    Kotlin - Wikipedia
    iww
    iww 2017/06/19
    Androidは当分触らないからいいや
  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    iww
    iww 2016/12/08
    『「様々な機能をフルに使ったトリッキーな書き方をしないとできない事」はその言語では本来想定されていない不得意な事』
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進

    null安全でない言語は、もはやレガシー言語だ - Qiita
    iww
    iww 2016/11/07
    『nullable と non-null を型で区別し、 null による実行時エラーを防止する仕組みが null 安全』
  • ファイルの最初のトークンの後でプリプロセッサのシンボルの定義または定義の解除を行えませんでした。 コンパイラ エラー CS1032

    ファイルの最初のトークンの後でプリプロセッサのシンボルの定義または定義の解除を行えませんでした。 #define および #undef プリプロセッサ ディレクティブは、プログラムの先頭で (名前空間宣言の中で使用されるキーワードなど、他のすべてのキーワードよりも前に) 使用する必要があります。 次の例では CS1032 が生成されます。 // CS1032.cs namespace x { public class clx { #define a // CS1032, put before namespace public static void Main() { } } }

    iww
    iww 2016/10/15
    意味不明な日本語。 ようするに #define はソースの先頭に書けということらしい
  • Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 少し前に、babaさんから「Rubyの内部文字コードはUTF-8じゃないよ」とツッコミがありました。 (追記: 上は会話の途中から切り取りましたのでご了承ください) いきなりの展開にくらくらきましたが、babaさんはさらにたたみかけます。 こうしたことはとっくにご存じの方も多いと思いますが、「Rubyといえば2.0以来UTF-8完全対応なんじゃないの」と勝手に思い込んでた私は脳に掌底をらったような思いです。ああ、でもこういうことがあるから面白い。 ⚓ プログラミング言語と内部文字コードの関係 まず最初に押さえておきたい点です。プログラミング言語で文字コードに関連する部分は、「文字列」「正規表現」「入出力」「コード中の文字リテラル(""の中など)」「コード中の文字リテラル以外の要素(変数名など)」「ファイル名」などが中心になります。そして文字列に関連し

    Rubyの内部文字コードはUTF-8ではない...だと...?!|TechRacho by BPS株式会社
    iww
    iww 2016/10/14
    脳に掌底くらうとこんなんなるのか・・・
  • 長文日記

    iww
    iww 2016/07/01
    python はずっと食わず嫌いしているので、そろそろつまみ食いくらいはしてみようか
  • 日本語プログラミング言語「なでしこ」の違和感がハンパない件 - プログラマノススメ

    2016 - 02 - 24 日語プログラミング言語「なでしこ」の違和感がハンパない件 プログラミング プログラミングに少しでも触れたことがあるひとならこんなことを考える人がいてもおかしくないはずです。 「日語でプログラミングできればいいのに」 私もプログラミングを勉強し始めたばかりの頃は考えてましたw 今でもそんなこと思ったりします。アメリカの人ってズルくないですか?普段から使っている言語でプログラミングが出来るなんて。普段から使っている言語でならプログラミングなんてよっぽど簡単になるんだろうな。 日語でプログラミング?そんなのずっと前から存在するよ。 でも日語も日語で問題があったんですよね。日語プログラミングを見てに私が真っ先に思ったことをズバッと言っちゃいます。 ※今回の内容はプログラミング経験者の方が共感できる部分が多いかも。 。 「なんだこの違和感は。」 日

    日本語プログラミング言語「なでしこ」の違和感がハンパない件 - プログラマノススメ
    iww
    iww 2016/02/29
    このぴゅう太みたいなのまだあったのか。 すごいな
  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
    iww
    iww 2016/02/18
    よし! 2016年からC言語は使わないっこしよう!
  • ついつい使ってしまうプログラミングの悪いテクニックは? | スラド デベロッパー

    プログラミングの際に、さまざまな理由でコーディングのルールを破ってしまうことがある。これらは誰もが「悪い」プログラミングテクニックであると認めるようなものだが、結果としてコードがクリーンになり、高速かつシンプルになることもある。InfoWorldの記事では、愛される悪いプログラミングテクニックを9つ選んでいる。 InfoWorldが選んだ悪いプログラミングテクニックは以下の通り。 gotoを使う 関数名だけで内容がわかるようにしてドキュメンテーションを避ける 1行に大量のコードを詰め込む 型宣言をしない 値の型を繰り返し変換する「ヨーヨーコード」 独自のデータ構造を書く ループの半ばでループを抜ける 短い変数名を使う 演算子や関数を再定義する プログラミング言語や環境によっては使用できないものもあるが、皆さんがよく使うものはあるだろうか。また、リストに追加するとしたらどのようなものがあるだ

    iww
    iww 2015/10/27
    メソッドチェーンみたいなやつもできるだけ死刑にしてほしい