次世代言語18 V Julia 他
■ このスレッドは過去ログ倉庫に格納されています
スレタイ以外の言語もok
前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/ モナドが難し過ぎてHaskellでmain関数書けないんだが
こんなもん普通の言語に導入するのは無理がある >>264
重要なことを書くのを忘れた
「型を追わなくていい」んだな
そこに注力する必要がなく、適切なprotocolと定義があるかを見ることが重要になる
型付け言語と動的の場合それぞれアプローチが変わってくる 関数型言語は関数型を使ってる自分に酔ってシコるためだけに存在する言語だからね
シコScalaやシコHaskellは勉強しなくていいよ 座標を扱う時に直交座標も極座標も数値型の組に過ぎないから型があってるだけでは不十分
みたいな話ならまだ分かるんだが >>281
それは設計が悪いだろ
まともな頭してたら直交座標と極座標は別の型にする CLOSなんかでも総称関数で想定外のオブジェクトが渡されたら大変なことになるなんて言う人いないと思うが
最終的に呼ばれるはずだったslotが存在しないオブジェクトを扱おうとしていたら直ちにトラップか
コンパイルする処理系だと事前に警告だから
どこをどうやっても全体修正なんてことにはならない
強い型付けをしても想定通りに動かないコードが出来上がってしまうのは
すなわち型だけで安全性を高めることはできない証左とも言える
その理由の一つに一般的に型とは振る舞いを定義しているものではないからだ
型が合わなければ通さない、合っていれば通す、ただそれだけのことであって
通した後の処理まで面倒見ているわけじゃあない
本末転倒になっているのはこの部分だね こんなお花畑野郎とは絶対に一緒にコード書きたくねえな
型以前の問題だったわ こいつの言ってる安全性ってなんなんだ
勝手に神話を作って勝手に信じたのか マネージャーとの面談にて
マネージャー「最近の調子はどんな感じなんだ?」
型キチ「概ね大丈夫です……ただ、静的型付け言語が一部のプロダクトで使われてるのだけが不満で……」
マネージャー「か、型?それだけが問題なのか?」
型キチ「それだけ!?!????????!?型が理解できないし勉強できないメンテナンスできない人がいるんですよ!???ギャオオオン!!!」
悲しいね 型ガイさんって正直Javaしか使ったことかいんでしょ?
怒らないから言ってみ? 型があれば処理が正しいなんて言ってるやついないじゃん
そんな神話聞いたことないわ
存在しない脅威について怯えるのは出来ないエンジニアにありがち マジで無能はオールオアナッシングでしかものを考えられない >強い型付けをしても想定通りに動かないコードが出来上がってしまうのは
>すなわち型だけで安全性を高めることはできない証左とも言える
JavaScriptは強い型付け言語ですけど
動的型付け/静的型付けと強い型付け弱い型付けの区別もついてないレベルで
こんなご高説垂れてたのか 型ガイさんって正直Java(8未満)しか使ったことかいんでしょ?
怒らないから言ってみ? 静的型付けネガる人って何でもStringとか何でもMapとか、あるいは配列の1番目はx座標で2番目はy座標を返すメソッド!
とかやっちゃう人なのでは?型が簡単に作れて使える世界を知らないだけでは? >>293
ベターを知らないんだよな
ベストとワーストでしか話しが出来ない
能力があって責任ある立場にいればそんな発想にはならない >>294
JavaScript は一般的には弱い型付け言語じゃないの?
今も "1" + 1 とかできるんだよね? Scalaが次世代言語になれなかったのは事実
成功して現世代と言えるくらいになった次世代言語が型がゆるいGoくらいっていうのも事実
でもScalaが自滅したのは強い静的型付けだった「から」じゃないし
Goが流行ったのは型がゆるい「から」じゃないはずなんだけど
なんでそういう関係ないところで型の有用性について議論したがるかね >>248
んで?今でもあんたはそのobjectworks使った仕事してるの? >>283
誰一人として型だけで安全なコードができるなんて言ってないのにお前は誰に向かって書いてるんだ? >>272
少なくともpythonに関しては、JetBrainsのIDEといえどtype hintingが無いと結構失敗する >>298
それは暗黙の型変換が行われるだけで、その結果は言語仕様で定義されてるから、型システムとしては型安全性があると言える
型安全性があるのが強い型付けで、無いのが弱い型付け、とされる
でもそう定義する界隈があるってだけで、それが絶対的な定義ではないとは思うけどな 型キチってScala関連の書き込みには全くレスつけてくれないけど
そういうことなんだなって察してしまうわ 型の話が出るといつもコンプレックス丸出しの奴がギャーギャー騒ぎ始めるねえ
scalazで落ちこぼれたのは分かったけどもw 自分の脳内で作り上げた想像上の人間がScalaスレに書き込んでないことから何かを察するの、すげえな 型についてそこまでこだわっても品質なんてそこまで変わらんとも思うが、
しかし言語選択で今一番影響あるのは型の強さとかあるなしかもな。
まあperlとかphpレベルで暗黙変換しなけりゃ俺はいいかなと思うけど。
動的静的よりも暗黙変換をどれくらい許すかのが個人的には重要かな。 一般的型キチさんの開発環境
Java6、SVN、Eclipse、Windows、WinMerge、秀丸エディタ、オンプレミス、エクセル、社内Wiki、Outlook
一般的動的マンの開発環境
Ruby・Python・PHP、Git、IntelliJ、Mac、Docker、AWS・GCP、スプレッドシート、esa、Slack
悲しいなぁ……😭😭😭 本業C#だがMacがWindowsになる程度だしクソ企業と普通の企業の差では
あと表計算ソフトはスプレッドシートと名を変えようがダメ >>308
そんなにMacが好きならSwiftやiWork使えよww 「俺Mac取ったー!おまえWindowsな!」
小学生かw >>308
スレタイに出てるJuliaは空気だな? Pythonのデータ系やJuliaはWindowsも多いよ
Rubyなんか挙げちゃった子には無縁の世界 v 更新しとるんだな。今ならてきとうにコミットするのはありかも。
https://github.com/vlang/v このスレマジでMacにコンプ持ってるやつ多すぎて笑うわ
未だにWindows使ってるレガシー企業のくせに次世代言語てw むしろ未だにMacにこだわってる方が加齢臭すごい
LinuxとWindowsがあれば十分で、Macとかいう中途半端なゴミはいらない TS, Go, Rustを使いたがるスタートアップ界隈はWSL2次第でWindowsに戻ってくる動きもあるんだがな
>>313
副業でRubyもたまにやっているがDockerが普及してWindowsユーザーも増えているぞ
Rubyの会社で今時Docker環境じゃないのは余裕がない証だと思って避けているわ >>308
型キチだが
TypeScript・Python(Type HintingなしはNO)、VSCode、Ubuntu Desktop(Core i9) + Mac、AWS、Slack
モダーンで、すまんなすまんなw 自分の一存でScalazを採用させるだけの発言力があるのに
Java6 SVN Eclipse 使わされてるSIerって型キチの設定ガバガバすぎない? >>319
rubyなんかはそこまで低レイヤーさわらんし、バージョン管理ツール使ってりゃいいんでないの?
docker だとやりすぎ感があるんでは?
c/c++系統の奴使ってるとか、kubernetes使うとかでもない限りそんなに必要と思わんのだけど。 >>314
サンプルやコンパイラがメモリリークするのは直ったんだろうかね
Goのように簡単に書けてRustのようにGC無しで自動解放すると言っていた
Go/Rustを超える詳細不明のメモリ管理が実装された話は聞かなかったが ✕ Windowsの方が良い。Macはいらない
○ Windowsしか使っていないレガシー企業に所属しているからMacに触れる機会が無い AppleなんてMSが資金援助しなかったら潰れてたんだから
Apple信者はジョブズじゃなくてゲイツを崇めるべき 型付コンプマンとOSコンプマンは同一人物か
どうでもいいから言語の話をしろよ? PythonがRubyを倒した時にはこんな問題はなかっただろう
C#とTypeScriptあたりが潰し合えば問題ないのに
論点をそこに設定できない理由があるならそいつが元凶だ >>324
個人的には無理だろと思ってるけど、実際コミットしてみるのは面白そうかなと思う。
どっかでそれなりの妥協するか崩壊するかだろうけれど言語勉強にはいいんでないかな。 >>328
Juliaの話題が出ないから次スレからスレタイから外したら。 >>323
バージョン管理ツールがGitとかのVCSを指しているなら意味が分からんのだがどういう意味だ?
Docker DesktopとGitを入れて `docker-compose up` で開発ができ、CIから何からを半自動でやるのがインフラを整えるということでは >>333
rubyで閉じるならrvm, rbenv使うなりしてりゃ環境合うだろって話。
それ以上低レイヤー依存が激しいならdockerもありだろうが、
使わんでもcloudでインスタンス利用するならdockerは無駄な冗長化だなと思う。
docker compose とかすげー半端感しか感じないんだが。
大してスケールするわけでもないし。 >>334
あー、xenv系の話か。すまん、俺がボケてた
言っていることは一理あるしそういう派閥がいるのも知っているが俺は完全に同一の環境で開発するのを是としている
ただ開発環境がDockerでデプロイ先はVPS直という現場はアホだと思うよ https://japan.zdnet.com/article/35139247/
MIT、「Julia」上で動作する初心者向け汎用AIプログラミングシステム「Gen」を発表
Liam Tung (ZDNet.com) 翻訳校正: 編集部 2019年07月01日 10時55
マサチューセッツ工科大学(MIT)は米国時間6月26日、確率的プログラミングシステム「Gen」を開発したと発表した。
Genにより、初心者でもコンピュータービジョンやロボティクス、統計に関する処理を容易に手がけられるようになるという。
Genは、「Julia」に組み込まれるかたちで実装されている。なお、JuliaはMITの研究者らによって2012年に公開された
動的プログラミング言語であり、世界的に高い人気を集めている。
Genの開発者らは「カスタム化した複数のモデリング言語をJuliaに組み込む」ことで、ユーザーが「数式と格闘したり、
高効率なコードを手作業で記述したりせずとも」人工知能(AI)のモデルやアルゴリズムを開発できる
新たなAIプログラミングシステムを生み出したとMITは述べる。
このシステムは予測などの複雑なタスクにも使用できるため、技術に造詣の深い研究者にも役立つだろう。
MITの論文によると「Gen」という名称は、従来の確率的プログラミングでは考慮されていなかった、
「汎用目的」(General purpose)での使用を可能にすることを念頭に置いて付けられた。
論文には「既存のシステムは汎用目的としては実用的ではない」と記されている。
また、「特定の問題領域にのみ適した、制約の大きいモデリング言語を提供しているシステムがある。
その一方で、どのようなモデルでも表現できる『汎用の』モデリング言語を提供しているシステムもあるが、
そういったシステムは使いものにならないほど収束の遅い推論アルゴリズムしかサポートしていない」とも記されている。 今回のシステムにより、例えば、人の姿勢といった立体的な形状の状態を推論し、
自動運転車やジェスチャーベースのコンピューティング、
拡張現実(AR)に用いられるコンピュータービジョンのタスクを簡素化するようなプログラムを作成できるようになる。
Genは、MITが2013年に「DARPA AI」プログラムから獲得した資金によって2015年に開発した
確率的プログラミングシステムを強化するかたちで、グラフィックス描画やディープラーニング(DL)、
さまざまな確率シミュレーションを組み合わせている。
MITで電子工学及びコンピューターサイエンスの博士課程を専攻しており、
この論文の主執筆者であるMarco Cusumano-Towner氏は、「自動化されたAIを、
コンピューターサイエンスや数学の専門知識をさほど必要とせずとも、
容易に扱えるようにするというのがこの研究の目的の1つとなっている」と述べている。
「われわれはまた、生産性を向上させることで、専門家によるAIシステム開発時の試行錯誤や
プロトタイプ作成の迅速化を容易にしたいと考えている」(Cusumano-Towner氏)
Microsoftが「AIの民主化」を旗印に掲げているように、
MITの研究者らもデータサイエンスをあらゆる人々のもとに送り届けようとしている。
また、MITによるとこれは、Googleの「TensorFlow」の1歩先を行くものだという。
MITは、TensorFlowが「DLモデルに的を絞っている」という点で、
AIの持っている潜在的能力を完全に解放していない可能性を指摘している。 また生産性を向上させてしまった・・・これは言ってみたい 生産or消費でしかものを考えられないんだな
これを言ってやろう 型キチや型無し不能者は正直どうでもいいから置いとくと、実際のところ俺の周り(当然狭い)で仕事で関わる可能性のありそうな次世代言語はある程度の静的型付け可能な言語かな(具体的にはGo, Rust)。
みんなの周りでは動的言語で仕事に関わりそうな次世代言語ってどんなのある?(純粋な興味) 型に関してはうまい落とし所のがあればいいな
ガチガチでもなくゆるゆりでもないみたいなの そのひとつが漸進的型付けで、TypeScriptはかなりいいセンいってると思う。 >>342
そもそも次世代言語に動的型のやつあったっけか? 過ちを犯した者が仕様変更しなさい
仕様変更しているのは静的型だけになった Haskellは安全性では一番だけど
モナドと遅延評価が難し過ぎて普通の人がコードを書くのは難しくて失敗
Cの型は単なるメモリレイアウトで実質型なしで
スタックオーバーフローなどの脆弱性を大量に生み出し失敗
Javaは割と堅牢な型システムだがnullを放置したせいで
ヌルポの山を築いて失敗
RustはCにまともな型システムを導入しようとしたが
所有権に誰もついていけず見事失敗
Goは動的言語と静的言語のいいとこどりをしようとして中途半端になって失敗
TypeScriptは漸進的型付けというありそうでなかった型システムだが
型定義が面倒すぎる上anyは嘘派と頑張らない派で対立して失敗 >型定義が面倒すぎる
面倒と思うのは既存のjsコードに型定義を付けるときくらいで、最初からtsで書いている分には
面倒と感じたことはないがなぁ。
他の静的型付け言語とかと比べてどういうところが面倒なんだろうか。 所有権はC++の頃からあるよ
Rustで新しく導入されたと言えるのは借用規則とライフタイム 「所有権」と呼ばれる概念は昔からあるけどそれが何を表しているかは結構バラバラなわけで、
そこは「rustの所有権システム」と解釈すべきなんだろう。 どうでもいいけど、今の40代って軒並み役に立たないな
オンプレのLinux操作は早いけど、それだけ
保守歴長すぎて、新規でコード書くことが一切できない
まさかRDBの設計すらろくにできないくせに、俺は35定年を乗り越えられたエンジニア、みたいにしてるのマジで笑えるわ
死んで欲しい
転職してえ 人には得意不得意があるのだから「出来ないことがある」で評価すべきではありませんよ。「出来ることがない」なら無能なので切りましょう >>352
わかってるよ、保守で役に立つんだから、保守やっててくれりゃいい
オンプレマシンのお守りも重要な仕事だ
だけど「設計はベテランに任せておけ」とか40代のゴミ同士で乳繰りあって盛り上がってるの見ると
ホント寒気がするんだわ
試しにDBの論理設計やらせたら、正規化もまともにやってない、型は適当、NotNullも定義してないExcel出してきやがる
20件くらい指摘上げたら、「君こだわり強いねw」とか「業務は趣味じゃないんだから」とか言い出すんだぜ
目眩がしたわ
絶対ああはなりたくない この手のやからは単に自分の得意分野でドヤってるだけ >>355
バックエンドもフロントエンドもできるが
少なくともあの爺どもよりは 俺もおまえらも薄汚い無能オッサンになるんだよ
次世代言語どころか、現世代言語すら理解できないような悲しいオッサンにな
だから、有意義に過ごせよ、この何でもない毎日をよ すでに完全にオッサンから初老に一歩足いれてるワシの観察によると
若い時分に「老害は新しいモノがわかってない!これからはこういう
新しい概念を理解してないとダメだ!」みたいなこと言って意固地に
なってたタイプほど、歳食ってから老害になるパターンが多い印象
逆に仕事で金もらえるならなんでもやりますよ、みたいなやつは
歳くっても頭が柔らかい。 >>348
とにかく型定義ファイルがだるいし
それがあってるのかという型そのものへの疑心暗鬼が生まれてしまいメンドクセとなる
あと結局型の設計がJSっぽさ満開のライブラリだと
頑張れば型付けできるがそもそもの型設計が
クソ過ぎるため型パズルを解くことになるのもだるい
TSそのものというよりそれ含めた環境が地獄なので
相当難しい >>361
これはガチ
金になるからって理由で流行りものに広く浅く手出してるやつの方が実践的な経験たくさん積んでるし長生きしてる >>361
プログラミングなんて一つ覚えれば他は応用で何とでも出来るからな
言語は設計者の信念や価値観が反映されるし
最近はその傾向が非常に強く濃く出てるからな
最後はその価値観や信念を受け入れられるか否かになってるね >>361
アラサーだけど完全同意
年齢というより本人の性格 若いうちにガッツリ開発した経験があればいつでもやり直せると思うが
ずっとマニュアル通りの保守運用してた人とかは厳しい >>362
>とにかく型定義ファイルがだるいし
それ.d.tsの話だろ。
最近はnpmもかなりts対応が進んで、ここ1年以上自分でアンビエント宣言書いてないわ。 スレタイからTS消したのに結局TS・JSの話しかしてねーな プログラマーがJSと仲良くなる方法?
一緒にスイッチやろうぜ!これだけでいい 結局Scalaが世界中巻き込んだ大爆死して
型なんて適当でいいんだよ派のGoが覇権取ったのは
型キチにとって最高に都合が悪いから
露骨な話題反らししたり老害ペチパー連呼したりするんやろなあ ■ このスレッドは過去ログ倉庫に格納されています