タグ

PythonとC++に関するmohnoのブックマーク (15)

  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
    mohno
    mohno 2023/05/07
    「逆転の発想として、C++を高速化するのではなく、比較対象のPythonを遅くすればどうでしょう?」←逆転すぎるけど、structの導入から考えてもありそう。「比較元のPythonコードは公開されていない」←そうなんだ。
  • GPT-4は青色コーダーの夢を見るか - Qiita

    はじめに 2023/3/14にOpenAIがGPT-4という新しいAIモデルを公開しました。 このモデルはさまざまなタスクにおいてChatGPT(GPT-3.5)を大幅に上回る結果を示しています。 この記事ではGPT-4を用いて競技プログラミングがどのくらい解けるのかについて調べてみました。 下馬評 OpenAIが公開した論文によると、GPT-4のCodeforcesレーティングは392だそうです。 これはパーセンタイルでいうと下から5%らしいので、 そこまで競技プログラミングが得意なわけではないようです。 ただし、おそらくこれはGPT-4が完全自動でチャレンジした場合のことだと思われます。 GPT-4が書いたコードを人間がレビューすることでバグを修正し、より難しい問題が解ける可能性があると 筆者は考えました。 TL; DR ChatGPTを用いてAtCoder Beginners Con

    GPT-4は青色コーダーの夢を見るか - Qiita
    mohno
    mohno 2023/03/20
    技術は進歩したなあ、と思うけど、外形的には「検索したら答えをアップしてる人を見つけた」と変わらない気がする。こういうのって、問題を作る方が大変なんだよね。
  • Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加

    Meta(旧Facebook)は、ブログ「Engineering at Meta」で公開した記事「Programming languages endorsed for server-side use at Meta」で、Rustを新たに社内の正式サポート言語に追加したことを明らかにしました。 Meta社内ではソフトウェア開発において正式にサポートする言語を慎重に選択しており、社内においてサポートされた言語に対しては十分な投資が行われ、プログラミング、デバッグ、デプロイなどにおいて良好な開発体験が期待できるとともに、新しプロジェクトが開始される場合には、サポートされている言語を選択することが推奨されています。 サーバサイド向けの言語としてこれまでPythonC++、Hackがサポートされており、今回そこにRustが追加されました。 性能重視のバックエンドサービスやCLIの開発にRustを推

    Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加
    mohno
    mohno 2022/08/01
    「Meta(旧Facebook)…Rustを新たに社内の正式サポート言語に追加」「性能が重視されるバックエンドサービスではC++もしくはRust」「コマンドラインツール(CLI)ではRust」
  • 開発言語の人気トップが交代、JavaやC/C++を抜き去ったのは

    出典:日経クロステック、2021年7月7日 (記事は執筆時の情報に基づいており、現在では異なる場合があります) DX(デジタルトランスフォーメーション)を推進するため、新規システムの開発が盛んだ。従来の会計や販売、生産管理といった基幹系システムだけでなく、データ分析AI人工知能)システムなどの開発に着手する企業が増えている。 こうした新規システムの開発を進めるには、従来の基幹系システムとは異なる開発体制が求められる。システムに合わせて開発チームを構成し、開発対象のシステムに合ったプログラミング言語を選ぶ必要がある。プログラミング言語によって向いているシステム、または向いていないシステムがあるからだ。 現在のITエンジニアは開発対象に応じて利用する言語を増やしたり、場合によっては切り替えたりすることが求められる。では今、ITエンジニアが利用するプログラミング言語や開発環境は何か。これを調

    開発言語の人気トップが交代、JavaやC/C++を抜き去ったのは
    mohno
    mohno 2021/09/09
    「現在使っているプログラミング言語を3つまで挙げてもらった。その結果、利用言語の第1位は「Python」」←2位がJavaScriptなのか。VB.NETもそれなりにいるなあ。
  • Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita

    はじめに Pythonは今最も習得希望人口の多い言語である。 それはヘビーなデベロッパーからライトなオフィスコンピューティングまで多岐にわたる。 おそらく「Pythonを使えば○○ができる」と喧伝されているのを見聞きしているからだろう。 この記事ではそんなPythonを一から導入し開発できるようにすることを主にする。 OSのセンテイ Pythonの開発でもっとも優れたOSはWindowsである。 単純にPython.orgの公式から対象のバージョンをいくつか選んでダウンロードして適当にインストールすればそれですべてを始められるので、MacLinuxのようにシステムデフォルトと別verとのインストール共存やパッケージ管理ツールを意識する必要はない。 パスは通るし、複数のバージョンを同時に入れてもビルドバージョンですら分けて共存できるので簡単。 処理系 Pythonはインタプリタ界の変態言語

    Qiitaでたぶんもっとも参考にしてはいけないPythonの導入方法 - Qiita
    mohno
    mohno 2020/12/27
    他の記事に警鐘を鳴らすのかと思ったら「これが」ってことか。「C++の本気」←constexprを使うのか。
  • await って言う単語

    C# 5.0で非同期メソッドが導入されてから、 正式リリースを基準にしても5年以上、 最初の発表からだと7年以上経っています。 で、5年経っても、「なんて読むの」「asyncのaとawaitのaは違う」などなどが「定番ネタ」として定期的に出てくるわけですが。 特に、ECMAScript 2017がasync/awaitを導入したり、 Unity 2017がやっとC#のバージョンを6.0に上げれる感じになってきたり、 5年の断絶を経て去年からasync/awaitに触れる人が増えているようです。 5年も離れたら、世代断絶も起こりますよね… そりゃ、「定番ネタ」が改めて増えもしますよね… ということで、5年くらい前に同じようなことをどこかで書いてるはずなんですけど、改めて。 英単語 えいしんく まず読み方。 async: エイシンク await : アウェイト ってやつ。async の方が「ア

    await って言う単語
    mohno
    mohno 2020/12/13
    「去年リリースされた ECMAScript のやつも await になりましたし、 C++ に出てる提案が await なのは提案者が Microsoft なので当然として、 Python とか Swift で出ている提案も await を使う雰囲気」←へぇぇ。
  • 浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita

    どうも、浮動小数点数オタクのmod_poppoです。 昨日開催された ABC169 の C 問題が浮動小数点数の罠な問題だったらしいので、どこが罠なのか、そしてどうすれば罠を回避できるのかを解説してみます。 また、典型的な誤答に対しては、それを落とすためのテストケースも用意しました。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 169 | C - Multiplication 3 問題文 $A\times B$ の小数点以下を切り捨て、結果を整数として出力してください。 制約 $0\le A\le 10^{15}$ $0\le B<10$ $A$ は整数 $B$ は小数第 2 位まで与えられる 入力 入力は以下の形式で標準入力から与えられる。

    浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita
    mohno
    mohno 2020/06/02
    Bを100倍後に四捨五入、が現実的だろうな。入力書式が決まっているならC言語(←オイコラ)→#include <stdio.h> #include <stdint.h> int main(void) { int64_t a; int b, c; scanf("%lld %d.%d", &a, &b, &c); printf("%lld\n", a * (b * 100 + c) / 100); }
  • "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita

    C++、C#、PHP等には"call by reference"という機能があります。ですが、この"call by reference"ではない動作を「参照渡し」と言っている記事をまとめました。対象には表記揺れにすぎない「参照呼び」や「参照呼び出し」も含めています。 他にもある、とか、実は否定しているとかあればコメントや修正依頼をください。ただし、追記や脚注など目立たない形で「実はそうは言わない」などと補足があったり、コメント等でそのような指摘があっても、全ての読者がそこまで細かく見るとは限らないため、除外しません。つまり、厳密には違うとか、機能ではなく動作のことを言っているとか色々言い訳を付けていても、表面だけ読んでいると「『参照渡し』と言っても良い」と読み手が感じられそうであれば、対象としています。 "call by reference"な動作とは? 定義や詳しい動作の解説はここではし

    "call by reference"ではない動作を「参照渡し」と言っている記事まとめ - Qiita
    mohno
    mohno 2019/04/21
    おおっ、と思ったがC言語はなかった(市販書籍でも参照渡しと書いてる記事があるらしいんだが、勘弁してほしい)。↓C++に必要なのはコピーコンストラクタのためです。
  • バカにC言語は難しい~プログラミングの機会損失~

    プログラミングは難しい 注意: この記事は「プログラミング学習とはかくあるべき」、「こうやって学習するのが一番」ということを言いたいのではなく、プログラムを勉強したいが右も左もわからない人に少しでも勇気と情報を与えることを目的としています。過去の挫折経験からか、なかば愚痴っぽくなっていますがご勘弁を はじめに自分のプログラミング歴を軽く紹介して起きます。 年 言語 学習目的 2010 C言語 学校の実習 2011 C++ 組み込み系 2012~2017 None None 2018 Go,Js,Scala,Python 研究、Web開発 といった感じです。2012~2017年がNoneになっているのには原因が「C言語に挫折し、とにかくプログラミングがしたくなかった」からです。そう思ってしまった原因と、そこから立ち直ったことがこの記事を書いた理由です。 「おいおい、C言語ごときで挫折とは情け

    バカにC言語は難しい~プログラミングの機会損失~
    mohno
    mohno 2018/10/23
    C言語は文字列の処理すら関数呼び出しが必要になるからね。そこだけでハードルが高い。“覚えること”はC++の方が多いけど。
  • この10年間のプログラミングの変化|山本一成🚗TURING

    はじめましてnoteの皆さん、名人を倒した将棋プログラムPonanzaというものを作っていた山一成と言います。この度ははてなから引っ越してきました。2018年になったので新しくブログ書いてみようかなぁ〜ってはじめました。 私がプログラミングをはじめたのは大学生だった時ちょうど10年前でした。そして今2018年になって、同じプログラミングにしても色々変わったなぁという印象です。今日はそのへんを皆さんと共有できたらなぁ〜と書きました。 あくまで私の観測範囲内での話をすればですけど、10年前のプログラミングの世界は速く動くことがかっこよかったです。実際にかっこいいだけでなく、必要とされる場面も多かったような気がします。私が愛用しているプログラミング言語はC++(シープラスプラス)と言って、まあそれは高速に動作することだけを意識して作られた言語でした。 加えて、今から考えれば一体なんでそんなトリ

    この10年間のプログラミングの変化|山本一成🚗TURING
    mohno
    mohno 2018/01/08
    「C++…高速に動作することだけを意識して作られた言語」「昔のプログラマは力を失いはじめています。コンポーネントをうまく駆使するようなプログラミングをしないと高い生産性を出せなくなってくるでしょう」
  • 2017年、人気のプログラミング言語トップはPython。C、Javaが続く。検索、Google Trends、Twitter、GitHub、Stack Overflowなどの人気を総合

    2017年現在、もっとも人気のあるプログラミング言語は「Python」。2位は「C」、3位は「Java」だと、電気通信分野の標準化団体であるIEEE(アイトリプルイー)が発行するオンラインマガジン「IEEE Spectrum」が、記事「The 2017 Top Programming Languages」で発表しました。 Pythonは昨年から2つランクアップで1位へ 1位となったPythonは昨年3位だったのが2つランクをあげて1位に飛び込みました。ただし、2位のCとの差は0.3ポイント、3位のJavaとの差も0.5ポイントと、1位、2位、3位の差はほんのわずかなものでした。 ちなみに4位のC++は約3ポイント離れた97.1ポイント、5位のC#は10ポイント以上離れた87.7ポイントですので、いかに上位3位の人気が堅いものかが分ります。 ただ、Pythonはたしかに統計処理などの分野を得

    2017年、人気のプログラミング言語トップはPython。C、Javaが続く。検索、Google Trends、Twitter、GitHub、Stack Overflowなどの人気を総合
    mohno
    mohno 2017/07/23
    「ネットなどで情報交換が盛んな言語の方が有利」「GitHubで使われている300種類のプログラミング言語をリストアップ…Google検索にかけ、件数が多い48種類に…10種類の情報源から12種類のメトリクス…総合的にポイント化」
  • Pythonが2017年の覇権言語に - Rubyは12位に転落

    IEEE Spectrumは18日、独自の指標によって決定した人気プログラミング言語のランキング「The Top Programming Languages 2017」を発表しました(Neowin)。 上記画像がその結果で、スクリプト言語Pythonが1位に、C言語が2位に、Javaが3位になっていることがわかります。Pythonは2016年の3位から1位へのランクアップで、背景にはやはり近年注目を集めるAI機械学習分野のライブラリの充実があるのかもしれません。 2位のJava言語は最近何かと批判を集めがちですが、需要は根強く、特に「仕事」系のプログラミング言語としては相変わらずトップクラスの人気を誇っているようです。 その他、Go言語が9位に上昇した反面、Rubyが12位まで下降しています。 IEEE Spectrumのランキングは、GoogleGitHub、Stack Overfl

    Pythonが2017年の覇権言語に - Rubyは12位に転落
    mohno
    mohno 2017/07/23
    "Pythong"w しかし、まあ「C言語が2位」って、ホントに“人気”があるのかなあ:-p
  • 長文日記

    mohno
    mohno 2016/07/01
    「プログラミング言語の話はすぐに宗教論争に行く」だなあ。「プロのプログラマーなら、最低6言語、ふつう20言語くらいは一通り使えてるべき」←えぇぇw
  • if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist

    gistfile1.md if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist twitterからながれてきたこの話題。昔のCコンパイラは、if文の条件節で代入を書いても文句を言わなかったので、このようなコードに何の警告も出なかった。 #include<stdio.h> int main() { int x = 0; /* おそらく意図と違う。 x == 1 と書くべきであった これでは常に実行されてしまう */ if ( x = 1 ) { puts("残念"); } } 「これをこのように書けば、コンパイルエラーになり、ある種の誤りをコンパイラに見つけさせることができる」というのが、「老害」とされる人の主張である。 /* これはコンパイルエラーになる */ if ( 1 = x ) { puts("残念"); } もし使っている環境が「コンパ

    if式 / if文 の条件節で、左辺に定数を書くべき言語はあるか? @ajiyoshi.gist
    mohno
    mohno 2014/12/13
    「if (0 == a)」は嫌い。「0 <= a < 10」という条件を、どう表記するかという問題もあるな。私は「0 <= a && a < 10」。
  • TechCrunch | Startup and Technology News

    Android phone users finally have access to Cruise’s robotaxi service, which is predominately in San Francisco as well as in Austin and Phoenix. The self-driving unit under GM said Tuesday that i

    TechCrunch | Startup and Technology News
  • 1