メタデータをダウンロード RIS形式 (EndNote、Reference Manager、ProCite、RefWorksとの互換性あり)
「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック
ITシステムを効率良く開発するには、実装する機能に合わせたプログラミング言語の選定が重要になる。現在、多種多様なプログラミング言語が存在するが、言語によって実装しやすい機能が異なるためだ。 システムの機能が多岐にわたる中、日経クロステックの読者はどのような言語を利用しているのか。これを確かめるため、日経クロステックではアンケート調査「プログラミング言語利用実態調査2023」を実施した。調査期間は2023年9月21日~10月18日。358人から回答を得た。 Pythonが首位をキープ アンケートではまず、現在使っているプログラミング言語を3つまで挙げてもらった。利用言語の第1位は「Python」だった。回答者358人うち45.3%の162人が使っているという結果だった。 「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。最大3つ選択してもらった。グラフには回
私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar 2023の2日目です。 至高の日付時刻型を持つ言語、BigQuery SQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar
[速報]古いJavaや.NETのコードを最新のJavaにAIが自動変換する「Amazon Q Code Transformation」、AWSが発表。AWS re:Invent 2023 Amazon Web Services(AWS)は、ラスベガスで開催中のイベント「AWS re:Invent 2023」の基調講演で、生成AIを用いて多様なAIサービスを提供する「Amazon Q」を発表。Amazon Qの機能の一部として、古いJavaや.NETのコードを最新のJavaや.NET対応に自動変換する「Amazon Q Code Transformation」を合わせて発表しました。 参考:[速報]AWS、Copilot対抗となる「Amazon Q」発表。生成AIによるシステム開発支援や業務支援など、多様なAIサービスを提供。AWS re:Invent 2023 Amazon Q Code
寝れないので、IT業界の客先常駐について書こうと思う。 客先常駐は辞めとけ客先常駐は辞めとけ。よく言われることです。 でもITには未経験だと客先常駐くらいしか無いのです。経験者でも客先常駐しかないのに未経験だと尚更。 私はそこそこ有名な大学の院卒で、27の時に他業界からIT業界に入ったけども、普通に書類選考で落とされてました。最終的に微妙な企業2〜3社しか面接まで行けませんでした。 当時は何も考えてなくて、とりあえず経験を積みたい、と採用してくれた企業に入社しました。年収300万で。ちなみに前職だと年収420万だったからめちゃくちゃ下がりました。 そこそこの学歴で、しかもバリバリの理系でも、未経験だとやはり採用してくれる企業は少ないんです。 ちなみに転職した時は30歳でしたけど、未経験の時に比べて書類選考の通過率はとても高かったです。 客先常駐のここが嫌だ給料が安い安いんですよ、月収20万
何故かJavaは敬遠される!? 筆者はIT業界に努めて17年ほどです。 SESとして働きに出ることが多かったのですが、近年はWebエンジニアとして PHP(Laravel)を使った開発が多くなってきています。 そんな開発現場ですが、プログラミング言語の話題に上がると 「Javaはわからない」 「Javaって難しいんでしょ?」 「環境構築がなぁ・・・」 なんて話をよく聞きます。 私はJavaの方が経験した期間が長かったので、特にそういった苦手意識は無いのですが Laravelの現場でもそういった話を聞くので、 「フレームワークの特性や、コードの書き方は結構似ているところが多いのに、何でみんな苦手なんだろう?」 と思ってしまうのです。 今回はそのギモンについて、私が思っていることを書いていきます。 (注:Java嫌いな人を論破したいわけではありませんw) 原因その1:インフラ構造上、難しいと思
WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。 WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。 WASM GCはChromeのフィーチャーフラグで有効化 ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。 現在リリースされているChrome 111 Devリリースチャンネル
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている
SI企業の強み・弱みを分析し、SIビジネスの先行きについてまとめた書籍『SI企業の進む道 業界歴40年のSEが現役世代に託すバトン』。同書から抜粋し、「誰も指摘しなかったSI企業の課題」を連載で指摘する。今回は、SIerがユーザー企業の要望に応えられない根源的な理由を探る。(技術プロダクツユニットクロスメディア編集部) 既存ITシステムの問題をユーザー企業以上に理解しているのはSIerである。ところが、その問題をユーザー企業に説明し、対策をとろうとはしない。ではなぜ、SIerのIT技術者たちは口を閉ざしているのだろうか。 その答えはこうだ。問題を説明した後に「では、どうすればいい?」と問われても答えられないからである。つまり、既存ITシステムの変革をどのように行えばいいのか分からないのだ。 情報処理推進機構(IPA)が平成29年に出したレポート「システム再構築を成功に導くユーザガイド」には
マイクロソフト、Javaの仕様を策定するJava Community Process(JCP)への参加を発表。Javaへのコミットをさらに強める マイクロソフトは、Javaの仕様策定や関連技術の開発、実装などを行う「Java Community Process」(JCP)への参加を発表しました。 Microsoft Deepens Its Investments in #Javahttps://t.co/9nHnyCpEIP pic.twitter.com/8ijU3TYeAn — Java at Microsoft (@JavaAtMicrosoft) November 4, 2021 JCPにはオブザーバ、パートナーメンバー、アソシエイトメンバー、フルメンバーなどのメンバーの種類がありますが、今回マイクロソフトは Java Specification Participation Agr
JavaやCで組むのは他人のためのプログラムで、Pythonで組むのは自分のためのプログラム、という違いがないかなという話。 TIOBEでとうとうPythonが1位になったというニュースが流れてました。 https://internet.watch.impress.co.jp/docs/yajiuma/1357645.html でも、Pythonが1位になったとはいえ、CやJavaであったような、世の中のプログラム全部Pythonになるみたいな雰囲気はないなと思いました。 で、こんなツイートをしたわけです。 PythonがJavaやCを抜いて1位になるのは、JavaやCが担っていたところがPythonに置き換えられたのではなくて、他人のためのプログラミングではなく自分のためのプログラミングが増えたということじゃないかなと思う。https://t.co/LeM3ADCwAA— きしだൠ(K1
オラクルは、同社が提供している企業向けのJavaディストリビューションであるOracle JDKのライセンスを変更し、無料で本番環境などでの利用を可能にしました。 同社が9月14日付で公開したブログ「Introducing the Free Java License 」で、次のように説明しています(関連するプレスリリース「Oracle Releases Java 17」)。 Oracle JDKを無料で提供し、四半期ごとのセキュリティアップデートも提供する。 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、商用利用や本番環境での利用を含むすべてのユーザーに対して無料での利用を許可する。 Oracle JDK 17から、この無料のリリースとアップデートの提供を開始する。これは次の長期サポート(LTS:Long Term Support)が
出典:日経クロステック、2021年7月7日 (記事は執筆時の情報に基づいており、現在では異なる場合があります) DX(デジタルトランスフォーメーション)を推進するため、新規システムの開発が盛んだ。従来の会計や販売、生産管理といった基幹系システムだけでなく、データ分析やAI(人工知能)システムなどの開発に着手する企業が増えている。 こうした新規システムの開発を進めるには、従来の基幹系システムとは異なる開発体制が求められる。システムに合わせて開発チームを構成し、開発対象のシステムに合ったプログラミング言語を選ぶ必要がある。プログラミング言語によって向いているシステム、または向いていないシステムがあるからだ。 現在のITエンジニアは開発対象に応じて利用する言語を増やしたり、場合によっては切り替えたりすることが求められる。では今、ITエンジニアが利用するプログラミング言語や開発環境は何か。これを調
こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。 本文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、本文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント
はじめに 2011年に書いた良いコードを書く技術を増補改訂して出版しました。 Amazon | Rakutenブックス | honto | ヨドバシ.com | Gihyo Direct 10年ぶりに書籍を技術書を改定するという貴重な体験をさせていただいたので、執筆の中で気がついたことをご紹介します。 ちなみに初版を執筆した10年前はこんな世界です😳 VS Codeは存在せず、みんな秀丸やEmacs、vim、Eclipseでコードを書いていた Java 7が出てたけど、Java 8まではあと3年待たないと行けない TypeScriptもGo言語もSwiftもリリースされていない AWSの東京リージョンができたばかりでクラウドって何?って世界 GitはまだマイナーでSubversionでバージョン管理している人が多かった Dockerはまだない、VirtualBoxやVMwareを使ってた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く