次世代言語15 Go Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
>>37
GCの挙動予測しなきゃいけないくらいシビアに作らなきゃいけないものなら確かにRustで書く
ただ単なるWebのAPIサーバとかでそんなシビアに作るか?という話
例に挙げたpixiv Sketch Liveはエンコーディングが絡むからGoでは確かに辛い >>38
一言でいうなら後付けの建て増しに見えるから、かな?
初めからオプションによって色々変わる設計ならビルダーパターンなり構造体を引数に渡すなり
設計段階からオプション引数が不要なように書いてると思うんだ
ただ単なる偏見な気もする それ複雑さがビルダーの初期化に移るだけだろ
記述量でみるならオプション引数の方が簡潔 1つ2つくらいなら確かにそうだけど、
その流れで気づいた10個越えてたってパターン複数回見てるから、
オプション引数使うより初めからいくつ増えてもいい設計にした方がいいのでは?と思う
もちろん思考停止で増やした奴が一番悪いのは知ってるが 10個になったってビルダーよりオプション引数のほうが簡潔でしょ
何言ってんの? 初めから完璧に設計なんてできないんだから、備えておくこと自体ナンセンスだよ
初めの設計が破綻したらdeprecatedにマークして、その時点で最適なインターフェースを作ればいいじゃん rust 2018 editionが標準になったな
書き換えるのに2時間くらいかかったわ Javaだと1週間かかっていた機能追加が、Kotlin移行後は2〜3日でできるようになりました。
――工数が半分以下に減ってるんですね……! Android版Yahoo!ニュースではまだJavaを使っている部分もあるかと思いますが、今後Kotlinへ完全移行する予定はあるのでしょうか?
https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000 設計見直したのが大きいってな
Androidならコトリン一択だろうけど そこはGoogleらしいね。
ただ、鯖ならもっと良い言語あるだろってのはあるし、Goにも言えるけど鯖から外の用途がGoogleの言語は伸びないのよね。
GoもGUIライブラリ弱いし。
自社に関係する用途以外に関心が無いっぽいのがね。。。
オープンソースって元からそういう所あるけど、仮にもGoogleがバックアップしてるのに。
MSも似た様なものだけど、関係する分野自体が手広いからライブラリも充実する。 javaのトランスパイラだならサーバも書けるけど
新規で書くのにコトリン選んでたら指差して笑う GUIはFlutterでやるんかね
C#の層をねらっているようにもみえる >>59
気の毒なことにコトリンを選ぶ現場はあるたいなんだ
潜在的にはjavaのが圧倒的に多いだろうけど jvm使うかどうかなら分かるけど
javaかkotlinかって些事じゃね 選べるのにわざわざjvmに縛られるスカポンタンがいるってこと >>61
そうだなあ。Javaしかできないと言ってる人にいきなりやらせてすぐにできるようになったらその人はかなり良いプログラマである可能性があるということはわかる。
何ヵ月やってもダメっぽい場合は他の事も多分ダメでプログラマ向きの人ではないから他の仕事に移すかクビの方向で検討。 ここ的には基本Go
もっと性能予測や速度が必要ならRustって感じか? kotlin触った後にdart触るとセミコロンがうっとうしいな
次世代言語にセミコロン不要だわ ■C#
list.ForEach( e => {
Console.WriteLine(e);
});
■Java
list.forEach( e -> {
System.out.print(e);
});
■Rust
list.for_each(|e| {
println!("{}", e);
});
■Dart
list.forEach( (e) {
print(e);
}); ■JavaScript
list.forEach( e => {
print(e)
})
■Groovy
list.forEach { e ->
print(e)
}
■Kotlin
list.forEach { e ->
print(e)
}
■Swift
list.forEach { e in
print(e)
} ■Go
※筋力でforループ
セミコロンもだけど末尾ラムダの場合に括弧減らせる方が俺は好きだな >>73
Rustのノイズの多さが目立つな
Dartもアロー的なものがない分締まりがない印象 ■Smalltalk
list do: [:e |
Transcript cr; show: e printString
] >>75
goのforは他の言語のforeachと大して差があるとは思えんが 色々調べてお疲れだと思うけど、そのラムダ式を変数に代入した場合を書いてみるといい
ちゃんと色々考えて機能追加したのか、それとも流行りに乗っかっただけなのかが分かるから >>81
主眼がラムダ構文だったから
>>82
そこを書いて自分の考えを出してこうぜ
俺も連投の割には>>75の最後の行が言いたかっただけだし >>83
俺わかっちゃってます風の文句しか言えないガイジに、自分の考えなんてあるわけないだろ
こういうやつは流行りに乗っかっただけのマウントが取りたいだけのキョロ充以下のゴミ虫なんだよ ラムダを渡すのがポイントなわけね。なら、「作ればある」って感じか。
type anySlice []interface{}
func (this anySlice) forEach(f func(i interface{}) {
for _, e := range this {
f(e)
}
}
list.forEach(func(e interface{}) {
fmt.Println(e)
} そもそもラムダ式を変数に代入とか普通しないのでは
型推論が台無しになるでしょ 普通の関数型言語の型推論 ( HM型推論 ) なら
ラムダ式を変数に代入 ( 束縛 ) しても正常に型が付く ベクトル計算,統計,数値解析など
Python,R
ブラウザ上
JavaScript
トランスパイラ
TypeScript,Dart,Kotlin
WebAssembly
(多すぎ省略)
アプリ,サービス
コンパイル
C#,Java,Scala,Kotlin,Swift,Objective-C,Dart,Go
スクリプト
Ruby,Perl,PHP
JSフレームワーク使用(Node,React/Native,Electronなど)
JavaScript,TypeScript
ミドルウェア,ドライバ
C,C++,Rust,Go
適応領域/縄張り的な観点で人気言語から列挙、異論は認める ハードウェアを使う計算処理のDSLとも言えるようなPython,Rの領域は
他が入り込めそうにない
TypeScriptはJavaScriptの上位互換性がかなりの強みになっているが
ネイティブコールは他に頼る必要がある
.NET Native, Substrate VM, Kotlin/Native, Dart など
VM型だったものがLLVM等を利用し、
FFIを持つだけでなくネイティブのバイナリを生成出来るようになっている
ある程度用途や領域の前提が無いと比較は難しいだろう
ビルド関連,エコシステムも実際上は言語選定に含まれる
もちろん題材としては構文(型システムなど含む)の優劣のみ比較するのでも良いと思うが >>83
渡す必要もないのにラムダ渡さないとダメですか。。。(震え声)
mapM (\e -> print e) list 流石にラムダは書けるのに関数は渡せないなんてクソ言語は無いだろwww
無いよね?
list.forEach(print) 広告がめっちゃ悪さするけどいつからマルウェア配布してたんだ? >>73
>>76
>>77
rustはもうちょっと簡潔にはなる
iter.for_each(|e| println!("{}", e)) 1引数1ステートメント前提での省略書くのは
実用はともかく比較のセンスは悪いと思う・・・ >>101
_は圧倒的にUS配列の方が打ちやすいんだよなあ 右小指をプレス機で潰しちゃって、事務職に転属した人かもしれない。 日本語キーでも右Shiftとその隣を押すだけだしこれが押しにくいってことないだろう >>73 >>74
■Python
for e in list:
print(e) >>106
さらに e はブロックから飛び出すウンコ仕様
PHPと同レベルだね javascriptのvarもぴょんぴょん飛び出すかわいいやつだぞ! >>108
・・・
スクリプト言語ぜんぶ同じだと思ってるの・・・?・・・w 大抵の言語って主要な用途がはっきりしてるけどさあ
Rustって一体なんの分野で使うのが主流なの? 開発者7万人に聞く、2018年学んだプログラミング言語第1位は? 2019/01/31 09:40:20 後藤大地
https://news.mynavi.jp/article/20190131-764256/
HackerRankはこのほど、7万人ほどの開発者を調査した結果を「2019 Developer Skills
Report - HackerRank」として公開した。同調査は、プログラミングに従事している開発者が
どのような技術を学んだのか、今後どのような技術に取り組みたいのかなどをまとめている。
開発者が2018年に学んだプログラミング言語としては、JavaScriptが1位になっている。
これにJava、C、Python、C++が続いている。
2019年に開発者が学ぼうと考えているプログラミング言語ではGoが1位で、これに
Kotlin、Python、TypeScriptが続いている。これまでの動向からは、開発者が学ぼうと
考えてるプログラミング言語が必ずしもその後のプ人気には結び付いていないことも
示されている。
プログラミング言語の人気ランキングにおいて、JavaScriptはそれほど上位に入っていない
ことが多いが、HackerRankのレポートは多くの開発者がJavaScriptの学習に取り組んでいる
ことを示している。JavaScriptが実際のシステム開発に必要な技術として広く活用されて
いるものと見られる。 ちょっと油断するとすぐ名前出なくなるF#さん・・・ F#のパイプ演算子は非常に便利なのでぜひ普及してほしい node/typescript, kotlin, rust
この3つで出来ない(向いてない)ことってiosアプリ以外にある? 明らかに向かないのはWindowsデスクトップアプリや統計だろうな 3つともiosアプリ/Windowsアプリを作れると思うけど
相対的に向いてないのはPythonやRが得意とするその辺だろうね すまん。後出しであれなんやが各エコシステムが満タンになった未来想定で頼む。
> Windowsデスクトップアプリ
これは js(typescript)/kotlin native でなんとかならんやろか。
> 機械学習, 統計
これは何でpythonが押されてるのか良くわかってないんやが、
rustが成熟しても選ばれんのかな。何かpythonにしかないメリットがあるんやろか。 IOSアプリ
TypeScript : (JavaScript) : React Native他 : 例 Facebookアプリ
Kotlin : Kotlin/Native(IOS)
Rust : 例 Firefox Quantum
Windowsアプリ
TypeScript : (JavaScript) : Electron : 例 Visual Studio Code
Kotlin : (Java) : 例 IntelliJ
Rust : 例 Firefox Quantum エコシステム満タンならPythonの得意分野もいけると思う
現状でもTensorFlowとかJavaやRustから使えるし
でも現実的にエコシステムが追いつくことは難しそう
Pythonの初学者にも読みやすい性質と
データサイエンス系のエコシステムの充実さにより
そういう分野の人が流入して、それにより充実さが増す流れが出来てる 何でpythonかちょっと調べてみたわ。
ttps://qiita.com/yaju/items/5502115d7e3d06e6bbdd
「エコシステム・コミュニティ・サポート・言語の簡易さ」こんな感じの理由やった。
だいたいはエコシステム最強の近未来Rustなら置き換え可能な要素やろうと思ったんやけど、
「言語の簡易さ」はどうにもならんね。機械学習始めようと思った人がRustから入門するのは現実的じゃないわ。 >>128
そうみたいやね。おんなじ結論やわ。
typescriptで機械学習の呼出ライブラリ作りまくればワンチャン・・ないか。
そしたら
node/typescript(js後継), kotlin(java後継), rust(c/c++後継), phthon(入門用&AIできるよ)
この4つならコンピュータ用途の最大公約数ってことでええんやろか。 >>127 アプリってどう言う意味で書いたの? アプリを開発できるかどうか?
iOS だったら、pythonista が結構使えそうだよ。
python から、iOS のシステム関数とかObjective-C の関数を呼べるからほぼ何でもできる。
python の外部ライブラリのうちCで書かれたライブラリは使えないけど大体のことは間に合う。
GUI も簡単に作れる。 センサー類も全て使えるしかなり評判が良い。 GUI はjson を呼んでるらしいからWebkitの配下で動いているっぽい。
python 其の物は既に学生の教育用として確たる座を占めたから当分人気が落ちることはなさそう。 pythonista で作ったものは、App store の審査に通らないらしいから売ることはできない。
売るとなるとSwiftを使う事になるが開発環境の垣根が高いからイマイチ人気が伸びない。 オープンソースになったからMac以外でもコンパイルは出来るようになったが、Objective-C のライブラリまで解放されてるわけじゃないからイマイチ。
言語的には好きな言語なんだが。 >>114
CRUD試せるようなwebアプリ作ってみたけどwebには向いてなかったで。
GCいらずの利点が薄いしエコシステム無いしIDEの補完弱いし言語仕様むずいし。
最悪1人でも作れるような小規模サイトじゃないと無理やと思う。現時点では。 >>134 何日か前にpython の人気ランキングが上がってると言うニュースを見て、一昨日辺りからpythonの紹介記事や入門動画を見て、これは使えそうだなと言う感触を得た。
今朝 pythonistaをダウンロードして、どんなものか試したりpython の基本構文を練習したりして、概略がわかってきたから、昼からiOS 用アプリの練習問題としてのサンプルを動かしてみた。
iPhoneでiPhoneアプリを作ろう
https://qiita.com/ttsutchi/items/34fb3395f085e5e11f6e
こんな感じ
https://i.imgur.com/Tz3u3xn.jpg
WysiWig で配置を自由に動かせるから便利。
昔HTML の作成ツールでWysiWig の物を使ったこともあったが、余計なHTMLを吐き出して後のメンテナンスが大変になるから、すぐにやめた。
これは変なコードを入れる訳でもないから使いやすい。
ただ、アプリをホームに登録して動かして終わった時にソース画面に移るのは煩わしい。 何か方法はあるとは思うが。 日本でpython の普及が遅れたのは、Rubyがあったからみたいだね。
スクリプト言語だから、perl やRuby に似てて当然なんだが、その分pythonは多言語化に遅れてる気はする。
HTML の作り方の紹介動画を見てるとperl を使った作り方に似てるなと思った。
javaのJSPよりはよほど使いやすそう。
自分がpython をやっても良いかなと思ったのは、
1. インタプリタで誰でも入門が簡単
昔のBASICに変わりうる立場。 教育に良い
2. 何でもやれそう。
スマホアプリを手軽に作れるのは趣味に良い。
2.1 Web アプリを作るのが簡単そう。
2.2 Excel との相性が非常に良さそう
今やアメリカの事務職でもpythonが出来ることを求められ始めている。 事務としてはExcel の延長だろうな。 高級VBA? てかpython程度の言語なら流行ったらその時にでも勉強すれば十分だろ。
perlやrubyに比べたらだいぶ楽だぞ。何を警戒してるんだか。 ■ このスレッドは過去ログ倉庫に格納されています