プログラミングのオブジェクト指向のclassってさ、言っていれば関数を別のファイルに移動しておくみたいなことだろ?
■ このスレッドは過去ログ倉庫に格納されています
そのファイルに保存した関数を呼び出して使うのがclassなんだろ? あくまでオブジェクト指向でとらえろ
言い換えることは出来ない 結果的にひとつのクラスがひとつのファイルに保存されるのでそう見えるけど
例えば計算系はmathというネームスペースに分類される
三角形クラスにファイル名を変更する関数を入れないだろ >>1
classという概念は時代遅れ
最近の人気プログラミング言語だと
例えばGoやRustなどではclassは切り捨てられている structがあれば困らない
classがある言語を使う場合でもそこを理解できてるかどうかが決め手となる >>8
例えばRustではclassよりももっと便利で実用的なtraitという概念で複数の型(例えばstructなど)を横断的に直交する形でまとめている >>11
いいね
どういうのか知らんけどクラスの縛りから出られるのか
だがもうプログラミングしてないからなあ
少し前にunityで遊んだきり 時代遅れだからclassが切り捨てられてるんじゃなく単にRustがオブジェクト指向じゃないだけだな >>14
オブジェクト指向はもっと広い概念
クラス型のオブジェクト指向もあればJavaScriptなどのようにプロトタイプ型のオブジェクト指向もある
GoやRustにはクラスもプロトタイプもないがstructに対してインスタンス相当のものがあるしメソッド定義も可能 JavaScriptは動的にメンバー増やせてなかなか癖が強い 初めてのCとかgoとかラストとかネーミングなんとかならんのか
紛らわしいよ 初心者向けclassの説明、必ずイヌかネコの例が出てくる法則 ざっくり見たけど
C++と書き方が違うから頭に入りにくい
ループではないforとか
型と変数の間に:使うのとか語順的な違いとか嫌いじゃないけど >>24
ループはloopやwhileがある
forはイテレータを回す >>22
それな
舵もあればアクセルもあるし位置も持ってる
コピーすればもう1台増える >>11
C++で言うところのtupleかな?
classと完全に被る訳ではない >>27
それは、まとめる、の意味が違うw
同じ種類の機能を横断的にまとめて扱う感じ >>28
複数の型をメンバー関数だけ定義したtemplate classで
継承するイメージかな? 古いとか新しいじゃなくRustとか学習コスト高すぎだから必要な人だけが使うべき言語でしかない >>30
Rustはめっちゃ簡単
さらに簡単なGoも同じくclassなんて無い pythonやrubyやnode.jsより覚えるのが面倒だったな >>32
それスクリプト言語やんけ
せめて普通のプログラミング言語と比較せえ classは仏像を作る
インスタンスはそれに魂を入れる
って聞いた
仏像かゴーレムかは好きに置換しろって >>34
それclassなんか無くてもstructで十分じゃね?となって
最近の言語GoやRustにはclassがない スクリプト言語は適当に書いても動いたりするけど実は意図したコードじゃなかったりするのが厄介 >>36
うむ
プログラミングできます!と言うのに使える言語がスクリプト言語の名前しか出てこない人もヤバい Rustクンから醸し出されるものすごいジャバスクリプター臭 GoもRustも書けない老害がブツブツ言っててワロタ スクリプト言語とプログラミング言語を恣意的に分けてるやつがドヤ顔してる時点でクソスレ 分けるなら動的型付け言語と静的型付け言語だな
まあスクリプト言語と言われてるものがそのまま動的型付け言語でもあるわけだけど 何を作るかが重要であって言語なんか単なる手段に過ぎないのに
君らが今使ってる5chはレガシーなCとPerlだし またこうなるのかよ・・・
初心者がClassの概念聞いてるのにRUST!とにかくこれからはRUST!! 大雑把に書くと
古いプログラミング言語は上から下にダラーーっと処理を書いてた
長くなると分かり難いし同じ処理を何度も書くのは無駄でバグにもなるから
関数って形で機能をまとめておいて呼び出して使えるように考えた
そこから進んで関数に更にデータも入れた物体を作って
その物体を組み合わせて処理させたりその物体を「継承」して機能追加したり
出来るようにしたのがオブジェクト指向 継承に起因する事故が増えてプログラミング工学的な限界が見えたと聞いた Goは古いプログラミング言語じゃないけど
classなんて無いよ >>50
その通り
だから最近のプログラミング言語であるGoやRustにはclassがない 最近のだからないわけじゃないんだよジャバスクリプターくん むしろ最近になってclass構文を導入したのがJavaScript 本来は簡単に学べて開発効率が上がってバグが出にくくするために
新しい言語を開発してるはずなのに逆に行ってるような気がする Q. classってこんな考え方で合ってる?
A. classなんて不要
何故なのか >>55
あれは単なるsyntax sugar
JavaScriptはclass方式ではなくprototype方式 「C++が理解出来ないのはあなたの頭が悪いからではない」って >>56
逆に行ってる例なんてない
開発効率が上がってバグが出にくくなっている >>49
「オブジェクト指向」って名前が悪いよな
一見して意味が分からない
アラン・ケイめ Rustの開発効率なんかめちゃくちゃ低いよ
Cと変わらんての
開発効率考えるならJavaとか使うっての >>59
いや、頭悪いプログラマーはマジでC/C++/RustなどのGC無し言語を使えない例が多い >>63
現実にJavaを使ってたFacebookなどIT大手なとがその部分をRustへ置き換えてるのを見ても
Javaの方が効率悪いとわかるでしょ >>65
それ開発効率じゃなくJavaのライセンス問題では 大手ITはあらゆる言語を試すだけで特別Rustを重用しているわけでもない Rustが置き換える部分って今までC/C++使ってたような部分で
C/C++に比べりゃメモリセーフで効率もいいという話でしかない >>63
そのCやJavaなど使う分野でのプログラミング言語ならば
現状だとRustが開発効率最も良い
現実に実行時デバッグが激減することが知られている通り
Rustは様々なデータの競合やnull問題やメモリ問題などがあれば全てコンパイル時点でエラーに出来るため >>69
そんな狭い視野の人を初めて見た
例えばWeb分野にしてもバックエンドからフロントエンドのWebAssemblyに至るまでRustがどんどん使われていってる >>67
おいおい、PHPだけで動いてると思ってるのか?
まともなプログラマーならそんなこと言い出さないぞ ジャバスクリプターくん根本は何も変わってないな
1言語で全部できると思ってる >>68
IT大手のGAFMが珍しく一致団結して一緒にRust Foundationを立ち上げたり
新たなプログラミング言語に関してこんなに協調するのは初めてやね プロだけどRust使ってる案件なんかRubyどころかGoやScalaより少ないぜ >>69
その方向もあるけど元が少なくて
逆にメモリ安全性のためにGC言語を使っていたところが速度と省メモリを求めてメモリ安全性が保証されるRustへ切り替えてるパターンの方が多いみたい クラウド時代がRustへの移行を進ませている側面はあるな
GC言語からRustへ書き換えるだけでリソース数分の一で済んで出費コストに直結するからな LinuxカーネルのCがRustに置き換わるくらいの勢いで
RustRust言ってたけどその後どのくらい増えたのかな? GAFAみんな本当にRustが最強だと思ってたらGoもC#もKotlinもSwiftもできてないよ >>79
LinusがRustの採用OK出した
このケースは元がCなので既にある動いてる部分を置き換えるメリットはすぐにはないため新規部分から採用 RustはC++より取っ掛かりは難しいけど
参照周りは確かにすっきりしてる 徐々に消えていこうとする言語も多い中で
IT大手たちを含めてRustが本命言語だとする理由はこういうことらしい
> Rustの以下のメリットを持つ代替言語が存在しないため
> ・ガベージコレクションを必要とせずC言語と同等の速さと省メモリを実現
> ・各種データ競合やメモリ使用の安全性を保証
> ・現代的な各種プログラミングパラダイムを洗練して採り入れており非常にプログラミングしやすい >>83
swiftやKotlinの方がRustより後発だが >>64
C++が複雑すぎて言語として成功したとは言いがたい
って研究者の言葉ね なんで「プログラミング」って名が付くスレになると
熱心に布教始めるんだジャバスクリプターくん
スレタイから全く話外れてる上に連投 Cが割とシンプルでわかりやすい言語だったから
そのノリでC++をやろうとして挫折した >>88
結局そういう明白な特徴あるプログラミング言語じゃないと残りそうにないよね >>1の質問に対してもう>>7で話が外れてるからなあ
仕事場で周囲と会話成立してるのだろうか心配になる >>89
それ名前が付いたものの登場時期を比較しても意味なくて
当初のものから仕様からして変わってるからそこで比較しないと意味ないって件やな
まあどうでもいいが >>96
Rust Foundation創始者がMozillaとMicrosoftとGoogleとAmazonだっけ
すぐにFacebook (現Meta)が参加 「近所にガソリンスタンド無いですか?」って聞いてるのに
「これからは水素やEVの時代で云々」みたいな状態 地方の田舎からマジで次々とガソリンスタンド消えていってるし
家でも充電可能なEVの時代になりそうね つーかRustはMozillaのエンジニアが作った >>103
それなのにライバル陣営のGoogleやMicrosoftがRustを積極支援してるところが面白いよな
Rustという言語自体の出来の良さのため C言語のように「高速で省メモリ」なのに「安全性を保証」という
Rust登場以前は二律背反して両立しないと思われていたことが
Rustによって唯一かつ初めて両立するプログラミング言語の出現となったからでしょう >>106
プログラミング言語界の革命的できごとやな 去年からRust使い始めたけどめちゃくちゃ扱いやすいのに速度がC++と変わらなくて驚愕した
間違いなくC++に置き換わる オブジェクト指向も中身開ければ関数の塊だからな
使う側からすれば便利だけどオブジェクト作る側からすれば
昔ながらの関数の集合体
関数を使いまわしするのではなく出来合いのオブジェクトを使いまわしするところが違う点だが 信頼性のあるクラスって自社ライブラリみたいなもんだろ C++はもう40年くらい進化し続けてるからわかりにくいのよ
30年くらい使ってるけど >>82
$ wget 'https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.17.1.tar.xz'
$ tar xJf linux-5.17.1.tar.xz
$ find linux-5.17.1 -name *.rs | wc -l
0
あれ!?前は数ファイルはあったような? ■ このスレッドは過去ログ倉庫に格納されています