はてなキーワード: zshとは
自動調理家電が色々と話題だが電子レンジこそが自動調理家電の雄であることを気付かされた。食材をつっこんでメニュー選んで後は待つだけというQOLの爆上げを感じることが出来る。
「令和時代の新三種の神器」に「ドラム式洗濯乾燥機」と「食洗機」と「ロボット掃除機」が挙げられるが、前述の三種を既に所有していた身としては「スチームオーブンレンジ」の方が先だろと言わざるを得ない。
スチームオーブンレンジについてぶっちゃけて言えば、最新のスチームオーブンレンジじゃなくて型落ちでも全く問題がないので未所持の方は本気でご検討を。
その名の通りの風呂で使える防水無線スピーカー。対応音声コーデックはSBCとAAC。
最大の特徴はQi2対応によるマグネット無線充電が可能な点で、このマグネットにより風呂場で磁石が効く部分へ付けられること。風呂に入りながらゆっくりと音楽やポッドキャストを聞く、動画を観るなどに最適で、日本人のために設計されたとしか思えない。
風呂場で磁石使える部分なくとも洗濯ネットか何かに放り込んで吊るしておけば良い。
Ankerの比較的まともなUSB-C to USB-Cケーブル。
高性能なUSBケーブルは結構堅いのが多いけれどもコイツは他社と比較すると柔らかめ。何だかんだでこういう細かな部分でQOLってのは上がるんだなぁと再認識。
AMD Ryzen7 PRO 8840U、DDR5 64 GB、M.2 SSD 1TBという構成。
もともとはApple Macbook Pro(2023)でApple M2 Max、メモリ32GB、SSD 1TBという構成のものを使っていた。
結局のところLinuxで開発するならホストOSもLinuxが一番面倒が無いんだという悟りを得てしまいThinkPad on Linuxへ移行。
利用しているLinuxディストリビューションはNixOSで、KVMにWindows 11も居る状況。
デスクトップ環境はHyprland、シェルはzsh、日本語入力はfcitx5-mozc-ut、エディタはNeoVimとVSCode(nvimプラグイン導入)。
NVIDIA DGX Spark互換機で128GBのユニファイドメモリを積んでいる便利なやつ。
DGX Spark互換機はNVIDIAからの積極的なサポートもあり日進月歩な感じで少し目を離すとかなり変わっていく印象。
筆者は画像生成はほとんど行っておらず機械学習に利用しているが、Thinkpadと合わせてこのフットプリントで高い処理能力を活かした機械学習できるの本当に良いね。
数年は戦えるし、たぶんリセールバリューも期待できるので買って損は無い気はしている。
ただ、ChatGPTやGeminiへの課金は減ったと言えども続けてしまっているので「ChatGPTやGemini要らず!」なんてレビューは嘘だと思う。
結局は新モデルが出たら触りたくなるのが技術者の性なので「DGX Sparkはコスパ良い!」なんてのは幻想だよと。
ちなみにASUS ASCENT GX10へこだわりがあったわけでなく、たまたま最も早く入手できたのがコレだっただけ。
ラズパイもここまで性能が上がったのかと感動した。
一般ユーザーの用途では軽いビジネス文書作成やWebブラウジングくらいならば余裕で実用に耐えうる。実家の老父母のPCはもうコレで良いんじゃないか?と錯覚するレベル。
技術者的な目線では簡易的なサーバーや無線LANルーターなどの構築も可能で、今は8GB版が子供用の無線LANルーターになっている(ネット使いすぎを防ぐための方策。一定時間に使いすぎると速度を徐々に低下させてる)。
むしろここまで来ると「次世代機Raspberry Pi 6(16GB版)がどうなるか?」に興味津々で、HDMIだけじゃなくDisplayPortとか対応して120fps出力とかしだしたら本当にもうコレで良いんじゃないかなぁ?
MediaTek Dimensity 7400X、メモリ8GB、ストレージ256GB、デュアルカメラ、FeliCa、物理nanoSIM(eSIMも対応)、外部SDカードは未対応。
Appleエコシステムから抜けちゃったので「コレでもう良いんじゃねぇかな?」という感じに落ち着いてしまった。
散々言われまくっているが「iPhone Airが目指すべきはコレだった」というのは本当にそう思う。だってテーブルへ置きやすいし。
若者から老害って言われても仕方ないと思うけど「電話掛けるとき物理的に曲げられる素晴らしさ」よな。人間工学的にコッチの方が正しいんじゃなかろうか?
筆者、実は自作キーボード勢および自作格ゲーアケコン勢である。INARI M06とは卓上で利用できる射出成形機だ。
3DプリンターでFDM方式をやって光造形方式をやって、色んな3Dプリンターを買っては試して売っぱらい「やっぱり射出成形が最強だよね!」とついに手を出した。
3Dプリンターでは一切真似のできない製造速度と強度、精度に「やっぱりコレよ!」となっている。
しかし、INARI M06には上位機種INARI P35が存在しており「・・・いやコレを導入したらもう業者ではないか?」と自問自答を繰り返している。
卓上CNCフライス盤と呼ばれる工作機械。上記のINARI M06のアルミニウム金型を削り出すために導入。カスタムパーツも豊富で、何ならカスタムパーツも自分自身で製造できるという性能を持っている。
3Dプリンターが不必要というわけでなく用途の違いと言うか、試作するには3Dプリンターはまだまだ有用で、試作を元に金型を作って量産するのに射出成形機って便利なのよね。
今ではキーキャップのほか、基盤やキースイッチすら自作が出来る環境になっているものの、PCケースみたいな大型のものは自作できないので、そろそろメタルベンダーとか100v溶接機(家庭電源で使える)とか必要なんじゃないかな?と検討してる。
ただやはり、自身で加工が困難だと感じる部分はJLPCBやmeviy(㈱ミスミ)に頼むのもアリだ。
ごめん、最初に10選って書いたけど10個ピックアップするの無理だった。
細々した工具とかガジェットとか買ってるんだけど10選に挙げたいってほどのものじゃなかった。
というわけで最後は頼んだ。
一年が過ぎた。あの「何もしてないのに壊れた」事件の三人組は、今や職場のエースだ。
当時は「ディスプレイの電源の入れ方がわかりません」で全員の昼休みを潰した彼らが、だ。
人は成長する。いや、正確には「環境を与えられると覚醒する」というべきかもしれない。
あのあと、一応上司に報告した。「新人がディスプレイの電源を入れられない件について」と題したメールに、
あのときの顛末を淡々と書いた。報告を読んだ上司が言った一言が、すべてを変えた。
「それ、Apple Studio Displayじゃない?」
……え?
泣きたい。いや、もう笑うしかなかった。
Windowsのレジストリだのバッチファイルだのに全員アレルギーがあったらしい。
「Win端末って……Altキーが右にもあるの、何のためですか?」と真顔で聞かれたとき、
私の中の何かがそっと崩れた。
で、ちょうど一ヶ月後、上層部が「彼らの生産性を最大化するため」とか言い出して、
あっさりMac端末が支給された。MシリーズのMac Studio+Studio Display構成。
「あ、それComposeで並列処理に変えました」とか平然と言う。
気づけばTerraformで開発環境をインフラ化までしていた。
処理速度? 正確に計測したら、あのときのWindows仮想環境の十倍。
社内のGitリポジトリの更新履歴が、ほぼ彼らのコミットで埋まるようになった。
「それ、Homebrewで入れましょうか?」
……もう、何言ってるのか半分もわからん。
かつて「ディスプレイの電源が入れられない」と言っていた口で、
ただ、あのときの端末が彼らの性能に追いついてなかっただけ。
今日も彼らの後ろ姿を見ながら、私は小さく笑う。
——何もしてないのに、すごくなったな。
"現状"とはつまり2025年5月時点の話であり、動向が非常に変わりやすいIT業界の風土を考えると将来的にどのようになるかは予測が非常に難しい。
しかし、数年でこの"現状"が変化するとは考えにくく、今現在の学生が10年以内に社会人となったとき今現在の"現状"を基礎に情報技術を学んでいる可能性が高く、このエントリでは"現状"を周知する為に書かれた。
集計した時期や団体で数値の変動はあるが、日本国内で現状のICT教育でのOSシェアはChromeOSがおおむね30〜40%というシェアを獲得しており、IT大国と知られているアメリカでは日本と同様に集計した時期や団体で数値の変動はあるがおおむね50〜60%というシェアであり、ICT教育のOSとしてChromeOSがデファクトスタンダードとなっている。
これは、テックファンがよく語るように「ChromeOS端末が安価で導入できる」という意見が理由として挙げられがちで、実際に導入コストを抑えられるメリットというのは大きいものの、逆に言うとそれ以外の理由があまり語られることが少ない。
流石にこの意見は、IT業界のプロの現場で多用されるMicrosoftやAppleを抱えるIT先進国である米国がただ安価であるからという理由だけでGoogleのChromeOSを採用するにしてはあまりにも弱すぎる理由ではないだろうか?
そこで「何故ChromeOSを教育現場は採用するのか?」を紐解きたい。
長々と引っ張るのも億劫になってしまうので結論から言えば「Google ClassroomとGoogle Family Linkの出来が非常に良い」からである。
Google ClassroomとはまさにICT教育向けにGoogleから提供されているグループウェアで、生徒へ対して課題の作成と配布、進捗、採点、評価の管理が可能で、それらにはGoogleドキュメントやGoogleスプレッドシート、Googleスライド、Googleカレンダーが利用でき、教師生徒間オンラインコミュニケーションとしてGmailやGoogle Chatを用いることができる。
つまり教育現場からするとChromeOS端末を導入したらGoogle謹製のオールインワンICT教育グループウェアが瞬時に入手可能であり、更に言えば現状では既にデファクトスタンダード化しており膨大な導入事例によって困りごとの解決が非常に容易であることがあまりにも大きなメリットとなっている。
なにせICT教育端末の2台におおよそ1台はChromeOS端末であり、例えばSNSなどで流れてくる「ChromeOSでこんな酷い目に遭った」は導入数が多いが故にであり、逆にiPadOSを支持する人でも「Apple Classroom」というアプリが存在することを知らない場合が多い。何故知らないのか?と言えば導入数が少なく話題にまったく挙がってこないからである。
なお、Apple ClassroomとGoogle Classroomを比較するとGoogle Classroomの方が高機能である。AppleもICT教育OSシェアを上げようとApple Classroomの改善に努めてはいるもののGoogle Classroomへ追いつくまでには至っていない。
Google謹製のペアレンタルコントロールアプリで、子供のGoogleアカウントに紐づけられたChromeOSおよびAndroidOS、それらがインストールされる端末などを管理できるサービス。
端末自体の使用時間上限を定めたり、端末の使用時間上限を定めずアプリ毎の使用時間上限を定められ、つまりゲームやYoutubeやTiktok、Webブラウザアプリなどは1日1時間に制限しつつ、学習アプリは使用時間無制限にでき、そのほかWebフィルタリングやYoutubeフィルタリング、アプリインストール、課金管理も可能で、しかも就寝時間や登校時間には使わせないようにできるなど親にとっては至れり尽くせり子供にとっては非常にお節介なサービスである。
ペアレンタルコントロールの自由度も実はAppleの方が乏しく、Apple製端末を子供に与えている親は親自身が設定したペアレンタルコントロールに親自身が巻き込まれたりして四苦八苦するシーンがある(実体験)が、Google Family LinkのあるChromeOSおよびAndroidOSはApple製端末ほど困ることが少ない。
Google ClassroomとGoogle Family LinkだけではIT大国であるアメリカが何故ChromeOSをICT教育OSとしてデファクトスタンダードとしてしまったのか?の納得感としては薄い。
最終的な決め手は「一般的な使い方ではセキュアなサンドボックス上でタブレットOSやスマホOSのように容易に利用でき、高度なプログラミングを学ぼうとするときプロとほぼ同じ環境を利用できる」ことにあるだろう。
もちろんiPadOSには「Swift Playgrounds」があり高度なプログラミングを体験できるが、ChromeOSやAndroidOSではPlaygroundsどころかLXC/LXD仮想環境上に構築されたLinuxディストリビューションのDebianを扱える。
いやそもそもDebianを導入しなくてもGoogle Play Storeには小学生向けプログラミング環境のScratchからインスパイアされたポケットコード、非常に本格的なゲームプログラミングIDEのGDevelop、UnityやUnreal Engineに次いで業界3位のシェアを持ちプロ現場でも採用される2D/3DゲームプログラミングIDEのGodot Engineなどがある。
そして当たり前のようにGoogleはChrome OS向けAndroid Studioを用意しており、ChromeOSさえあればAndroidOSアプリをGoogle謹製のプログラミング環境で開発することができる(実際のところAndoridOSはAndroidOSだけでアプリをコンパイル&ビルドできるが割愛)。
これMacとiPhoneやiPadしか触ってこなかった人間からするとどういうことかと言えばChromeOSにはAppleで言うところのXcodeがあることを意味し、何ならDebian上でWeb版みたいに機能制限されていないフル機能のMicrosoft Visual Studio Codeが利用でき、理解できる人は驚いただろうが前述の通りGodot Engineがあるわけだ。RubyやPythonだって動くし、Bashもfishもzshも選び放題、Vim vs. Emacs論争へも参戦できる。
しかも昨今、WindowsのWSL2でLinuxディストリビューションが導入できるようになってしまった影響で、一部の情報技術者の間では「開発環境は仮想上のLinux、サービス動いてるサーバーもLinux、じゃあWindowsとかmacOSとか使わずに最初から無理せずLinuxディストリビューションを端末へインストールして開発したら良いんじゃねーの?」という動きが活発化しており、そこへ表面上は日常利用でスマホやタブレットOSのように扱えて開発はしっかりLinuxディストリビューションであるChromeOSが「あれ?意外とChromeOS良いんじゃね?」という評価が始まっているのだ。
それでも「ICT教育は性能やランニングコスト的にiPadが優れてるんだ!」というAppleファンの熱い想いは否定しない。
しかし、しかしだ、当の多くのプログラマがiPadでプログラミングしてないんだ!!!開発するときにiPadのセキュアすぎるサンドボックスがマジで邪魔だと思っちゃってるんだ!!!!!
前述までの話を聞いて「iPadとChromeOS、仕事でどちらかしか使えません。どっちを選びますか?」と言われたらLXC/LXD仮想環境のあるChromeOSじゃん!!!IT大国のアメリカ様もそりゃChromeOS選ぶよ!!!!!だってプロの現場で使われてるんだもんLinuxがッッッ!!!!!!!
「どっちかしか選べないて?じゃあ俺は普通にMacbookにするわ」だって?えっそれ10年後ChromeOS(Linuxディストリビューション)でICT教育受けてきた新社会人に言えんの?サバンナで生きていけないよ?2人に1人は「学生のときChromeOSでしたぁ」って悪気なくピュアな瞳で言ってくる時代が直ぐそこだよ?
Windowsですら無いんだぞ?隔世の感どころの騒ぎじゃねーぞ?「当時ChromeOSでヴァンパイアサバイバーズやってましたね」とか新社会人が言うんだぞ?iPadかChromeOSかって言われてんのにMacbookって返すのはギャグの段階に触れさえしてねぇよ?まぁMacbookはタッチスクリーンディスプレイじゃないから触れられないんだけどさ。
Apple信者が声を大にして言わなきゃいけないことは「Appleさん、iPadもうちょっと何とかならないっすか?」だろ!!!!!
正論言ってんじゃねーよ!!!今更Appleのエコシステムから抜け出せねぇんだよ!!!!!ちょっと気になってGoogle側の事を調べてみたらめちゃくちゃ進んでんじゃねーか!!!!!!!
えっなにマジで?今のAndroidOSは純正でDebian動くの???アプリストアにGodotあるってどういうこと?????
Nix はいいぞ。
#!/usr/bin/env nix-shell
...っていうのができる。
上記の例の "zsh" を、"make -f" とかすると Makefile になるし、リポジトリ nixpkgs に含まれるファイルを渡す式のコマンドなら何でも使える。実行ファイルにしたスクリプトを走らせると、その場でインストールされてないツールをインストールしてくれる。
ささっと書いたカジュアルなスクリプトでも、将来、環境が変わっても使えてると嬉しい。本格的なプロジェクトを作ってパッケージマネージャのリポジトリに登録するつもりはない、そんな場合に Nix のシェバン機能は役に立つ。
Nix 言語を使うと、かなり柔軟にインストールの方法を作りこめる。シェバン機能を覚えておくだけでも効果が高いから、おすすめだよ。
これまで使ってたパソコン(surfacelaptop)に不満がある訳ではなかったが、好奇心でmacも使ってみたい思いが募りついに買ってしまった。
2年くらい使って売ればそれなりに高く売れるやろの精神でかなりオーバースペックなやつを買ってしまった。
せっかくなので初体験直後に驚いた仕様・感じたことを記録しておく。(MBP16インチ)
ビビった。昔からの伝統なんだね。ウィンドウ無い癖にタスク切り替えには居座っててお前どういう状態やねんという感情が未だ拭えない
驚いた。GNOMEとかでも標準で使えるからmacにも当然標準搭載だと思ってた(課金するか迷ってる)
これは事前に知ってたけどやっぱ謎。結局caskのお世話になってるからあんまり見ないけど
ctrlのつもりでfnキー押す→いや押すべきはcommandだった、というパターンを20回くらい繰り返した
でもcontrolとcommandが別なの良い。まあ慣れよね。
マウスの加速度無効くらいはチェックボックスで設定させてほしい
というか英字→日本語への切り替え直後にラグくなるのは仕様なんだろうか
fnキーの位置が左下角になってるのはこいつのせいなのか?!おおん??
大してディレクトリ構造が重要じゃなさそうなファイル添付画面とかで急に4ペイン表示になったりするのは何か意味があるんだろうか
というか素直にパス表示して欲しい(表示できたらごめん)
そんなに不自由しない。自分に合ったアダプタ勝手につけろの精神はきらいではない。
ねだん高かったからね
ねだん高かったからね
ねだん高かったからね
ねだん高かったからね、ってだけでは済まされないレベルで良い。謎技術
プログラミング未経験者から「プログラミングを勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点で簡単に解説してみます。
対象読者はプログラミング未経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。
Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネットの世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページはグリグリ動きまくりである。
元々HTMLをちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人気プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。
ブラウザ上で動くプログラミング言語は基本的にJavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。
ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。
機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語。理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。
言語としては、誰が書いても簡潔で読みやすいコードになる傾向にあり、小さいプログラムを書くにはいい感じである。米国ではプログラミング教育にPythonがよく使われているという話も聞くし、初心者がプログラミングを始めるのにはいいのかもしれない。
将来AIやデータサイエンスをやってみたいと思うのであればPythonから始めましょう。
ランキングでは常に一位に近い順位をつける言語。Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去の資産やプログラマの数が多いのが一番の理由だと思う。AndroidアプリもJavaで書く(もしくはKotlin)。
実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所。短所としては、歴史ある言語で下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストはJavaScriptやPHP, Ruby, Pythonあたりに比べると高い。
正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称)JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAもJavaをかなりヘビーに使っているので要は玉石混交ということである。
Androidアプリを作ってみたいというならJavaからはじめるのはアリ。
Webページを作るためだけに生み出された言語。プログラマの数が非常に多い。日本で求人が一番多いのはJavaかPHPであろう。
初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルである。しかし基本的には古くてダメな言語とみなされており、PHPで作られたWebサービスは脆弱性が多いという都市伝説もある。真実は闇の中である。
近年のバージョンアップで比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。
Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。
最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#のプログラマは結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。
ただし.NETもUnityも触らない人にとっては基本的に縁のない言語である。
なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。
C言語に色々な機能を足しまくってできた巨大な迷宮のような言語。言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンスが重要な開発において使われる。アプリやサービスというよりは、それらを作るためのライブラリ、プラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。
基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。
このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界的有名人である。ちなみに島根県出身、在住。
プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本語情報が多く、情報収集という点ではとてもやりやすい。
Ruby on RailsというWebサービスを作るためのフレームワークが世界的に大ヒットしたため、必然的にRubyの知名度も上昇した。少し前まで日本のWeb系スタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Web系プログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。
Webに興味があるのならRubyから始めるのが一番無難な選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールのカリキュラムに従いRailsをやりましょう。
これは他の言語とは毛色の違う言語である。というかCSSはプログラミング言語と呼んでいいのだろうか?
CSSはHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトやサイズを変えたりするのは基本的にCSSの役割である。
すごく大雑把にいうと、HTMLで表示する内容(文章や画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である。
なので、Webに興味があるのであればある程度はCSSの知識が必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。
TypeScriptは比較的新しい言語で、JavaScriptをさらに拡張したものである。Microsoftによって開発されている。
プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語はサクサクかけるし短く書けるがバグを生みやすくプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。
そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである。基本的にJavaScriptを理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。
ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。
C言語は基本的にOSを作るための言語である。OSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアである。AndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータは基本的にOSがあって初めて動かすことができ、OSが提供する機能を使ってブラウザやスマホアプリなどを動かせるのである。
というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語の文法もC言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaやPHPなどはなんとなく雰囲気で書けてしまったりする。
そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味が理解できるまでに2年かかった。才能がないとこうなるので注意。
SwiftはAppleによって作られたAppleのための言語である。iOSアプリ(iPhoneアプリと言い換えても良い)を作るためだけに存在している。
言語自体は他と比べて新しいため文法や機能がイケてる雰囲気があるので基本的にはいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。
Swiftが生まれる前はiOSアプリを書くためにObjective-Cが必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-C製アプリをメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチな需要はこれからも残るのかもしれない。
Scalaは関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター。
正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワードが流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習やAIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者が最初にやるようなものではないことだけは確かである。
Go言語は比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用を目的に作られたものである。しかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。
他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性(プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要な機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。
学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。
シェルというのはテレビなんかでハッカー的な人間がPCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである。説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者が最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェルの知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。
Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。
PowerShellは上のShellの親戚みたいなもので、ShellがMacやLinuxで動くのに対しPowerShellはWindowsで動く。そんだけである。あと正直あまり知らない。
ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語やC++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である。
今でも広く使われてはいるが、RubyやPythonがPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定の目的があるのであればいいと思う。
Kotlinは簡単に言えばBetter Javaである。Javaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである。
ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリをKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。
とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。
言語自体はとてもいい感じなので、もう少しコミュニティが成熟してくれば最初に学ぶ言語の選択肢として有力になるかもしれない。
HaskellはScalaと同じく関数型言語である。ScalaがJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語をマスターしてからやりましょう。
なんとなくWebに興味がありそうならJavaScriptかRubyもしくはPHP、Androidアプリに興味があればJava、iPhoneアプリに興味があればSwift、AIやデータ分析に興味があればPython、3Dゲーム開発に興味があればC#。この辺りをやりましょう。
特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。
なお筆者はただのヘボプログラマであり、大好きな記事(http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。
| 時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
|---|---|---|---|---|
| 00 | 167 | 21528 | 128.9 | 51 |
| 01 | 82 | 6244 | 76.1 | 42 |
| 02 | 36 | 3241 | 90.0 | 39.5 |
| 03 | 23 | 2248 | 97.7 | 41 |
| 04 | 13 | 2213 | 170.2 | 45 |
| 05 | 24 | 3170 | 132.1 | 44 |
| 06 | 38 | 5128 | 134.9 | 57.5 |
| 07 | 46 | 4903 | 106.6 | 67 |
| 08 | 146 | 11491 | 78.7 | 42.5 |
| 09 | 138 | 10766 | 78.0 | 45.5 |
| 10 | 185 | 17610 | 95.2 | 49 |
| 11 | 233 | 18615 | 79.9 | 47 |
| 12 | 273 | 19060 | 69.8 | 35 |
| 13 | 210 | 14407 | 68.6 | 36.5 |
| 14 | 172 | 16809 | 97.7 | 43.5 |
| 15 | 193 | 12640 | 65.5 | 34 |
| 16 | 157 | 19480 | 124.1 | 36 |
| 17 | 217 | 15925 | 73.4 | 38 |
| 18 | 215 | 14071 | 65.4 | 32 |
| 19 | 159 | 11094 | 69.8 | 37 |
| 20 | 141 | 10762 | 76.3 | 35 |
| 21 | 255 | 18814 | 73.8 | 35 |
| 22 | 171 | 22433 | 131.2 | 46 |
| 23 | 179 | 13758 | 76.9 | 47 |
| 1日 | 3473 | 296410 | 85.3 | 40 |
熊沢(8), 英一郎(5), 産み分け(4), カネカ(26), 6月2日(5), 日高屋(12), フルーツパーラー(3), 家庭内暴力(12), 熊澤(4), 手荒(4), ヨット(5), 事務次官(44), ひきこもり(30), 引きこもり(99), 転勤(26), 川崎(18), 女性専用(11), 就い(11), ゴジラ(8), 包丁(14), 法治国家(8), 男性差別(28), 息子(45), 下着(21), 痴漢冤罪(12), 迫害(11), ドラクエ(11), 女性専用車両(35), 報道(38), 殺人(31), 死ね(65), マスコミ(18), 殺し(50), 殺さ(36), 障害者(17)
■日高屋で若い女の子グループがいて辛かった /20190604005659(28), ■anond:20190603224216 /20190603230039(26), ■優生学自体は正しいでしょ /20190603174014(20), ■虐待を受けてた中卒引きこもりだけど辛いから話を聞いてほしい /20190603232856(16), ■過労退職の氷河期世代だが「一人で死ね」の言葉が怖い。 /20190603022621(15), ■いまだにアニメ好きなおっさんいる? /20190603181500(15), ■何かを「決定する」メソッド名 /20190603165611(15), ■恋人に対して顔や胸や学歴など一切求めてないがそれでも破綻する /20190604185249(14), ■復讐したいんだけど /20190604135622(12), ■リベラルの本音 /20190604085340(12), ■zshの読み方を決めよう! /20190604160730(11), ■飲み屋に出没するクソおもんないおっさんから罰金を徴取する財団作りたい /20190604001842(8), ■ /20190604180310(7), ■引きこもりの自分が怖くて仕方がない /20190604164711(7), ■ /20190604152324(7), ■会社に食い殺された系引きこもりだがもしかしたら殺されるかもしれない /20190603155551(7), ■でもやっぱり殺すのはおかしいよね /20190603224216(7), ■めっちゃ気に入ったエロ小説の作者に感想送ろうと思うんだけど /20190604161727(6), ■マウスパッド敷かない人は /20190604162704(5), ■ハンドルネームをつけてほしい /20190604171300(5), ■三大子供に悪影響を及ぼすストーリー展開 /20190603142716(5), ■オタクのすべてが /20190604211620(5), ■友人がいきなり「オタクは迫害されてきた!」と言い出した。 /20190604110849(5), ■ぶっちゃけた話、中年無職引きこもりは全員死んでもいいと思ってる /20190604010657(5), ■「百合」「エモい」等々のオタク用語の脆弱さについて /20190603185809(5)
6333390(4385)