タグ

ネタと言語に関するmohnoのブックマーク (55)

  • C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌

    目次 目次 「戻り値型の後置記法」って何? 何が嬉しいの? 問題点 「戻り値型の後置記法」って何? C++11から導入された言語仕様です。 タイトルの呼び方は自分が勝手に使っているだけで、英語圏だと「trailing-return-type」がよく使われるらしい。 cpprefjp.github.io この仕様を使うと例えば以下のようなコードが int Add(int a, int b) { return a + b; } このようになります。 auto Add(int a, int b) -> int { return a + b; } 何が嬉しいの? この仕様はC++のメタプログラミングで戻り値型の推論を簡単に行う目的で使用されます。 なんだ、そんなC++上級者のための機能なんて下々の人間には関係ないじゃん、とお思いかもしれませんが、この機能にはもう一つわかりやすい大きなメリットがある

    C++erは全員戻り値型の後置記法を使おう - ペイントソフト開発日誌
    mohno
    mohno 2024/05/10
    Visual BasicもPascalも戻り値の型は後置だし、なんなら普通の変数/引数の宣言でも型は後置だけど、いまさらC++で使う気はしないというか、それならRustでもやってみるか、という(←やってみない)「耐えてください」
  • 「いける」って関西で使いすぎなの なんでなん? | NHK

    私(記者)は埼玉県出身。去年、転勤で大阪に来ました。大阪でよく聞くあの言葉が気になってしかたないんです。 ・店で会計のとき「クレジットカードいけますよ」 ・電話がかかってきたとき「いま電話いけます?」 ・パソコンの調子が悪いとき「これから会議なのに、いけるん?」 「いける」「いけます」「いけるで」耳にしない日はありません。 関東でも時々は使いますし、全国どこでも意味は通じると思います。でも、関西は「いける」使いすぎじゃないですか? なんでなん? (大阪放送局 記者 高橋広行 / ディレクター 森翔大) 「いける」だけで成立する会話

    「いける」って関西で使いすぎなの なんでなん? | NHK
  • Python滅ぼす協会に入会したい

    なぜ令和にもなって動的型付け言語を使うのか シフトレフトという概念が生まれたのは二十年以上も前のはずだ。 それにもかかわらず動かしてみるまで答え合わせもできない言語で開発をするという発想自体がどうかしている。 同じ動的型付けといってもJavaScriptはブラウザという事情があるし、型の表現力に優れたTypeScriptがあるからまだよい。 しかし、Pythonはどうだ。他にいくらでも選択肢があるなかで、サーバーサイドにわざわざ選定する言語ではなかろう。 貧弱な型ヒント、しかも書いたところで大した効用もない。 使っている外部ライブラリにひとつでも型ヒントがクソなものがあれば即座に破綻する。 型というガードレールもシートベルトもなしで糞を撒き散らしながらする開発にはうんざりだ。 シンタックスもキモい 動的型付けもさることながら、シンタックスもキモい。とにかく思考を妨げる語順になっている。 m

    Python滅ぼす協会に入会したい
    mohno
    mohno 2024/03/30
    自分が使わなきゃいいだけじゃ、って話でもないんだろうな。まあ、JavaなんてやめてC#使おうぜ、って言っても聞いてもらえないしな。「SOLID原則のDはDon't use Pythonだ」
  • 1行で発狂するコード - Qiita

    人は1行の記述で死ぬこともある 公開からコンスタントに閲覧をいただいている以下の記事。需要がありそうなので、もう1つ記事を書いてみようと思う。 題材は前回同様のJavaScriptのクソコードではあるが、前回は冗長を極めたクソコードであるのに対し、今回はたった1行である。 1行なのに、なんと示唆深いに富む(決してほめていない)コードだろうか。 不可思議なコード では、実際に見てみよう。 return a = a >= 10 ? 10 : a >= 5 ? 5 : a >= 3 ? 3 : a >= 2 ? 2 : 1, z * a; これを見て、何が return で返されるかわかります? 代入演算子 最初見たとき、代入文 a = ××× の評価値って何になるのかな? a が return されるのかなと思いました。 割り当て操作は、割り当てられた値として評価されます。 JavaScrip

    1行で発狂するコード - Qiita
    mohno
    mohno 2024/03/08
    「rm -rf /」じゃなかった。/「何が return で返されるかわかります?」←C言語だったら分かるし、JavaScriptも同じみたいだね。/オススメはされないだろうけど、カッコなしで済むような優先順位/評価順序になってるんだよ。
  • 漢文不要論を聞く度に漢文という外国語を外国語のまま自国語にして読むゲキヤバ技術は残しておきたい話

    そくらてす @7danmoroboshi 漢文不要論を聞くたびに「漢文とかいう外国語を外国語のまま自国語にして読むとかいうゲキヤバ技術は当然残しとかないとアカンやろ」というお気持ちになる 2024-01-16 14:00:34

    漢文不要論を聞く度に漢文という外国語を外国語のまま自国語にして読むゲキヤバ技術は残しておきたい話
    mohno
    mohno 2024/01/18
    "I love you"もレ点を入れて"I loveレyou"とすれば(I you love=私はあなたを愛す)訳しやすくなる(←わけがないだろ)
  • 「なんで保育園のときは『○○〈ぐ〉み』だったのに,小学校は『いち〈く〉み』『に〈く〉み』って,『〈く〉み』なの?」息子さんの問いかけに日本語教育の専門家が本気の考察

    南浦 涼介🫏 @minamiurya 「ねえねえ,なんで保育園のときは『もも〈ぐ〉み』『たんぽぽ〈ぐ〉み』って『〈ぐ〉み』だったのに,小学校は『いち〈く〉み』『に〈く〉み』って,『〈く〉み』なの?」という息子の問いかけに答えられなかった日教育の専門家のアカウントがこちらです。 2022-09-02 12:33:25 南浦 涼介🫏 @minamiurya 広島大学/教/初/学習開発あたりの人。非広報型実名アカウントなのであまり有益なことはつぶやかないよ。何に属していようがいまいが僕のつぶやきは私のつぶやき外へのことば。たまに主語がイーヨーになるのは,灰色ろばっぽいのと上野瞭氏のそれ。教育方法学,外国人児童生徒教育,教科教育(特に社会)・日教育学とかとかとか linktr.ee/minamiurya

    「なんで保育園のときは『○○〈ぐ〉み』だったのに,小学校は『いち〈く〉み』『に〈く〉み』って,『〈く〉み』なの?」息子さんの問いかけに日本語教育の専門家が本気の考察
    mohno
    mohno 2022/09/03
    tupleとclass説、面白い。/丁寧語の“お(御)”もよろ。〇お酒 〇おビール ×おワイン ×お一階 〇お二階 ×お三階……
  • エープリルフールなのでJavaScriptの信じがたい話をします - Qiita

    今日はエープリルフールなので、JavaScriptに関する、にわかに信じがたい話(実話)をしたいと思います。実用的な話ではないので、息抜きがてらお読みいただき、「嘘だろ!?」とツッコミながらJavaScriptへの関心を少しでも深めていただければと思います。 思いつきでゆるめにとりとめもなく書いたため、内容がざっくりしているところがあります。詳しい方はコメントなどで補足いただけると助かります🙇🏻‍♂️ できるだけ十分に調査したつもりですが誤りなどあればご指摘いただければ幸いです。 JavaScriptは10日で作られました JavaScriptは最も利用される言語のひとつで、JetBrainsの統計によれば70%近くの開発者が使ったことがあるほど、広く普及している言語です。 ここまで普及したとなると、JavaScriptはどれほど練りに練って、じっくり作り込まれた言語だったのでしょうか

    エープリルフールなのでJavaScriptの信じがたい話をします - Qiita
    mohno
    mohno 2022/04/06
    面白かった。「.js」ドメインの話は知らなかったなあ。「「ならば国を作ろう」という提案がありました」←そう簡単にはいかんからなー。
  • for文のforはなぜforなのか? - yapattaのブログ

    よく考えるとプログラミング言語で当たり前に使っているfor文のforは不思議な命名だ。 他のループで使う、whileやloopは繰り返しをする意味が含まれるからまだわかる。一方forは個人的なイメージではあるがループに関する意味は無さそうだ。 という感じになぜforなのか疑問が湧き上がってきた。 そこで今回はfor文のforはなぜforになったのかを調べてみた。 因みに一番最後に結論が書かれているので結論だけ気になる方は最後だけ見て頂けたら。 この結論は著者のyapattaの推論も含まれている。何か反論、意見があったら気軽にコメントして欲しい。自分が気づかなかったポイントを知れたら面白い。 まずforに一応ループ周りの意味が含まれるか辞書で調べてみた。自分がただforという単語に反復的な意味が含まれていることを知らなかったという可能性もある。 ejje.weblio.jp 10番目の意味で

    for文のforはなぜforなのか? - yapattaのブログ
    mohno
    mohno 2021/12/27
    FORTRANは「DO」だったか。すっかり忘れてるな。
  • 例外を初めて実装した言語 - from scratch

    リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

    例外を初めて実装した言語 - from scratch
    mohno
    mohno 2021/12/25
    [PL/I]BASICが初出ってことはないだろうけど、最初にC言語を見たときは「ON ERROR GOTO」「RESUME」がない(setjmp/longjmpしかない)のは不便だと思ったような気がするな。
  • インド人の同僚「会議をPreponeしてくれ」→実は英語には本来存在しない表現、生まれた経緯もインドらしく興味深い

    Noire@圧倒的美少女❤︎ @Lovelylndeed インド人の同僚から”会議をPreponeしてくれ”と言われ、文脈から瞬時に内容を把握したIQ180のこの私なのだが、PostponeがPost(後)+poneで「延期する」だからって、Pre(前)にしたら「早める」になるだろ?ってお前ら... 英語までマサラが効いてるぜ! ちなみにこの表現インド人しか使ってません。 2021-11-25 11:42:26 Noire@圧倒的美少女❤︎ @Lovelylndeed 英国帰りの永遠の18歳 | 🇬🇧企業で海外統括 | 死ぬほど多趣味 | DM💌👌🏻| I'm always trying to find a way to stop curiosity from taking over my world☺︎ | Tweet may contain sarcasm❤︎ amazon.

    インド人の同僚「会議をPreponeしてくれ」→実は英語には本来存在しない表現、生まれた経緯もインドらしく興味深い
    mohno
    mohno 2021/11/27
    「prepone」←ネイティブに通じない和製英語ならぬ、インド製英語ということか。英語はインドの準公用語みたいだから、インド全体に通じるなら、会話人口は和製英語よりずっと多いかもしれんが。
  • Cの旧関数宣言 - Qiita

    #define FLOAT_TYPE /* old declaration */ #if defined (FLOAT_TYPE) float #else int #endif add(); /* old definition */ #if defined (FLOAT_TYPE) float #else int #endif add(a, b) #if defined (FLOAT_TYPE) float a; float b; #else int a; int b; #endif { return a + b; }

    Cの旧関数宣言 - Qiita
    mohno
    mohno 2020/10/29
    要するに、この記事が悪い。「古いソースコードではANSI C標準以前の関数宣言がある」←“以前”はvoidがなかったので「旧関数宣言」の例として不適切だし、浮動小数はdouble型で渡されるのでわざわざfloat型で受けるなと。
  • 最も電力を使わないプログラミング言語は?

    エネルギー使用量のデータは、プログラミング言語の品質について何か教えてくれるのでしょうか? 昨年、ポルトガルの3つの異なる大学の6人の研究者からなるチームがこの問題を調査し、最終的に「プログラミング言語全体のエネルギー効率」と題する論文を発表しました。彼らは、27の異なる言語で書かれた10のプログラミング問題の解答を実行し、それぞれがどれだけ電力を使用しているか、速度やメモリ使用量と同様に注意深く測定しました。 具体的には、コンピュータ言語ベンチマーク・ゲームの10の問題を使用しました。これは、パフォーマンスを比較するためのフリーソフトウェア・プロジェクトであり、単純なアルゴリズムの問題の標準セットと、テストを実行するためのフレームワークが含まれています。(以前は「The Great Computer Language Shootout」と呼ばれていました。)「これにより、コンパイル/実行

    最も電力を使わないプログラミング言語は?
    mohno
    mohno 2020/10/20
    「富豪的プログラミング」知ってますか案件。たぶん実行時間に比例するだろうし、下手するとアセンブリ言語がベスト、ってなるだけで、開発生産性を無視して語れるわけじゃないよね。「CかPascalを選択するのが最適」
  • コンパイラのいじめかた / How to fight the compiler

    C++MIX #6

    コンパイラのいじめかた / How to fight the compiler
    mohno
    mohno 2019/11/21
    面白いけど面白いネタであって実用的な話ではないよね。関数呼び出しとかアスタリスクの数の制限も、関数名の長さとか、メモリ量とか、環境による違いに関係なく共通なのかな、とか。
  • ヤンジャンの漫画が「Null」を「ゼロ」と言ってしまい、一部の界隈が反発

    リンク となりのヤングジャンプ [第1話] アルマ - 三都慎司 | となりのヤングジャンプ 「もう世界は僕らだけなのかもしれない」荒廃した世界で生きるものの影ふたつ。 自分たち以外の人類を探し、見つけるための歩みの先には…!? この世界に残る魂を探し求める人類の近未来幻想譚

    ヤンジャンの漫画が「Null」を「ゼロ」と言ってしまい、一部の界隈が反発
    mohno
    mohno 2019/11/17
    TLに流れていたのはこれか。プログラミング言語に関係ないんじゃないの?
  • JavaScriptの関数名の全て - Qiita

    JavaScriptに限った話ではありませんが、関数というのは名前を持っていたり持っていなかったりします。関数名は普通はプログラムの読みやすさくらいにしか影響しませんが、JavaScriptでは必ずしもそうではありません。 例えばReactで関数コンポーネントを使う場合は関数名がコンポーネント名となり、React用開発者ツールなどで見ることができデバッグに役立ちます。また、Gulp v4もエクスポートした関数名がタスク名となります。 関数名は、関数オブジェクトのnameプロパティで取得できます。 function foo() { console.log('foo!'); } console.log(foo.name); // "foo"

    JavaScriptの関数名の全て - Qiita
    mohno
    mohno 2019/03/11
    こういうのって実装依存じゃないの?と読み進めたら、仕様の話だった^_^;;; 「こういう記事を書く時にはガチ勢を目指す人向けに仕様書に言及するようにしています」←ホント、言い訳するなら規格書で示せ、って話が:-)
  • なんでもかんでも「バグ」ってひとくくりにしないで - Qiita

    はじめに プログラマがソフトウェアを作るとユーザがつきます。ユーザがそのソフトウェアを使っていて何らかの問題が発生すると「このソフトはバグってる、直して!」と言われることがままあります。それに対して「いや、仕様だから」と突っぱねられることがあります。その後お互いの意見が「バグだ!」「いいや仕様だ!」と平行線になってお互いモヤモヤのまま終わるというのはよくある話です。 なぜこういうことが起きるかというと、原因の一つは「問題」イコール「バグ」という短絡的な考え方です。とくにソフトウェアを作ったり使ったりした経験が浅い人がこうなる傾向があると推測しています。このようない違いは「要件」「仕様」と「実装」という言葉の意味を理解していればある程度解決できます。書はこれらの用語について実例を挙げて簡単に紹介します。 注意点 記事では要件や仕様を定義することが前提となっていますが、とくにユーザと開発

    なんでもかんでも「バグ」ってひとくくりにしないで - Qiita
    mohno
    mohno 2019/02/25
    「int sort(struct *person[] a, int len)」←これって言語は何?
  • 日本語ってすごくコスパが悪い言語だと思う

    単純に同じ時間に詰め込める情報量が英語とかの方が段違いに多い 讃美歌の「もろびとこぞりて」って聴いたことあると思うけど、日語だと もろびとこぞりて むかえまつれ って歌ってる間に、原詩(のひとつ)では Joy to the world, the Load is come. Let earth receive her King! まで歌えてるわけだからね もう単純に、単語数が違う。情報量が違う 日語側は「諸人(もろびと)」なんていう普段使わない比較的パフォーマンスのいい単語を使ってさえこの結果だからね あと英詩の方が子音の入り方が細かいし普通にかっこいい。日語は一音一文字のせいで何か間延びした感じ 関係ないけど日語の「ありがとうございます」って単語が苦手だ 感謝を伝えるっていう、日常的に滅茶苦茶使う言葉でありながら異様に発語しにくい 日語でもウ段の音であれば無声化して英語の子音のよ

    日本語ってすごくコスパが悪い言語だと思う
    mohno
    mohno 2018/09/18
    「一音一文字のせいで」一音=ひとつの音符になる歌詞を訳す場合に表現しきれない、という話だね。文字数とは別の話。
  • F*(F Star)の複雑な型システムの何が嬉しいのか? - Amosapientiam

    マイクロソフトが開発中のF* という依存型プログラミング言語を少し触ってみました。 この言語には強力で複雑な型システムが組み込まれています。 現状、依存型言語は世間にはあまり広まっていませんので F*とは? 複雑な型ってなんだろう? 複雑な型システムを組み込んで何が嬉しいんだろう? 何が嬉しくないんだろう? と疑問をお持ちになる方も多いだろうと思います。 この記事ではF*で使われている複雑な型の一部と、複雑な型を持つことの利点・欠点の一部を述べ、それを簡単なコード例を通じて体感してみます。 疑問に対する答え F*とは? マイクロソフトと Inria が開発中のプログラミング言語です。 依存型や monadic effect などが組み込まれており、複雑な仕様が型で表現できます。構文は OCaml や F#などのML系関数型言語に似ています。 詳しくは下記のリンクたちを参照。 F* (プログ

    F*(F Star)の複雑な型システムの何が嬉しいのか? - Amosapientiam
    mohno
    mohno 2018/07/08
    今の時代に「F*」とかって検索性の悪そうなネーミングセンスはどうかと思うなあ。
  • C++完全理解ガイド Rev1.4.01 - Qiita

    はじめに C++を完全理解したので完全理解ガイドを書く。 最初に言っておくがタイトルは詐欺で、実際はポエムである。 僕は仕事C++を書いたことはないのでなんか変なことを言っているかも知れない。 ところで無職になったので、普通にC++で職がほしい。 2018年6月から受託で仕事をもらい、毎日C++17を書いています。 2018年9月から雇用され、毎日C++17を書いています。 かなり雑に書いているはずなので、コメント等でどんどんマサカリを投げてほしい。 僕は何者か 工学部を卒業して4年ほど高校の理科教師をやっていたが、現在無職になった人。 工学部を卒業して4年ほど高校の理科教師をやっていた。 最初は良かったのですが、授業に慣れ、このまま自分の成長が止まってしまうのかとなぁと思い、辞めて無職に。 一ヶ月無職を楽しんだあと、某から受託でC++を書く仕事をもらい、C++17を書いている。 主にツ

    C++完全理解ガイド Rev1.4.01 - Qiita
    mohno
    mohno 2018/03/28
    「C++はその進化とともに玄人に優しくなりすぎた」(Bjarne Stroustrup) あと Visual C++ はちょっとずつ実装進んでるけど、破壊的変更があるからC++17オプションが必要なんだな。まだ見ぬ江添本の評価は読んでから:-)
  • Delphi (Object Pascal) でその場でローカル変数を使用できるように言語を拡張するとしたら、という話

    DEKO @ht_deko Delphi (Object Pascal) でその場でローカル変数を宣言できるように拡張するとしたら、 var hoge:String := 'Hello'; よりも hoge::String := 'Hello'; みたいな拡張がいいのかな。 #delphi_jp 2018-03-01 13:23:07

    Delphi (Object Pascal) でその場でローカル変数を使用できるように言語を拡張するとしたら、という話
    mohno
    mohno 2018/03/01
    アルゴリズム+データ構造=プログラムの頃は良かったが、オブジェクト指向全盛の今となっては変数部とコード部が分かれているのが痛い、という話。あと Oxygene 知らなかった^_^;(聞いたことがあっても忘れてた)