アメリカ・ホワイトハウスの国家サイバー局長室(ONCD)が、開発者に対し、C++やC言語といったプログラミング言語からRustやC#などのメモリ安全性が確保されたプログラミング言語への移行を勧めています。 BACK TO THE BUILDING BLOCKS:A PATH TOWARD SECURE AND MEASURABLE SOFTWARE (PDFファイル)https://www.whitehouse.gov/wp-content/uploads/2024/02/Final-ONCD-Technical-Report.pdf White House urges developers to dump C and C++ | InfoWorld https://www.infoworld.com/article/3713203/white-house-urges-developers
米Microsoftは、プログラミング言語C#の新版となる「C# 12」を11月14日に公開した。C# 12を使用するには、最新のVisual Studioか、Visual Studio CodeのC#開発キット、そして.NET 8が必要になる。 C# 12では、より直感的にコードを記述できるようになることを狙って、新しい構文をいくつか導入した。まず、配列などのコレクションの記述を簡単にするコレクション式を導入した。従来はコレクションを作成するには、コレクションの型や名前を宣言した後、=(等号)の後に「new[]」などと記述する必要があったが、コレクション式では、等号の後に[]で囲んだデータの並びを記述するだけで済むようになった。 さらに、従来はrecord型のみで使用可能だったプライマリ・コンストラクターが、すべてのクラスと構造体でも使えるようになった。さらに、ラムダ式のパラメーターに既
米Microsoftは10月5日(現地時間)、「C# Dev Kit」の一般提供を開始した。今年6月からプレビュー提供されていたが、ようやく正式版として提供される。 【画像】「C# Dev Kit」に含まれる拡張機能 「C# Dev Kit」は、「Visual Studio Code」でC#開発の環境を手軽に構築できるようにした拡張機能。以下のC#開発向けの拡張機能を1つにまとめたもので、Windows、Mac、Linuxに対応する。 ・C#:「OmniSharp」ベースの既存拡張機能をリニューアルし、パフォーマンスを向上。単独でも引き続き無償提供 ・C# Dev Kit:ソリューションエクスプローラーとネイティブテストエクスプローラーを提供。「Visual Studio」サブスクリプション下でライセンスされる ・IntelliCode for C# Dev Kit:AIによる開発支援。「
TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位
Notes on reference: A reference is not a pointer. However, an object handle IS a pointer. Example: <?php class Foo { private static $used; private $id; public function __construct() { $id = $used++; } public function __clone() { $id = $used++; } } $a = new Foo; // $a is a pointer pointing to Foo object 0 $b = $a; // $b is a pointer pointing to Foo object 0, however, $b is a copy of $a $c = &$a; //
MISRA C という失敗 (#2295472) | コーディング標準は役に立つのか | スラド 早期returnとMISRA-Cルール14.7は背反か否か. - Togetter MISRA-Cはそもそも、 どのルールを守り、どのルールから逸脱するのか検討し、決定する。 上記の決定内容とその理由(順守するルール、逸脱するルール、逸脱の理由と範囲など)についてドキュメント化する。 ――という工程を経る前提で作られているルール集なので、「使い物にならない制約」と感じるのなら逸脱して構わない(ただしプロジェクト内で議論したうえで、必要な部分はしっかりドキュメント化してね)のだけど、それは置いておいて。 付け加えるのなら、自分なら例えば「使用条件をドキュメント化した上で限定的にgotoを許可する*1」とかやるだろうけど、それも置いておいて。 MISRA-Cにて「関数の末尾以外の return 禁
テクマトリックスは、C言語/C++言語のコーディング標準に対応したテストツール「C++test 2022.2」の販売を開始した。 テクマトリックスは2023年3月9日、Parasoft Corporationが開発した、C/C++言語対応テストツール「C++test 2022.2」の販売を開始したと発表した。 C++testは、コーディング規約チェックやフロー解析などの静的解析、単体テスト、カバレッジ計測、実行時メモリエラー機能などを搭載したC言語/C++言語対応のテストツールだ。 最新版では、C言語のガイドラインで2022年3月発行の「MISRA C:2012 Technical Corrigendum 2」と、2022年10月発行の「MISRA C:2012 Amendment 3」に完全対応した。また、C++コーディング標準の新版となる「MISRA C++:202x」のドラフト版の一
関連キーワード Google | プログラミング 広く使われているプログラミング言語「C++」。その後継としてGoogleが開発しているオープンソースプログラミング言語が「Carbon」だ。本連載は、ソースコード品質管理ベンダーSonarSourceで開発者を支援する立場にあるフィル・ナッシュ氏が、Carbonについて英Computer Weeklyに寄稿したものだ。 Rustと「Go」の根本的な違い 世間の見方とは異なり、CarbonはC++に取って代わるものではない。同社はむしろ、後継のプログラミング言語としてCarbonを設計している。同じように聞こえると感じる読者もいるだろう。重要な違いは、GoogleがCarbonとC++を 一緒に使うことを想定している 点だ。 併せて読みたいお薦め記事 Carbonとは何か Googleのプログラミング言語「Carbon」がC++の後継になれな
@nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)
Comments and ContributingWe provide access to the community members to contribute after subject matter expertise is verified. If you want to provide a suggestion or comment and do not have an account, please submit feedback. If you have an account but are having problems with access, also please submit a support request. Accounts are regularly deactivated after extended periods of inactivity. Welc
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 この記事では、C++/CLI で配列を使う方法について説明します。 1 次元配列 次のサンプルで示すのは、参照型、値型、ネイティブ ポインター型の 1 次元配列を作成する方法です。 また、関数から 1 次元配列を返す方法と、1 次元配列を引数として関数に渡す方法も示します。 // mcppv2_sdarrays.cpp // compile with: /clr using namespace System; #define ARRAY_SIZE 2 value struct MyStruct { int m_i; }; ref class MyClass { public: int m_i; }; stru
Red Hatの森若です。 自分でsystemdのservice unitを作るときに、起動用のいくつかのコマンドを記述したシェルスクリプトを呼ぶ事は(理想的ではないですが)あるかと思います。 今回はこの場合に、sudoを利用するとまずい理由を説明して、かわりにsetprivを使うほうがよいという話です。 例題用のservice 実行してみる 別のcgroupだと何がまずいのか? 対策はsetprivコマンド 例題用のservice sudoによるまずい動作を確認するためのできるだけ単純な例として、hoge.service を用意します。 /opt/hoge/hoge.sh #!/bin/bash sudo -u moriwaka sleep 5000 /etc/systemd/system/hoge.service [Unit] Description=hoge [Service] Ty
.NET は、さまざまな種類のアプリケーションを構築するための、無料でクロスプラットフォームのオープンソース開発者用プラットフォームです。 複数の言語で記述されたプログラムを実行でき、最も一般的なものは C# です。 それは、多くの大規模アプリによって運用環境で使われる高パフォーマンスのランタイムに依存しています。 .NET をダウンロードし、初めてのアプリの作成を始める方法については、作業の開始に関する記事をご覧ください。 .NET プラットフォームは、生産性、パフォーマンス、セキュリティ、信頼性を提供するように設計されています。 ガベージ コレクター (GC) を介した自動メモリ管理が用意されています。 GC と厳密な言語コンパイラを使っているため、タイプ セーフかつメモリ セーフです。 async/await および Task プリミティブにより、コンカレンシーを提供します。 広範な
静的コンストラクターは、任意の静的データを初期化するため、または 1 回だけ実行する必要がある特定のアクションを実行するために使用されます。 最初のインスタンスが作成される前、または静的メンバーが参照される前に、自動的に呼び出されます。 静的コンストラクターが呼び出されるのは多くても 1 回です。 class SimpleClass { // Static variable that must be initialized at run time. static readonly long baseline; // Static constructor is called at most one time, before any // instance constructor is invoked or member is accessed. static SimpleClass() {
null 合体演算子 ?? では、それが null ではない場合、その左側のオペランドの値が返されます。それ以外の場合は、右側のオペランドが評価され、その結果が返されます。 ?? 演算子では、左側のオペランドが null 値以外に評価された場合は、その右側のオペランドは評価されません。 null 合体代入演算子 ??= は、左側のオペランドが null と評価された場合にのみ、右側のオペランドの値を左側のオペランドに代入します。 ??= 演算子では、左側のオペランドが null 値以外に評価された場合は、その右側のオペランドは評価されません。 List<int>? numbers = null; int? a = null; Console.WriteLine((numbers is null)); // expected: true // if numbers is null, init
概要 例外(exception)とは、 本来ならばプログラム中で起こってはいけないことが起こってしまうことをいいます。 堅牢なプログラムを作成するためには、 例外が起こったときでもプログラムが異常な動作をしないよう、 しっかりと例外処理(exception handling)を行う必要があります。 C# では、例外処理を行うための専用の構文が用意されていて、 プログラマが例外処理を容易に行えるようになっています。 ポイント 例外: 「開こうとしたファイルが存在しなかった」など、特別な対処が必要な状況。 例外への対処には、例外用の構文があるのでそれを使いましょう。 try { 例外が発生する可能性のあるコード } catch(例外) { 例外処理 } 例外処理とは 例外の例を挙げると、ユーザーが想定外の文字列を入力してきたときや、 プログラムに必要なファイルが開けなかったときなどがあります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く