X



次世代言語15 Go Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
0039デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:46:47.45ID:oqLpMouH
>>37
GCの挙動予測しなきゃいけないくらいシビアに作らなきゃいけないものなら確かにRustで書く
ただ単なるWebのAPIサーバとかでそんなシビアに作るか?という話
例に挙げたpixiv Sketch Liveはエンコーディングが絡むからGoでは確かに辛い
0040デフォルトの名無しさん
垢版 |
2018/11/12(月) 21:51:58.92ID:oqLpMouH
>>38
一言でいうなら後付けの建て増しに見えるから、かな?
初めからオプションによって色々変わる設計ならビルダーパターンなり構造体を引数に渡すなり
設計段階からオプション引数が不要なように書いてると思うんだ

ただ単なる偏見な気もする
0041デフォルトの名無しさん
垢版 |
2018/11/13(火) 09:35:36.18ID:fQuR5//n
それ複雑さがビルダーの初期化に移るだけだろ
記述量でみるならオプション引数の方が簡潔
0042デフォルトの名無しさん
垢版 |
2018/11/13(火) 12:31:21.43ID:cIfg6ryU
1つ2つくらいなら確かにそうだけど、
その流れで気づいた10個越えてたってパターン複数回見てるから、
オプション引数使うより初めからいくつ増えてもいい設計にした方がいいのでは?と思う

もちろん思考停止で増やした奴が一番悪いのは知ってるが
0043デフォルトの名無しさん
垢版 |
2018/11/13(火) 12:33:36.66ID:w+5Fg6TC
10個になったってビルダーよりオプション引数のほうが簡潔でしょ
何言ってんの?
0044デフォルトの名無しさん
垢版 |
2018/11/13(火) 21:27:07.00ID:QLpFZmq5
初めから完璧に設計なんてできないんだから、備えておくこと自体ナンセンスだよ
初めの設計が破綻したらdeprecatedにマークして、その時点で最適なインターフェースを作ればいいじゃん
0045デフォルトの名無しさん
垢版 |
2018/12/07(金) 21:30:32.68ID:UwGzxIiR
rust 2018 editionが標準になったな
書き換えるのに2時間くらいかかったわ
0047デフォルトの名無しさん
垢版 |
2018/12/09(日) 18:02:57.69ID:cEdFWcHV
Kotlinもよろしく
0048デフォルトの名無しさん
垢版 |
2018/12/09(日) 21:31:48.39ID:piyaaQaM
コトリンて仕方なく使うもんでしょ
0049デフォルトの名無しさん
垢版 |
2018/12/10(月) 10:50:15.57ID:4x6+51xy
Javaだと1週間かかっていた機能追加が、Kotlin移行後は2〜3日でできるようになりました。

――工数が半分以下に減ってるんですね……! Android版Yahoo!ニュースではまだJavaを使っている部分もあるかと思いますが、今後Kotlinへ完全移行する予定はあるのでしょうか?

https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000
0050デフォルトの名無しさん
垢版 |
2018/12/10(月) 13:23:39.04ID:csFNmBrf
設計見直したのが大きいってな
Androidならコトリン一択だろうけど
0051デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:03:18.59ID:l83Jt/Qg
逆に言えばAndroidにしか使えない
0053デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:28:47.29ID:l83Jt/Qg
そこはGoogleらしいね。
ただ、鯖ならもっと良い言語あるだろってのはあるし、Goにも言えるけど鯖から外の用途がGoogleの言語は伸びないのよね。
GoもGUIライブラリ弱いし。

自社に関係する用途以外に関心が無いっぽいのがね。。。
オープンソースって元からそういう所あるけど、仮にもGoogleがバックアップしてるのに。

MSも似た様なものだけど、関係する分野自体が手広いからライブラリも充実する。
0054デフォルトの名無しさん
垢版 |
2018/12/10(月) 23:54:10.39ID:csFNmBrf
javaのトランスパイラだならサーバも書けるけど
新規で書くのにコトリン選んでたら指差して笑う
0057デフォルトの名無しさん
垢版 |
2018/12/12(水) 00:50:38.08ID:vL0UIWVV
dart復活あるか?
0059デフォルトの名無しさん
垢版 |
2018/12/24(月) 17:32:37.72ID:72iVvCQA
>>54
新規案件でjavaなんて選ぶ?
0060デフォルトの名無しさん
垢版 |
2018/12/24(月) 18:09:22.26ID:dcQ4yWsY
>>59
気の毒なことにコトリンを選ぶ現場はあるたいなんだ
潜在的にはjavaのが圧倒的に多いだろうけど
0062デフォルトの名無しさん
垢版 |
2018/12/25(火) 09:01:23.38ID:WTLCOmht
選べるのにわざわざjvmに縛られるスカポンタンがいるってこと
0063デフォルトの名無しさん
垢版 |
2018/12/25(火) 12:37:10.28ID:pfsfL+ll
>>61
そうだなあ。Javaしかできないと言ってる人にいきなりやらせてすぐにできるようになったらその人はかなり良いプログラマである可能性があるということはわかる。
何ヵ月やってもダメっぽい場合は他の事も多分ダメでプログラマ向きの人ではないから他の仕事に移すかクビの方向で検討。
0069デフォルトの名無しさん
垢版 |
2019/01/05(土) 13:27:08.69ID:4H3rvHqe
kotlin触った後にdart触るとセミコロンがうっとうしいな
次世代言語にセミコロン不要だわ
0073デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:01:12.72ID:LMfMMSk0
■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);
});
0074デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:01:57.05ID:LMfMMSk0
■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)
}
0075デフォルトの名無しさん
垢版 |
2019/01/05(土) 20:05:15.93ID:LMfMMSk0
■Go
※筋力でforループ

セミコロンもだけど末尾ラムダの場合に括弧減らせる方が俺は好きだな
0082デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:13:59.65ID:EkyrZm9z
色々調べてお疲れだと思うけど、そのラムダ式を変数に代入した場合を書いてみるといい
ちゃんと色々考えて機能追加したのか、それとも流行りに乗っかっただけなのかが分かるから
0083デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:33:50.07ID:LMfMMSk0
>>81
主眼がラムダ構文だったから

>>82
そこを書いて自分の考えを出してこうぜ

俺も連投の割には>>75の最後の行が言いたかっただけだし
0084デフォルトの名無しさん
垢版 |
2019/01/05(土) 22:53:04.82ID:QuMXMUQO
>>83
俺わかっちゃってます風の文句しか言えないガイジに、自分の考えなんてあるわけないだろ
こういうやつは流行りに乗っかっただけのマウントが取りたいだけのキョロ充以下のゴミ虫なんだよ
0085デフォルトの名無しさん
垢版 |
2019/01/05(土) 23:27:18.90ID:3PJCY/Pt
ラムダを渡すのがポイントなわけね。なら、「作ればある」って感じか。

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)
}
0086デフォルトの名無しさん
垢版 |
2019/01/06(日) 10:55:17.61ID:xgM5oZ73
そもそもラムダ式を変数に代入とか普通しないのでは
型推論が台無しになるでしょ
0089デフォルトの名無しさん
垢版 |
2019/01/06(日) 18:21:44.80ID:r4E4Sz7P
普通の関数型言語の型推論 ( HM型推論 ) なら
ラムダ式を変数に代入 ( 束縛 ) しても正常に型が付く
0091デフォルトの名無しさん
垢版 |
2019/01/14(月) 11:08:15.85ID:mSU16be8
ベクトル計算,統計,数値解析など
  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

適応領域/縄張り的な観点で人気言語から列挙、異論は認める
0092デフォルトの名無しさん
垢版 |
2019/01/14(月) 11:09:15.12ID:mSU16be8
ハードウェアを使う計算処理のDSLとも言えるようなPython,Rの領域は
他が入り込めそうにない

TypeScriptはJavaScriptの上位互換性がかなりの強みになっているが
ネイティブコールは他に頼る必要がある

.NET Native, Substrate VM, Kotlin/Native, Dart など
VM型だったものがLLVM等を利用し、
FFIを持つだけでなくネイティブのバイナリを生成出来るようになっている

ある程度用途や領域の前提が無いと比較は難しいだろう
ビルド関連,エコシステムも実際上は言語選定に含まれる

もちろん題材としては構文(型システムなど含む)の優劣のみ比較するのでも良いと思うが
0093デフォルトの名無しさん
垢版 |
2019/01/25(金) 08:57:21.46ID:iIPgsGqp
▪Haskell
mapM print list
0094デフォルトの名無しさん
垢版 |
2019/01/25(金) 09:05:36.46ID:iIPgsGqp
>>83
渡す必要もないのにラムダ渡さないとダメですか。。。(震え声)

mapM (\e -> print e) list
0095デフォルトの名無しさん
垢版 |
2019/01/26(土) 19:42:15.89ID:qpwORrxM
流石にラムダは書けるのに関数は渡せないなんてクソ言語は無いだろwww
無いよね?
list.forEach(print)
0096デフォルトの名無しさん
垢版 |
2019/01/27(日) 05:18:31.69ID:RHxd3V/8
広告がめっちゃ悪さするけどいつからマルウェア配布してたんだ?
0097デフォルトの名無しさん
垢版 |
2019/01/27(日) 09:12:28.47ID:2eLr8oJu
>>95
それどの言語?
0099デフォルトの名無しさん
垢版 |
2019/01/27(日) 12:34:46.98ID:dhHHmXdZ
1引数1ステートメント前提での省略書くのは
実用はともかく比較のセンスは悪いと思う・・・
0104デフォルトの名無しさん
垢版 |
2019/01/30(水) 07:00:10.06ID:R/oGvj42
日本語キーでも右Shiftとその隣を押すだけだしこれが押しにくいってことないだろう
0105デフォルトの名無しさん
垢版 |
2019/01/30(水) 07:56:59.90ID:sf14HEmo
ホームポジションを崩すのは罪だからな
0111デフォルトの名無しさん
垢版 |
2019/02/01(金) 04:00:16.01ID:30ghkfax
大抵の言語って主要な用途がはっきりしてるけどさあ
Rustって一体なんの分野で使うのが主流なの?
0113デフォルトの名無しさん
垢版 |
2019/02/01(金) 13:08:11.93ID:mPRfx2mL
開発者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が実際のシステム開発に必要な技術として広く活用されて
いるものと見られる。
0114デフォルトの名無しさん
垢版 |
2019/02/01(金) 13:23:50.72ID:3l+pPyJW
>>111
web
0116デフォルトの名無しさん
垢版 |
2019/02/01(金) 20:52:00.29ID:/RO3I7T1
らくだ兄さんが入ってるから・・・
0122デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:02:01.90ID:1hiFLBcT
node/typescript, kotlin, rust
この3つで出来ない(向いてない)ことってiosアプリ以外にある?
0124デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:15:12.57ID:Rjdem6b9
明らかに向かないのはWindowsデスクトップアプリや統計だろうな
0125デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:21:33.80ID:33hjMbXw
3つともiosアプリ/Windowsアプリを作れると思うけど
相対的に向いてないのはPythonやRが得意とするその辺だろうね
0126デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:29:06.79ID:1hiFLBcT
すまん。後出しであれなんやが各エコシステムが満タンになった未来想定で頼む。
> Windowsデスクトップアプリ
これは js(typescript)/kotlin native でなんとかならんやろか。

> 機械学習, 統計
これは何でpythonが押されてるのか良くわかってないんやが、
rustが成熟しても選ばれんのかな。何かpythonにしかないメリットがあるんやろか。
0127デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:52:23.48ID:33hjMbXw
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
0128デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:53:16.41ID:33hjMbXw
エコシステム満タンならPythonの得意分野もいけると思う
現状でもTensorFlowとかJavaやRustから使えるし
でも現実的にエコシステムが追いつくことは難しそう

Pythonの初学者にも読みやすい性質と
データサイエンス系のエコシステムの充実さにより
そういう分野の人が流入して、それにより充実さが増す流れが出来てる
0129デフォルトの名無しさん
垢版 |
2019/02/02(土) 12:54:02.43ID:1hiFLBcT
何でpythonかちょっと調べてみたわ。
ttps://qiita.com/yaju/items/5502115d7e3d06e6bbdd
「エコシステム・コミュニティ・サポート・言語の簡易さ」こんな感じの理由やった。
だいたいはエコシステム最強の近未来Rustなら置き換え可能な要素やろうと思ったんやけど、
「言語の簡易さ」はどうにもならんね。機械学習始めようと思った人がRustから入門するのは現実的じゃないわ。
0131デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:22:36.82ID:1hiFLBcT
>>128
そうみたいやね。おんなじ結論やわ。
typescriptで機械学習の呼出ライブラリ作りまくればワンチャン・・ないか。

そしたら
node/typescript(js後継), kotlin(java後継), rust(c/c++後継), phthon(入門用&AIできるよ)
この4つならコンピュータ用途の最大公約数ってことでええんやろか。
0132デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:32:33.05ID:jcUa9nnO
>>127 アプリってどう言う意味で書いたの? アプリを開発できるかどうか?
iOS だったら、pythonista が結構使えそうだよ。
python から、iOS のシステム関数とかObjective-C の関数を呼べるからほぼ何でもできる。
python の外部ライブラリのうちCで書かれたライブラリは使えないけど大体のことは間に合う。

GUI も簡単に作れる。 センサー類も全て使えるしかなり評判が良い。 GUI はjson を呼んでるらしいからWebkitの配下で動いているっぽい。

python 其の物は既に学生の教育用として確たる座を占めたから当分人気が落ちることはなさそう。
0134デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:43:03.05ID:jcUa9nnO
pythonista で作ったものは、App store の審査に通らないらしいから売ることはできない。

売るとなるとSwiftを使う事になるが開発環境の垣根が高いからイマイチ人気が伸びない。 オープンソースになったからMac以外でもコンパイルは出来るようになったが、Objective-C のライブラリまで解放されてるわけじゃないからイマイチ。
言語的には好きな言語なんだが。
0135デフォルトの名無しさん
垢版 |
2019/02/02(土) 13:49:29.70ID:1hiFLBcT
>>114
CRUD試せるようなwebアプリ作ってみたけどwebには向いてなかったで。
GCいらずの利点が薄いしエコシステム無いしIDEの補完弱いし言語仕様むずいし。
最悪1人でも作れるような小規模サイトじゃないと無理やと思う。現時点では。
0136デフォルトの名無しさん
垢版 |
2019/02/02(土) 14:49:28.56ID:jcUa9nnO
>>134 何日か前にpython の人気ランキングが上がってると言うニュースを見て、一昨日辺りからpythonの紹介記事や入門動画を見て、これは使えそうだなと言う感触を得た。
今朝 pythonistaをダウンロードして、どんなものか試したりpython の基本構文を練習したりして、概略がわかってきたから、昼からiOS 用アプリの練習問題としてのサンプルを動かしてみた。

iPhoneでiPhoneアプリを作ろう
https://qiita.com/ttsutchi/items/34fb3395f085e5e11f6e

こんな感じ
https://i.imgur.com/Tz3u3xn.jpg

WysiWig で配置を自由に動かせるから便利。
昔HTML の作成ツールでWysiWig の物を使ったこともあったが、余計なHTMLを吐き出して後のメンテナンスが大変になるから、すぐにやめた。

これは変なコードを入れる訳でもないから使いやすい。
ただ、アプリをホームに登録して動かして終わった時にソース画面に移るのは煩わしい。 何か方法はあるとは思うが。
0137デフォルトの名無しさん
垢版 |
2019/02/02(土) 15:23:23.21ID:jcUa9nnO
日本でpython の普及が遅れたのは、Rubyがあったからみたいだね。
スクリプト言語だから、perl やRuby に似てて当然なんだが、その分pythonは多言語化に遅れてる気はする。

HTML の作り方の紹介動画を見てるとperl を使った作り方に似てるなと思った。
javaのJSPよりはよほど使いやすそう。

自分がpython をやっても良いかなと思ったのは、
1. インタプリタで誰でも入門が簡単
昔のBASICに変わりうる立場。 教育に良い
2. 何でもやれそう。
スマホアプリを手軽に作れるのは趣味に良い。
2.1 Web アプリを作るのが簡単そう。
2.2 Excel との相性が非常に良さそう
今やアメリカの事務職でもpythonが出来ることを求められ始めている。 事務としてはExcel の延長だろうな。 高級VBA?
0138デフォルトの名無しさん
垢版 |
2019/02/02(土) 17:51:42.37ID:LdV/hXf4
てかpython程度の言語なら流行ったらその時にでも勉強すれば十分だろ。
perlやrubyに比べたらだいぶ楽だぞ。何を警戒してるんだか。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況