JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
280デフォルトの名無しさん
2017/06/22(木) 22:21:35.91ID:3yY7lcXH281デフォルトの名無しさん
2017/06/23(金) 09:47:11.55ID:hp7X3mpn それは言語の違いではなくアルゴリズムの違いではなかろうか
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
282デフォルトの名無しさん
2017/06/23(金) 10:01:06.35ID:9PTuVR6v ByteBuffer(もしくはそれと同様の使い方をするプリミティブ配列)がGCの性能に大きな影響を与えるって一体どんな状況?
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
283デフォルトの名無しさん
2017/06/24(土) 03:52:32.49ID:QlqTymbl メモリ管理とかよりさ
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
284デフォルトの名無しさん
2017/06/24(土) 04:16:45.08ID:qquEaJ2M んなこたない。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
285デフォルトの名無しさん
2017/06/24(土) 06:57:58.73ID:bDbRpy30 どっちなのさ!
286デフォルトの名無しさん
2017/06/24(土) 09:27:02.16ID:32e8D3Wy JITコンパイラの性能次第
287デフォルトの名無しさん
2017/06/24(土) 09:54:27.72ID:LXfJ84Bv Dalvik, ARTどころかOracle JVMですらSIMDは扱うよ
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
288デフォルトの名無しさん
2017/06/24(土) 10:51:37.84ID:iOfeax4r ByteBufferのAPI嫌いだな
Javaの過剰設計の伝統ここに極まれりって感じ
Javaの過剰設計の伝統ここに極まれりって感じ
289デフォルトの名無しさん
2017/06/24(土) 15:08:57.88ID:LXfJ84Bv NIOが出た当初も評判良くはなかったよねー, ないと困ることは確かにあるんだけど必要とする人は少ないし
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
290デフォルトの名無しさん
2017/06/26(月) 14:38:34.02ID:Wfn5YHgL ByteBufferはdirectがあるからまぁ必要。
291デフォルトの名無しさん
2017/06/27(火) 08:01:46.32ID:7qLYNCF8 間接的にお世話になってることも知らずに文句言ってるアホばっか。
292デフォルトの名無しさん
2017/06/27(火) 08:19:48.98ID:p7AYCZKI エンジン構造も知らずに車に文句付けてるってくらい論点が異なるよ
使う側であれば別に中身を意識しなくていいんだよ
使う側であれば別に中身を意識しなくていいんだよ
293デフォルトの名無しさん
2017/06/27(火) 08:45:00.53ID:+gpX7LUM >>288とかはエンジンなんて車にいらねーって言ってるんだけどなw
294デフォルトの名無しさん
2017/06/27(火) 12:59:12.87ID:thSLzROj APIに文句言ってるだけじゃね
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
295デフォルトの名無しさん
2017/06/27(火) 14:24:44.78ID:xkXC4vKS 実際問題java apiからkotlinを切り離すのはわりと簡単だったりするの?
google内で独自apiを作ってたりして
google内で独自apiを作ってたりして
296デフォルトの名無しさん
2017/06/27(火) 16:52:29.37ID:rNyRMSOh 余裕やろうな
やる価値があるかは別として
やる価値があるかは別として
297デフォルトの名無しさん
2017/06/27(火) 17:26:00.35ID:JXIPCy9a 技術云々でなく普及のための絡みで難しそうだな
298デフォルトの名無しさん
2017/06/27(火) 19:50:52.50ID:GY2ar0Yu Java APIじゃなくJava Libraryだとするなら、そこを切り離して実用に耐えるにはJava1.4くらいには過剰設計しないと無理じゃね
299デフォルトの名無しさん
2017/06/28(水) 03:27:10.10ID:4SuBLGV6300デフォルトの名無しさん
2017/06/28(水) 03:57:50.54ID:ULDUfAbu GoogleとOracleってまだちょっと揉めてるん?
301デフォルトの名無しさん
2017/06/28(水) 09:52:23.47ID:1HRXLIL1 >>299
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
302デフォルトの名無しさん
2017/06/28(水) 11:09:49.25ID:fPVyfCmw >>301
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
303デフォルトの名無しさん
2017/06/28(水) 11:10:28.02ID:fPVyfCmw と喚き散らしたことのほうがどう考えても筋違いや
Oracleはキチガイ集団
Oracleはキチガイ集団
304デフォルトの名無しさん
2017/06/28(水) 12:55:43.96ID:n0wEK4ez 当時、Sun JVMはクローズドソースでVMの中の人どころか、Java層のAPIも非公開だったろ...
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
305デフォルトの名無しさん
2017/06/28(水) 13:02:32.04ID:WVoz31+g >>304
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
306デフォルトの名無しさん
2017/06/28(水) 13:09:21.41ID:1HRXLIL1 面倒な奴だなぁ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
307デフォルトの名無しさん
2017/06/28(水) 13:45:27.56ID:fPVyfCmw308デフォルトの名無しさん
2017/06/28(水) 16:04:17.62ID:1HRXLIL1 だーかーらー、>>301で言っているだろ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
309デフォルトの名無しさん
2017/06/28(水) 17:10:45.64ID:woJsJzbY 結局フェアユースという落ちが付いたろ。判決はどこまで確定したっけ?
310デフォルトの名無しさん
2017/06/28(水) 17:18:12.30ID:KUDOoNV3 Googleはライセンス料を回避するためDalvikを作った
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
311デフォルトの名無しさん
2017/06/28(水) 17:24:37.74ID:KUDOoNV3 訂正
特許とAPIの著作権
特許とAPIの著作権
312デフォルトの名無しさん
2017/06/28(水) 19:19:21.21ID:xWBVVuch しかし何れにせよ、Androidが無かったらJava(及びそのエコシステム)はもっと廃れてたはずだよね
313デフォルトの名無しさん
2017/06/28(水) 20:01:24.52ID:gsVJZ8oO JDKのライブラリ群は30年ぐらい前の発想で作られた頭が痛くなりそうな
APIも多いのでKotlinでJDKと別にモダンなコアライブラリ
作ってくれるならとても嬉しい
APIも多いのでKotlinでJDKと別にモダンなコアライブラリ
作ってくれるならとても嬉しい
314デフォルトの名無しさん
2017/06/28(水) 20:13:20.22ID:R8FO3Rrv >>312
androidが何に寄与したって?w
androidが何に寄与したって?w
315デフォルトの名無しさん
2017/06/28(水) 20:17:07.79ID:kl/WEkBu >>312
Javaの市場はほぼ100%エンタープライズとWebが占めててAndroidなんかカスみたいなもんだぞ
Javaの市場はほぼ100%エンタープライズとWebが占めててAndroidなんかカスみたいなもんだぞ
316デフォルトの名無しさん
2017/06/28(水) 20:20:40.71ID:woJsJzbY javaはヌルポ排除できない時点でだめだよな。
317デフォルトの名無しさん
2017/06/29(木) 00:16:43.10ID:OxDWNayQ >>316
だからKotlinが生まれたんだっけな
だからKotlinが生まれたんだっけな
318デフォルトの名無しさん
2017/06/29(木) 11:02:50.69ID:7tq2Nu14 Kotlinでヌルポ起きないってギャグにしては古すぎる・・・
319デフォルトの名無しさん
2017/06/29(木) 11:39:09.06ID:FObp9uyg オプショナルを正しく使ってればヌルポなんて起きようがないんだがw
320デフォルトの名無しさん
2017/06/29(木) 11:40:38.32ID:pdm0wtJX ニュアンスとか前提の差で話が噛み合ってない気が
321デフォルトの名無しさん
2017/06/29(木) 11:47:39.86ID:JFxFowh1 ぬるぽは既存のライブラリやフレームワークから飛んでくるからKotlinを使ったところで解決にならないんだよなあ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
322デフォルトの名無しさん
2017/06/29(木) 12:00:09.83ID:pdm0wtJX テストあるからJava1.4でもClassCastExceptionは滅多に出さない的な
323デフォルトの名無しさん
2017/06/29(木) 12:22:12.95ID:7tq2Nu14 プリベリファイ要求してたMobileのJava1.3は偉大だったんだなって
324デフォルトの名無しさん
2017/06/29(木) 12:28:25.79ID:JFxFowh1 >>322
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
325デフォルトの名無しさん
2017/06/29(木) 13:21:35.51ID:FObp9uyg >>321
んなことは言わなくても全員わかっとる
んなことは言わなくても全員わかっとる
326デフォルトの名無しさん
2017/06/29(木) 14:39:25.51ID:JUVsJKjr そもそもテストを書けばぬるぽの9割は生まれる前から死ぬ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
327デフォルトの名無しさん
2017/06/29(木) 15:15:09.10ID:Xwk4Fgx6 Javaのライブラリにおいて引数に配列上限値が渡されそれが不正値であるときに発生する例外は何か? →たいていあれいいんでっくすあうとばうんど
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
328デフォルトの名無しさん
2017/06/29(木) 15:20:20.01ID:W0uOcXiB なんだこいつw
329デフォルトの名無しさん
2017/06/29(木) 19:47:56.73ID:zX+YoTjc330デフォルトの名無しさん
2017/06/29(木) 20:58:35.28ID:UEgl5Zip Sunが死んだ
太陽が死んだ
太陽が死んだ
331デフォルトの名無しさん
2017/06/29(木) 21:19:35.80ID:cCrWWcTS 日本語で書かれた Kotlin に関するいい感じのチュートリアルってない?
332デフォルトの名無しさん
2017/06/29(木) 21:34:38.83ID:pdm0wtJX 書いて覚えろ
333デフォルトの名無しさん
2017/06/30(金) 00:28:01.26ID:56/qVjC+ >>331
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
334デフォルトの名無しさん
2017/06/30(金) 01:58:55.10ID:q+HYO1HC チュートリアルならKotlin Koansやるのが一番じゃない?
Webでも手軽に出来るしIDEAにも専用のプラグインがある
Webでも手軽に出来るしIDEAにも専用のプラグインがある
335デフォルトの名無しさん
2017/06/30(金) 10:50:35.57ID:TsXJhClE あれいいんでっくすあうとばうんどは、0除算並みの恥ずかしいミス。
nullpoとは次元が違うわw
nullpoとは次元が違うわw
336デフォルトの名無しさん
2017/06/30(金) 11:53:55.60ID:0zGLF76x >>334
webのやつってなんか重くないですか?
webのやつってなんか重くないですか?
337デフォルトの名無しさん
2017/06/30(金) 13:36:42.47ID:tesV9X+3 そんなんローカルに持ってきてやればよろしいがな
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
338331
2017/06/30(金) 13:58:27.40ID:svEzz20W339デフォルトの名無しさん
2017/06/30(金) 14:35:57.92ID:5/+9iJSz 自分用でなく他の人用という話だったら
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
340デフォルトの名無しさん
2017/06/30(金) 14:52:56.61ID:tesV9X+3 >>331
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
341デフォルトの名無しさん
2017/06/30(金) 15:08:07.12ID:svEzz20W >>340
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
342デフォルトの名無しさん
2017/06/30(金) 15:20:46.15ID:5/+9iJSz 何に困ってるのか分からない
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
343デフォルトの名無しさん
2017/06/30(金) 15:38:15.91ID:O4IQOzV/ googleのやるべきことはFWを全てkotlinに書き換えることやな
344デフォルトの名無しさん
2017/06/30(金) 16:02:16.24ID:2Da2vksV 英語読めない奴がLISPとかすげえな
やってて死にたくならない?
やってて死にたくならない?
345デフォルトの名無しさん
2017/06/30(金) 16:17:39.99ID:O4IQOzV/ >>341
つhaskel
つhaskel
346デフォルトの名無しさん
2017/06/30(金) 16:43:11.20ID:svEzz20W347デフォルトの名無しさん
2017/06/30(金) 17:11:37.52ID:0PkxBZJ1 >>335
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
348デフォルトの名無しさん
2017/06/30(金) 17:59:28.75ID:2uOE1xo7 Javaがクソなのと、クソの処理をしないプログラマがマヌケなのは別の話。一緒にすんな。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
349デフォルトの名無しさん
2017/06/30(金) 18:12:49.54ID:0PkxBZJ1 そのクソの処理をしないプログラマでも安全にコーディングさせるためにオプショナルがあるんだよ...
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
350デフォルトの名無しさん
2017/06/30(金) 21:30:17.46ID:2uOE1xo7 >>349
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
351デフォルトの名無しさん
2017/07/01(土) 06:09:20.91ID:v+Q0wrxJ 全く噛み合ってなくてワロタ
どんだけ崇拝してるんだかwww
どんだけ崇拝してるんだかwww
352デフォルトの名無しさん
2017/07/01(土) 12:59:00.78ID:qNm5JQD+ C++でヌルポが起きないってマジ?w
353デフォルトの名無しさん
2017/07/01(土) 15:33:59.29ID:v+Q0wrxJ Rustだとガチでヌルポが起こせないゾ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
354デフォルトの名無しさん
2017/07/01(土) 15:53:26.04ID:KyLBHjPn トレイリングクロージャ無いと死ぬマン
355デフォルトの名無しさん
2017/07/01(土) 20:36:50.31ID:M8KylmXN ここまで、lazy 初期化の話が出ないw
356デフォルトの名無しさん
2017/07/01(土) 21:29:59.25ID:SoXb9Q80 ヌル安全つうのはモダンな言語じゃ標準装備なんじゃろ?
357デフォルトの名無しさん
2017/07/02(日) 13:51:47.79ID:RlGcb3P/ >>338
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
358デフォルトの名無しさん
2017/07/02(日) 23:49:50.72ID:ynDhLM7Z Java + Groovy = Kotlin
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
359デフォルトの名無しさん
2017/07/03(月) 00:00:56.60ID:MkRtof65 ここまで出張して来たか、、、
360デフォルトの名無しさん
2017/07/03(月) 00:27:08.93ID://L4zw1o sageじゃない時点でスルーでいいよ
361デフォルトの名無しさん
2017/07/03(月) 00:37:26.98ID:MkRtof65 NGワード:スッキリわかる
362デフォルトの名無しさん
2017/07/03(月) 06:33:05.51ID:4ljd5V+p Kotlin.NativeよりSwiftのが使えるって本当?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
363デフォルトの名無しさん
2017/07/03(月) 08:38:14.08ID:mDI6RaMX swiftって仕様安定したの?
364デフォルトの名無しさん
2017/07/03(月) 09:06:19.84ID:8rVktY+j おおよそ
365デフォルトの名無しさん
2017/07/03(月) 09:13:44.93ID:4ljd5V+p Kotlin/NativeのCとの連携ってJNIを踏襲するんじゃなくて、現在進行形で独自I/F仕様を作ってるっぽいな
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
366デフォルトの名無しさん
2017/07/03(月) 12:50:39.71ID:v2mMhpE7 いまさらJNIはないだろ。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
367デフォルトの名無しさん
2017/07/03(月) 15:28:28.68ID:BBsEUtpT なおさら踏襲しとけよと思わなくもないな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
368デフォルトの名無しさん
2017/07/03(月) 18:16:02.56ID:tIUw+Kxj JNI踏襲とか無いわ
そうしたいなら普通にJava使っとけば良いと思う
そうしたいなら普通にJava使っとけば良いと思う
369デフォルトの名無しさん
2017/07/04(火) 09:13:03.70ID:ETZVte8W KotlinがJNIを踏襲していることは知らないのか、知ってて度外視なのか
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
370デフォルトの名無しさん
2017/07/04(火) 15:17:21.36ID:FOvT7Dr6 Kotlin/Javaが使うのは何でもないこと。
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
371デフォルトの名無しさん
2017/07/04(火) 16:48:31.76ID:E7VHi3Qh JNIのI/F踏襲して
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
372デフォルトの名無しさん
2017/07/04(火) 18:27:25.69ID:kEoD/tXz >Cに繋げればいい
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
373デフォルトの名無しさん
2017/07/04(火) 19:45:38.53ID:E7VHi3Qh I/Fとランタイムの区別が出来てない
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
374デフォルトの名無しさん
2017/07/04(火) 19:58:52.39ID:G1Se2kAk javaに触らずにkotlinだけでandroid開発できるようになんないかな
375デフォルトの名無しさん
2017/07/04(火) 19:59:34.67ID:bn9cQclE なればいいね
376デフォルトの名無しさん
2017/07/04(火) 20:44:06.85ID:kEoD/tXz377デフォルトの名無しさん
2017/07/04(火) 22:22:00.36ID:A9sYzzwp >>374
5年後にバージョン3とかになればなんとか…
5年後にバージョン3とかになればなんとか…
378デフォルトの名無しさん
2017/07/05(水) 11:03:55.64ID:BRC1acOi スマホアプリの言語ぐらい統一して欲しい
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
379デフォルトの名無しさん
2017/07/05(水) 11:08:55.38ID:PFivIsqu >>378
統一したいならC#
統一したいならC#
380デフォルトの名無しさん
2017/07/05(水) 12:07:39.48ID:Ejf+K2GI Appleの昔から自分たちのプラットフォームにユーザーを囲いこんで、他のプラットフォームからの鎖国という考え方
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 「そんなに米国が言う通りにやりたいのか」小泉氏、防衛費増額で立民・後藤祐一氏に反論 [少考さん★]
