Kotlin 3
■ このスレッドは過去ログ倉庫に格納されています
そもそも、nullを代入しなければいいのでは? もしくは初期化しておけばいいと思います 違いますか? COBOLとかFORTRANはそういうコンセプトだねぇ kotlin止めるの推奨 >>634 1人で全て開発するならそれでいいと思うよ。 つまり、null不許容型は人的ミスのためであって他意はないと? >>634 初めたばっかで良く分かって無いが、null使わないなら許容する意味が無くね-か 寧ろnullを使う意味が分からない 例えばSwiftは言語仕様でnullを抹殺しているが、わざわざOptionalというnullでないものでnullを表現してる。nullがない世界など何処にもないのだ。 例えばファイルが読み込めなかった場合、どうなると思いますか? 答えられますか? 答えられるようになったら質問してください。 今はそういうレベルの話ではないです。 >>630 > なぜnull不許容が必要なのか教えてください あなたの言う意味では不要。null許容にすることによってプログラミングが不可能になることはない。 nullによって発生する凡ミスが減るというメリットを必要とする人がいる。それだけ。 >>640 > 今はそういうレベルの話ではないです。 わからないで聞いているというより、わかってて煽ってるわけだ。 > 例えばファイルが読み込めなかった場合、どうなると思いますか? ここでnullを許容する必要があるのではないかと言いたいんだと思うけど、 Kotlinがそうしているかどうはかは別にして、「ファイルが読み込めなかった」という nullでない値を返すという考え方もある。 null許容のJavaだと例外を投げるところかな。 >>639 おっしゃる通りで、結局不正なデータのチェックは必要なわけで、null不許容だから安心して使えるわけでもなく、寧ろ何気にうまく動いている状態が一番怖いです null不許容のクラスを作るとして そこではあらゆるケースに対処を強いられるわけで、チェック項目は膨大になります しかしそれを利用する側は単純にファイルが読めるか否かだけ知れればいいとします。 null不許容を取り入れるということは、開発コストが上がることを示唆しているのではないかと どうですか? Optionalは中身取り出すのにアンラップが要る。Kotlinはnullにならないようにコンパイラがチェックしてるだけ。よってアンラップ不要。副作用としてnullを許容してないのに場合によってはnullが入ってしまうこともある。。 >>644 それは実行時の動的なnullですよね。 私が質問しているのは、null不許容型(言い換えれば静的なnullに関して)の必要性についてです。 ていうか日本語の文章おかしいし、確実に酔っ払いかただのキチガイじゃん おおかた大学のレポートなり試験なりでその質問をされて回答を探しにきたんだろ ネットで煽りっぽく聞けばムキになった人が答えてくれるからね、君は賢いね、偉い偉い 高圧的に質問すれば、逆に皆反応してくれる良い例だね >>624 コンパイルする言語なのかインタープリタなのかという問題ではなくて、そういう仕様の言語というだけのこと。 というのはコンパイルしようがしまいが同じような言語は作れるから。 >>625 それによるバグをコンパイル時にエラーを出すことによって防げる。 今ちょっと前にAmazon見たらこれのKindole版の方だけ1361円だった。55%offかな。だいたい半額ぐらい。 短期間のセール価格なのかも知れない。 Androidアプリ開発のためのKotlin実践プログラミング 現場で求められる設計・実装のノウハウ http://amzn.asia/iM5AGQY 紙の本はもう持ってるのにうっかり押しちゃうところだったw >>655 宣伝にはなっちゃうが他に知らせる方法ないよな。 >>648 だろうな 煽り質問は無視しとけば良い 世の中nullっとしてないと入るものも入らないんだよ null安全に文句つけるひとほどnull安全を大袈裟に捉えてる現象 本人あっさり逃げたな マジで>>648 が図星だったのかw とするともう大学で教えてる所があるということになるな null安全な言語はもうずっと前からあるから、それに触れる授業くらいはいくらでもあるでしょ >>657 【審議中】 . ∧,,∧ ∧,,∧ ∧ (´・ω・) (・ω・`) ∧∧ ( ´・ω) U) ( つと ノ(ω・` ) | U ( ・) (・` ) と ノ u-u (l ) ( ノu-u `u-u’. `u-u’ KotlinのターゲットJVMは、Java8の次はOracleJDK 11になるんだろうか、OpenJDK 11になるんだろうか。 絶対に必要なのはJVMでJDKは要らなくする方向になるんだろな nativeはやく整備しよ? jetbrainとgoogle様ならわけないっしょ? nativeっておもちゃとしては楽しいだろうけど、現実的にそこまでニーズあるかね 明日JBの中の人が来日してkotlinイベントあるね 何か面白い話聞けるかな >>671 まずはおもちゃとして使って楽しんで、それから何かに使えないか考えれば良いのではないかな。 その内なにか丁度良い用途が見つかると思うよ。 趣味で何か作るなら是非使いたいね。 ビジネスプロダクトを作るならまたちょっと話が変わるけど。 クロスプラットフォームって、出始めの頃のhtmlベースのそび糞達のせいで普及が5年は遅れてると思う。 いまだにあの頃のイメージは抜けきれてない Kotlinを選ぶ時点で、既に自分の得意な特定の言語に固執する低レベルな段階を卒業してる人が多いだろうから 無理にKotlin使うよりプラットフォームに合わせた適切な言語を使うべきと考える人が多数派だろうね うちもいくつかアプリ作ってるけど、結局それぞれのネイティブで並行開発が1番間違いないって感じになってるな。 Xamarin使ってるのもあるけど、やっぱり色々辛い。RNはもっとアレだったからプロダクトに使う前にやめた。 そうそう クロスPFなんてもうunityくらいしか使われていない >>678 Unityって触ったことないけど、ゲーム以外にも使えんの? 単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。 レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。 ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん? rustもつらみが深いし。 kotlinがそこ狙ってくれないかなー Googleがgo諦めてKotlin推しになったんだと思ってるんだが Google的にはTypeScriptとPWAでしょ GoはGoogleAppEngineとセットで推されてる感じ Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな Google A 「KotlinはAndroid開発の第一級言語」 Google B 「Dartならクロスプラットフォーム開発出来るよ」 Google C 「社内ではTypeScriptが標準開発言語ですけどね」 Google D 「Goはさらに進化する」 そういうカオスなのがGoogleっぽくて嫌いじゃない Googleはインド系 Appleは中国系 Google的にはWebAssemblyはどの言語なんだろ Kotlin/Nativeを推してくれたりしないものか GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、 実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。 その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。 この前のHadi Haririのイベント行った奴いないの? すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。 1 fun func(x:int,y:(Int)->Int)=L(x) 2 func(1,{it*5}) 1行目のL(x)は何を意味しているのでしょうか? また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために 1行目にy:(Int)->Intを引数にして 2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか? >>681 Unityの「だってお前らこれではゲームしか作らんだろ」という割り切りっぷりは清々しい ゲーム的文法で作る以外のルートがねえw >>697 1行目はLという名前の関数にxを渡してるだけ fun func(x:int, y:(Int)->Int) { return L(x) } の省略表記 ただ、引数のyが無視されているので L(x) じゃなくて y(x) の間違いなんじゃねって気がする 2行目は代入云々はその理解で合ってるけど 「実行している」のではなく「定義して渡している」 実際そのコードではyが呼ばれてないのでその掛け算は実行されない なんで、宣言のとき型と変数名逆にしたんだろうなあ、苛つくわあ >>700 省略したいときウルトラ面倒になるのでやりたくなかったのだろう >>700 型が省略されてるものとされないものが混在したら可読性ウンコになるだろ 以前はPASCAL, ML, Haskell、最近なら Scala, Go もこういう形で、 「型 変数」っていう順序のCスタイルの方が本来異色なんだけど。 >>703 val a=0 int b=1 みたいな感じじゃだめだったのか気になる val name : String = " 名前" " String "に代入してる感覚があるから、わかりにくのは事実だわなw >>706 これよこれ Aをhogeという型で代入 hogeという型のAに代入 好みかな… >>705 それだと val int a = 0 val b = 1 になるやん 文芸的プログラミングというやつで、 val name: String はname of Stringと見えるから英語の順序的にはこのほうが自然 てゆーか>>702 の例の時点でさくっと英語理屈を出してあげたほうが混乱がなかったと思う じゃあなんでC族がそうなってないかって? Cだからそんな面倒なことしねーんだよお前側が機械に合わせろw 日本語話者の一般的な認知様式は 鳥の模型>模型の鳥 名前を表す文字列>文字列で表された名前 だし、日本語でも 変数名:型 の方が言語的には自然では 言葉的にはそうかもしれないが 抽象度の順じゃないつうのがねー これがモヤっとする原因 哺乳類>人間>山田 >>712 それも大抵の日本人は nは数字の42 sは文字列の"42" と表現すると思うよ 単純に慣れだと思うんだけどなぁ コード読むときに >>712 >>714 みたいな考えいちいち経由しないでしょ kotlinの基本に慣れる為に val name : String = " 名前" "定数"の"name"には"String型"の"値"を入れる と言う解釈がすんなり行けるかな val name: String = "..." "name" is a string: "John Smith" 「名前」は文字列、"山田花子" 打ってる時はだいたいこういう感じの思考の流れがある >>717 define a variable "name" as a string and assign a value "名前" to it って読むんだよそれ 昔々PascalというかDelphiをよく使っていたので変数名、形の順でも違和感なし。 Oracle の PL/SQL も確かそうだったな。 Cも昔からよく使ってるけどね。Javaは趣味で使う程度かな。 そういやKotlinは val a, b, c : Int みたいに書いてまとめて宣言できないんだっけ?できた? >>725 エラー出ないから言語としては良いのでは? 関係ないが>>722 で書いたやつは試したらダメだった。 >>725 IntelliJのCode Style設定ではどちらも選べるようになってるから、どちらでもいいんでない >>726 ,727 そーなのか なんとなく型はスペース無しで継承はスペース有りかと ありがとりん そうそう型と継承が同じ記法だからごちゃごちゃするよな どうせならすべて動的型付けにすればよかったのに 動的型付けだと、存在意義全否定だろ。 Groovyでも使っとけ。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる