特定の言語を学ぶ上でハードルは何でしたか?それをどのように克服しましたか

私は新しい言語を学ぶことを考えていますが、多くの人が言語学習において様々なハードルに直面すると聞きます。特定の言語を学ぶ上で、あなたが経験した最も大きなハードルは何でしたか?また、そのハードルをどのようにして克服したのでしょうか?具体的な経験やアドバイスを共有していただけると、私の学習の参考になります。よろしくお願いします。 (編集済み)
1年前
view数 78
  • 2
  • 2

回答を投稿して企業にアピールしましょう!

Q&Aで投稿された回答は、
企業側に表示されるプロフィールにも投稿履歴として表示されます。

Offersにログイン・新規登録して、気になるテーマやトピックを話してみよう!

\回答があります!/

  • Offers(オファーズ) 公式

    エンジニア

    1年前

    ※本投稿は、2023年6月29日に開催されたイベント「KotlinとScala 活用者が語る技術選定のヒント(https://offers.connpass.com/event/287192/)」における、Chatwork株式会社 テックリード 加藤 潤一氏の回答内容を元にしています。

    昔は関数型というと、やっぱり異様な雰囲気がありました。

    でも、最近のプログラミング言語は関数型の機能を取り込んでない、言ったらオブジェクト指向言語ってほぼないと思います。最近の言語だと。

    KotlinもSwiftとかもそうですし、わりと関数型のカルチャーは輸入されているほうなので、今となってはそれほどむずかしいものか。
    もちろんモナドみたいなものになると、ちゃんと概念理解みたいなもの必要ですが、そこまで行かない関数型の機能とかはわりと身近になってきているので、そこまでハードル高くないのかなと思います。

    どうしても命令型とかのプログラミングに慣れてる人からすると、いきなりforEachやmapとかそういったものを使うっていうのはハードルが高いです。

    まだwhileとかforで書いたほうがいいみたいなところがあったりするかもしれないですが、そういったとこのハードルは徐々にScalaでもKotlinでも同じだと思うので、命令形の記述をしながら徐々に関数型に慣れていくっていうのが一番いいスタイルかなと最近思います。

    僕がやってた頃につまずきやすかったのは、Scalaだといきなりコレクションが関数型で書かないといけません。
    それが命令型で書きたいと言われても、コレクションのAPIが基本的に関数型でしか書けないAPIになっているので「自分は苦手です」って言われても、それだと仕事ができなくなってしまうので、そこのハードルはKotlinとは違ってくるのかもしれないですが、そういう意味でもJavaっぽい書き方は一応できるけど意識しないといけないみたいなハードルはあると思います。
    view数 9
    • Offers(オファーズ) 公式

      エンジニア

      1年前

      ※本投稿は、2023年6月29日に開催されたイベント「KotlinとScala 活用者が語る技術選定のヒント(https://offers.connpass.com/event/287192/)」における、フリーランスエンジニア 竹端 尚人 氏の回答内容を元にしています。

      Javaの経験がある場合は、あまりハードルらしいハードルって実はそこまでないかもしれないなとは思っています。

      言語で何かつくろうと言ったときに言語自体の知識は2割ぐらいかなとは思っていて、それに加えてエコシステムだったりとか、あとプラットフォームの仕組みだったりをいろいろ学ぶ必要があります。
      Kotlinの場合はJavaのフレームワークやエコシステムなどが使えるので、そこをショートカットできるのが大きいかなと思います。

      例えばJavaでSpring Frameworkを元々やっていて、それからKotlinのSpringでプロダクトをつくろうとなったときは、本当にフレームワークはそのままで中の言語をKotlinに変えることができて、かつ、それもIntellij IDEAを使ってJavaからKotlinに自動変換ができたりするので、本当にある程度動かせる状態にまで学ぶっていうのは比較的Javaをやったらハードルが低くなるかなと思います。

      Javaの7より古いバージョンだとちょっとまた別なんですけど、8以降とかのいわゆる関数型みたいStream APIとか入ってきた後に学んでるような方たちとかは比較的学びやすいです。

      もし、それがない場合は他の言語と同じぐらいの学習コストはもちろんかかるとは思いますが、特別ハードルが高いわけではないと思います。
      view数 11