それを議論するのがこのスレの意義だろ まあ、そもそも Python は次世代言語としては論外だが 「コレクションが最高にイケてる言語を作ろう(dat落ち)」から引用 http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-45 > 43 1 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 18:00:36.59 ID:oGFFYBoD > コレクション使ってて使いづらいと思うことも最近は減ってきたよな > 昔より言語が進歩してるんだろか > > 44 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:23:00.44 ID:Qc8J8Hpx > >>43 > でもねぇ、世の中にはコレクション操作が使いづらい > 退化した最悪な言語が存在する > > http://d.hatena.ne.jp/edvakf/20090405/1238885788 > > 元々は手続き型として設計された簡潔な言語だったけど、 > オブジェクト指向やら関数型やらを行き当たりばったりに増築し続けたおかげで、 > コレクション操作に関する「一貫性」という設計哲学が破綻してしまった例だね > > 45 名前:デフォルトの名無しさん Mail: 投稿日:2017/05/05(金) 21:52:01.71 ID:Qc8J8Hpx > [Ruby] > a.sort().reverse().map{|x| x.to_s}.join('-') > > [JavaScript] > a.sort().reverse().map(function(x) { return x.toString() }).join(“-“) > > [Python] > '-'.join(map(lambda x: str(x), reversed(sorted(a)))) Rustじゃないの? 理由は、俺が本を買ってしまって、GWに読むつもりだから。
>>5 JavaScript 有望な言語というより万人向けの安泰な言語だと思うけど、 Pythonに比類しうるならね >>7 > [Ruby] > a.sort().reverse().map{|x| x.to_s}.join('-') a.sort.reverse.map(&:to_s).join('-') 元の文脈の趣旨に無関係なのは自覚してる Rustは勉強マニアがオナニーするために使う言語って感じ、つまり5年前ぐらいのScala
TypeScriptが好きな連中は フルスタックエンジニアw を自称してることが多い
>>12 >Rustは勉強マニアがオナニーするために使う言語って感じ、つまり5年前ぐらいのScala おっしゃる通りです。 いろいろ言語やって、やっぱりC系だなーと思って戻って きたら、Cはそのまんま面倒くさそう、C++はカオス。 だったら、Rustかなーって思う。 やればやるほど結局c++と同じくらいになってくけどね。
GopherくんがキモいからRustの勝ちでいいよ
ハム太郎のキャラは出っ歯じゃないから可愛いのに Gopherくんは出っ歯だからキモい
星もちがキチガイすぎてみんな愛想をつかした 自身で荒らしてる事がまわりにバレてないとか本気で思ってるアホの子だってのが致命的
Pythonは新しいところもあるけど、「あ、Perlと同世代の設計だな」ってとこが見え隠れする
明らかにperlだったらpascalのがええやんって設計だろ
>>22 ではないが、いくつか例を挙げよう (1) すでに世界的にメジャーであったにもかかわらず、 後方互換性を断絶させる基礎的な言語仕様の変更が断行された ・文字列出力の print 文が廃止され、組み込み関数となった ・整数の除算演算子の意味が変更された ・… etc (2) 否定形の予約語 nonlocal が存在する スコープに関する言語仕様設計の破綻という現実を逃避し、 安易に泥縄的な解決を選択 (3) 本体に文(ステートメント)が書けない中途半端なラムダ式 ・クロージャって何がいいの? http://mevius.2ch.net/test/read.cgi/tech/1415419907/197 ・この関数型プログラミング対応という視点では、Perl にも劣る こうした言語仕様以外に、言語の原作者である Guido 氏が自ら引退を宣言せざるを得ない 状況に追い込まれてしまうという、コミュニティの特異性も見逃せない さあ、どれを取ってもも過去のプログラミング言語の歴史目にしたことのない 歴史的な革新といって過言ではない、と思わないか? 全然、「あ、Perlと同世代の設計だな」の例になっていない件
pythonは伸びやかじゃないよねrubyに比べて スイスイ〜ってんじゃなくて ンッガクック!って感じ お前ら俺の言うことわりと分かると思うけど
pythonはライブラリの使い方を知ってる奴が威張れる実務言語の系譜よ VB → Java → python VBと前後してチョロっとperlが顔覗かしたけど速攻消えたw
そういうところに拘ってるから お前らいつまで経ってもドカタなんだよ せめて確定申告が必要なレベルくらいまでは稼ぎな?
言語について個人的に好きな良さがある事よりも稼ぐ事が基準でもいいと思うけど、それならその基準での次世代言語がどれかみたいな話は欲しいな とはいえ今は00〜10年代で出てきた言語のブラッシュアップと競争がメインで新しい言語が少ないタイミングというのは実際ある
今時はjavaみたいな古臭いコンパイル言語でもスクリプト言語並みにテキトーに動くし、ライブラリも標準であるし、 言語でマウントする奴は単なる馬鹿だよ。
>>29 ターボジェットの様に一定の回転数を超えてしまえば あとはすいすい楽ちん高パフォーマンスになるのがpython たしかに言語ではないよね。 女性には言葉でマウントするものだから。
>>35 つまり、トレンディでナウいヤングメンがイチオシするのが python なんですね すごくわかりやすいです V言語気に入ったけど、Nim以上に将来どうなるかが不安
ぶっちゃけV見限ってるまであるんだけどなんか劇的な更新あったの? 相変わらずメモリ管理なんか進行中のままだけど
MicrosoftもMozillaのステマに引っかかってしまったのかー
Rustベースの新言語作ってるとか聞いてたけどやっぱRustでいくんかな
C/C++コードをリプレースするのに使えれば言語自体はなんでもいいんじゃね?
C/C++のリプレイスをするのに使えれば という条件のきつさわかってるのか
Rustは2022版で後方互換捨て構文統一しないと増改築歪マンションみたいな 変人しか全貌を把握出来ないRust++になりそう。既に成りかけてるけどw
MSがやるならMozillaは追い出して全権を握ってほしい DもScalaもKotlinもRustも、MS製以外の俺様最強言語は結局全部カオス化して崩壊したよね
コンテナが主流になってきて思うんだけど VM系の言語って存在価値無くね? もうrustでいいんじゃないか?
ワンソースでどこでも動くって言う利点がほぼ無くなったからじゃね?
実態は逆なんだよなあ 実行環境を構築する責任がアプリ開発者自身に押し付けられたことで、 アプリ開発者は、Goに代表されるような、よりシンプルでデプロイの容易なアプリを指向するようになった コンテナによる仮想化はアプリ開発者にとっては明らかに過剰であり、メリットに対して過大なオーバーヘッドとなっている そこで、ビルド済みのバイナリを突っ込めば動くVM系の性質はむしろ好都合だ Javaがコンテナで好まれないのは単に他の選択肢があるのとエコシステムとしてマイクロサービス志向と相性が悪いからで、VM云々は関係ない
ビルド済みのバイナリ突っ込めば動くのはむしろgoとかrustでしょ そもそもランタイム構築できなきゃ開発もできないじゃん 頭おかしいのか
VMは中間コードを解釈してネイティブコード化する機能だけじゃないからね それだけ見ればRustでもC#やJavaでも大した違いはない CLRにはJVMのGraalのような実用的なAOTコンパイラがまだないってだけ Rust code -> LLVM IR -> native code C# code -> CLR IL -> native code
>>65 開発もコンテナ内でやってる開発者なんてほとんどいないし、 仮にコンテナ内で開発してたとしても実行環境とは別のイメージ使うだろ 開発環境からそのまま本番へ持っていけるなんて完全に妄想だよ Goはシンプル方向じゃなくてイージーな 勘違いすんな VMとネイティブで大した違いないとか小学校からやり直してこい
>>68 スクリプト言語はコンテナ内で開発するだろ 実行環境ってなんのことを指して言っているんた? >仮にコンテナ内で開発してたとしても実行環境とは別のイメージ使うだろ その前段はまああることだが、ここは言ってることがおかしい。
そうか? ステージングはともかく、開発中はデバッグ用のツール等の入った別のイメージを使うだろう
してたら実行環境用のコンテナでローカル開発をやることがどれほど非効率か知ってるはずだけどな
噛み合わない会話だな 作ってるものも使ってる技術も違うのにコンテナ技術はこうであると言い切るのがおかしい
シンタックスが優れてる言語ってみんななに? 自分はNimを押すけど
>>75 いや、少なくとも実行環境と開発環境の環境差をなくすためのものって意味じゃ共通だろ。 そこでヘンテコなこと言ってるわけだ。 デバッグツールの容量惜しむくらいならコンテナなんか使うなよ。 いや、同じじゃないわ 開発環境と実行間隔 という区分けがまずヘンテコだし噛み合ってない
コンテナで一括りにしちゃうから 人によって違った意見になるんじゃないかと予想 dockerとlxcじゃ使い方も開発方法も違うんでないか?
コード生成のコマンドなんかもわざわざコンテナで実行するの? 拘りを否定はしないけどご苦労なことだな 俺はむしろ変に環境に依存して壊れやすいコードにならないように、ローカルではできるだけホストで直接動かしてテストしてるわ コンテナでのテストはプルリク作ってCIが回るまでやらないことも多い
ローカル開発環境もコンテナ化してるから変に本番と違う環境では確認も実行もしなくて良いのがコンテナのメリット
無理やり違うってところをひねりだしてるだけだろ。。ばかばかしい
個々人/個別のチームがどれを選択するかは別にして、dockerの場合マルチステージビルドがある事からビルドと実行環境とか細かい環境の区分けは想定されていると思える
>>63 の言ってることが実態に即してるかどうかだけが議論の的だら 俺はそもそも何を言ってるか分からんかったが cronで1分おきにpullすればデプロイは最強 コンテナにもオートスケールにも対応可能
コンテナ関係なくjavaがgoより好まれないてだけってのはあるな。
Javaはそれで統一しないと価値ないからね ポータビリティ云々じゃなく、マイクロサービスであえて選ぶ意味がない
どっちも良いよ。Rust難しいと聞くけど、所有権もライフタイムも大して難しくはない けど、Goに比べて圧倒的に調べるのが面倒、流行ってんのか情報充実してきたけど このCrateはfuturesの何が要るのか要らんのか、devに何か足さないと動かないのか 大抵crates.ioに乗ってるけど、自分で書き始めるとそれ以上の何かが必要な時に元のソースをゴリゴリ読む事になる この辺、みんなどうしてんのかな。Goに戻って勝手にimport補完してくれるわ、標準ライブラリーで大半は済むわ、 Godocの調べやすさに対してcrates.ioの調べに草w
GoとRustが合体したみたいな言語があればいいんだが
今度Windowsにネイティブ対応するらしいSwiftは?
日本人が作って今でも発言権があるということを重視すると、Ruby
そもそもプログラム言語より英語が読めないのが辛い。
ヘーゲルの弁証法のヘーゲルもハゲって話をするんじゃない
コメントでメタデータをあれこれするライブラリは成功例を見たことねえなあ
TypeScriptと比較した短所 ・TypeScriptはJavaScript文法をたくさん拡張しているのにHegelは少ししかない ・TypeScriptにはany型があるのにHegelでは使えない
静的型付けマンセー人類からすれば静的型付けと言いながら悪魔の様に万能なany型の禁止は長所だけど
>>115 コメントでメタデータをあれこれしてるように見えたんですねw OSSの宿命だけど、こういうのって少ししたら俺も俺もって、新しいのが作られて、お互いに食い合って、消えていくんだよ 重要なのは、長期的に責任をもって、メンテナンスしてくれるかどうか TypeScriptの成功は、マイクロソフトへの信頼があってこそ
まあアノテーションで動作注入するってのは意味が広すぎるからぱっと見、動作がわからんってのはある。
トレンドマイクロはJavaとJavaScriptを区別できないらしいな
goが流行ってるのって静的言語の中ではビルドが楽って理由じゃね?
JVMに依存したくない .NET runtimeにも依存したくない クラウド上で使うので出来るだけ少ないリソースで動かしたい 消去法で残る選択肢の代表格がGo
.NETも.NET Coreになってからは快適だけどな
Rustって実用性ってどんなもん? ライブラリの充実度とか色んな面で
Rust自体は既にプロダクションの実績がいくつもあります 貴方にとって実用になるかどうかは開発メンバーの脳味噌の実用性次第です
>>131 えー!! 教えてくれてありがとう でもさ、言語ってさコンパイラ作ったら終わりじゃないじゃん cmake、Mavenのようなビルドツール Webフレームワーク IDE デバッカ(C++の場合finstrument-functionsよる実行時関数トレースまで出来る) プロファイリング Valgrindみたいな仮想機械 静的コード解析 コンパイラによる最適化 などなど言語作るって本当に大変だと思うんだけどRustがオープンソースでそこまでしてくれてるのかなーって思ったんだ 開発メンバーが優秀でもそこまで自分たちじゃ作れないもん .NET使いが本当に.NET使えてるのか疑問に思うわ
>>134 「本当に言語(やフレームワーク)を使う」ってどういう意味? >>132 大企業のバックアップがいくつかあるから うちでは小さな企業だけどいくつも製品に適用してる 素人質問なんだけどNimってGCだからRustよりメモリ消費量が増大するのかな? GCが優れてたらRustの出番なくなる気がするんだけど
その僅かなGCもクリティカルになる場合で必要だから出番は無くならない
そうかなあ Rustのメモリ管理はどっちかというと、人間にとってある程度の予測可能性は犠牲にしつつもGCほどには不確定ではないっていう、 GC頼りからのクォリティアップのための選択肢としての性格が強い印象 本当に厳密に全てを人間が把握する必要があるような用途ならメモリは静的に確保するのが基本なんで、むしろC/C++で十分
GCの問題ってメモリの使用量より実行コストなのでは 何にせよ「優れていてたら」という曖昧な評価を前提に議論するようなことではない
>>142 個人的印象じゃなくて仕様から動作説明しろよ Rustはdropのタイミングでfreeされるんだから完全にコントロール出来るだろ
freeしてもすぐ解放されないよ 厳密にやるならそもそもヒープ使わないだろうし glibcも使わないんじゃないの
こういう反論されると話の最初の前提を勝手に変えだす 奴と議論するのは無益
言い忘れたからって 現実に前提が存在してるときはしょうがないだろ!
ガンダムみたいに戦闘しながら議論した方がいいかもね そうすれば議論は勝敗やゴールとはあまり関係ないという事実がわかりやすい
ニュータイプは戦果を出すことしかできない機械なのか という議論もガンダムでやったやつだ
そういえば次世代みこそ薄いけど富岳はFortran,C,C++,Java,Python,Rubyだそうだ 京はFortran,C,C++,Java,Python,R,Rubyっぽい?のでR除外の理由が気になるところ パッチ当てが追いつかなったって説はあるが
皆、移行したから R, Matlab → Python → Julia
言語じゃねぇし。Rails入れろ、WordPress入れろと言ってるようなもん。
DartならKotlinと同世代だしスレタイに入る資格あるんじゃね ようやくNULL安全になりそうってレベルだけど
nimなんて聞いた事ないのねじ込んでくるなよ スレタイから外せ
つかスレタイからElixer外したやつ誰だ? なんで外したん?
>>167 スレ立てる奴が好きに付け外ししていいから。 この半年くらいでRustが一つ抜けてしまったから他はどうでもいいわ
スレタイ入り言語ランキング Rust:19回 Go:13回 Kotlin:12回 TypeScript:12回 Swift:8回 Haskell:7回 Scala:5回 Elixir:4回 Dart:3回 Julia:3回 Erlang:2回 Bospue:1回 Crytal:1回 V:1回
つまり大器晩成だとおだてられ続けて気が付けば還暦を過ぎていたクソ言語
Dart(Flutter)は新しい言語に興味を示さないタイプの同僚が これはいいと使い始めてるからちょっと興味ある
Haskell、いつの間にかマルチスレッド書き易くなってたから再参入して良い? 932 デフォルトの名無しさん[] 2020/07/13(月) 11:46:57.33 ID:Bw4cVoP9 Haskellによる並列・並行プログラミング読み進む内に、普通のシングルスレッドプログラムを簡単にマルチスレッドにする方法が書いてあった。 import Control.Parallel.Sterategies main = (print.f) [9999800..1000000] f xs = map g xs `using` parList rseq g n = sum [1..n] 上の通り、シングルスレッドプログラムに import~と、`using`~を追加するだけ。 コンパイルと実行の時にもコマンド引数が必要で、コンパイルの時、 >ghc -O2 filename.hs -threaded と言うふうに速さ重視の最適化とスレッド対応を明記。 実行時にはスレッド数をNnの形で指定する。(ここでは2スレッドを指定) ./filename +RTS -N2 普通のプログラミング言語だと、シングルスレッドとマルチスレッドでは似ても似付かないコードになるから、これには感動した。 (2スレッドと4スレッドでもコードが違う事がまま有る中、これは本当に感動) Haskellマジお勧め。
Haskellにはseq=簡単、モナド=難しいという俗説があるようだ
モナドは一言でいえば「箱から出して、何かして、箱に戻す」と言う動きに付けた名前。 モナドのreturn関数は箱では無く、階層として捉えたと考えられる。 「階層から降りて、何かして、元の階層へ『戻る』」 ただそれだけなのに、名前が無い(モナドとしか名前が無い)から、具体的に何なんだと言われても困るってだけ。
詳しくは拙著「あっけなく覚えるHaskell」(kindle本)をご購入下さい。
モナド=型を書かない人には難しい seq=型を書いたらモナドの再発明
クラステンプレートのメソッドがモナド則満たしたものをモナド言ってるだけだぞ。 なおプログラム的に制約を満たすかどうかはチェックしない模様
プログラム的にモナド則を満たすか検証できる型システムを入れるのはめちゃくちゃ大変だし型推論も大変な事になるし記述しなきゃいけない量も爆発するから…
もしかしてHaskellが難しいって言ってる人達って、モナドが何か分からないから難しいって言ってるだけだったり? モナドが何かとかの理論的背景は難しいけど、モナドの使い方自体は難しくない。 スクーターの運転は難しく無いけどスクーターの構造は難しいのと一緒。 それでスクーター難しいってのは的外れ。 Haskellそのものは簡単。 それを支えるモナドや圏論の理論が難しい。 そこは切り分けなきゃ。
初心者に説明する人が切り分けてないので。 嬉しそうに理論的背景を唱えてくる。 効果はばつぐんで深い眠りに落ちる。
哲学のモナドとまったく何の関係もないのだと納得するまで混乱しまくった
Haskellで書かれているので次期LinuxはWindowsの20倍速いという噂。
Dが出た頃に同じ様な話を聴いた覚えがある MonaOSとか今どうなってるかなω
C++と違ってRustにLinusが切れてないのは大きい
ちゃちいコンパイラで判断できる安全性を判断するためだけに Rustに書き換えるのか? ナンセンスだ
誰かが、RustでUnixライクなOS実装すれば、流行るかもね
絶対この書き方しかしないのにチェーンメソッド連連書かされるのを省いたトランスコンパイラ作れば流行りそう
linuxのヘッダーマクロ地獄は確かにcで書く意味あるのか考えたくはなるわな。 コードジェネレーターとかやろうとしなかったのは気になるところ。
なんでマクロごときでコードジェネレーターなんて出てくるんだ?純粋に疑問
>>187 Cや手続き型、副作用前提でやってたことをすべて代替できないとう意味で難しいんだろ 諸君らが愛してくれたscalaは死んだ。 何故だ!? >>202 Haskellにも副作用はあるよ。 参照透明性が崩れないだけで。 一応メモリを扱う関数もある。 Haskellでハード寄りのプログラム書くならCで良いとは思うが。 >>202 c++の糞なとこばっかまねたからだぞ。 無駄に多い機能、無駄に長いビルド時間、安定しない実装。 どれもこれも糞だろ。 あ、手続き脳と関数脳の話か。 慣れたら関数脳の方が楽なのになぁ。 あと、手続き型言語の副作用のある処理を数学的に表すとこう。みたいな相関が見えて来るのは知見を広める意味でも触っておいた方が良い。
C++とRustはsoとdllを諦めてるけどどうするんだろう アプリにカーネルを丸ごと静的リンクするOSを作るのか
Windowsなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
macOSなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
次世代ちっくな感じで大きめのwebアプリ作りたくなった会社は何言語使うのが正解かな?
>>212 林檎ってことある事に 人の神経逆撫でしてくるよな ヘッドセット買った後に スマホにヘッドホン端子のジャック着いてないのに 気づいた時は本当に殺意を覚えたわ >>218 TypeScriptもMicrosoftな 耐障害性のある、Erlang VM 上で動作する、Elixirは、Ruby を関数型にした言語で、 Heroku, Nintendo Switch、ドワンゴ、LINE などの分散型でフォールトトレラントなアプリで使われている 作者のJose Valim は、Ruby on Rails のコミッター Ruby の伝道師で「達人プログラマー」の著者・Dave Thomas の本も出てる。 プログラミングElixir、2016
もう何日も書き込みが無い 次世代言語なんて幻想はもうどこにもないんだ プロセッサだって、もって後数回しかシュリンクできない
RustとGoで良いだろ、マークアップ除いて後は要らん。わりとマジで
まあどんな言語使ってもそんな生産性変わらんわってのが広まってるんだろ。 この言語使えば〜みたいな詐欺はもう流行らん。
逆にどの言語使っても生産性変わらんから スクリプト言語から速度的に優位なgoに移ってきてる気がする
言語でもツールセットでも生産性変わる 多言語使わないやつにはわからない 用途に適した言語、道具が揃ってる言語を選ぶ能力の有無が 生産性を左右する最大の要素
三流プログラマは自分がコードを書いているときの効率を生産性と評価するんだよね それは誤りだと気づく能力が生産性を左右する最大の要素
>>227 それは全体最適を理解する最初の一歩でしかないので 生産性を左右する最大の要素にはなりえない Ruby on Rails なんて、いかに自分でコードを書かないかが、生産性を決める。 ほぼ、技術選定を同じ。 だから、Rails をやった人は、若くして重役になる。 上流工程だから 有名なYouTuber、雑食系エンジニア・KENTA も言ってる。 サーバー側・上流工程がプロジェクトを請け負って、価格を決める 逆に、下流工程専門のJava 土方は、奴隷から上がれない。 でも、コーディングばっかり出来るから、一人でやれるから、煩わしくない。 他人と協調しなくても良いから。 その代わり、給料は上がらない Rails には、credentials、データベース機能、S3 へ保存、websocket、サムネイル作成、メール送受信など、 アプリに必要な全機能が揃っている
railsは最近のフレームワークに比べると 設計古い分だけ苦しいんだよなあ なんでもかんでもそろってるというのはあるけど それに輪をかけてRubyの古さはどうしようもない
RいるずとかRびぃとかで生産性が上がると思ってる香具師は三流
railsで全てを悟ったような事を言う奴って railsしか触ったこと無い奴が多い 上流とか下流とかいう奴も 設計書見なけりゃプログラム書けない奴が多い 有名なYoutuberはわざわざ「有名な」なんて付けない 有名なら「有名な」なんてつける必要が無いから 有名なヒカキンとは言わんだろ
railsとかある程度の規模でどんづまりなのが見えてるのになんで使うかね。
土方の俺達は選べない。Railsがウンコでも脳みそ鼻くそな上流工程が使えと言えば使わざるを得ない。 偶の音も出なくてワロタ
>>234 道具のPros/Cons理解して使いこなす能力がないからどんづまる 能力があればGithubのように規模がでかくなってもどんづまらない Github, Cookpad, Airbnb, Shopify などの世界No.1 レベルは、 たぶん、Ruby on Rails から、Elixir へ進む Python も、Julia へ進む
こういう馬鹿ってscalaがどんだけ糞レガシーを残していったのか理解してないんだろうな。 てかレガシーコードのほとんどがこういう新し物好きが食い散らかした後なんだよな。
10年後にレガシーにならない保証なんかどの言語にもねー
rustでサーバーサイド実装したら、goでやるのの何倍くらい実装コストかかるかな?
イニシャルは練度が同じなら同じ ランニングコストはRustの方が安い
どんな言語でもテキトーなサーバーだったら5分でできるやろ。
もしかしてrustで複雑な業務(ドメイン)を書いたら所有権周りでめちゃくちゃ工数掛かる?
そんなもんどうせIOバウンドなんだから全部値渡しでいいだろ ドメインオブジェクトの生成や破棄は、それが業務上の意味を持つ操作なのであればRustの厳格なメモリ管理とは本来全く別の関心事であって、混同するべきではないと思うよ
わかった。とりあえず気にしないことにして進めてみる。ありがと
何日もレスがない 次世代言語を語っている奴は目が覚めたか?
rustで挫折したやつはgoでええやんてなる。それでもダメならpythonでええやんてなる。 で10年くらいかけてc -> c++ -> rust と辿ってまたgoに戻る。
悟った人はプログラム描くのに忙しい ここに来てる人はもやもやしてる人
選択肢の多様化も専門化も進んでる以上今イケてる分野で多用される言語はあってもC時代やJava時代みたいな言語としての覇権は出てこないっしょ GoとRustだって結局やれることもやりたいことも違うんだから
カツマタくんは Rust見限ったと言ってるけど ほんま需要ないの?
>>267 web系の需要は少なそう と言うか彼がやってるようなマイクロサービス案件はgo一択になってるっぽい rust使うほどメモリレイヤーを細かく見る必要ない輩が騒いでる印象しかない。 結局c++とくらべていうほど安全に書ける範囲は広くないっていう。
わかる Goが選択肢に上がる時点でRustなんか論外
今のGoは書いてて色々と気持ち悪いとこあるねん 思いきり破壊的移行してくれちゃってもええんやで?
Goの何が駄目といって名前がまず駄目すぎる あとマスコットがきもすぎ
rustのいいとこはGCがないこと メモリレイヤーなんてどうでもいい
C#とかでもオプションでGCじゃなくて参照カウントを選べるようにして欲しいわ
>>279 すげー馬鹿なこと言ってるって自覚ないのか。。 メモリ安全性はメモリサニタイザーでも使えばいいのさ
メモリ安全を言語レベルでチェックした結果 Rustみたいな使いづらいのになるよりまし
>>284 メモリーレイヤーとGCの有無が結びついてるっていう当たり前のことも理解できんの? そりゃバカとしか言いようがないのだが。 >>288 まずめもりれいやーとかいう謎用語を説明してみろ雑魚 騒いでるだけの輩じゃなく実用例をみて考えろ馬鹿 周りの反応みて自分の使う技術を決める、あるいはそもそも決める権限のない三流は山に籠もってワサビでも育ててろ >>285 C++ で xlsx をお手軽に扱いたいのですが、poi みたいなのはありますか? c++ → python.dll → openpyxl → xlsx
ほかの言語の例外処理って コンパイルされたとき 例外が出るかもしれないところ全部にIF命令でチェック入ってるの?
>>289 メモリ管理しないでGCもない言語の実例なんてねーよバカ。 そもそもおまえはなぜ全く別と言い切ったのか?馬鹿だから説明できんだろうが。 昔のFortranはメモリ管理もGCもしていなかったと思った メモリを使い切るとシステムごとダウン
なんでrustってすぐレスバ始まるの? c++競合だから老害が多いの?
なんでメモリーレイヤーでもメモリレイヤでもなくメモリレイヤーなんだ?
レイアウトをレイヤーと間違えてましたというオチ? まず土下座しなよ
それはつまりコスプレイヤーはコスプレイアウトするということ?
なんでマキマはパワー殺したんや? パワーちゃんを返せ!!(´;ω;`)ブワッ
もう書き込み止めたのか 次世代言語って幻想はどこにもないんだな
Rustは知らんがGoはもう普通に使われてるよ Go+Lambdaは古いバッチやツールを一掃していくだろう
Rustだって機能が足りない足りない言われながらも1.0は2015だし、Goだって1.0は2012 TSも2.0すら2016だ 単純にここ数年に一発屋でなくかつそこそこの規模と注目度のある新言語が無いって話だろう Juliaの1.0が2018ってくらいか? Vはdiscoのコミュニティと宣伝は活発みたいだが結局メモリ管理の話が全然されていないのでここではお話にならないって扱いなのもある(そしてそれは正当な評価だと思う)
julia意外だな。1.0未満の期間が長かったんだっけ?
てかc++が35年前リリースで、その時点でcの互換性を気にするような時代だったわけで、 ライブラリ資産を考えれば現在ならさらに互換性重視になるのは当たり前といえば当たり前な話だな。
typescriptに興味があるんだけど、これってpythonと同レベルのことはできるの?
個別スレの勢いもありそうだし、次からはスレタイトルからGo,Rust,TypeScriptは外していいんでね? 代わりにDeno入れようや。
reactでtypescript導入してみたけど 生産性下がりそうだわ
typescriptは、簡単にインストール不要で 配布しやすい実行ファイル形式に出来ると良いんだけどな。
iOSやMacOSとかの開発用としては強みは当然あるだろうけど、 Swift言語自体のほかの言語に対する長所って何ですか?
>>333 オレは結構好き。 あとHexaが気になる。 よし!rustでhello world書いたぞ! コンパイルしてみよ! $ cargo build っと。 …えっ、さ、さささ356,420バイト?たかだかhello worldで??? … …あっ、デバッグビルドね! あービックリした。 そうだよね、リリースビルドにしなきゃ。 $ cargo build --release っと。 …さ、351,996バイト… 僕はC/C++に戻った
>>339 いろいろスタティックリンクするから モダンな言語ってだいたいそんなもん Goなんてたしか1MB超えるはず (その代わりHelloWorld100行書いても少ししか増えない) それが問題になるほどリソース制限がきつければC/C++しかない >>331 Webassemblyが近そう。 ブラウザマシン専用中間言語ぽいやつ。 くろむブックもジワジワ普及しているから、次の時代の主流になるのは間違いないと確信している。 生成元の言語はタイプスクリクプトたろう。 ブートストラップ4とかあんぎゅらーとかのフレームワークつけて。 というか、最近のecサイトはGoogle系はあんぎゅらー、あどべアップル系がブートストラップにみえる。 >>341 Goはどのバイナリも中にnagix積んでるようなもんだしな。 でもwebapiサーバ(Grpc;グローバルリモートプロシージャコールんるん)の中身実装するなら、goが一番楽。手間要らず。 ポイントは、jsonのmarshalと案marshalメソッドのマッチョな便利さ。 uriとメソッドを紐付けてポスト駆動で記号的な直感さでイベント書けるところ。 あとバイナリでかいがプロセス起動が比較的に早い。 アンギュラーの起動の遅さときたら。。。 何を語れと? Golangは使いやすい。 ちな、その二つは俺が書いた。
低学習コスト優先であえて採用しなかった機能ばっかり?
Haskellにある機能を取り入れれば取り入れるほど、その言語は流行らなくなるという法則はある?
仕様としてのHaskell2010は意外と貧弱という話もある
最近のコンパイル時になんでもやったらええっていう流れは揺り返しくると思うぞ。
実行時になんでもやるのはJavaScriptで飽きるほどやったでしょ! 今がそれの揺り返しだよ!
だからそういう極端に触れるのはもう流行らんって言ってるんだが。
おまえらはほんと極端が好きだからな nullは駄目だっていったら、もうキチガイみたいにnullの存在はすべて悪 根源的にすべて消去せよ!みたいに極端にはしったり 手続きオブジェクト指向は古い!これからは関数型だ!っていうと キチガイみたいになんでもかんでも関数型にして挙句のはてにクラスの機能は 一切排除する!とかな なんでも普通にバランスよく、まあこれはだめかもしれないけどたまには あってもいいよね、つぶしもきくし こんぐらいでいいんだがそういうバランスよく中途半端にすると 中途半端はだめだ!!とかいってキチガイみたいに暴れだすし
>>359 何がこれは有ってもいいかなだ、迷惑なんだよ。キチガイはてめーだよカス >>361 お、早速発狂してるねぇ……w 技術的負債作るの頑張ってねー 極端言語は2個しかない バランス言語は10個でも20個でも作れる 10個覚えるより2個覚える方がいい
だから最近の言語はnullを根源的に排除しなくていいように無効値は無効値でnull許容型にしたりチェックを簡易なイディオムに落とし込めるような文法や機能を持ってるよね クラスに関しては、オブジェクト指向側の流れとしてもクラスは機能として過剰だからと古典的にはインターフェイス/トレイトがまず分離されたし、最近ではJavaでもデータクラスの提案が行われてる話をした方が分かりやすいかな その上でHM型推論を導入する時クラス的静的型の扱いが難しい(というか型のできる事の多さによっては不可能な場合すらある)から外さざるをえなかったりするという話がある 罵倒するだけじゃなく勉強して技術的に/理論的に何がトレードオフなのか、その上で言語開発者が何をどう取捨選択したのか読めると楽しめるようになるしいいと思うよ まぁその上でも極端なものを見て不快になるのかもしれないけど、極端なものがなけりゃ中庸やほどほどは出てこないからそういう意見を言う人間の存在も含めてある程度は必要経費として諦めてくれ
>技術的に/理論的に何がトレードオフなのか 自分が全く語ってないっていうw
そっち側はPythonが平定したから比較的平和なんだよな 逆側は勝負が決まったのに敗北宣言しないクズが多い
たしかに俺が今迄みてきたなかで最悪に頭おかしい馬鹿(褒め要素ゼロ) と思った二大アホ信者は、LISP信者とFORTH信者だったな
>>365 型推論には限界があって、型に機能を加えれば加えるほど実装が困難になり最終的には不可能になるので、高度な型推論とOOP的クラスに由来する静的型付けの導入(と実装コスト)はトレードオフだ というのは特に型推論の限界については先行研究があるし理論的なトレードオフの一例だというつもりで書いたのだけれど 型推論で有名なOCamlのOOP的クラスも結構制約あるし型システムはその分複雑になってるからね >>高度な型推論とOOP的クラスに由来する静的型付けの導入(と実装コスト)はトレードオフだ なんか言ってることめちゃくちゃじゃないか?
ごめんなさい トレードオフって言ってみたかっただけです
>>373 言い方が悪いね申し訳ない 高度な型推論をさせたい所にクラスの継承オーバーロードオーバーライド由来の多相性やディスパッチが絡むと面倒くさいくらいでどうだろう どこまでを同じ型とするかってのと、型推論をどこまでやるかって話か。 くっだらねー話だな。 型をどこまで強くするか(暗黙の変換をどこまで認めるか)なんて今更すぎて。。
型推論と聞いて暗黙の変換に結びつけるのは、LL界から来たウンコ脳あるある
暗黙の型変換を気にするのはむしろ静的型付け言語やで 今どきLLなんて言葉を使う方は流石にわかってらっしゃらない
暗黙の型変換がコンパイル言語にないと思ってる馬鹿はc言語からやり直しやな。
LLは2010年頃を最後に聞かなくなったな JavaScriptが原因だろうね
せっかくJavaを殺したのに第二のJavaを作るわけにはいかんのだよ
とおもったけど どちらかというと浸透して普通になったんでは
>>382 さすがにここまで明後日の話を自信満々にするのは清々しい >高度な型推論をさせたい所にクラスの継承オーバーロードオーバーライド由来の多相性やディスパッチが絡むと面倒くさいくらいでどうだろう 継承オーバーロード、オーバーライドが絡む多層生の問題が型推論をめんどくさくなるって 型をどのレベルで同一と考えるかって話にしか普通ならんよね? まあ元々の文章もどうかしてたし、まともに突っ込むだけ野暮なんだろうが。
もしかして暗黙の型変換と部分型関係を混同していらっしゃる??
>>389 型をどのレベルで同一と考えるかは関係ないって 推論時の制約の識別だったり制約を満たす型候補の識別や選択が複雑になるという話 型推論時に暗黙の型変換をしてると思ってるのかな? V言語いまさらだけど メモリリークはともかく全体的にバグだらけ インターフェースとジェネリックまわりもバグらだけ 作者コンパイル速度にばっかりこだわってて 安定性は二の次以下で放置しっぱなし 文法的には好きなんで惜しいなー あと3年もすれば安定するかな?
>>391 >推論時の制約の識別だったり制約を満たす型候補の識別や選択 継承されようが型変換を一切考えないで良いなら制約としては何も困ることはないが? 型推論の問題以前に多相性のメリット、デメリットすら理解できてないのでは? >>395 これだけ指摘されても自分の知識不足を省みず同じ言い分を毎日繰り返すおじいちゃん相当ヤバイで 少しでも自覚症状あるなら早めに病院行きなはれ ここまで必死になって反論してくれるということは、きっと表現力が高く型推論もできる型システム、俺なら作れるぜ! ってことなんだろう 期待してるわ
>>400 だからまんま弱い型で可能性が広がるからってだけじゃねーかw お前、さてはちゃんと読んでねーなw マウント取った気分になれれば何でもいいんだなこいつ
お前ら面白い奴らだな コロナが流行っていなかったら オフミ開いて喧々諤々したいところだわ
喧々諤々もいいけれど クラスベースオブジェクト指向の継承と モジュラリティーが相反することは 共通認識ということでいいよな
喧々諤々は間違い 喧々囂々、侃々諤々、が正しい いい歳こいて恥ずかしいぞ ていうか変換時に気づけ
>>407 モジュラリティ? 型推論の話どこいったん? 話者をdisったところでOOP関係なく型に機能付けすぎると決定不能になるのは事実だからなぁ
だから型に機能をつけすぎるじゃなくて問題は型の分類をどこまでやるかってことだっての。。何回言わせるんだよ。。
>>412 一般的に通用する定義を使って話さないと、一生かかっても誰にも理解されないよ その分類ってのは厳密にはなに? ざっくり言うとインライン展開できない関数は型推論もできない
なんでJSXなんてものまで出てきたのにHTMLを書かなきゃいけないんだ?
ハァ?HTMLの文法に未練があるからJSX使うんだろ? あれコンパイル後はJSの関数呼び出しになるんだぞ? HTMLの文法に未練がないなら最初からReact.createElement使って入れ子の関数で自分で書けばいい。 誰もそうしないのはHTMLの文法に未練があるから。
普通にrustじゃん?お漏らしスコープでtraitの無い
ところでscalaはダメなんですか? kotlinてのがあるらしい ↓ 見てみるとさほど惹かれない ↓ scalaてのがあるらしい ↓ kotlinにくらべて随分意欲的やんけ! ↓ _=とか?.curriedつけないとカリー化されないとか? 複数パラメータリストに部分適用しようとして _ をつけないといけないとか? ヴァリアントがないとか?うーん? ←いまここ
雑食系エンジニア・KENTA、2020/3 Scalaが日本で衰退し始めている理由を説明します VIDEO Scala は、キャズムを超えられなかった 新規参入してくる初心者に、マウントを取ってくるベテが多い。 そういうベテに誰も注意しないから、コミュニティーが廃れた。 学習コストが高いから、偏屈な人間が多い Ruby は全く逆。 親切な人が多く、コミュニティーが強い 他にも、キャズムを超えられなかった言語は、Rust, Elixir。 キャズムを超えた言語は、Go よって、初心者が学ぶべき順番は、Ruby → Go 名探偵ホームズで 田舎の警官は親切で優秀だと どう考えても事実と真逆のことが何度も書いてあったのを思い出して なんというか 人心誘導的な感じがする
>>426 その動画は的外れと思う 心理的安全とやらじゃなくて言語の魅力という点で伸びがなかったのが原因と思う なんとなく期待するいろいろに対して 調べていくうちのあれあれあれーっ?が多すぎた (個人の感想です) つかどう考えてもだめだろこれ 昔自分の記事をこきおろされたのを根に持って 人を名指しで侮辱したあげくにコミュニティからの排除を煽るとか クズにもほどがある
>>426 聞いたことないけど、キャズムってどんな言語なの? コイツが考えた言語? >>433 英単語のchasmが由来のカタカナ語 意識高い系いつもの日本語でおk案件 >>434 キャズム => 断絶 破壊的イノベーション => 破壊的革新 ブルーオーシャン => 青い大海 リーンスタートアップ => 痩せ型新興企業 横文字にすると一般的な単語との区別がつきやすくて付随する意味がとりやすいんだよ プログラミング、コンパイル、データベースなんかも同じ >>436 それはそう ただその文脈が共有されてない外部向けにまで使ってるのは、受け手にとって未知で特殊な単語を使ってる事から発生する権威性によるマウントの側面があって私は嫌いなので日本語でおkと言っている アグリーとか言ってんのは賛成では表現できない 深い意味合いあるんかね
>>437 めんどくさいやっちゃな 知ってて当然と思われてるだろう用語を知らない自分を認識していて それをどこか後ろめたく思ってるから権威性マウントと感じてしまうんでしょ 知らないのが当たり前で発信する側が当然説明すべきと考えてたらそうは感じないよね (>>433 がいい例) 5chなら”お前こんな事も知らないのかよ”って煽られるけど 人間知らないことのほうが多いんだから開き直っとけばいいよ >>438 それは専門用語ではないからまた違った横文字の使われ方だと思うよ >>439 自分がどうこうというよりも無知な人々から金をかすめとろうとするタイプの人がそういうムーブをしがちなので嫌いなのよ 言われてる側面が自分に全くないかと言われると否定しきれないけどね ScalaはScalaエンジニアが多言語をバカにするせいで誰も近寄らなくなって衰退したって聞いた 初心者お断りの空気感とか
多言語をバカにしうる根拠を一個でも知りたい いやほんとscalaを勉強したいという意味で
自由な行動とは違う 義務や目的により強制された行動 キャズムを超えるとかいう謎の目的が設定されている時点で自由とは違う
>>447 これはやらかし ダブスタもとい自己矛盾して私が恥をかいてしまった 一応補足すると立ち回り辺りが適切な日本語になる Googleが検索シェアのトップじゃない国って結構あるんだよな
最近グーグルで検索しても目当てのもにが全然ヒットしなくなってるんだけど 同じようなやついる?
メモリ管理がすごいぞ→時々リークします 何をどう弁護すれば…
まあrustよりまともな方向性だな。 c++駆逐しようとしてミイラとりがミイラになった感があるわ。
コンパイラの実行ファイルサイズなんて嘘でだれが気にするんだ
少なくともLobsterのリンク先の時点でいくつかの問題点を認めてて、その辺をどうするんだろうなって話だな
Vlangはmut mutが出てきた時点でGC搭載する気ないでしょ、簡単で安全な自動メモリ管理 なんて言ってるけど循環参照のリークチェックは簡単じゃ無いわけで、方向性は Goルーチェン+Rustで行くと思われる。 でも本当にGCなくて良いんですかね?サーバーサイドなんて特にそうだが、メモリリーク しないことが保証されるのは所有権/借用を使いこなしてこそ(マップに無限に追加してたら どんな言語でもメモリーが解放されないが)ワイはNim推しますわ、必要なければGCはOFFに 出来るべきでストップ・ザ・ワールドが嫌なら、それをしないGCを選べる選択肢を用意すべき。 年々GCの速度が改善されるように、そしてファイル・システムに用途別に色々な実装があるが Rustを書いて良いてボローチェッカーにイラつかないのが不思議、初回実行のcargoも異様に 遅いし、unwrapの連打はまだ良いが・・・Goは一貫性は欠けるけど単純で敷居が圧倒的に低く 他にないCPUバウンドなGoroutineの特徴がよく出ている。IOバウンドなAsyncはどれも彼も 使いづら過ぎ、N:Mライトスレッドの高速な切り替えは他にない。だが これは言語の特徴とは言いづらいよ
vim→vimmerなんだから nim→nimmerなんじゃないの? nimerではなく。
>>476 たしかに。 このスレで返事ないところ見ると、 nimmer人口少ないんですね 最近nimmerに入門しました! golangのvscodeくらいの開発環境を探しているんだけど、 無さそうで、そういうところで使ってる人少ないのかなって感じる。
>>478 その辺の周辺ツール、プラグインが充実してないとつらいですね...そして入門者も減ると言う悪循環 >>482 rustのpyo3みたいなのがnimにもあるんだ 逆にnimから豊富なpythonのライブラリ呼べたりもする? サーバーサイドでやればiOSでもAndroidでも同じコードが動くんだろ? 一体なぜ伸びないんだ…
Nimは現状GCベースの時点でRustと同じ土俵には立たないよ 速度面でJava・Go、抽象度面でML系・Haskellと、両立の面ではMLton・Scala・Lisp系とかと比較される言語でしょ ORCの速度面レイテンシ面の改善は興味深いけどRustのメモリを生でべたべた弄りやすい点とは競合しないと思うなぁ
nimはいろんなGC選べるって言ってなかった? GC無しも選べるとか…
TypeScript は補完が便利!ってなるけど、 コードジャンプで元のコードじゃなく d.ts に飛ぶのがうんk d.ts がないライブラリみるとめっちゃがっかりしてしまう点もうんk 型情報の union とか intersection とか、 ぐちゃぐちゃになって頭もぐちゃぐちゃになる点もうんk VSCode のポップアップヘルプ見にくい点もうんk function のシグニチャ見にくすぎ React とかと親和性が低い点もうんk なんだかんだで型ヒントくらいの機能がちょうどいいのかなって思える Java みたいにゴリゴリにょきにょき補完してくれるならいいんだけど、 やっぱり後ろに JavaScript さんが控えてるからいろいろ大変そう でも、TypeScript 使っちゃうビクンビクン
console.log がもうめんどくさい System.out.println なんて論外 print ちゃんは好き
静的型付けで嫌なのって、ちょっとごちゃっとした構造のある引数を渡したいときに 毎回その引数のためだけにクラスつくるみたいな事がある点かな それさえなくなれば他は静的型づけに特に不満ないんだけど あ、でもやっぱりキャストと複雑なジェネリクスは面倒か
>>491 --gc:noneでGC無しだが、このオプションを使用し、当然ながらRustのような所有権と借用は無いので ヒープに関しては自分でproc dealloc(p: pointer)管理する必要がある。Rustはunsafeでなければ極端に セキュリティ重視(リーク、オーバーフロー、再解放)でプログラマにそれを強要する。速度面ではGCが 無いので紙一重で早いが、所有権と借用のスコープで自動的にGCされるはず?なので--gc:noneで手動で 解放する方が紙一重で有利。ま、それを言ったらRustでunsafeを使って自分で解放も同じだがw Nimは(Rustも?)コンパイル時のマクロ実行があるので、GC有りとGC無しはwhen defineで分岐すれば 同じコードベースに書ける。これが何の役に立つかといえばGCの時間が極端に問題になるメモリが潤沢な ハードやシステムでGCをOFFにして、メモリが厳しい環境ではGCをORCにしておくとか書ける訳ね。 例えば、短期間しか走らないプログラムで(夜間)バッチ実行なども、毎回GCが走るのは嫌な訳だが メモリが増え続けても良いならプログラムで随時メモリ解放なんてする意味があまりない。 当然ながらテストもしなくちゃならないけど、出来上がるバイナリはamd64, Linux, GC:ORC, SSLとか。 Rustの#[cfg(target_os = "linux")]もある意味同じだが、#[]とか言語と解離していて冗長的でキモい… lispみたいに見た目で区別できずにコード追わなきゃマクロか関数呼び出しか分からんほうが嫌だから解離してるほうが見ただけで分かっていいわ
C/C++でいう&&や||の定義をライブラリに丸投げできないかという問題 その解決策の一つがマクロ &&と||は見た目というか意味的に積と和なので関数と同じになるのは必然
まあ好みの問題でprintln!()とかが好みの人が居るだろうけど、nimのマクロはnimの構文でほとんど 書けて特殊性がほとんど無い。現状はAST木をそのまま使うのと、parseStmtで文字列のようにして 使うのと、quote do:するのと3通りあるが、Rustを完全に学習するなら当然ながら所有権と借用、 Optionなど、そして、何よりあちこちに出てくる全然構文が違うRust のマクロを理解しないとね。 Lispのようなバッククオートで呼び出し先でそれがマクロだと分かるのが嫌だという人も分かるがね。 それは関数の見た目で区別がつくだけで、引数の先が#[derive(xxx)]とかアトリビュートがついてたら 動きが変わるわけで、結局見なきゃいけないよね。一応言うとくとディスってる訳じゃなく好みの問題
Rustはマクロの書き方は知らなくても問題ない 定義されたマクロを使う方法は誰でもわかるし実装内容を知りたければexpandすればいい
Gleam はどうだろう? erlang + ruby → elixir erlang + rust → Gleam
Gleamよさげだな まだいろいろ不足しててElixirに追いつくには時間はかかりそうだけど Phoenixレベルのフレームワークが出てくればそこそこ流行りそう
ジェネリクスはswiftつかどっち側へも転べるobjectiveC++でワガママ通せるな rustなんかも継承の相互性端折ったまでいいからobjectiveCオブジェクト導入すりゃいいのに
altjsの一つでしかないtypescriptがはいってるのは確かに違和感あるな
jvm上で動くけど一旦javaに置き換わるわけではないから微妙だな
とはいえaltjsはブラウザ上で動くのがjsであらざるをえない以上好きでaltjsやってるわけじゃないからな wasmもjsを置き換えるものではないし置き換えを目指しているわけでもないのが大きい そのへんは神経質になる必要はない気がするなぁ
Typescript好きてすけど、 次世代って言われると??な気がします。
jsのsyntax sugarである以外に何か新しさがあるかって点だろうか?
次世代環境は画面が狭い上に動画重視だから GUIで新しさを演出するやり方自体が古くなった
TypeScriptを外して、Juliaを入れるべきだろう。 Kotlinは微妙だけど基本JVMで動作するけど、トランスコンパルではないからJavaの制限(例えば演算子の オーバーロード)を超えてるわけで、過疎らない程度なら良いんじゃない?Scala-Nativeの方が次世代っぽい けども流行らないだろうな。Zigでも良いけど誰も使ってなさそう、nimmerだけど
>>513 好きでやってるわけじゃないって気軽に言うけどかなりのネガティブ思考だよな 好きなことをやればいいのに ブラウザ上でも動画やPDFを使う自由はあるし ブラウザにそんなにたくさんの言語エンジンはコスト面からも載せられないだろ
Pythonを置き換えてほしいと思ってるのもしかして俺だけ?
Juliaは登場時期こそ新しいけど次世代言語というような言語自体の新しさはあまり感じないなぁ。
面接官「このままだとコミュ力採用だけど」 次世代言語「100の階乗とか計算できないやつを落とせばいいのでは」
@distributed (@parallel)とかmutable structとか他の言語とはちょっと違う部分があるよね 手続き系言語のコンピューター工学言語の新しさじゃなく、ベクタードット演算とか、外部ライブラリに 依存するPython系の自動学習やRなんかにはかなり競合する。分散性を考えると大規模なAI系は、これで 決まりだと思う、明らかに大規模分散を意識してる
トランスパイルが駄目ならNimもアウトじゃね? Cのソース生成してからコンパイルでしょたしか
言葉が足りなかった、トランスパイルがダメというより、ベースとなる言語の機能や域を出られない。 つまり言語の特徴としてES5/6/7/8と(ブラウサ)に「強く」依存するのはTSがブラウザネイティブで 動かない限り目新しさはそれほど無い・登場しないって事。NimはCに依存してるわけちゃうでしょ TSはJSに比べシンタックスシュガーは掛けられるし、JSの悪習を禁止する言語制約はつけられるけどさ Vlangも入れた方が良いかもしれない、ほとんど個人開発のVlangが嫌いな人もいるみたいだけどね。 目新しさはほとんど無いけどGo+Rustみたいな文法は、Nimの見た目だけPythonみたいより好きかな GC/RTLが搭載しえないのは利点では無いと思うけど
>>519 良くも悪くも実用志向の言語群だからね このスレの一定数の人は挑戦的な機能や実装があることを次世代言語と認識してるけど、様々な言語に実用面で機能が足りてなかったり普及に障害がある点を指摘する人は以前のスレでもいくらか見かけた覚えはある 私は前者の方が好みだが、あくまで実用の為に普及の容易さも込みでjsを置き換えようとすると、TSのようになるというのは自然だと思うな 逆にaltjsでもElmは十分次世代的な機能の導入と実用の為の割り切りをしていたり、PureScriptなんかは数学的抽象化一直線突っ走ってて高階多相なんかも導入してるし単にaltjsというだけで次世代要素がないというのは違うと思うんだよな それにTSの型機能はjsの動的な型に合わせるためとはいえ漸進的型付け言語として挑戦的な試みが沢山あるし、今なお追加もされてるので十分次世代的な要素があると個人的には思うよ >>528 言語と標準ライブラリの密結合を避けること(非標準ライブラリは問題無い) ができないと言語学的にはスタートラインにも立てないね >>522 Julia は形を変えた Fortran だと思った Elmはいい言語だと思う もうすぐ2冊目の日本語の本が出るよ 純粋な関数型言語なのに実用面重視なのが今までの流れと違うところ 普通この手の言語は汎用性とか型クラスとかにこだわってしまうのにあえて外してる
狼少年のパターンなら知名度が上がるほど駄目になる その場合は、普及活動するべきという俗説には従わない方が実用的に正解
Vlangみたいに凄い事をやりたいというタイプではなくやらない事を選ぶタイプなので悪い方向に転がっても狼少年にはならんと思う
どうせなら借用も認めないとかとことん尖らせたらいいと思う。
>>537 erlangとかアクターモデルの言語で良いのでは? ここのところDartが割といい言語じゃんってなってる。 クロスコンパイルできるようになったらGo並に使える気がするんだがなぁ。 Goでジェネリクスが使えるようになるのが先かな。
借用を認めないみたいな意味の用語は「シェアードナッシング」でしょ 共有していないところでは副作用を認めるという発想はアクターモデルではあまり強調されなかった
>>543 型無しのnullが危険すぎるだけだな。 DartのNULL安全が来たっぽい(Dart 2.12)
undefined「フフフ、nullの奴がやられおったか」 NaN「nullは我らの四天王のなかで最弱、面汚しよ」 -Inf「・・・」 フラッター2って誰が使ってんの?真顔でNULL安全でない言語はレガシーだと言われると プッと笑い出しそうになる…
int型の値にもnullがあったら嫌だろ それと64bitに移行してもまだ32bitのint型を使ってたらレガシーだろ ライブラリの変更だけでできそうなことが、言語ごと作り直さないとできない設計がレガシーなんだ
困るってよりループの中でチェックが無駄に繰り返されるのを防ぐのがオモヨ で、ヌル限定で排除するより総てのプリミティブを範囲型にするほうがいいと思うんだけどね 整数でゼロだけ除けるんも範囲の内だし
まあDartのSound Null Safetyはネイティブコードにした時の実効速度アップ効果もあるし
全てのバグをコンパイル通す前に消し去りたい…というのは言いすぎだが やりたいことはそういうことなんよね 決して自分の足を撃ち抜かないスーパーハカー様には無用の長物に見えることだろう
>>555 そんなしょっぱい機能で次世代ドヤとかやられてもw シンタックスによるバグなんてど素人だけだわ。 バグが発生するのはそんなところにはない。
そういったド素人のやるような些末なミスチェックがforgettableになるというのもメリットなんだけどな 規模がでかけりゃ可能性は少なからず上がるし、何より人間の頭の良さはそういう機能をどれだけ上手く使えるかにもあると思わない? ただ確かにその機能があるというだけで次世代だと錦の御旗を振るのは少し難しくて、それをどれだけ使用者が気にせずいい感じに導入できたかも重要と思う
そもそも>>545 の型無しのnullと>>551 がなんのこと言ってんのかわからん。 >>545 は動的型付けのnullのこと? >>551 は数値型のintがポインタ型のnullになることはないし、 option<int>ならpresentかabsentを表現するのにつかう。 それにnull safeな言語ってnon-zeroのときに最適化するだけでnoneの参照は普通のnullポインタ。 言語的には仕様かライブラリでnullableのハンドリングを工夫してるだけだから 既存の言語にも追加できる。javaも今やってる。 // まあ、アレは事あるごとに互換性維持したまま魔改造する常軌を逸した言語だが。 >>560 >些末なミスチェックがforgettable 対処としては漸進的型付けで早期エラーにするくらいかな。 最適化で実行前にエラーにできる場合もある。 TypeScriptが次世代かと言われると確かに違和感ある。js2/es4の方がまだ進んでる。 お前らnull safeの機能があって助かった〜なんてことが本当にあると思ってんの? おめでてーな。結局考慮してない奴はそんな機能あってもつまづくよ。 それももっと酷い形でな。
null safeな言語は助かった〜みたいなことになる前に コンパイラやIDEに文句言われるから 確かに助かった〜なんてことにはならないな
コーディング安全はほぼ関係ないつうのに そこにこだわって文句垂れるクソw
V言語にまだ期待している奴がいるってマジ?ガワだけGoっぽいCだぞあれは clayやcycloneやbitCやらが色々試行錯誤して、何とか生き残ったrustがようやくそれなりの妥当性を見出した「GC無しで安全なメモリ管理」を 何の論文も書かずにWIPで放置しているのに「Rustのように安全」とかフカし続けている奴らだぞ Cに毛が生えた程度の安全性を持った、Rustより謎な制約を課してきて、フカシた結果ASTも生成できずに最適化が使えない言語ができるぞ
rustの安全性もたかが知れてるのでまあそんなとこだろ。 実際セキュリティー分野でrustを使う機運はほとんどない。
セキュリティ分野でRustほど低レイヤーな言語を使う必要がある場面がそもそもあるのか?
型を命名規則に組み込んだ言語とかってないのかな non primitive だと、さすがに明示的に書く必要あると思うけど、 primitive の宣言時にいちいち型書くのだるい でも静的型付けは欲しい
>>574 Fortran ってそんな宣言できたのか 何が駄目だったの? >>575 IJKが整数型とかあったな・・・(遠い目) null 安全だとコンパイル時にエラーになってくれたりするので良いのではないか? 危険な部分は自分で敢て null を使うように書いた部分だけ。それも null チェックした後でしか 本来の型として扱えないようになってればコンパイル時にエラーになって結構安全。
あ、ごめん。リロードせずに書いてしまった。間に沢山の書き込みがorz
>>573 初期値入れればたいてい推論で済むんじゃね? >>577 馬鹿はとりあえず「汎用」にどこでも使えるように書くもんなんだよ。 そういう馬鹿に馬鹿と言う労力を抑えるために無駄なシンタックス入れて、 また馬鹿がそれに混乱して酷い状況になるっていうのを嫌というほど見てきたわけだが。 セキュリティー分野に明るいみたいだけど、最近のトレンド知ってたらそんな事いわないと思うんだけどな。 2020年度だけでUse After Freeがらみいくつあったんよ。 馬鹿に作れるものじゃなくなってるよ。
XSS絡みか、ブラウザのバグじゃん。 お前らには関係ないわ。
Rustが何でどう使われてるかわかったら、ブラウザのバグをどう解決したかわかるんじゃねえの?
>>576 一々めんどくさいから型宣言せずに使えるって話だろ IJKを整数型以外にも出来たんじゃなかったかな 機械を意識した具体的なのと表現力重視の抽象的なのの2つでええやろ @Rust:GCレスながら比較的安全に低レイヤーをさわれる AIdris2:依存型(型がファーストクラス)ありの線形型(Rustのアフィンの強いやつ)ありのHaskell
>>586 I,J,Kで始まる名前の変数は宣言せずに使うと整数型 宣言すれば他の型にもできるということで 暗黙の型変換があるので宣言してない変数Iに浮動小数点数を代入した場合 Iは整数型になり小数点以下は切り捨てられる 使うときも暗黙の型変換が起こるから切り捨てが起こったことに気づきにくい ということだったような >>566 色々試行錯誤した中で一番最悪の結論がrustに思えるがな。 結局いうほど安全性が求められてるのか?としか思わん。 本当に安全性を求めるならコンパイラに全てを押し付けることが有効かどうか真剣に考えた方が良いのだが、 どうもそういう方向ではないのだな。 結局何かに責任を押し付けたいだけでそれが一番わかりやすというところでコンパイラが ターゲットにされているだけという茶番なんだわ。
>>589 let mut, &mut, ::, unwrap, unnecessary trailing semicolon, &str, @val, ast!, dbg!, match String, Str, CString, Cstr, OsString, Ostrで6種類の文字列型・5種類オブジェクトタイプ String::from(), to_string(), to_owned(), into(),「.」でチェーンメソッドはするけど ネームスペースパスは「::」コメントの書き方は6種類、複雑なmatchと暗黙借用のmoving 貶し言葉:イライラする、うるさい小姑、窓のヘリを触ってココ拭いてない言うてくる、全責任はプログラマ 褒め言葉:コンパイラが最高の師匠であり、全てを体得するまでに5年、騎士の剣のような型通りの綺麗な剣技 >>580 開成中学生が作ったBlawnとかそんな感じ、型宣言ゼロで静的型付け。関数などがジェネリックなので コンパイル時にチェッカーが走る。惜しいのが、たぶん頭は良いのだけど言語作成者はメタボロクソに 言われても開発継続する胆力がないとどんなに将来性があっても使ってくれない… >>566 論文がないのはその通りだけど、そういうレベルじゃないよ。Vはコンパイラーは、コンパイル中に必要な 解放呼び出しを自動的に挿入する。Cで言うfree/deallocateが勝手に入る。参照カウントをつかってると 言ってるけど、変更可能な可変長文字列バッファ、やリスト・マップなんかが無ければスコープを外れると 解放される変数と同じでバッファのmallocはコンパイラがfreeするコードを挿入する。(これを入れない コンパイルオプションがある)循環参照は終了時に消すだけ、それだけの事、Lobsterとか言ってるけどさ "Memory Management in Lobster"ね。mattnとか初期の汚いVコードというかCのコードを見てGoの 人は入れようと思わないだろうけど、コントリビュータ自身が過大広告言うてるから人を減らしてる >>595 自動で挿入するのはいいんだけど、難しいのはそれをいつどこで何を解放するかだろ。 スコープを外れたら解放するだけでいいならRAIIと変わらんが。 raiiまで効率化出来るなら凄いことで トランスパイラが仕込んだfree()をコンパイラさんが最適化してくれるなんてあり得ないだろうし ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ
>>597 BlawnのようなRAIIとは違い、Vの方はちょっと上の説明が間違ってるというか、分かりにくい言い回しを してるが参照カウントしてるようだ。それをGCと呼ばないのはその通りでしょう 手続言語のコンピューター工学を持つ学位で証明されている理論なのかは知らんけど、そんなの無くても RubyとかPHPとか動いてるわけで、必死で否定する必要もないでしょうよ。いまだ0.2?ぐらいなので ワイも使わないけどさ >>598 「ショートループの中でヒープをガッチャガチャ確保解放するコードとか頻出だろ 」 それをやってるのがRustのDropトレイトでしょう。トランスパイラが仕込んだfree()を最適化するなんて どんな言語でもあり得ないと思いますよ。実行グラフを辿って使われなくなるスコープでfreeするだけだろう gccのLTO(リンク時最適化)ならまだしもfreeの最適化なんてほとんどの言語はしないと思う GCのある言語でSTW(Stop the World)するような言語だと、freeの最適化なんてしないで、断片化するから コンパクション操作が必要になるわけで、それを言語仕様かと言えばそうでは無く、言語からは決められないし 起動時のオプションがあるくらい。もちろんRustはプログラミング次第だけども
変数定義があるんだから使い終わったらfreeだかデストラクトだか出来るようにすればいいのだ。
Rustが未完成だった頃もこんな議論をしていたのか? ウォーターフォールのように先に議論をして後で実装したのか?
Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし、それらがデフォルトになる実用向け言語としてデザインされていったものだから解決の方針も出されてないのとは訳が違うんよ GCだとZGCが最先端になるのかな Goで培われたmulti-coloringなmark&sweepとbitmap、対抗馬のshenandoahと同様の複数リージョンによる並列マーキングと並列コンパクションの全部盛りだし 研究レベルの技術に詳しい人居たら教えて欲しい
>>599 はーん、GCを使わないというからRustみたいなものを期待したけど 実のところは単なる参照カウント方式だったというわけか。 >>599 単なる参照カウントとはいえ結局循環参照の解決にgc使う(PHP等)とかそれっぽい参照を検出するとか必要なのに少なくとも前者のオーバーヘッドは否定してるし、参照カウント特有のカウント増減のオーバーヘッドも否定してる その上でinnovativeな解決策があるそうだからオーバーヘッドもそれらよりは少ないんだろうよ 参考元らしいLobsterに順ずるならライフタイム分析とコンパイル時所有権トレースによる参照カウント増減の最小化・局所化が期待されるらしい 一方で実際にはメモリリークがあり循環参照が実行終了時の開放に任されてる部分が少なからずあるからinnovativeってなんだよって話になるのは自然だろ >Rustの場合は研究レベルで線形型アフィン型がまず実現されてて、所有権もC++の時点で既にあったし これと実装レベルじゃ話が全く違うがな。。これでまず研究があったとか思えるって相当おめでたいんじゃないかね
>>606 ライフタイム分析は確かに複雑な操作じゃ無ければ参照カウントのメント操作を省略できるでしょう。 それが「最小化・局所化が期待されるらしい」と上記の"Lobster"の言うように95%削減できるかは プログラム次第だけどw 多くの言語が現在では型推論を備えてるわけだが、これが昔からある理論だとしても多くの人が使用が できるようになったのはつい最近。型推論を現在で動作しないと否定する人は殆どいない(嫌う人はいる かもしれない)途中では「ただし、これは執筆時点では実装されていません。」と言っているので、まあ 革新的ではまだないだろうね、単なる目標数値なだけで。 >>605 また多くの人が現実的な問題として否定してるのは参照カウントのオーバーヘッドなんかじゃ無くてGCによる STWやコンパクションなんかでしょう?現実問題として参照カウントのオーバーヘッドなんて気にしてる言語は 殆どないよ。例えば、RustだってRc<T>やArcによる参照カウントをプログラマ・プログラム側でやってるだけ >>607 それとRustもGraydon Hoareの個人プロジェクトでMozillaになっただけで研究が先にあったとは言い切れない そりゃ有名人やコンピューター工学の権威とか参加してるだろうけども 最近の言語研究は、あわしろ氏の論文がベースになってるものが多い。
ソフトウェアのデバッグは比較的容易だから無料なんだな 文書の誤りや詭弁やデマを取り除くのだけ金がかかる
>>608 話の繋がりがよくわからんレスばかりだけど、とりあえずV言語は単なるリファレンスカウント方式ってことでおk? バカ「JavaBeans方式のプロパティはリフレクションあってこそのものなのにC++で真似してもなー。 」
むしろpythonの足りない所補完するんじゃないか?
Pythonを潰すならNimだろ、中身は別物だけど構文はめっちゃ似てる
コンパイルして配置のひと手間入るだけで適用分野が全く変わってくる
動的言語の分野でも静的チェック入れたいって要望に応えるような追加が多い。 多分これからは徐々にチェックを厳しくするってリファクタリングをどれだけ段階的に入れやすくできるかってのが 言語に求められる要望になるんじゃないかね。
今からC++かrust学ぶならどっちがいいと思う? CとJavaはわかる前提で
両方やれば? 逆にどっちかだけ学習するより理解しやすいかもね。
CとjavaがわかっているならC++は入り易いと思う
とりあえず新しい事勉強することが目的ならRust なんらかのプロダクトが目的ならどうせC++のAPIやライブラリ、ビルドツールから逃れられないのでC++ どうせ避けて通れないなら勉強するのはRustで問題に直面してからC++の両方コース
C++は割と初めてに近い頃に学習したけど 当時の感じでRustやってたら間違いなく挫折してたと思う
まあおもしろみもクソもない極めて優等生的な普通の解答をさせてもらうと まずは C そして C++ 最後に Rust と勉強するのが最も望ましい
newを使っただけで芋蔓式に 例外処理とRAIIとスマートポインタとtemplateが必要になるC++を better Cとか言われてスルーしてる優等生の闇が深い
誰も本気でプロダクトコード書くと思ってないだけだぞ。
だとすると、Pythonのチェックを徐々に厳しくするってのも誰も本気でやらないだろう
>>631 オブジェクト指向とか使ったらダメ。 クラスもテンプレートも使わない。 あくまでもC。 Javaは決してレガシーな言語じゃない。今も昔もJavaが世界の目指す方向を教えてくれる https://engineer-lab.findy-code.io/java Javaの素晴らしさはJVM(Java仮想マシン)の性能の良さやエコシステムの豊かさにあると思います。 エコシステムとはJavaを取り巻く環境やコミュニティといった意味で、これまでさまざまな企業や人々がJavaに対して貢献してきました。 OSSの世界におけるものごとの考え方やコミュニティ運営における方法論は、Javaが歩んできたカルチャーが色濃く影響していると私は考えています。 現在も、多くの企業や人々がJavaの進化を支えています。たとえば、JDK 15の開発には錚々(そうそう)たる企業が参加しています。エンジニアなら誰しも憧れるような有名企業がJavaのエコシステムに関わっているんです。 <JDK 15の開発に参加している企業> Oracle、Red Hat、SAP、ARM、Tencent、NTT Data、Amazon、IBM、 Intel、Alibaba、Loongson、Huawei、BellSoft、Ampere Computing、 Google、JetBrains、Azul、DataDog、Microsoft、他多数。 日本ではJavaがレガシーというイメージが強いですが、実は世界的に見れば全くレガシーではありません。 Javaの進化を見れば、世界のIT企業各社が何を目指しているかがわかります。このエコシステムの素晴らしさを、もっと多くの方々に知っていただけると嬉しいですね。 JavaのダメなところってまさにJVM、エコシステム、コミュニティじゃないの インターンのこに就職先を相談されたら、Javaをやらされるところは絶対やめろと言ってるわ
旧世代言語の話になるといきなり饒舌になるなこいつら
JVMに依存する言語は他にscalaやgroovy, kotolinか javaが死亡したらこれらも死亡してしまうのか?
>>633 普通にtypingモジュール周りは整備されてきてるだろ。 クソみたいな反発ひけらかしてるんじゃねーよ。 >>639 反発はしていない 誰も本気で書かない、という意見に同調しただけ YouTube で有名な、雑食系エンジニア・KENTA の動画がある 「Scalaが日本で衰退し始めている理由を説明します」 衰退し始めると食えないから、まともな香具師がいなくなる。 コミュニティーには、初心者にマウントを取ってくるような香具師が住み着くようになる 一方、今は、Ruby, Elixir などのコミュニティーが強い。 とても廃れるようには見えない
みずほの統合プロジェクトは終わったけど、 ピラミッド建設並みの40万人月 4千億円 / 40万人月 = 1人月当たり百万円 この内、本人がもらえる額は、2〜3割ぐらいしかない。 7〜8割がどこかで抜かれる 大手がJavaを勧める理由は、グループ企業数社間で抜けるから。 末端は土方奴隷 だから、KENTA などが、抜かれない自社開発系を勧めるわけ 逆に、SES はJavaを勧める。自分達が抜けるから。 これがポジショントーク
推奨NGワード: YouTube 推奨NGワード: 有名 推奨NGワード: 雑食 推奨NGワード: KENTA 推奨NGワード: 香具師 推奨NGワード: コミュニティー 推奨NGワード: マウント 推奨NGワード: Ruby
推奨NGワード: みずほ 推奨NGワード: ピラミッド 推奨NGワード: 人月 推奨NGワード: 大手 推奨NGワード: 土方 推奨NGワード: 奴隷 推奨NGワード: 自社開発 推奨NGワード: SES 推奨NGワード: ポジショントーク
>>642 java以外の言語だったらその構図がなくなるとでも思ってんのか?おめでてーな もういっそGADTsと型クラスまたはトレイトを導入したらいいんじゃね
えええ スマートキャストすんなよきしょい Javaなんだから代入しようず…
Pythonに代替する言語早く出てくれ 記述がシンプルで速いヤツ
linux kernelにrustディレクトリが出来たみたいだね 次世代言語として磐石な立ち位置を確立したね
Ruby on Rails 6 の本を出している人の、入門書が出た。 Erlang/OTP 上で動く、Ruby風の関数型言語 Elixir実践ガイド、黒田努、2021/2/5 Ubuntu 20.04, Docker CE 19.03, Elixir 1.11 >>655 皆Python から、MIT製のJulia へ移行してる Pythonブームが終わるのはいいけど その次のやつはテンプレートメタプログラミングをやるのかやらないのか 早く判断しないと話が始まらない
>>662 juliaなんて流行るわけねーだろあんなfortranくさい言語 とりあえず言語の名前は固有名詞で唯一無二のネーミングを新たに創造してほしい
5文字ぐらいの単語をランダムに生成して辞書引きでヒットしなかったものを使うしかないけどそんなの流行るかな?
そんな極端なことしなくても、ちょっと綴りをもじるぐらいで良いじゃん。 BluRayみたいな。
外国人はきちんとlangつけてて国内の人はlangつけてないって傾向ある?
rustで検索するとネトゲしか出て来ない時期あったな
とりあえず Go おまえの名前はだめだ Go の何がだめといって名前がクソすぎる
外国人は一文字言語の頃からちゃんとlangと付けてたのかねえ
Cとかはインターネット自体がまだそんなに普及してなかったからな
つかググラビリティを気にするようになったのは2000年以降だろう
プログラミング言語Crystal、初のメジャーリリースとなるバージョン1.0を公開
最近は、Go, Rust よりも、Elixir が熱い 動的型付けの関数型で、型を書かないのが楽チン
Erlang VMのお世話が大変だろ なんでJava等と比べてGoがデプロイ楽と言われてるか シングルバイナリで行けるからだろ ScalaやClojureはJavaVM、ElixirはErlangVMから実行時まで逃れられない
Goなんではやらんのか 例外ないとかきいてうえってなったけど panicあったらいいじゃん
golangは悪くは無いんだが、この分野ではgoだよねというシーンが無いというか
>>689 ScalaやClojureはnative compileできるようになったからJVMなくても動くよ Scalaは普段使いしないけどClojureはCLIのツール作るのに便利 Goはなにが駄目といってまず名前が駄目 あとエラー処理が面倒すぎる!
Elixir も、パターンマッチの戻り値で判定するから、 例外機構を使わないのが普通 YouTube で有名な、雑食系エンジニア・KENTA いわく、 Go だけは、普及のキャズムを超えた Rust, Elixirは超えられなかった Elixirは、VSCode, Remote Container(Docker)で、 文字列処理などのツールでは楽
goはjavaのダメな点を修正したってだけな気もするが、だがそれがいい。
>>693 native compileされたバイナリの依存関係はどうなってるの? gopherはもうちょいデフォルメすればかわいい(たぶん) LISPは諦めてもろて
>>701 Lisp にマスコットなんかあったっけ? Goのひっぱたきたくなるやつよりはかわいいかな >>705 ごーふぁー君はイラっとくるキモさだが こいつはリアルに純粋にキモいなw >>614 よく分からないなら職場の先輩に聞いてください。あなたのくだらない煽りに答える所ではありません。 無視しても良かったのですが、あまりにも気持ち悪すぎるので書いておきます RustのRc、Arcと言っているのに、それにまったく気づかない文章読解能力の無さどうかと思います。 ARC (automatic reference counting) というのアルゴリズムです。 言うまでもなくRcは(reference-counting)です。単純な参照カウントを改良・自動化したのがARCです。 改良すべきは細かい話になりますが、1つ目が値の受け渡しによるコピーをなくすためのムーブ操作です。 理論上は、ムーブセマンティクスと呼ばれる、C++11/14からある所有権のムーブで、メモリーコピーを 防ぎます。これは「所有権」という言葉からRustを想像すると思いますが、まさしくそれでRustはムーブを 明示的にシンタックスで行いますが、VやNimbleなどはそれが自動化されます。strong/weak/unownedの キーワードが必要になりますが、確かSwiftもARCです。Vの場合はmutが必要です 2番目にスレッド間でのデータが共有されるため、ここも単純なRCと比べて改良されています。 他にもRCに比べて利点があります。多くの単純な例ではオーバーヘッドと見做されるようなカウント操作を 行わないようになります。これは明示的に所有権の移動を行うRustと同じです。Rustの利点はGCが不明な 箇所では行われない事です 簡単に表せば、最も単純な例では関数を抜けた後にメモリ解放を必要とする変数のデストラクタ呼び出しを コンパイラが自動的に挿入します。(ここでカウント操作はありません)ただ循環参照を処理する場合には 参照カウンターとは別にサイクルカウンターが必要となります。 Rustはunsafeを使わずとも「循環参照は、メモリをリークすることもある」と認めていますが、独自データ 構造で循環参照を作った場合、メモリーリークしないよう保証するのは実装者の自分自身が必要です。 JavaなどのGCがあるとされる言語は多くはこれを解決するために、マークアンドスウィープを使用して結果的に Stop the Worldが発生します。これを解決して抑えるためコンカレントGCを作りましたが、常にGCされるので に結果的にパフォーマンス低下します。 >>710 RustのArcはAtomically Reference Countedの略な >>710 RcとArcの違いが全然分かってなさそうだけど大丈夫か? カウント操作にアトミック命令使ってるかどうかだけなんだが。 あまりにも気持ち悪すぎるwワロス こいつらマウント取りたくて必死すぎだろwなんも反論になってないw そんなにVが嫌いならダメな所あげたら良いのに
最新の言語ってデバッグのための値操作とかどうやるんですか JavaやCだと変数値は変えられるのがデフォだから 一応元の処理は流したうえで値を書き換えてやるのが基本だった気がするけど 最近のってletでデフォconstじゃないですか
メモリ操作するよりセーブしてからファイル操作してロードできればいいのにな GCにたとえるとストップアンドコピーってとこか
純粋関数型言語で値の書き換えできるやつってあるのかな HaskellとかElmで変数(とは言わないかもだが)表示しながらステップ実行とか式の評価の履歴みれるのは知ってるけど
できない理由はないんじゃない?メモリ上に置かれないような最適化とかされない限り。
24日、最新版となる「Julia 1.6」をリリースしたと発表した。
ステップ実行やりたいがためにCのライブラリ呼び出しすんな派と Cライブラリ呼び出しーや派 言語の流行はほぼこれで説明がつく
googleがイニシアチブとってくるとかなり変わってくるな ただfirefoxの遅れ取り戻すために作ったものが今後chromやedgeにも使われるとなるとどうなんだろ?
GoogleのJavaはそもそもドロイドのアプリ層でしか使ってないとオモウ なのでOpenJDK標準になってたりKotlin押しになってるアプリ開発環境は変るかも
節子!それ盗作ちゃうで!インスパイアかフェアユースや!
フェアユースの定義はどう見ても自然科学の管轄外なので どちらかといえばコミュ力に近い能力が役に立つ事案
Go言語はos.Open()の戻り値のエラーはスルーできないのに File.Close()の戻り値のエラーは普通にスルーできるのが気持ちわるくてやめた (だいぶ前の話だから今どうなってるかは知らない) せめて _ := f.Close() にしないと警告出すくらいのチェックはほしい
>>736 どういう事? voidではない関数の戻り値もかならず代入文によって捨てるコーディングがしたいってこと? >>737 そういうことです 当時そういうオプションとか探したけど見つからなかった >>738 うーん、他の言語もタプルとかとして受け取るなら一部だけ受け取るなんてこと出来ないんだし、一般的な仕様だと思うけどな。 >>739 その部分だけで考えれば普通なんだけど言語全体で考えるとバランスが悪い感じ Openの方は f, err := os.Open(..) // errを使わないとコンパイルエラー f, _ := os.Open(..) // 敢えてエラーチェックはしない の二択だけど、Closeの方は err := f.Close() // errを使わないとコンパイルエラー _ := f.Close() // 敢えてエラーチェックはしない f.Close() // エラーチェックしないの? の三択になって、例外を使わずに変数の使用を強制することでエラー処理を明示的にするっていう Go言語のスタンスがぼやける気がする (そのスタンス自体が私の思い違いかもしれないけど) Closeだとエラー無視しても大したことないけど、Chdirあたりだと エラーをスルーできて例外も飛ばないのは危険さを感じてしまう C言語と同じだと言えばそれまでだけど、変数の不使用はコンパイルも通さないのに 戻り値の不使用は警告も出さないっていう仕様はアンバランスだと思った >>740 errを使わないとコンパイルエラー、は違うよ。 _ = err と捨ててもコンパイルエラーは避けられる。 例外を使わず、は正しいけど、変数の使用は実質強制されてない。 そういう、errを捨てるような書き方は、Javaのthrows書きたくないからとExceptionで大雑把に例外を握りつぶしてるメソッドみたいなもんで、躾の問題だと思うよ。 >Javaのthrows書きたくないからと 極刑を望む
「使う」の意味が曖昧だったかな errを使うっていうのはエラーをチェックをするという意味じゃなく コードの中でそのerrをどう扱うかを明示するって意味で書いた (普通はエラー処理だけど) >>741 の例だと _ = err の中で「そのエラーはチェックしない」って意図を明示するためにerrを使ったことになる _ := f.Close() と f.Close() の違いは、下の書き方だと ・そこでエラーが返される可能性 ・そのエラーを無視するという意図 の2つが伝わりにくくなること もしかしたらコードを書いた本人もCloseがエラーを返す可能性を見落としてるかもしれなくて そうなると想定しない状態でプログラムが動き続けて予期しない結果を招くかもしれない もしコンパイラが戻り値を受け取らないパターンを弾いてくれればそういう見落としは防げるようになる (そこで何も考えず戻り値を捨てる書き方をして予期しない結果になったならそれはもう躾の問題だけど) Javaで例えるならExceptionで握りつぶすというよりcatch(Exception)して何もしない感じかな 自分は「飲み込む」と表現してる >>743-744 これは俺が不勉強だった。Issueも立ってたのか。 この議論は確かに有益だな。 issueで書かれてるように、deferで雑に閉じたいとかそういうケースが確かに漏れるか、ってぐらいだな。 うーん、なかなかバランス難しいもんだな。 とはいえRustみたいな気難しいコンパイラになられるのもなかなかだし。 >>742 それは形式的に判断できるものじゃなくて、大雑把かどうかはその内容によるわな。 握りつぶしていい例外は存在するしそれは握りつぶしていい。 throwsを書くのは関数や変数の型を書くことと同じ それに対し「型を書かなくていい変数は存在する」と 言い返したのと同じだから痛快だね 全ての変数に型を書くのに今までどれだけ無駄な努力をしていたか
>>748 Javaの検査例外はたしかに例外を型安全に扱うための仕組だけど、throwsを書かないのは いわばvoid型のようなもので、型推論や動的型付けで型を書かないのとは違う。 検査例外は「ただの大域jmp、しかも行き先が自分ではわからないやつ」っていう例外の悪い部分をうまく取り扱うための、そこそこいい仕組みだと思うんだけど、 いかんせん例外で対応することが多すぎた気がする。 このメソッドより外側には漏れ出しません、ってのは俺はいい宣言だと思うんだけどな。 今はかなり改善されてるんだろうけど、Javaにいい印象なくてなかなかJava系の言語やる気持ちになれないや…。
Javaの例外処理は独自の例外クラスを作って低層の例外を取り込んでいく設計を知らないと throwsの中身が膨れ上がって大変なことになるね throwsが面倒っていう人は独自の例外クラスを作るのが面倒なんだと思う GoとかRustは返せるエラー型が原則1つに制限されるから必然的にそういう設計を迫られる
>>751 C#で言うInnerException的な? まあ、業務ロジックでハンドリングするならアプリケーションで定義した例外に包むわな、確かに。 Javaの検査例外は直上でのハンドリングを強制したのが失敗 Goみたいに一種類だけならまだしも、全種類はさすがにノイズになりすぎた コンパイル時にチェックしたいだけならthrowsは暗黙的にコンパイラが生成し、最終的にキャッチされないままの例外があったら警告出すくらいで十分だったんだよ 結局Javaはmulti catch導入して、型を緩める方向に舵を切っちゃった
throwsを暗黙的に生成するのはそんなに簡単じゃない気がする
検査例外がというより、そこは例外に多彩な型を持たせること自体が失敗だったと言うべきだろうな。 例外というものは呼び出し階層の複数の階層を越えて上位層が下位層に依存してしまうんで それをSOLID原則のに従うようきっちり依存性逆転させるのは骨が折れる。
例外の型って大抵デバッグ目的で持たせるエラー情報の種別に応じて作られるわけだけど、 それってプログラムでのエラーハンドリングの制御とは異なる関心事なんだよな それをごっちゃにしてしまったのがJava系の例外の失敗だと思う プログラムの制御にとっては、成功、リトライ可能な失敗、リトライ不可な失敗、くらいの分類があれば十分で、それ以上細かくしてもノイズになるだけ
プロセスやスレッドを起動するならexitでいいのに シングルタスクでイベントループを終了しないで続けるためにthrowとcatchがある 上位層が下位層に依存するのはシングルタスクの欠点だが それは旧世代言語の欠点だというのがなぜか定説になってしまった
> 例外というものは呼び出し階層の複数の階層を越えて上位層が下位層に依存してしまう これどういうこと? 上位下位というのは継承関係?コンポジションの関係? いずれにせよピンと来ないんだが
https://ideone.com/gvbImJ class A { void foo(int value) { if (value != 42) throw new IllegalArgumentException(); } } class B { void bar(int value) { new A().foo(value); } } class Ideone { public static void main(String[] args) { try { new B().bar(0); } catch (IllegalArgumentException e) { e.printStackTrace(); } } } たとえばこう↑したとき どこに「上位層が下位層に依存してしまう」部分があるの? >>759 A が IllegalArgumentException を投げるかもしれないという事実に Ideone が依存している。 >>761 そのことをもって「上位層が下位層に」と表現しているってことでおk? IllegalArgumentExceptionならまああまり依存してる感はないかもしれない 特に問題になるのは、FooException のように、barがfooに依存しているという事実を晒してしまうような例外を投げるケースだな
やっぱJavaってオワコンなのか書店のJavaコーナーどんどん縮小してるし 以前はJavaコーナー一番広かったのに最近は大概他の言語(Python,JavaScriptなど)に負けてるな 何はともあれ業務上必要で売れるならある程度の面積は占めるはずなんだが
俺がインターンの子にジャバをやらされる企業には絶対いくなといってるからだろうな
新卒奴隷送り込む商売がやりづらくなっただけなのと 六ヶ月リリースになって書籍が追いつけなくなっただけでしょ。 「やさしいjava完全に理解した!」が減っていいことだ。
リリースに出版が追いつかないだけの理由なら別に書籍のコーナースペースが縮小したりしないと思う スペースが狭くなってるって事は需要の絶対数が減ってるからでJavaをやる新人ってのが減ったのは確実なんだろうな
ただ単にkotlin使うようになっただけでしょ まだまだjvm使ってるとこは多いと思う 今後はわからんけどね
Javaが採用されてきた大きな理由の一つとして、実行環境としてUNIXをターゲットとする場合に、工員の開発PCがWindowsでも比較的支障が少ないってのがある ただ最近では業務系でも開発にMac使うところは増えてきたし、 .NETもLinuxに対応したりNode.jsやPythonも主にUNIXで運用される主要なスクリプトの中では比較的Windowsの相性が悪くない方だったりして、ライバルも増えた そもそもクラウドやコンテナの普及のせいで、直接Windows上で開発するということ自体がこれまでよりも困難になってきているし、Windows自体もWSLにより完全なUNIXを備えてしまったためこれまたJavaに拘る理由がなくなってしまった
売り場面積が根拠ならjava云々でなく単に棚分類コードの関係で書店の扱いがいいジャンルに業界がシフトしてるだけの話よ。 鉄板はEXCEL本、python本、後は今ならディープラーニング関連かな。 オライリー・ジャパンですらwebもプログラミングも関係ない分野の本出してんの知らない? javaならむしろ去年の六月にswingの新刊出てる。 >>769 kotlin使うようになったらからが理由ならscala使うようになった頃に取って代わってるだろうね。 Java は、GitHub に銀行のソースコードを上げた人とか、 20年やっても年収200万円とか、IT 土方の多重請負構造で、 客には1人月100万円を請求しているはずが、80万円抜かれる プログラマーに還元されない。 というか、関数内だけを作っている、 システムを作っていない単純コーダーだから 工事現場の見習いみたいな感じ そのIT業界の多重請負構造を、 YouTube で有名な、雑食系エンジニア・KENTA が、 ばらしてしまったので、日本中に広まった IT土方Java vs 自社開発系Ruby SES のモロー vs KENTA
推奨NGワード: 土方 推奨NGワード: 請負 推奨NGワード: 雑食 推奨NGワード: KENTA 推奨NGワード: 自社開発 推奨NGワード: Ruby 推奨NGワード: SES 推奨NGワード: モロー
ちなみに言語じゃないけどDenoってこれから伸びる可能性あるんかね?
Youtubeよりも5chで荒らしとして有名になってる件
実際にプロジェクトで使ったことない人には定評あるね
インフラとか組込とかミスの許されない/修正リリースできない現場は 形式証明機能のある言語を実際に使うとか聞いたで F*だかidrisだか忘れたけど ググったらRustでもCHCソルバでプログラム検証しまーすとか普通にでてくるし クリティカルなとこではちゃんと使われてんじゃないかい
大規模開発で使うっていう都市伝説が検証されるだけで一歩前進か
そんなとこで使われてるわけねーだろ。。 その手の証明ツールを使ったことあればわかるがテストコード書く方がまだまともなアプローチだわ。 実際に使われてるのは不確定性をうまく論理化してプロトコル検証をするって使い道はある。 そう言う使われ方は分散アルゴリズム周りでは少しやってるとこもあるがほんの一部だわな。
意図もわからずなんとなく動くからそのメソッドを使い、借用をつければなんとなく動くから 借用し、 変更する予定はないけどmutし、ここはエラーだからとpanic!し、補足するなと言われているのに catch_unwind/recoverして、血の涙で泣きながら渡されたソースをシコシコ直すおまいら・・・ rustのどこが良いか全然わからない
ちょっと改変すればどの言語にも適用できそう というかそういう元ネタあんのかな?
補足?足なんて飾りです!偉い人にはそれがわからんのです! 早くモデル検査が当たり前になぁれ!
>>781 大規模開発ってプロジェクト人数が多そうだし精鋭にはならんだろうから寧ろ不向きだろうって直観的に思う >>783 この前それ立ち読みしたけど去年秀和から出た実践〜の8章理解しとけば十分な気がした >>786 >ちょっと改変すればどの言語にも適用できそう ほぼこれが主張だぞ。 検査で「偽陰性」になったソースを渡されたら血の涙で泣く ということは 血の涙が出たら陽性、という検査を追加すればいいんだろ
個人的には どの次世代言語がいいかじゃなくて 次世代言語にはどんな言語機能を備えていてほしいかで語ってほしい
いうほど必要な機能なんてない。 ここ50年の結論はバカは何使ってもバカということだろう。
用途によって欲しい機能が違うんだからすべてを満たす言語が出来るはずがない。
ようとに応じた欲しい機能すべて実装すりゃいいだけだろw
「二刀流はズル」という価値観を捨てれば矛盾する機能でも両方実装できる
結局必要なところはcで書いてバインディングできるような言語設計をほとんどの言語が行なっている。 それが答えだろ
レガシーコードとの連携のためとかいいわけしながら 結局ユーザー2層構造が暗黙の仕様になってるような
ちなみにおまいら具体的にはどの言語に手を出した事あるの?
Java,C,VB.NET,C#,F#,Haskell,Elm,Rust,Idris2 F#とIdrisがすこ
最近あんまGoって聞かなくなったけど使われてるとこでは使われてるの?
5月生まれって約12人に1人しかいないので 逆を行くと良さそう
>>805 kubernetes, dockerなんかはgoだよ。普通にメジャーどこのツールで使われてる。 >>805 GitHubもGoで書き直しを続けてる >>170 結局次世代言語の将来性を格付けしてもこの順位と同じような感じなんだろうか? 順位は入れ替わるとしても4枠だとそれになるよねって感じ
俺的にはその中のKotlinだけは無いような気がする
確かにGo,TS,Swiftあたりは現世代っぽい。Kotlin,Rustが次世代になるかどうかって感じかな。それ以外は今のところそんなに見込みはなさそうなイメージ。
Kotlinってなんかそんなに言語として斬新な要素あるの?
>>816 Flutter以外だとAngularDartくらいかな CLI/CUIアプリも書けるようになってサーバ側にもDart使ってねとアピールしてた覚えがあるけど、Goと競合するからヤル気は無いか >>817 スポンサーみたいな企業がついてるんじゃないか だからこそ中止した方がよさそうなものも中止できない それはそれで斬新ではある Dartはシングルバイナリ作れるようになってCLIやサーバサイドでも少し面白くなってきた感じがあるな。 ただ、まだまだパフォーマンス面で煮詰まってないのか、少々不安がある。 とりあえずflutterのおかけで生き残るとは思うけど。 言語仕様としてはめっちゃいい言語になってきたと思うよ。
flutterをkotlinで作れば良かったのにと何度思った事か
関数型おじさんはRustで俺ツエーしてるでしょ トレイトとかhaskellの型クラスみたいなもんだし型システムで健全性チェックみたいのも良くある話だし
一昔前でいう関数型とかムーブコンストラクタとかみたいなのに相当する 最近熱い言語要素って何かありますか
>>817 goみたいな方向性でしょ。javaよりも少しシンタックスを楽にしようって感じで。 rustは一人でテキトーにやる分にはいいけど、マンセーしてるバカと一緒には絶対やりたくないなと思う言語だわ。
>>826 最初はそうだったけど、他の言語をパクリ終わって以降は変な色気出しはじめて迷走してるよ Scala化しつつある Kotlin/JSとかKotlin/Nativeとか期待してたのに残念 元々AltJSかつネイティブコードも吐けるDartの方が良さそう
>>829 これ。Kotlinには結構幻滅した。 言語が自由すぎて俺用言語になりがちなのもつまらん。 俺もDart使ってる。 Kotlinは言語仕様がいろいろしょぼいよね scalaのほうはまだ色々見所あるけど (でもよーく見ていくとscalaもしょぼい)
Haskell然りPureScript然りScala然り高階多相があるとついモナモナしてしまうからかめちゃめちゃ流行るって感じが無いように思ってしまう 前二者は純粋関数型ゆえ現状ほぼ必須なんだろうけど、副作用の切り分けとしてそこまで求められる事が多くないというか
KotlinってJVMで動くJavaじゃない言語って以外なにかアドバンテージある?
>>840 高階多相がない場合は モナドクラスの中で最も万能なインスタンスを一つだけ選ぶ事が当面の目的になる 流行る流行らないは取捨選択の手段であって目的ではない VM言語は起動がやっぱり遅いからなぁ。 .NETもReadyToRunしても限界があるし。 とはいえスクリプト言語もやりたくはなく。 nodeがネイティブコンパイルなり、ReadyToRun的な事ができるようになってくれたら言うことがないんだが、 最近GoかDartばっかり書いてる。
Dartは何がいいの?書いたことないからわからん 見た目からもエロスは感じんし
俺もflutterから入ったんだけど、なんせ無難。 基本的にシングルスレッドだけど、容易に他スレッドと連携できたり(ただGoほどコンテキストスイッチが軽くはない) 色んなAPIがasync awaitネイティブなので深く考える必要なく非同期で書ける。 その割にちゃんと型安全だし、VS CodeのExtensionもよくできてて書きやすいよ。 標準でコードに対して静的解析かけられるのもありがたい。 配布がAOTかけたネイティブバイナリにもなったし。 ライブラリも増えきたし、良い事多いかも。
>>844 流行る流行らないが取捨選択の手段であって目的でないのは全くその通りなんだけど、そういう言語のユーザは人口の価値を過小評価し過ぎじゃない?と思う事があるよ ここで言いたいのは、流行ってないって事はその機能の内いずれかがそれほど求められてないって結果じゃない?(そして今回の場合それは高階多相だし、モナド系列の抽象化やそれで提供される副作用や機能の分離じゃない?)という話 まぁその流れだとカリー化+部分適用とかも求められてない可能性があって辛みなんですが シンタックスとかしょーもないことに力入れないで ビルド速度とGC性能あげりゃいいってのがgoの結論だわな。 バカにしたがってくっだらない機能を入れる必要なんかないわ。
しくったら修正リリースすればいいっしょ?っていうスタイルの事業とリリースのコストが半端ない事業とを ごっちゃにするから訳わかんねー結論になる 前者は馬鹿でも扱える軽量級言語、 後者は型パズルとかないとコンパイルもできない重量級言語が良い
後者の問題を言語だけで解決しようとしてんのがそもそも馬鹿だと思うが。
まあ、コンパイル時に解決ってのがあるだけでかなり違うのはわからんでもないけどな。 単体テストの嵐になったり、言語によっては結合試験したら発生する不具合なんてのもあるし。 それは単純なコンパイル言語ってだけでは駄目だけど。 constつけたら書き込まれる事は本当に無い、って前提があると助かる部分は多い。
その程度で解決できる問題なら「リリースのコストが半端ない事業」とは言えんけどね。
ダウンロード販売の万能感に酔っていたらいつの間にか医療関係の物流が無能になっていた
>>854 それだけで完全解決するわけじゃないけど、足しにはなるよ。 コンパイラと静的解析変えるって話になった時も、コスト試算したけどなかなか変わったし、実際効いたけどね。 >>850 でも結局ジェネリクスとか入れようとしてるやん >>857 かなり迷ってるやん。 それこそビルド速度犠牲にしてまで入れるか?コードジェネレイターで十分では? メタプロバカが発生しないか?とかね goに入れて欲しいと言われてる機能をみんないれたら 最初からgoじゃない言語勉強しとけとか goのメリットと言われているものが死ぬと思う
Goより20年も進んでるなら 次世代通り越して次々世代だな ジジイだけに
でも最近go聞かなくなった気がする 取り入れるところはみんな取り入れたからかもしれないけど
マイクロソフトら、CO2削減に寄与するコーディングを目指す業界団体を設立
二酸化炭素を全てダイヤやカーボンファイバーにすればいいよ
時価総額は、Github が8千億円 今世紀最大の起業家、Vagrant/Terraform の作者・Ruby/Go の神・ Mitchell Hashimoto のHashiCorp が5千億円 時価総額が数千億円になったら、RubyからGo, Elixir へ変えればよい Shopify は15兆円、民泊のAirbnb は、大手ホテル3社の合計以上の10兆円。 このクラスでも、Rails 食べチョクみたいな女性1人の起業では、Rails, Heroku, React, Bootstrap で十分。 時価総額が千億円を超えるまでは、Rails で良い
Ruby on Rails で、若い女性1人で起業した、食べチョクでも、 売上50億円だから、時価総額50億円は行く 近いうちに上場するだろうし
>>831 > 言語が自由すぎて俺用言語になりがち どういうこと?Kotlinにそんな機能あったっけ? 中置もいいけど 引数のtuple定数化強要とドット記法で丸括弧減らすとかさ コードゴルフにゃ向かないけど読み解きにくい妙な圧縮記述を減らすのには効果あるんじゃね?
Kotlin は何かとわざわざヒネった発想を無理強いしてくるのが気にいらない min で 2 つの値の小さい方をとろうとしてるコードにいちいち coerceAtMost (値を制限する)関数つかえ とサジェストしてくるが、たしかに値を制限するのも理屈は同じではあるが わしはここでは2つ値がでてきてその小さいほうをとろうとしてるロジックを強調したいのに 値を制限するでは意味がボヤけるんだよっヽ(`Д´)ノ
ちなみにツッコみとしては「なるほど coerceAt を無理強いされるのが気にいらない、とこういうことか」 みたいなレスを期待
>>878 coerceAtMost(n)と書かれるとn以下なら何でもいいように見えちゃって曖昧に感じるね 普通にAPIの設計やネーミングのセンスに問題があると思う Kotlin って派手な機能はないけど、実用的な機能が色々あって結構好きだわ 特にクラスのコンストラクター引数をそのままフィールドで受け取れるのとかすげえ便利 null 安全性も Swift みたいに if let ... とかでチェックさせられるんじゃなくて単なる比較で書けるからわかりやすいし
発想に慣れるまでがちょっと時間がかかるが 発想に慣れるとやたらと短かくソースを書けるようになる そこがちょっと快感 それがKotlin
まだJavaの延長(というかカジュアル版)の感覚でしか書けないなぁ
結構JVM依存でkotlinネイティブは最適化でどうにもならなそうなぐらいパフォーマンス厳しいってのが暗黙の了解なような
ずっとGo信者だったけど、最近Rustはまりつつあって凄い言語だなって思ってる。
crystal触ってるけどrubyっぽさが凄いね。nimがpythonっぽい何かなのに比べて、crystalは better rubyだわ
方向性違うけどpost PythonはnimかJuliaか
nimプロダクトで使ってるところ見た事ないけど、なんちゃって運用ツールとかにしか使えない感じなの?
python選ぶやつはnim選ばない python選ばないやつはnim選ばない ということだ
>>892 nim 結構いいのに Python 臭いとこがやだよね。 swiftのResultBuildersってなんか面白そうだな
>>893 いつも思うんだが、こういう奴ってなんでこういうスレに来るの? うざいんだが >>899 いやスレの趣旨に合わないやつが居座ってんのどっちだって話 居座ってるってどうやって確かめたんだ? たまたまスレが目に入っただけかも知れんだろ
C/C++のかわりにおすすめするってことはKotlinってJVMへの依存切ってシングルバイナリで動くの? できたとしてもランタイム重そう
>>905 度々自らの過去を無かったことにしたことでプログラマに愛想を尽かされて無かったことにされた もうlazy くらいしか特徴が無いデカいし将来性の無い環境だからねー デカいスタティクライブラリとコンパイラメッセージは仕方ないとしても ビルド環境はメジャーなんに幅広く寄生すればいいのに
>>904 一応 Kotlin native は既にある。でもまだ作ってる最中って感じかな? 遅いらしい。 まあしかし C はまだいいけど C++ は複雑で分かりにくいように思う。 学習に時間が掛からないか? そしてよく使われていたであろう Windows ネイティブのプログラムはじわじわと廃れていく。
デジタルなんだからじわじわ劣化しないよ っていう単純化された理論が崩壊したのは事実だが 実装レベルのC++は複雑だが破綻はしてない
bool polymorphism match と来て次の層はどんなんになるんかな
注目の機能スレッドってなんかそういう独自の機能があるのかと思ったわ
注目の機能は、と問うスレッドが5chでも建ったんじゃないの
>>910 「,」、「&&」、「||」周りのオーバーロードとか完全に破綻しとるわ。 llangってぱっと見なんだかわからんな またネーミング失敗じゃない?
>>918 つまらん言語だな GCのないGo処理系を作れば済む話だったのではないか zigってnimとかvlangとかに比べてどこらへんがいいん?
>>922 やりたいことはわかるが、わざわざ言語を作るほどのことではない スルーしてよし ここまできてはじめて スレ住人全員が同意する意見が書きこまれた >>925 プログラミング言語とか、勘違いしやすく物忘れも激しいという 人間の非理想的な特性に対する対策なのだからそれ自体が宇宙の真理レヴェルの美しさを備えることは難しい C++はその対人間の対策にすら失敗している気配がするが、 プログラミング言語の理想を言い出したらキリがないことも上のことから明らかなので、 必要な仕事をやれるのだからC++でも及第点とも言える
「より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ (the most dangerous enemy of a better solution is an existing codebase that is just good enough.)」 とゆー格言はプログラミング言語にも当てはまる
ていうか最も危険な敵っていってるけど そんだけ十分によいソリューションになってるってことじゃねーか 「より良い」ってのがただの思いこみってのが真相だろう 手前ミソを売りこむのに邪魔、っていうのをいいかえただけだな
「betterの敵はenough」で十分なのに、既存の格言はやけに長いな
Pythonより30%高速目指す「Pyston」--開発者が語る次の目標
Rustのボローチェッカーとは動作が異なるようなのですが、 Nimにはすでに「借用チェッカー」に似たものがあるそうです https://forum.nim-lang.org/t/5459 Nimでもボローチェッカーで参照の有効性を検証することによって メモリ安全性を保証できるのでしょうか? 何方か詳しい方がいましたらご教示お願い致します >>937 Nimはガベージコレクション(GC)のある言語 だからGCのないC/C++/Rustとは別分野なのでそれらの代替にはならない >>938 ご教示ありがとうございます。 さっそくリンク先をgoogle翻訳してみたのですが、 Nimバージョン:1.5.1でRustのボローチェッカー に似た「View types」が実装されるんですね Nim Version 1.0.0 正式リリースされてから 1年も経過しないうちにARCとORCが実装されたよう なので、一年後(現在Version 1.4.8)には 「ボローチェッカー(View types)」も実装されそうですね GCが無い事実は保証できる 速度のベンチマークが嘘じゃないことは保証できない だから自称超高速GCがもしあっても普及しない GC無しで高速化した方が確実
>>939 >Nimはガベージコレクション(GC)のある言語 Nimはガベージコレクション(GC)を任意で外せるから、 ガベージコレクション(GC)を外して「ボローチェッカー(View types)」 で参照の有効性を検証することによってメモリ安全性を保証できないのでしょうか? >>941 >GC無しで高速化した方が確実 NimはオプションでGC無しにできるので、 Nimバージョン:1.5.1でRustのボローチェッカー に似た「View types」が実装されればGC無しで 高速化出来ますか? >>939 >だからGCのないC/C++/Rustとは別分野なのでそれらの代替にはならない NimにGC有りは事実なのですが、 NimはオプションでGC無しにできるので、 Nimバージョン:1.5.1でRustのボローチェッカー に似た「View types」が実装されれば GC無しで、View types参照の有効性を検証する ことによってメモリ安全性を保証しつつ高速化して C/C++/Rusの代替にt出来ますか? Rust難しくて諦めたのかな?デフォルト実装されてなきゃランタイムやライブラリが纏まらなくて代替にはならんよ。 Rustに慣れる方が現実的だな
Javaですら難しい所はあるんだよ そこを任意で外してstatic変数ばかり使うと結構酷い目にあう 任意で外せると言われても現実的に外せないことがよくある
>>945 >デフォルト実装されてなきゃランタイムやライブラリが纏まらなくて代替にはならんよ NimはNimソースコード をトランスコンパイルして、一度 Cのソースコードを吐き出します このトランスコンパイルする時にオプションでGC無しを選択して一つ一つ手動でメモリ管理 していくことになる 吐き出されたCソースコードをCコンパイラでバイナリへ変換するのでランタイムやライブラリが 纏まらなくなったり、Javaコンパイラみたいに外せないと言う問題も発生しないと思うのですが 間違っていますか? Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ なんでプログラミング言語って十徳ナイフに向かいがちなんだろうな
>>948 それはあなたが考える十徳ナイフがプログラミング言語に似ているからです。 0を1にする脳より、1を10にする脳になりがちな理由? 前者は破壊的で後者は建設的に見えるからかな
>>949 CやC++で書くとメモリ安全性が必ずしも保証出来ないために様々なセキュリティの穴を含むバグを生じさせてきた そのためメモリ安全性を保証しつつC/C++の代替となる言語としてRustが誕生した C/C++/RustはGC(ガベージコレクション)がないためOSや基本ライブラリに組み込み等の分野に至るまで幅広くカバーすることができるプログラミング言語 その中でもメモリ安全性を保証できるRustへと少しずつ移動が始まりつつあるのが現在の流れ >>947 ランタイムやライブラリを貴方が一つ一つ手動でメモリi管理するなら問題ないね >>949 >Cでいいやん Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し ているにもかかわらず、Cのソースコードを吐き出せるので割り振られた仕事が早く終わっ ても終わってないふりをして怠けることができる 「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます >>954 コンパイルが通った時点でメモリ安全性が担保されるRustの方が良いですよ >>955 Rustのメモリ安全性はボローチェッカー担保されている Nimバージョン:1.5.1でRustのボローチェッカーに似た 「View types」が実装されれば、GC無しでView types 参照の有効性を検証することによってメモリ安全性を保証 しつつ限りなく抑え込まれたタイプ量で高速化した Cのソースコードを吐き出せます なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか? Nimの実験的特徴 著者: アンドレアス・ルンプ バージョン: 1.5.1 http://nim-lang.github.io/Nim/manual_experimental.html >>958 >怠け者のくだりが意味わからん ご指摘ありがとうございます。 「C言語でリモートワークでされている方は」が抜けていましたので以下訂正いたします Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークでされ ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる >>959 Pythonが高い可読性?? 信者くらいしかそんなこと言わないぞ 他の言語と可読性は同じだろ Pythonのライブラリを再発明するかーとはならんだろ Pythonの可読性を再発明するふりをすれば怠けることができる
>>960 Pythonは構文にインデントを組み込むことによってざっと眺めた時に人間が読みやすい 一般的には上記の事をPythonは高い可読性があると表現されています この事は「Pythonは可読性の高い言語」ググれば約 265,000 件出てきます 他の言語と可読性は同じだろって意見の人は少数派です 「javascriptは可読性の高い言語」で検索すると約 334,000 件
>>963 >「javascriptは可読性の高い言語」で検索すると約 334,000 件 単に検索件数が多いだけで、上位10件の表示内容を読んでも 「javascriptは可読性の高い言語」と言う内容のページは1つも見つかりません 対して「Pythonは可読性の高い言語」は上位10件の内5件見つかりました >>964 >Nimキチガイ いつもみんなによく言われます 照れますね〜v(=^0^=)v >>962 インデントで可読性が高い?? じゃあほとんどのプログラミング言語はインデント出来ますから可読性が高いことになりますねw Pythonが他の言語より可読性が高いなんて一切ありません そもそもPythonはプログラミング言語としてあまりよくないので積極的に使いたい人はあまりいないでしょう 分野によってはライブラリの充実状況で仕方なく使う程度の言語です Pythonで開発なんて絶対にしたくないと思う人が多数派でしょう >>967 元の文脈的に Nimも構文にインデントを組み込んでるからpythonが出てきただけでそういう議論がしたいんじゃない 他のコンパイラが自分自身をconfigureとかmakeしている間に Pythonはライブラリを充実させる仕事が早く終わって怠けることができる
>>970 >NつまりNimはダメってこと? そんな寂しい事言わないでかまってよ〜(´;︵;`) Nimは行末のセミコロンが必要ない タイプ数がもりもり減ります。 Rust にはもちろん必要です。 Nimはmain が要らない スクリプト言語感覚でいきなりコードを書けます。 Rust は main が必要です。 >>970 そんな寂しい事言わないでかまってよ〜(´;︵;`) Nim は標準出力への文字列出力が楽 Nim では echo で改行付きの出力ができます。shell と同じですね。通常は改行付きで出力することの方が多いでしょ。 Nim はしょっちゅうやることは簡単にできるようになっています。 そんな Nim の echo は可変引数で値を受け取り型が何なんだろうとお構いなしに出力できます。 let n = 10 let str = "HOGE" echo "Number: ", n, " String: ", str 一方 Rust は let n = 10; let str = "HOGE"; println!("Number: {} String: {}", n, str); なんかよく判らんマクロでいちいちびっくりさせなきゃいけないです。よく使うものが冗長だとゲンナリします。 変数を直接ぶち込むことも出来ませんしね。 let n = 10 echo n 普通出来るでしょこんなもん・・・。ところが Rust は出来ない。 let n = 10; println!(n); <- エラー println!("{}", n); <- 毎度これを書かされる うざいっす。 >>970 NimはC の関数を気軽に持ってくる たった一行足すだけで C の関数を使うことが出来るようになります。 proc printf*(format: cstring) {.header: "<stdio.h>", importc: "printf", varargs.} let n = 10 let str = "HOGE" printf "Number: %d String: %s\n", n, str どうですこれ?C の資産を気軽に使うことができるんです。SWIG 等の鬱陶しいラッパーを使うこと無くです。 Rust の場合はご多分にもれずラッパー行きで超絶面倒くさいです。比較用に書きたいんですが結構な文章量になるのでやめます。 >>970 そんな寂しい事言わないでかまってよ〜(´;︵;`) Nimはmut mut しなくて良い Rust はまともな変数を使おうとすると mut mut しないといけません。デフォルトだと再代入できませんから。 普通再代入しまくりますよね?定数ライクに使いたい機会なんて殆どないですよね?なのに mut を毎度書かされます。 let n:int = 10 let mut m: int = 10 Nim ならこうですよ。 let n = 10 # immutable var m = 10 # mutable 素敵。 >>970 Nimは所有者・借用なんてもんでイライラしない Rust には C のポインタが可愛く見えるレベルで高くそびえ立つ鉄壁の初心者ガード、悪夢の"所有者・借用"の概念が存在します。 プログラムに慣れた人間ですら混乱に陥れ、書いている最中に精神力と人生の貴重な時間をガンガン削ってくれる究極の嫌がらせです。 Rust は変数のコピーしちゃうと元のやつが使えなくなるクソ仕様なのです。書き手にメリットなんて一切無い。C++の悪しきメモリ管理の呪いを持ち込んで来てその中でもさらに悪い部分をデフォルトにした感じです。 struct Point { x: i32, y: i32, } fn Print(p: Point) { println!("x = {}, y = {}", p.x, p.y); } fn main() { let mut a: Point = Point{ x: 10, y: 15 }; Print(a); // エラー! println!("x = {}, y = {}", a.x, a.y); } Print(a) で1回コピーされているのでその後使うと死にます。ウソでしょ?と思うでしょ?ホントです。 そしてプリミティブ型ならOKと言う Java に似たダブスタの呪いもオマケで付いてます。 おかげさまで関数はほぼ全て明示的に参照渡しをするハメになります。 「だったらデフォルトそうしとけよ! & をイチイチ書かせんなやワレ!」と思わないのってある種の才能だと思います >>970 struct Point { x: i32, y: i32, } fn Print(p: &Point) { println!("x = {}, y = {}", p.x, p.y); } fn main() { let mut a: Point = Point{ x: 10, y: 15 }; Print(&a); println!("x = {}, y = {}", a.x, a.y); } これだとまぁエラーにはなりません。が、参照だからといってこんなことやったら死にます。 fn Print(p: &Point) { println!("x = {}, y = {}", p.x, p.y); p.x = 10; <- die } イミュータブルだからですって。はぁ・・・。 >>970 だからこう書けですって。 fn Print(p: &mut Point) { println!("x = {}, y = {}", p.x, p.y); p.x = 100; } fn main() { let mut a: Point = Point{ x: 10, y: 15 }; Print(&mut a); println!("x = {}, y = {}", a.x, a.y); } はい来た。mut mut mut mut mut mut mut mut mut ああぁぁああぁ〜〜〜!!! なんでよく使う方を面倒臭くしたがるんですか、この言語を作っている方々は。 その他又貸しの呪いやらなにやら超盛り沢山ですし。もうね私とはセンスが全く合わないです。 ぬぅぅうぅうぉぉおぉおぁぁあぁあああ!!!!!Rustよ!もうお前には頼まん!malloc と free を俺によこせうぉるぅぁあ!!こんな訳のわからんものに付き合わされるんだったら自分でメモリ管理した方がマシだわ!!! とよくみんな発狂しませんよね。我慢強いですね。馬鹿じゃないの。 とっても良い子である Nim にはこんな呪いある"ワケ"がないです。 >>970 type Point = object x: int y: int proc print(this: Point) = echo "x = ", this.x, ", y = ", this.y var p = Point(x: 10, y: 15) p.print() echo "x = ", p.x, ", y = ", p.y まぁ普通はこうですよね・・・。Rust がぶっ飛んで異常なだけです。ありえないです。 ちなみに Nim の場合 print(p) と p.print() は書き方が違うだけで意味は同じです。 >>862 参照で渡す場合はこうなります。 type Point = object x: int y: int proc print(this: ref Point) = echo "x = ", this.x, ", y = ", this.y this.x = 100 var p = Point.new p.x = 10 p.y = 15 p.print() echo "x = ", p.x, ", y = ", p.y new で Point object を作成すると参照のオブジェクトが出来ます。これを渡すために print 側の引数には ref をつけてあげます。new 関数でメンバに値を割り当てることは出来ないので後から渡してやります。 つっても上のやつはあくまで Rust と似せて書いたらこうなるよって話でこんな書き方しません。 >>970 普通オブジェクトなんて参照だろ、って事で Nim では以下のように書くのが慣例化しています。 type Point = ref PointObj PointObj = object x: int y: int proc print(this: Point) = echo "x = ", this.x, ", y = ", this.y this.x = 100 var p = Point(x: 10, y: 15) p.print() echo "x = ", p.x, ", y = ", p.y オブジェクトとそのリファレンスを同時に定義して、通常使わない方のオブジェクト側にサフィックスをつけておくと、まぁ素のオブジェクトも作りたきゃ作れるし、って話です。 自分は正直リファレンスだけで良いので更に手を抜いてこう書きますけどね。 type Point = ref object x: int y: int >>970 パターンマッチ?case でしょ? Nim も case でそれっぽく書けます。 複式パターン fn main() { let x = 1; match x { 1 | 2 => println!("1 | 2"), 3 => println!("3"), _ => println!("other"), } } let x = 1 case x of 1, 2: echo "1 | 2" of 3: echo "3" else: echo "other" >>970 範囲 fn main() { let x = 1; match x { 1...5 => println!("1...5"), _ => println!("other"), }; } let x = 1 case x of 1..5: echo "1..5" else: echo "other" >>970 case の返りを受け取る fn main() { let x = 1; let s = match x { 1 => "one", 2 => "two", _ => "other", }; println!("{}", s) } let x = 1 let s = case x of 1: "one" of 2: "two" else: "other" echo s >>970 仕様バグがない Rust の以下の挙動は全く理解ができません。 fn main() { let x = 'x'; let c = 'c'; match c { // x: c c: c x => println!("x: {} c: {}", x, c), } // x: x println!("x: {}", x) } 普通 x にマッチすると思わないでしょこれ。 さらにその直後 x が 'c' に変わってるとか予想だにしませんよ。 まぁ普通はこんな書き方しないと思いますがこんな調子ではどこでどうハマるか予測不可能です恐ろしすぎます。 Nim はこんな書き方そもそも出来ません。 >>970 コンパイラがケチくさくない nim c -r hoge これで hoge.nim をコンパイルします。 拡張子なんて指定する必要ありません。 -r で実行もします。 Rust の場合 rustc hoge <- ダメ コンパイルと同時に実行しようと思ったら rustc hoge.rs && ./hoge うーん・・・ >>985 君はブロックスコープも理解できないアホなのかww つまりNimにはスコープがないのかね 某ブログのコピペじゃん あのブログ主に恨みでもあるの?
>>970 実行速度・メモリ使用量・ファイルサイズが小さい Rust と比べて Nim の実効速度はどっこいかむしろ速いです。 Rust はこんだけイライラする書き方を強制されるにも関わらずたいして速くないとかもう哀れすぎます。 コンパイル後のファイルサイズは話にならないレベルで比べ物になりません。 fizzbuzz の例(FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他 - 強まっていこう)で言うと 項目 Nim Rust 実行速度 0.37s 0.44s ファイルサイズ 82K 3.4M メモリ 356K 900K こんな感じです。 >>990 バカ丸出し Rustはバイナリサイズも小さく出来ます だから組み込み分野でもRustが強いわけです さすがに騙される人はいないでしょう ここまで荒らしがひどいなら次スレはNimを外した方がいいかもね
第二プログラミング言語として Rust はオススメしません Nim をやるのです っていう2017年のクソブログ記事のコピペ
流れぶった切って悪いけど TypeScriptとかいうクソ言語みんなよく使えるねあんなに気持ち悪い型付けなのに こんなクソ言語使うならvanillaのが遥かにマシだからPureScript行った
Reason or RescriptがOCaml構文まんまで使えたら使ってたのにRescriptの開発者本当ろくな事しない これからWebViewアプリ全般がPWA当たり前になるだろうけど もしPureScriptが廃れるならもうjs諦めてWebASM系に行くしかないな…
>>997 ようやく一般に通用する程度にまで楽で実用になっただけで 普及はまだまだ全然だと思う みなさんWasmは何で書いていますか? あたしはRust
>>991 >Rustはバイナリサイズも小さく出来ます >だから組み込み分野でもRustが強いわけです バカ丸出し Nimは標準実装されたnimコンパイラが強力なマクロで 最適化されたCのソースコードを吐き出して、Cコンパイラ で極小バイナリまで生成するから、コンパイルするだけで 後はプログラマがする仕事が無いので怠けててもいい Rustは標準実装されたコンパイラでコンパイルするだけでは 超巨大なバイナリを生成するので、最適化せれたチューニング を施して小さなバイナリを生成しなければならないから プログラマの仕事が増えて怠けられない lud20230124155246ca
このスレへの固定リンク: http://5chb.net/r/tech/1587276362/ ヒント: 5chスレのurlに
http ://xxxx.5ch
b .net/xxxx のように
b を入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「次世代言語21 Go Nim Rust Swift Kotlin TypeScript YouTube動画>1本 ->画像>2枚 」 を見た人も見ています:・次世代言語22 Go Nim Rust Swift Kotlin TypeScript ・次世代言語28 TypeScript Swift Go Kotlin Rust Nim ・次世代言語25 TypeScript Swift Go Kotlin Rust Nim ・次世代言語23 Go Nim Rust Swift Kotlin TypeScript ・次世代言語24 Go Nim Rust Swift Kotlin TypeScript ・次世代言語13 Go Rust Swift Kotlin TypeScript ・次世代言語14 Go Rust Swift Kotlin TypeScript ・次世代言語15 Go Rust Swift Kotlin TypeScript ・次世代言語Part7[Go Rust Swift Kotlin TypeScript] ・次世代言語17 Go Rust Kotlin TypeScript Julia ・次世代言語Part8[Haskell Rust Kotlin TypeScript] ・次世代言語9[Haskell Rust Kotlin TypeScript Dart] ・次世代言語11[Rust Swift TypeScript Dart] ・次世代言語議論スレ[Go Rust Kotlin Scala]第4世代 [無断転載禁止] ・次世代言語14 Elixir Crystal Julia Rust Swift ・次世代言語議論スレ[Rust Kotlin Haskell]第6世代 ・次世代言語議論スレ[Go Rust Scala Haskell]第5世代 ・次世代言語27 Nim Zig Pony Carbon Gleam ・次世代言語13 COBOL Java PHP VBA Ruby ・次世代言語アンチスレ19 ・自称次世代言語議論スレ[PHP PHP PHP] ・TypeScript(MS) VS Swift(Apple) ・もうプログラミング言語はTypeScriptだけやっとけばいいだろ 何でもできるし ・【Type-C】USBの次世代仕様「USB4」が発表。Thunderbolt 3ベースで最大転送速度は40Gbpsに ・次世代が造った言語 blawn ・【Polaris】次世代Windows予想スレ【Andromeda】 ・【Pro】【Switch】 次世代ゲーム機テクノロジースレ No.11【Scorpio】 [無断転載禁止] ・【Pro】【Switch】 次世代ゲーム機テクノロジースレ No.6【Scorpio】 [無断転載禁止] ・【PC】AMD、「Spectre」対策で次世代チップ「Zen 2」の設計を変更 ・Dart これ以上変な言語を増やすんじゃねえ! Kotlin ・【PS4で出ない】The Elder Scrolls VI発売は次世代機と判明 ・任天堂の次世代ゲーム機 Nintendo Smart、「すでに量産開始されている」とWSJが報道 ・識者「Switchの次世代は絶望的。NVIDIAがSoCを作らない」 ・めぐみ「SwitchはこのままだとPS5と次世代XBOXに食われる可能性がある」 ・【Nexusから】次世代Google端末を語るスレ Part14【Pixelへ】 ・【PS5】大手メーカー「次世代機で驚くには100倍の性能差が必要」【Switch】 ・【Nexusから】次世代Google端末を語るスレ Part15【Pixelへ】 [無断転載禁止] ・【ARM】クアルコム、 次世代SnapdragonプロセッサーがWindows 10に完全対応へ ・アップルコンビュータ ARMプロセッサを積んだ次世代MAC miniを54000円。Pippin@並みの価格で販売 ・Sony Mobile 次世代Xperia 総合181 ・【Switch】 次世代ゲーム機テクノロジースレ 【Scorpio】 ・【Scorpio】次世代ゲーム機テクノロジースレ 【TegraX3版Switch 】 ・【IPスレ】RDNA2 SIE次世代機予想スレ 爆速SSD 72世代目 【PS5】 ・【次世代スピーカー】透過スクリーンに動く歌詞を表示「Lyric Speaker」発売 [無断転載禁止] ・TypeScript part4 ・TypeScript part2 ・TypeScript part3 ・Sony Mobile 次世代Xperia 総合142 ・Sony Mobile 次世代Xperia 総合151 ・Sony Mobile 次世代Xperia 総合146 ・Sony Mobile 次世代Xperia 総合138 ・Sony Mobile 次世代Xperia 総合127 ・Sony Mobile 次世代Xperia 総合118 ・Sony Mobile 次世代Xperia 総合228 ・Sony Mobile 次世代Xperia 総合176 ・Sony Mobile 次世代Xperia 総合214 ・Sony Mobile 次世代Xperia 総合235 ・Sony Mobile 次世代Xperia 総合152 ・Sony Mobile 次世代Xperia 総合246 ・Sony Mobile 次世代Xperia 総合164 ・Sony Mobile 次世代Xperia 総合157
00:26:27 up 29 days, 10:50, 0 users, load average: 8.74, 8.73, 10.78
in 0.071110010147095 sec
@0.071110010147095@0b7 on 011014