依存関係としては、ライブラリなどが多いと API の動作変更や削除など
意図しない変更を避けるために、プログラム事に全てを囲っておかないと危ない。
別の言い方をすると、一プログラム事の venv かな。
そうしないと、静的リンクが出来ないので、こっちのプログラムは動くけど、あっちが動かなくなったがある。
C++ や C でも動的ライブラリを使うと起きる問題だけど、静的ライブラリで逃げられる。
これは、緩いライブラリ API の塊で、グループの数が多かった場合に陥る問題。
この為に特別な処理をいれる必要があった。
言語としてはやりたいことは google で探すと、大体解説と共に載っている。
細かい一つ一つの実装は大体これで見付かる。
本屋でやたら推してるけど (スコア:0)
時代に取り残されたお爺さんには何が良いのかわからない
Re:環境の始動に時間がかかるけど、動き出すと早い (スコア:4, 興味深い)
たが、python の経験が少ないとそこら辺が大変。動かし方やビルド環境が落ち着くまでに色々かかる。C/C++ がメインだった人は完全に慣れるまで半年ぐらいかかる。
他言語経験者だった場合は、一度、開発体制の歯車がカッチリ合うと早い。
依存関係としては、ライブラリなどが多いと API の動作変更や削除など 意図しない変更を避けるために、プログラム事に全てを囲っておかないと危ない。 別の言い方をすると、一プログラム事の venv かな。 そうしないと、静的リンクが出来ないので、こっちのプログラムは動くけど、あっちが動かなくなったがある。 C++ や C でも動的ライブラリを使うと起きる問題だけど、静的ライブラリで逃げられる。 これは、緩いライブラリ API の塊で、グループの数が多かった場合に陥る問題。 この為に特別な処理をいれる必要があった。
言語としてはやりたいことは google で探すと、大体解説と共に載っている。 細かい一つ一つの実装は大体これで見付かる。
pytest が秀逸でテストを書きやすい、付け足しやすい。 unittest の patch で関数呼び出しの戻り値を入れ換えたり、 特定の関数に渡す引数を調べられたりして、取っても強固。 C/C++ もあれこれあるけど、色々と手間がかかるし、低レベル関数乗っ取りはかなり無理。
シェルスクリプトよりも書きやすくて、それなりの速度で動けば良い所だと手軽。 C/C++ だと構造体やクラスを作るところを dict で済ませられる事も多い。
json ライブラリも便利。 ファイルに json で読み書き。内部構造としても、json のまま保持したりする。 ある意味、データとコードが同じになるので、テストで使う json データも 直打ちだったり、ファイルから読み込んでも一、二行で済むので楽。 別の言い方をすると、最悪の場合、プロジェクト毎に書かれている C/C++ の 設定ファイルの書式と各種 API を書くような人は Python ではいない。 Pytho では json で読んで、必要な dict キーがあるかの検査をする程度。
ただ、型指定は弱い。 typing と言って、変数型や関数の戻り型を指定できるが、言語としては無視している。 意図していない型で渡して、例外の原因になっている事もある。 酷いのだと、デバッグに print を入れたら、そこで例外が投げられるようになって 余計何が起きているのか分からなくなったり。 スクリプト言語主体の人達はそこら辺が寛容すぎて間違ったものが渡されていてもなかなか気にしない。 静的型言語主体の人達はどんな型が渡されるかとても気になって、気になってしょうがない。
長くなったが、一言でまとめると「開発環境がこなれて安定し、利用者が慣れてると、 とっても便利。短い行数で意図する事が出来るので、慣れると作業が早くなる。」
元、C/C++ を主体にしていた者が、ここ一年程 Python だけの環境で作業した感想。
Re: (スコア:0)
最近はこーやる
ブラウザー上でサクッとコードの動作テストができるWebサイトいろいろ
https://www.webcreatorbox.com/webinfo/code-playgrounds [webcreatorbox.com]
Re:本屋でやたら推してるけど (スコア:2, 参考になる)
・WindowsをUNIX-Like OSと同列にファーストクラスの環境として扱っている。
・環境隔離(venv)を標準で持っている。
・標準ライブラリが充実している。nodeのleftpadみたいな小指のツメほどのライブラリとかで、ちょっとしたプログラムで数十のサードパーティライブラリみたいなことにならない。
・型の硬さが程よい。rustとかgoほどガチガチではないが、lsp使ってればスイスイ補完されるぐらいにはしっかりしている。
・I/Oバウンドなプログラムはasyncで平行性上げられる。
コマンドラインツールからWebアプリまで汎用性があってバランスが良いってのが良いところですかね。
実行時のパフォーマンスが必要ならrust、開発効率ならpython。
標準でパッケージング機構もってるってのもポイントか。cargoやpipのように、配布まで含めて面倒見てくれる言語でないと使う気しない。
Re: (スコア:0)
C/C++言語も標準ライブラリ増やせばいいのに
とくにデスクトップ用やサーバ用で使う場合、CPUもメモリも有り余ってるんだから、
標準ライブラリ増やして、車輪の再発明をなくし使いやすくすればいいのにね
Re: (スコア:0)
C++はだいぶ標準ライブラリ増えてるぞ
Cはフリースタンディング環境で無用の長物が増えるだけだし…
Re: (スコア:0)
Windowsで使うMSVC限定でどんどん使いやすくなってる感じがするな
UNIXやら機種問わない使い方する場合便利になってるとは思えない
Re: (スコア:0)
これ読んでて思ったけど
マジンガーZとウマ娘位の世代格差があるよな
必死にCに変換して会話しようとするオジサンかわいそう
Re: (スコア:0)
Rubyは長年、windows捨てすぎなのよな。
昔のActivePerlも、やっぱwindows捨てていたし。DBなんかに繋げなかった。
Re: (スコア:0)
Windowsでしか動かないActivePerlがWindows捨ててるって意味わからない、
Re: (スコア:0)
WSL使えば済む時代にわざわざActivePerlなんて入れないし。
Re: (スコア:0)
CPANやGEMで引っ張ってくると、Windowsは動きませんという現象
大抵DEVKITを求められて、そのへんのデバッグが必要になってくる
DEVKITが必要になる時点で、移植性がどうよという
Re: (スコア:0)
とりあえずPythonに因んでスパム [wikipedia.org]でも食べときましょ。
Re: (スコア:0)
プログラミングしたいけど言語は何がいい?と聞かれてPythonと答える勇気はない
Re: (スコア:0)
自分で言語を選べるレベルなら何でも好きにすれば良いと思うけど、
普通にSIerに入って食っていこうとするなら何が最適なんだろ。
一昔前ならJava一択で幸せになれたと思うんだけど、今はなんかモヤモヤしちゃう。
かといってC系統でもないと思うし、あえてCOBOLの茨路を歩く人生はやだなぁ。
Re: (スコア:0)
正解はSIerに入らないことかと・・
Re: (スコア:0)
うーん、IT土方とか揶揄されるけど、理系コミュ障にとってはベターな選択肢の一つだと思うんだよね。
それなりの会社なら普通の30代でも6~700万位は稼げるようになる可能性高いし。
他の理系研究職程要求水準が高くない割に汎用性があるので、マシな方ではないかと。
ベンチャーとかだと、自分たちで立ち上げてボードメンバーに入っていれば大きく報われる可能性もあるけど、
あとから入ると待遇とか福利厚生が微妙だったり、要求される能力の割に報われない感じ。
ただ、業界引っ張る程の力量があれば、好きなだけ稼げるとも思う。
Re:本屋でやたら推してるけど (スコア:1)
SIerでコミュ障はダメだろ。人と関わらなくていい商売じゃない。
Re: (スコア:0)
40代にもなると続けられない。
タクシー運転手でもやるか。
Re: (スコア:0)
むしろ40代は一番稼げる時期じゃない?勿体ないぞ。
20代からプログラマを初めて、50代になった小生だが。
で振り返ってみたら、プログラマとしては40代が一番有能だったよ。
Re: (スコア:0)
40代だとどうしてもベンダ管理とかに回されることになるんだけど、言語は何でもいいのでプログラムが書けるだけでアドバンテージは大きいよ。
じゃないとベンダに好き勝手言われて工数ぼったくられても、ただのコーディングミスを屁理屈で言いくるめられようとしても言い返せない。
# むしろ開発できない人間にベンダ管理を担当させる方が頭おかしいと思うんだけど、それが日本の開発現場。
Re: (スコア:0)
> むしろ開発できない人間にベンダ管理を担当させる方が頭おかしいと思う
王様や大統領にウイルスの知識がなくても政策は出来るんだよ
開発以前の管理力不足ですよ
部下の連帯責任でもあるよ
Re: (スコア:0)
Python辺りが十分に操れるのなら、入社後にその業務で使う言語をマスターするので十分だろう。
いくつかの微妙な言語よりもPythonなら十分にコーディング能力を評価できるし、Pythonが業務に直結する会社も少なくない。
相手方の人事がPythonの意味を理解できないなんて事がなければ。
Re: (スコア:0)
わしゃーぷろぐらみんぐしたいけどげんごはなにがいいって問いに答える勇気がそもそもない
Re: (スコア:0)
プログラミングの目的を指定されていないなら自分の使える言語を答えておけばいいのでは?
本屋に行かなくなりました (スコア:2)
プログラミング関連の書籍は読まなくなりました。本屋にも滅多に行きません。
Webを見た方が早い。日本語でも情報が沢山あります。そして最新の情報は全部英語。
書籍はたまに洋書を買うぐらいで、日本語の本は買わなくなりました。日本語訳が出る頃には時代遅れになってるからです。
日本の本屋でやたらとpythonが推されてると感じるのは、ネット検索さえできない初心者にしか書籍が売れない、
その手の初心者は「python入門」みたいな「なんか知ってる単語」+「入門」という形の本を好んで買う、という事かもしれません。
Re: (スコア:0)
10年前なら「Webを見た方が早い」と言えるけど、今どきは「いかがでしたか」ブログと謎機械翻訳サイトとプログラミングスクールのゴミに埋め尽くされてまともな情報得るの困難になってない?
かと言って書籍が復活したわけでもないのでシンプルにまともな情報源がなくなった
Re: (スコア:0)
いかがでしたかブログと共に育ってきた世代ならゴミの避け方も心得てるんだけど今からネット始める層にはきついだろうなー
アフィリエイトがいろいろとネットの価値を破壊してきたと思う。反社の収益源にもなってるし法規制が必要。
Re: (スコア:0)
とりあえず、トップにジャンボトロンが出てくるサイトを避けるようなサイト、無駄Q&Aサイトを避けるようにしている。
まあ、そうなるとQiitaかよく分からない個人blogしか残らないけれど、大体それで求める答えは得られる。
Re: (スコア:0)
> ゴミの避け方も心得てる
初めからゴミ漁りしかしてないだけじゃん
運営が反社だと分かってるなら規約違反なので、アフィ業者とサーバー屋に詳しく通報すればいいよ、犯罪なら警察にチクってもいいし。
Re: (スコア:0)
アプリケーション、処理対象が定まればそれに適切なプログラミング言語も自然と定まる
うちは組込、数値計算関連なので必要とあらば今でもFORTRANを使う
MATLABやMathematicaは普通に使う
他の特定用途向けライブラリに依存するような開発はしないのでPythonを使う機会は無い
Re: (スコア:0)
FORTRANすっきやで❤
(*´ω`*)
Re:本屋でやたら推してるけど (スコア:3)
同じく。ただ新しい仕様のFortran本が少ないのが残念なところ。
なので最近はPythonに浮気気味です。Fortranを除く他言語よりは複素数が使いやすいので。
でも数式と同様に書ける点ではFortranの方がやっぱり書きやすいですね。そういう目的の言語ですし。
Re: (スコア:0)
Pythonを使うことが要件でなければJuliaがおすすめ。
Re: (スコア:0)
10年以上前から使っていますが、数値計算用ライブラリが揃っているのが当時からのメリットですよ。
Pythonが無かったら(あるいはnumpyが無ければ)RとかMatlabがもっと使われていたと思う。
Re: (スコア:0)
Pythonという言語の存在を知ったのは
ダウンローダーのIria(後のIrvine)のスクリプト
20年前か…
Re: (スコア:0)
制御用の数値計算でMATLABをばりばり使ってましたが、今はPythonの方が多いですね。
最近はAI系でPythonを避けられないこともあって、顧客企業にPythonで提案して困ることが無くなったのも大きい。
Re: (スコア:0)
非プログラマーでも扱いやすい点が良さげ。VBAの代わり。
Re: (スコア:0)
C++程ではないと思いたいが、昔Joel on softwareで言われていた「コード片から確定できることが何もない」になりつつある。
書いて極楽、読んで地獄なんだよ。lispもマクロを多用するとそうだったしな。
Re: (スコア:0)
foo = Bar()
foo.hoge = 'hogehoge'
しかしBarクラスにはhogeなどという属性は存在しないのだみたいな。
Re: (スコア:0)
ディープラーニングでよく使われてる