「CS」を含む日記 RSS

はてなキーワード: CSとは

2022-11-30

anond:20221130083458

CS で習う計算複雑性って実用からは少し離れた抽象的なもので、現実的には一兆年かかるが多項式アルゴリズム存在するので云々〜みたいな、わりと天文学的な話がされてる。

計算量のオーダー見積もりとかは初歩の初歩の初歩というか、それこそ業務をしばらくやってれば身につく感覚で、それをもってコンピュータサイエンス必要!というのは短絡的ではないかなあ。

Unity自体を作るにしてもRuby on Rails自体を作るにしてもReact Native自体を作るにしても、コンピュータサイエンスって必要なのか?

React Nativeのコア機能コミッターは全員CS学位持ちなのか?

ボクの使ったCS(ジジイの思い出話) anond:20221129085814

まぁ、下っ端プログラマには要らないだろうけど、いわゆるシステムエンジニアとかアーキテクトとか言われるレベル仕事するには、なるべく知っとかないといけないよね。

オレの場合は、大学はかろうじて理系一角だったけど、学問的にコンピュータサイエンスを学んだことはなくて、某IT会社でなかば業務上必要に迫られ、なかば趣味的な興味本位もありで、ちょっとずつ勉強した。

で、もう20年くらい前だし、すでに廃止されてる(と思う)ので、守秘義務違反とかの面倒なことにならなそうだと想定してぶっちゃけると、大手携帯会社ショップで各店舗独自プロモーション打ったりするためのWebシステムの開発に関わったことがある。

顧客の(および自分とこの)エライ人なんかにシステム設計根拠(この方式が最善なのか?もっと安く早くやれる方法はないのか?などなど)を常に問いかけられ、説明説得しなきゃならない。そこでコンピュータサイエンスに基づいて理路整然と話をすると、ちゃんと信頼してもらえるし、納得してカネ払ってもらえるw

そこで使ったのが、以下のような各種理論だ:



などなど... 自分史上最高に残業させられたこ仕事やってた年の年収は、900万円台おしくも1000万には届かなかったねぇw

 --追記--

コンピュータサイエンスがらみの思い出でもう一個面白い(とオレが思う)ネタがあるので、ついでに書いとこうw

これは、上で書いた携帯会社システムよりだいぶ前のことになるが、とあるグループウェアの開発に関わってたときメールFAXに向けて出力するドライバを書いたことがある。昔のことなのでオープンソースあんまり普及してないし、タダでお手軽に使えるライブラリが見つからなかったので、「車輪の再発明」っぽいけど自分でハフマン符号化によるデータ圧縮アルゴリズム勉強して作ったのだ。

Win32APIとか呼び出して、ビットマップテキストを描画させたとこからドットをちまちま数えて、白のドットがいくつ続いてたらこコード、黒がいくつ続いてたらあのコード...って可変長のビットパターンをつなぎ合わせてファイルに書き出す...みたいな。これが理論通りにうまいこと動作して、FAXから文書が出てきた時はとっても楽しかったw

anond:20221129085814

これ大学と同じで、CSを履修完了できるだけの素養があるということを確認したいだけじゃない?

あくま足切り

anond:20221129085814

CSってそんな大仰なものじゃなくて、ちょっと時間を作れば誰にでも理解できる知識体系だよ。

計算量とかアルゴリズムとかの話だけじゃなくて、スレッドプロセスとか、ヒープとスタックとか、そういう類の話だよ。

通信路符号化とか圧縮符号化とかの情報理論CSに含まないよ)

なので増田はすでにCS素養はある程度身に着けていると思う。

高等数学のような、100人に1人しか理解できないような、難解な理論体系ではないのよ。

ただ、用語の響きが難しいように聞こえるだけ。

例えば、「マクロ展開」っていう用語

難しく聞こえるので「俺には絶対理解できない」って思ってしまうけど、コンパイルときコードを置き換えているだけでしかない。

他にも、オブジェクト指向界隈の「継承より移譲」とかも、中身は拍子抜けするほどの簡単アイデアである

CSもそれと同じ。

増田CSを買い被ってる。

中身はただの「大人のマナー常識辞典」でしかない。

そして増田は既にそれを習得している。

anond:20221130083458

その程度のことに気づけばいいのか

CS完全にマスターした!

anond:20221130135048

んー。

書いたコード計算量のオーダーをつねに意識するってのは,十分にコンピューターサイエンス知識の応用だと思うけどな。

CPU時間でO(n log n),メモリ量でO(n)を超えるオーダーの処理を書いてしまったときには「やばい」と本能が訴えかけてきて,パラメーターチェックを厳密にするなり,別のアルゴリズムを探すなりして欲しい。けどCSを全くやっておらず,ランダウ記法を習ってない人間には,何を言ってるかすらわからないでしょ?

基本情報okてことか?

csを学ぶ理由かいろいろ書いてあるが基本情報レベルあればいいってことね

CSなんかまったくやってない何なら政経から業界に入ったプログラマー()だけど

20/30/50しかユーザーインターフェースから入力できなくても内部のテストで「クソ小さい数字」「正常な数字と異常な数字の境目」「正常な数字」「異常な数字」「クソデカ数字」くらいはテストするもんだってのは知ってるし、なんなら正常異常関係なくランダムで作った数字を延々と流し込み続けてすべて正しく評価されるかのテストとかもしたりするぞ

CSで学べるのがその程度のもんならCSいらなくね

anond:20221130112153

仕事CS(というか数学とか)使ってる派だけど、年収は1100万円くらいです…日本企業からね…。

今日現場が勘と経験で作り上げてにっちもさっちもいかなくなったスパゲッティロジックを数理的に正しい形に整理して性能改善する仕事をやってるお。

anond:20221129085814

元増田じゃないけど、まともに回答できてるブクマコメント少なくて、はぁ〜って感じ

必要」の意味わかってんのか。作業を回すために絶対に不可欠って意味だぞ

そりゃプログラマー教養としてあったら解決できる問題も増えるし安全だし最高だけど、人間リソースは有限だから取捨選択する必要があるわけで

ライブラリとか言語機能範囲内で解決できるならそれでよい

ちゃんと「必要」と主張するなら「必要」なことを証明するべきっしょ

無理だろ、業務の種類によってぜんぜん変わるからな。やっぱりCS必要とは限らんし、必要と限らないことは「必要」じゃないんだよ

トラブルさえなければ〜。みたいなのはそのとおりだしもっと言うなら、普通に開発してたらライブラリカバーできない処理とかは全然出てくるし、そう言うタイミングで大抵の人はCSっぽいこと勉強して対応するんじゃないのか?

それって予めCS必要必要!って声高に叫んでオベンキョするよりも、業務実践必要になるたびに習得するんがいいんじゃないのか

CS的なことって全然不要!」とは思わんし、あったらいいことだけど「必要」って言い始めると嘘じゃん。なくてもある程度のプログラミングはできるし、そのある程度のプログラミング範囲内で生活が成り立つなら、そこにとどまるのは戦略のうちだよ

CSないとプログラミングできないみたいなこと言ってると、誰も最初の一歩でプログラミングやろうってならんわ

おれもCSやったほうがいいと思うけど、必要って言い始めたら引く。必要ではない。なるべくあったほうが絶対にいい、とは言い切れるけど。「必要」とか言葉を雑に使ってしまうほうがプログラミングのことわかってない奴だろう

anond:20221129085814

この手の話でよく槍玉に上がるのが三角関数だけど、自分場合はそのレベルになると呼吸どころか心臓の拍動くらい自然に使ってるので最早いつ使ってるとか聞かれても分からないんだよな。例えばベクトル内積とった時点で使ってることになるわけだが、そんなの無数にやってていつやったか意識できない。CSも使ってる人にとっては似たようなものなんだよね。

anond:20221130090628

メニューからは5/10/20からしか選べないからだよ。なのでテスト20までしかしてない。URLを手で書き換えるなんてのは,普通テストシナリオに入らないでしょ?

いいたいのは,仕様書を満たしてテストを通るだけのコードCSを知らないでもかける。でも,脆弱性を作り込まないようにするには,CS知識がいる,ということ。

anond:20221129085814

日本一般的WEBサービス作る程度であれば実務的には必要ない。

CS持っていたほうが選択肢が広がるだろうし、持っていない自分としては社会人が行ける大学に行って勉強しようと検討した。

けど年収東京区内で家を買える程度はあり、家族・友人・趣味時間を使ってまで勉強する必要は無いと思った。

将来的にその価値観が変わったら勉強するかもだが。

anond:20221129085814

計算複雑性理論を知らないやつが何をやらかすか教えてやろう。

ある業務Webシステム検索結果の表示件数を5/10/20から選べるようになっててて,URLパラメーターで「?n=20」とかやって送ってた。メニューからは三つのしか選べないが手で書き換えれば100とか200とか選べる穴が空いてた。

で,よりによってメモリ使用量がO(n^2)になるコードを書いていやがった。n=500でOutOfMemoryError。リモートから面白いようにサービスを落とせた。

CSを知ってるやつなら,コードを書いた瞬間から「これnの上限チェック入れないとまずいな」とわかるんだよ。というか,普通にこのコードはまずいと考えてアルゴリズムをなおして,O(1)でDBレコード全件持ってきても落ちないコードにできてたはず。

anond:20221129085814

あるフレームワークバージョンアップしてがらっと変わっちゃったときに、キャッチアップする時間が1週間から2日に短縮できる素養が身につく

まあこれだよね

CSを学ぶ一番分かりやすい利点だと思う

CSという常識が頭に入ってるかどうかで理解にかかる時間理解の質が大きく変わってくる

anond:20221129220135

違いが出てくるのはこれからってことだな。アメリカを見れば大体わかる。CS学位有りと無しでは、、

anond:20221129085814

俺は大学電気専攻だったので電気電子知識だけ身につけて組込みプログラマーになった人間だけどやっぱりコンピュータサイエンス勉強しておけばよかったかな、とも思ってるよ

ただ電気知識は本当に役立ってるから電気ちゃんと学んでおいたほうが捗るってことは言っておきたい

CSしろ電気しろ結局のところは「大学目的を持って学んだ知識仕事で役立つ」ってだけなんだけどね

anond:20221129085814

いくつか反論したいポイントはあるが、多分ほとんど他の人が突っ込むだろうから

俺はとりあえずオーダーについての勘違いについて指摘しておく

  • XX.sortで勝手に実行環境がよしなにやってくれる

厳密には間違い。大半のケースではそれで良いが、XX.sortを呼んでもその先でしっかりオーダー(多くの場合nLog(n))が掛かっているため、100万だか1億だかの膨大な値を扱う場合無視できない影響が出てくる

そうした場合データの質によっては、別ライブラリのYY.sortを使ったほうが良いということがありえる。

オーダーはデータの規模に応じて処理時間が増えていくか、という割合なので

リリース直後は3秒と2.8秒の違いしかなくても、登録ユーザーデータが増えてくると5分と3.0秒という具合にどんどん差がつくもの

そうなってからサービス停止してパッチを当てるよりは、最初からオーダーを意識したコーディングをしたほうが良い

あとAI開発には必要って自分で言ってるじゃんとか経験則でも必要ならそれを言語化して周知するだけで財産だよねとかあるけど眠いのでこのへんで。

最新のフレームワークを追うのは確かにコンピュータサイエンス(CS)を知るよりずっと大事かもしれないが、CSが無価値ということは決してない

研究職のサラリーマンにまったく必要ないけどハッタリと国外へ行く時に必要

データサイエンティストデータエンジニアデータアナリストマーケティング職の違いがわからない顧客

そして、なーんのバックグラウンド無くてもOKみたいな求人もある世の中だが、

まぁ一応、CSは持ってるよくらいはあっていい

 

アメリカですらこれらの関連職に高等教育を受けていない人も就いているが、

フツーに考えて高卒よりはハッタリが効いて自由に動き易くなるし、

リモートワークで就業するのでは無く、国外へ単身で出向いて現地就業するなら、

やっぱ、CSは持ってるよくらいはあっていい

 

流行りに乗って日本でもデータサイエンス学部作ってるし、国も支援はしてるみたいだが、

2022年時点ではとりあえずCSで良さそう

anond:20221129085814

anond:20221129085814

これって質問構造問題だよな。

CSが要らないって言うためにはCSをそこそこ深いレベルで知ってる必要があるけれども、そういう人はきっとCSが好きだから勧めたいよな。

ライブラリフレームワークを作る人だったとしても、必要なのはライブラリフレームワークを大量に読むことであってCSではないんだよなあ。


この前クラウドネットワークが繋がらない時にクラウド側のバグだって気付いたんだけど、これは知識がなかったら自分のオペミスを疑って迷宮入りしてたかもしれない。

でもこれもCSじゃなくて自分クラウドっぽいもの作って遊んだ経験上の勘なんだよな。

面白そうだから情報大学に行っただけで、何かの役に立てるつもりでやってなかったよね。

anond:20221129085814

この増田マウントとってる人たちがCS学位を持ってるのか、どんな価値のあるプロダクトに関わってるのかはぜひ知りたいところ

2022-11-26

anond:20221125124811

最近アメリカ一流大大学院CS専攻しようと思ったら、最初から日本助教准教授レベルの業績持ってないと入試突破できなさそうな感じがする。

2022-11-15

anond:20221113111747

理系大学就職は成績で割り振られる研究室や、そこで取り組んだ成果が物を言うので(あとCSWeb系ならインターンとかですかね)、良い大学底辺で入るより自分に合ったレベル校風大学に中上位で入った方が良いですよ

ログイン ユーザー登録
ようこそ ゲスト さん