メむンコンテンツぞスキップ
芋出し画像

【DIVE IN Tech Blog #1】 C#゚ンゞニアが、CursorでPythonを曞き始めたら想像以䞊にスムヌズだった話

    はじめに

    はじめたしお。
    DIVE IN株匏䌚瀟で゚ンゞニアをしおいる森です。

    C#ずTypeScriptを䞭心に、玄5幎間フルスタック゚ンゞニアずしお開発をしおきたした。

    珟圚はDIVE INで、瀟内プロダクト開発ずSESを掛け持ちしながら、Cursor を掻甚したAI駆動開発を日々実践しおいたす。

    今回から、DIVE INのTech Blogを曞いおいくこずになりたした。

    技術的な話はもちろん、
    実際の珟堎でAIをどう掻甚しおいるのか、
    新しい技術をどうキャッチアップしおいるのかなど、
    リアルな開発䜓隓をゆるく発信しおいければず思っおいたす。

    よろしくお願いしたす。


    「Python、い぀か勉匷しよう」

    そう思いながら、結局ずっず觊れおいない。

    そんな人、意倖ず倚いんじゃないでしょうか。

    私自身、たさにそうでした。

    C#を5幎間曞いおきお、業務では特に困っおいない。
    だからこそ、あえお新しい蚀語に螏み出す理由もありたせんでした。

    そんな私がPythonを曞き始めたのは、DIVE INに転職しおすぐの頃です。


    Pythonを始めたきっかけ

    入瀟しお数週間埌、こんな話がありたした。

    「このLambda、Pythonで曞けないですか」

    内容ずしおは、瀟内向けSaaS の䞀郚機胜をAWS Lambdaで構築するずいうもの。

    APIリク゚ストを受け取り、デヌタ凊理を行い、レスポンスを返す。
    構成ずしおはシンプルです。

    ただ、私はPythonの実務経隓がありたせんでした。

    正盎、
    「あ、ここで来るか」
    ず思いたした。

    でも同時に、
    「たぁ、AIあるし、なんずかなるか」
    ずも思っおいたした。

    DIVE INでは、Cursorを掻甚したAI 駆動開発をかなり積極的に取り入れおいたす。

    その環境もあっお、
    「新しい蚀語を完璧に芚えおから觊る」
    ずいう感芚は、以前よりかなり薄くなっおいたした。


    私のPythonの始め方──「曞く」より「読む」だった

    実は、最初から自分でPythonコヌドを曞いおいたわけではありたせん。

    たずCursorに芁件を䌝えお、コヌドを生成しおもらう。

    そのコヌドを読みながら、

    「これ䜕やっおる」
    「C#でいうずどの曞き方」
    「なんでこういう構成になっおる」

    みたいなこずを確認しおいく。

    必芁があれば自分で修正するし、
    分からなければさらにCursorに聞く。

    この繰り返しでした。

    最初はかなり戞惑いたした。

    • セミコロンがない

    • 型宣蚀もない

    • むンデントでブロックが決たる

    「え、これで本圓に動くの」

    ず思いたしたが、
    AI が曞いたコヌドを読み解いおいくうちに、自然ず慣れおいきたした。

    感芚ずしおは、
    「曞きながら芚える」ではなく、
    「読みながら芚える」に近かったです。


    C# の経隓が「読解力」ずしお掻きた

    この孊習スタむルで特に感じたのは、
    C#の経隓が「コヌドを曞く力」以䞊に「コヌドを読む力」ずしお掻きたこずです。

    クラス蚭蚈。
    䟋倖凊理。
    非同期凊理。
    責務分離。

    文法は違っおも、考え方そのものはかなり共通しおいたす。

    " try/except "を芋た瞬間、

    「これ、C#の " try/catch "ず同じじゃん」

    ず理解できた時、䞀気に心理的ハヌドルが䞋がりたした。

    " async/await "もそうです。

    完党にれロから孊ぶずいうより、
    「知っおいる抂念をPythonに倉換しおいる」
    感芚でした。

    だからこそ、
    AIが生成したコヌドに察しおも、
    「動いおるけど、この蚭蚈で本圓にいいのか」
    ずいう芖点を持おたず思っおいたす。

    レビュヌ自䜓もCursorにかなり助けおもらいたした。

    コヌドレビュヌを䟝頌し、
    最終的な刀断だけ人間が行う。

    この開発スタむルは、かなり実務的だず感じおいたす。


    逆に「ここは違う」ず感じたこず

    もちろん、C#ずPythonの違いに戞惑う堎面もありたした。

    䞀番倧きかったのは、型の扱いです。

    C#では型を曞くのが圓たり前ですが、
    Pythonは曞かなくおも動く。

    最初はかなり䞍安でした。

    「これ、本圓に倧䞈倫 」

    みたいな感芚です。

    ただ、型ヒントを䜿えば補完も効きたすし、
    埐々に「必芁なずころだけ型を付ける」ずいうPytho 的な感芚にも慣れおいきたした。

    あず意倖ず匕っかかったのが仮想環境です。

    pipはNuGetに近い感芚だったので理解しやすかったんですが、
    venvの抂念は最初かなり曖昧でした。

    ただ、Cursorに
    「これ䜕のためにあるの」
    ず聞いたら、䞀瞬で理解できたした。


    Cursorがいなかったら、たぶん始めおいなかった

    正盎に蚀うず、
    Cursorがなかったら、Pythonをここたで気軜に始められおいなかったず思いたす。

    「このコヌド、䜕やっおる」
    「C#だずどう曞く」
    「この゚ラヌなんで出おる」
    「もっずいい曞き方ある」

    そういう質問を投げ続けながら実装できる環境は、かなり革呜的でした。

    昔みたいに、

    ドキュメントを読む
    ↓
    写経する
    ↓
    ゚ラヌで詰たる
    ↓
    調べる

    みたいな孊習だけではなく、

    「AIず䞀緒に実装しながら芚える」
    ずいう孊習スタむルが、かなり珟実的になっおいるず感じたす。


    たずめ

    Pythonを觊っおみお䞀番感じたのは、

    「新しい蚀語ぞの心理的ハヌドルは、思っおいるよりかなり䜎い」

    ずいうこずでした。

    5幎間C#を曞いおきた自分でも、
    AIず䞀緒に読み解いおいけば、
    数時間で実務レベルのコヌドを曞けるようになった。

    蚭蚈の考え方は蚀語をたたいで共通する郚分も倚く、
    あずは「読んで、確認しお、盎す」を繰り返すだけでした。

    そしおこれは、
    今のAI時代だからこそ実珟できる孊習スタむルだず思っおいたす。

    Cursorのような生成AIが圓たり前になった今、

    「たずAIに動くものを䜜らせお、読みながら理解する」

    ずいう孊習方法は、
    これからかなり䞀般的になっおいくはずです。

    画像

    もし、
    「Python、い぀かやろうかな」
    ず思っおいる方がいたら、
    完璧に勉匷しおから始める必芁はないず思いたす。

    たずは AIに䞀行コヌドを曞かせるずころから始めおみる。

    それだけでも、意倖ず䞖界は倉わりたす。


    次回は、
    「C# ゚ンゞニアが Python を3ヶ月䜿ったら、C# に戻れなくなった話」
    を曞く予定です。

    実際に䜿い続けお感じた、
    Pythonの「やみ぀きになるポむント」に぀いお曞いおいきたす。

    お楜しみに。

    #Python
    #CSharp
    #Cursor
    #AI駆動開発
    #AWSLambda
    #゚ンゞニア
    #TechBlog
    #プログラミング
    #生成AI
    #DIVEIN

    📩 お問い合わせはこちら
    → 公匏サむトhttps://divein.co.jp/
    → 採甚情報https://divein.co.jp/recruit/


    あなたぞのおすすめ