1 名前:デフォルトの名無しさん [2021/08/12(木) 21:30:31.00 ID:IpKRzNiB.net] 前スレ ぶっちゃけ始めるのにいい言語て何 part5 https://mevius.5ch.net/test/read.cgi/tech/1622766330/
856 名前:デフォルトの名無しさん [2021/09/03(金) 01:41:11.99 ID:58p+v8q5.net] コンパイルをしなくていい、スクリプト言語のようなJavaが欲しい
857 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 07:17:59.29 ID:fk3ksbKz.net] >>830 コンパイルでエラーを吐かせないJavaの様な言語なんて存在意義あるのか?
858 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 09:32:05.73 ID:jMmhMMW7.net] >>830 OGNLインジェクションでググれ
859 名前:Mb mailto:sage [2021/09/03(金) 11:06:01.49 ID:a/Gc4K7u.net] >>824 そう、そういうやつ。 Haskell で書いたら、組合せの数の計算をするのに、 入山のアルゴリズムとか使わなくてよくね?とかいう 結論も出るかもしれない。 シャープレイ・シュービック指数の計算とか Make 10 パズルの全部の解とか、 「Haskell で書けばこんなに楽」みたいな例(いや、 実際に試したわけじゃないけど)がいくつか見つかると、 「有限組合せ問題に強い Haskell」ということで「推し」の 理由になりそうに思う。
860 名前:Mb mailto:sage [2021/09/03(金) 11:12:03.11 ID:a/Gc4K7u.net] >>830 Java そのまんまだと面倒臭いが、 BCPL とか Pascal とか C くらいだったら (面倒臭いが)言語処理系は作れると思うぞ? 自分でやってみたら面白いかもしれない。
861 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 11:59:55.68 ID:Xp3vPWaM.net] >>833 たとえば次の本だと https://www.lambdanote.com/products/haskell 5行で書けるクイックソートとか、3目並べとか、数式パーサとか いろいろ例が載っている
862 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 14:02:42.33 ID:23Ib9td7.net] >>830 新しいバージョンのJavaはスクリプトで動く
863 名前:デフォルトの名無しさん [2021/09/03(金) 17:01:36.15 ID:a/Gc4K7u.net] みんな優しいなぁ(泣) だけど「ぶっちゃけ始めるのにいい言語」として、 「どんな人が」という話もそれなりにあると思う。
864 名前:デフォルトの名無しさん [2021/09/03(金) 18:34:25.00 ID:eRB97fpQ.net] 数学志向プログラミングでは入力と出力の関係のみを記述するので、そもそもたらい回し関数などというばかげたものはあり得ない。 愚の骨頂。 何を血迷ったか。
865 名前:Mb [2021/09/03(金) 19:08:30.66 ID:a/Gc4K7u.net] >>838 Tarai 関数の竹内郁夫さんは東大理学部の数学科出身で、 「竹内函数」と命名したのは遠山啓先生の弟子筋の野崎さん。 せめてネット検索してから発言しないと、 「ネットリテラシーが不足している」と叩かれかねないので 自重かつご自愛をお奨めする。
866 名前:Mb mailto:sage [2021/09/03(金) 20:24:44.14 ID:a/Gc4K7u.net] >>835 なんか良さそうだな、コレ。 ちょっと探してみる。ありがとう。
867 名前:デフォルトの名無しさん mailto:sage [2021/09/03(金) 20:35:59.02 ID:Xp3vPWaM.net] >>840 ぜひ見てください ちなみに、弱小出版社なので店頭ではまず見かけないです (池袋のジュンク堂にはあった) 書店にあるのはオーム社から出ている初版だけど いろいろ古いので新しいのを読んでください
868 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 04:20:33.64 ID:iqtSb51S.net] そんなHaskellから型システムやモナドなどを受け継いでいる
869 名前:Rustは それらの恩恵をプログラミングのしやすさとメモリ安全性の保証へと昇華させたところに特徴があると思います [] [ここ壊れてます]
870 名前:デフォルトの名無しさん [2021/09/04(土) 06:01:10.20 ID:QYBNSd4x.net] 世界ではPython→Juliaだよ なにがHaskellだよ読めねえよバーカ
871 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 06:20:19.74 ID:7AHmj3on.net] 始めるのにいい言語って何? →Rust!Haskell!Julia! このスレって一般的感覚とはかけ離れてるよね
872 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 07:01:13.01 ID:vgcJsdf5.net] 今なら普通Kotlinだからな
873 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 09:28:23.36 ID:iJrY+W70.net] 趣味でプログラミングやってて1年くらいジプシーしてたけど RustのCargoの使いやすさとエラーメッセージのわかりやすさは実際頭一つ抜けてるとは思う 仕事にしようとか業界のこととか考えだすと簡単に一択とは言えなそうなのも調べるとわかってきてしまうけど
874 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 09:29:52.20 ID:iVIkNrVH.net] >>844 一般的でないことを言いたい奴の声が大きいだけだと思う 他ではあまり構ってもらえないからだろう
875 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 09:41:53.27 ID:CH3i6/yI.net] >>846 みんながやりたがる言語は単価が落ちる 誰もが嫌がる言語をやるべき
876 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 09:42:57.05 ID:q+DUVq7A.net] 逆張りして違いのわかる男を演出したい人が集まるスレだからな 初心者は見るべきじゃない
877 名前:Mb mailto:sage [2021/09/04(土) 11:48:57.38 ID:EFCgoeOa.net] >>844 > このスレって一般的感覚とはかけ離れてるよね 開発の現場で使われてるような言語と プログラミングを学習するような言語はまた別だからな。 誰も LOGO で業務系のプログラムを書こうとは思うまい。 >>848 MUMPS とかか? 「誰もが嫌がる」訳でもないから違うか。
878 名前:デフォルトの名無しさん [2021/09/04(土) 12:31:42.80 ID:DczqPvrC.net] あわしろ氏もお勧めするHaskell。
879 名前:Mb mailto:sage [2021/09/04(土) 14:14:13.49 ID:EFCgoeOa.net] >>847 >>849 切り口を変えないと、「いままでプログラミングを やったことのない人」で、「プログラミングに 手を出してこなかった人」が、「一歩踏み出そう」とは なかなか思いきらないだろうと思う。 どっぷり電算屋のおれとしては、Java が現在の立ち位置なので 「業界では、とりあえず Java を習得しとけばいいんじゃね?」と 思うが、「始めるのにいい言語」となると、 「おれらの世代がプログラミングを始めたころに影響を受けた言語」と、 「現在の環境でプログラミングを始めて、将来『よかった』と思える言語」 では、かなりの違いがあると思う。 半可通が自慢したい言語とは別なんだよ。
880 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 19:12:56.24 ID:BWT1x3LN.net] あらゆるコミュニティからハブられとんなぁコイツは
881 名前:Mb mailto:sage [2021/09/04(土) 19:41:08.34 ID:EFCgoeOa.net] >>853 > あらゆるコミュニティからハブられとんなぁコイツは あらゆる板のあらゆるスレッドで使える台詞だな。 芸のないやっちゃ。
882 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 20:35:16.66 ID:9Nprm3Ln.net] >>843 Juliaって、ざっくり調べた限りでは、計算できたらそれで良い人向けって感じがする。 まるで高速Pythonっていうか。 これからもっといろいろ用途が増えるのかな。
883 名前:デフォルトの名無しさん mailto:sage [2021/09/04(土) 22:28:49.78 ID:DkNEcsZa.net] Juliaはひたすらループで配列をぶん回すイメージだな PythonというよりFortranの系譜
884 名前:Mb mailto:sage [2021/09/04(土) 23:21:55.00 ID:EFCgoeOa.net] >>856 その点に関しては文句の言いようはありません。 そもそも Julia という言語に触ったことがないので。 とはいえ「イザベル」という言語もあったりします。
885 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 00:58:47.16 ID:UFxCuC9Y.net] Julia は、MIT が作った、Rub
886 名前:y 風の言語。 end を使う Matlab, R → Python → Julia 最近、日本人が作った、バージョンマネージャーのanyenv にも入った。jlenv anyenv install --list Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv [] [ここ壊れてます]
887 名前:デフォルトの名無しさん [2021/09/05(日) 02:51:45.65 ID:fofB9dP+.net] >>857 カタカナで書くなよ あわしろ氏も怒ってたぞ
888 名前:デフォルトの名無しさん [2021/09/05(日) 04:22:23.34 ID:R2kpp+oO.net] そりゃ怒るだろね。
889 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 08:42:43.11 ID:8sKNmBHd.net] 僕はプログラミングを初めて1年程度の初学者です 1年程度で、よくある「初心者におすすめ言語ランキング」にでてくる html/css python ruby php javascript java c# c++ vba perl/cgi sql 各代表的なライブラリやフレームワーク を一通りやってみたのですけど こちらの板でc系やjavaが推奨されてない理由 むしろ否定的な理由を教えてください
890 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 08:57:27.79 ID:qXYO1Gcj.net] >>861 今となってはC/C++やJavaをやるくらいならRustを選ぶからでしょう。 RustはC/C++と同じようにネイティブで最高速に動くプログラミング言語でありながら、メモリ安全性も保証されます。 そのうえRustはモダンなプログラミング言語の良さを最初から備えて洗練されて設計されているため、プログラミングもしやすいです。
891 名前:デフォルトの名無しさん [2021/09/05(日) 09:03:56.90 ID:3IKjsp8l.net] この板の総意は知らんけども、その二つは儲からない現場ばかりだからお勧めしない
892 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 09:24:55.58 ID:XlIFHare.net] >>861 Cは面倒、ちょっと間違えると異常終了するしデバッグもやりにくい Javaは某社の政策のせいで少なくとも新規は避けられてる
893 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 09:25:41.34 ID:1kJ6GL16.net] Kotlinの浮上で巻き返しあるよJavaは
894 名前:デフォルトの名無しさん [2021/09/05(日) 09:59:49.92 ID:Tib2sM5c.net] >>864 Javaはオラクル社のサポートが必要かどうかで有償か無償に分かれるだけ。デマみたいなのを広めるなよ!
895 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 10:06:17.45 ID:8sKNmBHd.net] みなさん、ありがとうございます。 javaはとても楽しく学べていたので orcleの件では残念に思えました 今後もjavaを、と思ったのですが 他の言語を主軸に学んでいこうと思います
896 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 10:11:40.88 ID:uRnhCFQM.net] >>866 どこがデマなのかさっぱりわからんw 避けられてるのは事実だろ
897 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 10:22:22.25 ID:gdiG54pG.net] >>867 例えば>>367 のようにJavaを捨ててRustへ移行する企業も増えています 少なくとも大手IT企業は>>5 のようにRust支持一色の状況です
898 名前:Mb mailto:sage [2021/09/05(日) 10:43:52.45 ID:TzjetUXJ.net] 私は C と Java はいい言語だと思っています。 とりあえずこの二つを学んでおくと便利ではあるので。 ただ、C++ はいまひとつ。Objective C かなんかが まだしも安心できるかも。 なお、Oracle に対しては悪いイメージは持っていない。 MySQL もびっくりしたが、とくに状況に変化はなかったし。 むしろ 9i で驚いた。SQL で再帰が使えるというのはスゴい。
899 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 18:01:33.03 ID:WDEWDVbM.net] さすがにいまさらobj-cはないんじゃない?
900 名前:Mb mailto:sage [2021/09/05(日) 20:50:07.25 ID:TzjetUXJ.net] >>871 悲しいこと言うなよ (T_T) Mac の開発言語だったんだぞ?
901 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 21:45:21.74 ID:JXb+AHyI.net] お前自身が過去完了形つこうとるやないかw
902 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 21:56:27.66 ID:7oSpDR4l.net] つかMac OSXで使うことが発表されたときは「墓場から蘇らせた」とか言われていたしな。
903 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:00:36.84 ID:UFxCuC9Y.net] C/C++ は、ポインターがある言語なので、 かなりの時間がポインターの追跡・バグに取られる C/C++ を10年やったとしても、7〜8年は無駄になる。 Ruby を1〜2年やった人に勝てない YouTube では、自社開発系のRuby vs Java土方。 雑食系エンジニア・KENTA vs SES のモロー 5大SIer によるJava土方は、建設業の5大大手と同じ、階層ピラミッド 1人月100万円でも、間に数社の系列会社が入るから、 結局、給料は抜かれて、20万円ぐらいになってしまう だからKENTA は、Ruby on Rails しか勧めない。 Java, PHP には、関わってはならないと言う 要するに給料が低くて、Linux, AWS のシステム構築運用を学べないから。 特に、Javaは歯車 下流工程では、テスターか関数内を書くだけだから、 システム構築運用のことは全く分からない 給料の高いシステム構築運用の部分は、 上流工程・高学歴の5大SIer が取っていき、そこでかなりの金額を抜かれる KENTAがフロントエンドを嫌うのも、 上流工程・システム構築運用で抜かれた後の話で、価格交渉力が弱いから だから、KENTAは上流工程のRuby, Go のバックエンドしか勧めない。 先に金額を抜けるから
904 名前:デフォルトの名無しさん mailto:sage [2021/09/05(日) 22:17:34.58 ID:gdiG54pG.net] >>875 〉C/C++ は、ポインターがある言語なので、 〉かなりの時間がポインターの追跡・バグに取られる。 そこでRustですよ RustはC/C++と同じく高速にネイティブ実行のプログラミング言語てすか Rustはそれらのバグを起さないようメモリ安全性を保証する言語でもあります そのためC/C++からRustへの置き換えが少しずつ進んでいます
905 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 11:18:42.20 ID:lIQevPYX.net] このすれの先輩は、Rustを習得することには 特に否定的な意見があったりはするのでしょうか?
906 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 11:27:47.52 ID:8ecLni48.net] >>877 習得すること自体に否定的な意見はないと思うよ 最初に手をつける言語としては賛否あるだろうけど
907 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 11:34:37.09 ID:fsHJbGHj.net] >>877 この先一般的に使われるのかどうか、もっというと求人があるようになるかどうかが何とも言えない 消えてなくなる可能性もある
908 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 12:53:18.81 ID:lIQevPYX.net] 消えてなくなる可能性があるのなら pythonやkotlinのほうがいいんでしょうか? javaに将来性があるのなら javaの学習は楽しいし本も豊富なのでjavaがいいんですけど
909 名前:Mb [2021/09/06(月) 13:00:33.69 ID:O3QTJXwo.net] >>875 > 1人月100万円でも、間に数社の系列会社が入るから、 > 結局、給料は抜かれて、20万円ぐらいになってしまう 客先は「一人月百五十万円も払っているのに」と思っているのに、 エンジニアは「三十万円も貰ってないのに」と感じていたりする。 差額の百二十万円を抜いている奴がいるので、客先とエンジニアが 仲良くなると、文字通り「消される」。
910 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 13:02:17.55 ID:kwGfB57d.net] >>880 逆に言えば、Javaが楽しいと感じるなら何でも楽しいだろうから敢えてJavaに拘ることはないと思うよ [] [ここ壊れてます]
912 名前:Mb mailto:sage [2021/09/06(月) 13:06:02.15 ID:O3QTJXwo.net] >>877 べつに Rust に否定的ではないのだけれど、 可変長データの確保と解放のタイミングに関する 理解がないと、Rust の文法はわかりづらいと思う。 だから私は FORTH と C は、Rust と一緒に勉強したほうが いいと思う。
913 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 13:57:26.60 ID:0VlySUWI.net] >>879 これまでのプログラミング言語は一部の勢力にしか支持されないために広がらなかったものが確かにあります しかしRustは以下のように大手IT企業たちがこぞって支持するという極めて稀な状況になっています プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設 https://japan.zdnet.com/article/35166267/ Facebookが「Rust Foundation」に参加 -- 「Rust」言語をいかに活用してきたか https://japan.zdnet.com/article/35170192/ なぜIT業界をあげてRustが支持されているかは明白な理由があります (1) C/C++と同じくネイティブにコンパイルされて最高速級かつ低水準の記述もカバーするため組み込みやOSから基本ライブラリにアプリまで使用可能 (2) 論文などに基づきコンパイルが通った時点でメモリ安全性の保証を実現 (ここがC/C++との違い) (3) モダンなプログラミング言語の様々な良い点を最初から洗練して取り入れており便利かつ強力にプログラミングしやすい つまりメモリ安全性を保証しながら最高速級に様々な環境で動作し便利で高度なプログラミングもできるのがRustなのです
914 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 14:05:08.24 ID:foX749mr.net] でも学習コストが高い だからコミュニティが続けられるのか、が今後の見所
915 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 14:07:36.92 ID:fRFbGcCb.net] >>880 Rustは既に大手IT企業では標準言語の一つとして採用されているから、Rustが消えてなくなることはないよ。 もちろん昔Javaが出てきたときは感動したし学習も楽しかったけど、今となってはJavaは何もかも古すぎる。 純粋にプログラミング言語と見た場合、JavaがRustに勝てる点は全くなくて、Rustが負ける点は後発言語であること一点のみ。
916 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 14:46:36.15 ID:IvXOEJ0G.net] >>883 確かにC言語ではメモリの解放を自分でする必要がありメモリ安全性の確保が難しかった しかしRustは他言語と同様に自動的に解放してくれてさらに論理的にメモリ安全性の保証まである 例えば伸長可能な文字列の場合 文字列の長さが増えてそのままでは収納できなくなれば自動的に新たなメモリを確保して置き換えてくれるし使用後は自動的に解放してくれる もちろんガベージコレクションがあるプログラミング言語ならこれらは同様に自動的に行われる Rustはガベージコレクション無しでこれらをメモリ安全性保証付きで実現したところにその凄さがある
917 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 15:00:22.20 ID:kbXTqR9W.net] >>886 Rustが大手IT企業での標準言語って…… Rust使いは夢の世界で生きてるから凄いよな
918 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 15:13:36.44 ID:AQdbHlJL.net] 大手IT企業といえばGAFAM そのうち独自路線のAppleを除くGoogle, Amazon, Facebook, MicrosoftはRust言語採用を明確にしていますね
919 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 15:46:38.67 ID:MHaouS30.net] 採用を明確にしているだけで、実際の成果物はまだなんでしょ? 25年前のJavaと同じ状況
920 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 15:52:23.07 ID:lIQevPYX.net] 皆様ありがとうございます 次はRustやってみます 趣味ですし、将来性もそんな考えなくてもいいと結論にします
921 名前:デフォルトの名無しさん [2021/09/06(月) 16:00:17.51 ID:FLHnfT/B.net] Google、Amazon、Facebookはプロダクトで使っているよ DropboxやDiscordなんかもね
922 名前:Mb mailto:sage [2021/09/06(月) 16:42:39.76 ID:O3QTJXwo.net] 何度も言うけれども、Rust って FORTH の焼き直しのように 思うんだけど気のせいかな? 変数スコープの話を文法に押しつけただけなんじゃありませんか? それがあるので、「Rust 推し」の人がなぜこのスレに 拘泥する理由がわかりません。 そこのところを知りたいと思います。
923 名前:Mb mailto:sage [2021/09/06(月) 16:52:36.16 ID:O3QTJXwo.net] >>884 > なぜIT業界をあげてRustが支持されているかは明白な理由があります > (1) C/C++と同じくネイティブにコンパイルされて > 最高速級かつ低水準の記述もカバーするため > 組み込みやOSから基本ライブラリにアプリまで使用可能 それは C 言語とおんなじ。 > (2) 論文などに基づきコンパイルが通った時点で > メモリ安全性の保証を実現 (ここがC/C++との違い) それは Java とおんなじ。alloc-free の問題を、文法で制限して 防止してるだけ。 > (3) モダンなプログラミング言語の様々な良い点を最初から > 洗練して取り入れており便利かつ強力にプログラミングしやすい ガベージコレクションという裏方の作業を無視しているだけ。 > つまりメモリ安全性を保証しながら最高速級に様々な環境で動作し > 便利で高度なプログラミングもできるのがRustなのです コンピュータサイエンスの基礎から勉強してきてほしいと思います。
924 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 17:05:17.83 ID:fRFbGcCb.net] >>894 それは君が不勉強。 例えばC++もガベージコレクションは無い。 一方でJavaはガベージコレクションがあるが、ある程度のメモリ安全性がある。 このようにC++とJavaは対照的な存在。 Rustは論文などで論理的に示された強力な型システムと変数用法で、ガベージコレクション無しでメモリ安全性の保証を実現した。 だからこそ、既存のC++とJavaが使われていた両分野を、実際に大手IT企業たちがRustへ置き換えつつある。
925 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 17:07:17.83 ID:h531morm.net] そして日本には大手IT企業はない
926 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 17:16:24.38 ID:7r7RF488.net] >>893 そんなことはないですよ 例えば>>295 のRubyとJavaScriptとPythonのプログラム例がある「数字のリストをソートして逆順にして文字列にしてハイフンで繋ぐ」プログラム これをRustで同じ方法で書いてみるとほぼ同じように書けます use itertools::Itertools; fn main() { let a = [4, 9, 3, 7, 1, 8, 5]; let s = a.iter().sorted().rev().map(|n| n.to_string()).join("-"); println!("{}", s); } 実行結果 9-8-7-5-4-3-1 このようにRustでもスクリプト言語並の平易さでプログラミングすることができます
927 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 18:16:26.78 ID:JuTqTMEy.net] Goにしとけ 日本のIT企業でRust使ってるとこなんてマウンターしか居ないぞ
928 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 18:25:22.79 ID:fRFbGcCb.net] >>898 日本でもRust採用されつつあるよ。 Ruby採用で有名なクックパッドも、バックエンドでRubyの遅さがボトルネックになっているとして、Rubyのように記述できつつ高速でメモリ安全性のあるRustへ書き換えた。
929 名前:Mb mailto:sage [2021/09/06(月) 19:25:30.56 ID:O3QTJXwo.net] >>987 なんか変だなぁ。っていうか気持悪い。 join() メソッドの中に LOOP-UNTIL-DO-REPEAT 構造が 隠蔽されているのはともかくとして、 > println!("{}", s); の括弧("{}")はどこへ行っちゃったの? 正直な話、Java の構文は若干ダサいところはあるけども、 「Rust の構文って、こんなコードが通っちゃうんだ …」と 思うと減滅だなぁ。
930 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 19:28:57.79 ID:IWxO7u+j.net] Rustは android,Ios,windowsアプリを作れますか? 作れるとしたら Kotlin,swift,c#と比べて アプリ制作面で劣るところはありますか?
931 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 19:45:57.12 ID:lYrcshdQ.net] Rustのゼロコスト抽象化は 逆に言えば少しでもコストのかかる抽象化はする気がないということで いくらモダンだろうが プログラミングしやすい、はありえない
932 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 20:15:54.87 ID:fRFbGcCb.net] >>900 C言語でのprintf("%s¥n", s);が Rustでのprintln!("{}", s); これくらいの差異は、複数のプログラミング言語をしているなら誤差範囲とわかるはず。 正確にはDisplayトレイトを実装している型ならば全て"{}"で表示できる。
933 名前:デフォルトの名無しさん [2021/09/06(月) 20:27:51.93 ID:q4rO2J8T.net] >>900 イテレータ構文を気持ち悪いと感じるのはあなたが時代遅れのプログラマーだから 以前に>>295 でJavaScriptやRubyの例が示されているようにRustに限らず様々な現代的なプログラミング言語でほぼ同じイテレータ構文となる
934 名前:デフォルトの名無しさん [2021/09/06(月) 20:34:05.04 ID:q4rO2J8T.net] >>902 それはあなたの理解がおかしい 言語としてゼロコスト抽象化をしているということはその上に自由に様々な形でコストありの抽象化を実装できるということ 例としては今出ているイテレータ イテレータはゼロコストの抽象化ではないので言語のコアではなくそのすぐ外側のstd標準ライブラリで実装されている
935 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 20:53:30.08 ID:H/42z0MA.net] >>900 さすがにjoinは最近のプログラミング言語ではほとんど標準で用意されてるよ Javaにすら
936 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 20:54:43.54 ID:H/42z0MA.net] >>897 >let s = a.iter().sorted().rev().map(|n| n.to_string()).join("-"); これが不自然に見えるならさすがに不勉強すぎる
937 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 21:02:47.84 ID:3OGE1cne.net] この業界の常として いいものが流行るとは限らないからな
938 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 21:13:21.05 ID:PNIpC8+G.net] >>890 暗に「めっちゃ成長株」って言ってる?
939 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 21:17:54.84 ID:fRFbGcCb.net] 名前欄Mb氏は何年間もプログラミングをしていないか、あるいは、非常に古い特殊な環境の仕事しかしていないと推測される。 だから現代のプログラミングでは中心の一つとなったイテレータすら知らなかったのだと思われる。 その知識経験不足な状況でこのプログラミング言語スレに来ているため、何かを教える側ではなく、教わる側になってしまっている。
940 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:01:38.70 ID:a3pkK5Bj.net] 何歳からぶっちゃけ始めたって良いんですよ
941 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:03:34.10 ID:7FNGaSMf.net] ちょうどitmediaの記事が来た クラウド方面でもRustが大人気らしい 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか? https://techtarget.itmedia.co.jp/tt/news/2109/06/news04.html 2021年9月6日
942 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:05:29.40 ID:orh/Cn4P.net] YouTube で有名な、雑食系エンジニア・KENTA は、 未経験者のバックエンドの道筋を、Ruby → Go としてる Rust, Elixir は、普及のキャズムを越えなかった。 スクエニはElixirも使っているけど 唯一越えたのは、Go だけ Rust は、GC じゃないから、面倒くさい事、この上ない
943 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:12:41.69 ID:7FNGaSMf.net] >>913 しかしcookpadはバックエンドの高速化でRuby→Rustへ置き換えたそうだ あとGCがなくても全自動で即座に解放されるから面倒臭くはない 実際のRustのプログラム例>>897 もRubyとほとんど同じ
944 名前:875 mailto:sage [2021/09/06(月) 22:17:23.19 ID:orh/Cn4P.net] C/C++ は、ポインターがある言語なので、 かなりの時間がポインターの追跡・バグに取られる 同様に、初心者がRust をやると、 メモリの解放に、多くの時間を取られる C/C++, Rust を10年やったとしても、7〜8年は無駄になる。 Ruby を1〜2年やった人に勝てない だから、GC のあるGo が流行った。 メモリの解放に費やす時間を、 Linux, AWS, Docker, データベースなど、サーバー構築運用の勉強に当てられるから 食べチョクなどの募集を見ても、明らか。 Ruby on Rails で、サーバー構築運用に詳しい人を募集している メモリの解放に、時間を費やしている人ではない! だから、YouTube で有名な、雑食系エンジニア・KENTA のカリキュラムでは、 Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなどが必須なわけ 10年間、メモリの解放をやってましたと言う人を、どこも雇わない。 サーバー構築運用に詳しくないと、雇われない
945 名前:デフォルトの名無しさん [2021/09/06(月) 22:25:39.89 ID:wypx0xl1.net] 将来性のある言語は十分わかったから、 今すぐ戦力になれる言語を教えてくれ
946 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:26:14.47 ID:x646ABuV.net] 鎖につながれ 歩き出す君を 飲み込むくらい 多忙な都会は流れてる 投げ捨てられた夢が 転がってる足元が見えたら 地図にない町へ旅立とう たとえそれが無茶だとしても 錆びついたマシンガンで 今を撃ち抜こう
947 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:27:24.41 ID:s2zFhzt5.net] >>910 Mb氏は不勉強だかバカにされても逃げずに堂々と名乗ってる コテハン複数持ってるのにいつもコソコソしてる誰かさんに比べると評価できるぞ
948 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 22:30:03.12 ID:7FNGaSMf.net] >>915 ちょっと無知すぎて呆れる メモリの解放が自動的に行われるRustに対して『初心者がRust をやると、メモリの解放に、多くの時間を取られる』 Rustのアンチな人はあまりにも無知で的外れ
949 名前:875 mailto:sage [2021/09/06(月) 22:30:13.27 ID:orh/Cn4P.net] 結局、バックエンドのほとんどは、サーバー構築運用 言語の文法だけを勉強しているような香具師は、雇われない。 10年間、メモリの解放をやってましたとか言う人も サーバー構築運用においては、こういうものは比重が少ない 皆、サーバーの勉強が嫌だから、言語の文法の勉強に逃げる。 本1冊読めば、そこそこ出来るから でも、サーバー関係だと、20〜30冊読まないと出来ないから、 皆、言語に逃げる 皆、サーバーの勉強が嫌だから、Windows 用言語に逃げるだろ。 それと同じ だから、どこの会社も、サーバー構築運用ができる香具師を募集している。 Ruby on Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなど 実際に米国年収では、1,300万円のRails を抜いて、 AWS Solution Architect が、1,400万円とかになってる 会社は、言語ができる香具師よりも、サーバー技術者が欲しい
950 名前:875 mailto:sage [2021/09/06(月) 22:42:49.81 ID:orh/Cn4P.net] C/C++, Rust を、10年やってたけど、サーバーの事はあまり知らない香具師と、 Ruby on Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなどを、 2年やってた香具師では、 後者の方が、採用される だから、YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、 Rails を採用している つまり、最も効率的に、早くサーバー技術を学べるのが、Rails。 これで2年やってから、Go へ進む。 これが必須の王道 Rust, Elixir は、補助的なもの。 必須でもないし、初心者がやるものでもない Rust, Elixirは、大企業しか使わないし、転職で困るので、 ベンチャー・中小企業でも使う、Railsは必須
951 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 23:01:16.10 ID:fRFbGcCb.net] >>915 > かなりの時間がポインターの追跡・バグに取られる > 同様に、初心者がRust をやると、 > メモリの解放に、多くの時間を取られる それは全く逆です。 Rustはそれらポインタの追跡バグ取りをしなくてもいいように設計され、言語としてメモリ安全性を保証します。 もちろんメモリの解放は安全に自動的にされるので、プログラマーがする必要はありません。 >>921 > C/C++, Rust を、10年やってたけど、 Rustの最初の公開バージョン0.1は2012年ですから、Rustを10年やってたらMozillaの中の人だけですねw もちろんプログラミング言語は単なる手段の一つにすぎないので、その他の知識経験が必須なのは同意です。 しかしそれにしては、おっしゃる分野が特定の狭い範囲に限定されすぎです。 10年間良い環境でやっていれば、もっと広い意味でのフルスタックエンジニアになれます。
952 名前:デフォルトの名無しさん mailto:sage [2021/09/06(月) 23:32:09.63 ID:wvQa5L/J.net] >>916 主戦場がどこか?によるだろう? Excel業務ならマクロ Linuxで定形処理ならPython WebならJavaScript プログラムなんて何度も繰り返すめんどくせー作業を自動化するのが目的のひとつなんだから
953 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 00:25:16.69 ID:lcFKmhWK.net] >>923 そのLinuxで定形処理ならPythonの部分はダウト もちろんPythonもPerlもRubyもJavaScriptもそこで用いたりするがPythonが何か突出してることは絶対にない Linuxで強
954 名前:「て挙げるならばシェルスクリプトだろう [] [ここ壊れてます]
955 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 01:01:21.11 ID:vmeNyMhz.net] あえてソコは本格的なプログラミングを行うには適さない 簡易的コマンドシェルスクリプトって始めるのにいい言語か?と自問自答でPythonにした シェルスクはキーボードのショートカットのようなパソコン操作の部分程度だと思っていたのでマウス片手に戦場に行く人には勧められない
956 名前:デフォルトの名無しさん mailto:sage [2021/09/07(火) 01:29:30.69 ID:lcFKmhWK.net] >>925 本格的なプログラミングと言い出したらスクリプト言語である必要性すらなくなってしまう 大幅に譲歩してスクリプト言語限定(シェルスクリプトは除く)の話としても 他のスクリプト言語も現実に使われているわけだから「Linuxで定形処理ならPython」と言うのはかなり無理がある そこはRuby好きな人たちなら確実にRubyであろうしWeb屋でサーバーサイドまでJavaScriptで統一してるならばそこもJavaScriptで全く問題なく処理できる そして昔はPerl派が最大勢力だった分野でもあるため今も残存勢力がいるようだ