ラムダ式ってなんぞ?習得必要ですか?実務レベルでは必須ですか? ラムダ式とかって言語によって違いますか?

ラムダ式ってなんぞ?習得必要ですか?実務レベルでは必須ですか? ラムダ式とかって言語によって違いますか? 現在、C#、Kotlinの勉強をやっていますが、意味も何やってるのかも分かりません。 手持ち書籍にはラムダ式とかLinqとかは一切ありません。 ネットでみると情報も断片的で体系化されているのが少なくて困っています。 ラムダができない時点で、プログラムの才能はないと判断したほうがいいでしょうか。 もう、どこから手を付けていいのかすら、分かりません。 良い本、良いサイト等あれば、教えて下さい。

プログラミング | Android開発66閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

ラムダ式は言語によって違いますね。匿名関数だったりクロージャだったり、いろいろです。初学者には同じように見えるかもしれません。 Kotlinはよくわかりませんが、以下C#についてです。 C#自体は20年程度の歴史がありますが、LINQやラムダ式という文法が導入されたのは2008年頃になります。 最初は無くても言語として成立していたのですから、必ずしも必要なものではないです。 書籍に記載がないのは2008年以前のものか、初学者向けの入門書でLINQやLambdaの説明までするのは盛沢山すぎると判断されたのかもしれません。 C#ではこのラムダ以前と以後とでコードの記述法がガラリと変わりました。勿論オールドスタイルでも事足りるので墨守するのも一計ではありますが、ほとんどのプログラマはラムダ式に乗り換えていると思います。 一人で開発するのならどちらでもいいのですが、複数人での開発はコードを共有しますしレビューもあります。他人の書いたコードがラムダだらか読めないとは言えないですし、自分のコードでそのメソッドはラムダなら1行で済むやろなんて指摘うけちゃいますしね。 まぁ新幹線が開通したのに意固地に在来線だけを乗り続ける理由はないですからね。 以下のサイトあたりが入門としてはお勧めです。 https://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_01/csharp30_01_01.html https://www.atmarkit.co.jp/fdotnet/rapidmaster/rapidmaster_01/rapidmaster_01.html 書籍はここ数年内に発売された入門書には記載があるはずです。 大型書店等で実際に中を確認してご自身に合うのを探すのが一番だと思います。

ThanksImg質問者からのお礼コメント

みなさん、ありがとうございました。 未だによく分からず、良い本もないのですので 諦めようと思います。

お礼日時:8/31 16:00

その他の回答(2件)

0

https://www.sejuku.net/blog/47172 ループ処理をwhereとselectで書けるようになれば第一段階クリアです。

1

解読の容易なプログラムについて考えた事がありますか。一番解読が容易なプログラムは、本を読むように、順番に読み進めれば理解出来る物と考えます。プログラムにおいては、残念ながら分岐命令が必要で、順番に読んでも理解出来ない部分があります。なので、解読が容易なプログラムは分岐命令が整理整頓されて、少ないプログラムと成ります。関数も別の場所に書かれているので、分岐命令と同じで、解読を難しくしています、そこで、考え出された物が、分岐をしないで、その場に関数が書けるラムダ式です。分岐しないので、解読が容易になるはずでしたが、残念ながら難しい書き方が増えてしまっただけで、初心者には重荷になってしまっているのが現状です。このように、既に作らている物が問題が有るとして、別の方法を持ち込んで、文法を難しいしてしまっている物がてんこ盛り状態で、最近のプログラミング言語は、CPUが理解出来る機械語よりも難しくなってしまっています。そろそろ、本来の目的である、機械語よりも難しくないプログラミング言語作りに舵を切るべきです。新規でシステムを作る場合はラムダ式を使わなければ覚える必要は無いですが、既に作られているプログラムに有れば、覚えておかないと解読出来ないので、現状では覚える必要がありますので、頑張って覚えて下さい、プログラミング言語毎に文法が異なっているようです。因みに、私の提供しているプログラミング言語は解読が容易な事も狙っているので、関数も存在しません。

1人がナイス!しています