プログラムの世界にも流派を作るべきじゃないか?
〇〇流古典プログラミング術とか
〇〇流新プログラミング術とか
プログラマーも自分の道場を開いて啓蒙すべきではないだろうか? てかジャンル違うことはわからないというのはプロなら全員しっとるで 流派も何も客観的に良いものは自然と認知されるから啓蒙するまでもない 心酔する人が「先生、弟子にしてください!」
って言い出すのが先というか重要 オブジェクト指向バリバリ派
オブジェクト指向いらない派
に大きく分かれると思う
俺は絶対必要派
オブジェクト指向いらないって言ってるやつデスクトップめっちゃ散らかってそうだよなw >>7
いるんだよなぁwwww
特にPythonやってる奴らwww
奴ら純粋な手続き型で良いとか言ってるのマジでウケるんだよなwww POSIX原理主義・・・シェルスクリプトとPOSIXコマンドだけを使う縛りプレイで
どこまでやれるか、自己満足する遊び 門外不出の関数なら持ってる
使えばバグ出まくって現場が混乱するから公開できない 封をした証拠として印を押したり証紙をはったりして
厳重に梱包し施錠した器を地中深く埋め、目印として石碑を建てろ 普通にキーボード打ってるように見せて人差し指のみで打ってる
これ、流派にならんか? わいのタイピングだけど
小指使ったことほとんどない
薬指とか5%も使わない
ほとんど親指、人差し指、中指だけで作業してる C言語全盛の時代でもコメントの書き方、{ の付け方、インデントの文字数、
タブの利用可否などなど、さまざまな宗教戦争があり、〇〇社はどの宗教みたいな
データがないと渡り歩く派遣などは初日即死みたいな殺伐とした時代だったというのに。
そしてさらにはバカには読めないなどの理由でそれぞれの宗教にも三項演算子禁止派や
結合規則通りだろうが何だろうが絶対()付けろ派、1行ifのブロック省略禁止派など
そしてK&R原理主義、いつまでもgcc2を使い続けるのでC99禁止派、とさらに
ヒートアップ、社内部署が同じでも誰に与するかで生殺与奪が握られる時代へと進む。 だからいってるだろ、returnは最後にひとつだけにしろって。 >>22
今だにreturnひとつ縛りなんてやる奴がいるのかw 変数をメソッドの先頭にまとめて書く人は
C言語頭脳で成長が止まっている古典的プログラマ 参照型をポインタと言っちゃう奴とか
デリゲートを関数ポインタと言っちゃう奴とか
こういうのも同族 >>26
流派の話なんだから、ソノヘンはちゃんとこだわらないとね。
ソコントコちゃんと考えないと、若いお前らがレガシーとか言って
逃げてる間に、ジジーに仕事取られちゃうんだよ。 リーダブルコードでもできるだけ早い段階でreturnすべきと書いてるんだよな
returnで早く返した方が無駄なネストやif文もなく可読性が上がる
できるだけシーケンシャルに見せる書き方がイマドキのコーディングでは重要 returnの位置を気にする人はメモリ開放忘れとか気にしてるんかな?どっちにしろ古い人だよ メモリの解放チェックをいちいちif文でやるのは完全にレガシープログラマだからな
スコープ抜けたら自動で解放したいし、最低でもtry-catch-finally使ってfinallyで解放するようにしたい 〇〇流C言語術
gotoによるエラーハンドリング
returnは1つだけ 非同期処理のチェーンをコールバックネストで書く
async/awaitがない時代の古文だな stateパターンをswitch-caseで書くのも古流ですか? 大学教員もPythonは不具合が多くて使い物にならないと教えていた
アメリカ在住する人以外はPythonは勉強しても意味のない言語とまでいわれている >>32
イマドキとかじゃなくて、それはリーダブルコードという流派だ
安全なプログラムを書くためのMISRA-Cとかまさに流派 >>42
じゃあ同じようなものをどう書けばいいんですか?
それをデザインパターンと呼びましょう >>42
ではstateパターンはswitch-case以外のモダンな書き方は出来るのですか? >>45
話が噛み合っていないなぁ
ステートパターン以外にも状態管理をする方法はあるよ、と言っている
まぁそれは置いておいて、スイッチケース以外なら、状態管理を配列に入れたらいいんじゃないかな 古流と呼ばれるデザインパターンっていわゆるGoF? >>44
ほぼすべての大学教授だろ
大学教授が学生の頃とかPythonゴミカスだったからそのイメージなんだろう
彼らはC,C++で育ってるからPythonなんてガキのおもちゃとしか思ってなさそう >>48
大学行ってない中年ガキがなにいってんの?w >>48
俺大学教員なんだがw
そんな事言うやつ見たことない >>48
Pythonはアカデミアでの使用がおおいしCSの教授は言語よりアルゴリズムとかが主 大学電気科だとマイコン使うからC言語を教えるよね
情報科はPythonが多いイメージ まあ情報科というからにはアッセンブラから高級言語まで一通りはやっててほしいし大概やるだろうけどな うちは情報学科でアルゴリズムとデータ構造の必修講義はCでやってた
あとの言語は選択講義でPythonとかJavaとか開講されてて勝手にどうぞって感じだった コンピュータの基礎的な事を知らないでweb系とかやってる奴多いからなぁ
論理演算を知らないとか ケン・トンプソン
「私はいつも論理に魅了されていて、
小学生のころ既に二進法などの算数問題を解いていた」 勉強する1つ目の言語なんて結局なんでもいいんだよな
重要なのはアルゴリズムとデータ構造の捉え方
プログラミング必修の学部学科はアルゴリズムとデータ構造は卒業必修単位になってる 二進数だけでプログラミングってできるのかな
0101001みたいに書くだけであれこれいろいろ出来たりするものなのか?
結局はスイッチのON OFFだから行けるんだろうけど
そういう書き方ができるのかが知りたい >>58
質問に答えるには情報が足りないなぁ
2進数は単に数の表現だけだから、既存の命令セットをバイナリ表現するだけならできるとも言えるし
バイナリを解釈するルールが別途必要なので、2進数だけではできないとも言える >>58
全部最後は2進数になってるよ
普通は16進数で表現するけど
アッセンブラの命令を16進数で書くだけ シーモア・クレイこそは伝説の人物だ。
彼は、実際にCDC7600用の最初のオペレーティングシステムを、
電源を入れたあと前面パネルのトグルスイッチからメモリへ直接入力したのだ
言うまでもなく、彼こそ本物のプログラマだ 流石にトグルスイッチじゃないけど俺も高校の時は16進数ポチポチ打ち込んでたよ 何千か何万かの命令をメモリに打ち込んで1ビット間違えるとプログラム自体をぶち壊して数時間の苦労が全部水の泡という
子供だったからできたけど今はむり もともとアッセンブラが紙に書いてあるだけだから命令も16進数で覚えてきたりするしな 論理演算ってWeb系だと意外と使わないもんな
というかそんな古風な書き方はそもそもしない 命名規則なんて標準ガイドラインに沿っておけば文句は言われない
文句言う奴は変わり者 OOP(オブジェクト指向プログラミング)という一大勢力も、実際に幾つかの流派に分かれて入り乱れている
先ず「プロトタイプベースかクラスベースか」という観点がポイントだが
プロトタイプベースの代表格とされるJavaScriptにクラスベース構文が導入されて、なおのこと紛らわしいし
また、プロトタイプベースガチ勢に言わせると「JavaScript はプロトタイプベースのOOPの中で異端」という声もある
そして、Mozilla いわく「JavaScript は、クラスではなく、プロトタイプに基づいたオブジェクトベースの言語です」
なお、プロトタイプベースは、インスタンスベースとも表現される様だ すでに流派は多数存在するが名前が付けられていないのか そもそも何ベースとか正直どうでもよくね?
使う側からしたら何も変わらないし 日本語の名前使うのだけはマジでやめてくれ
規約云々以前に災いのもとだ >>76
int ekkusu_zahyou = 0 てふてふ
ありおりはべりいまそかり
こきくくるくれこよ 流派なんてのはプロの領域であって、
プログラムがロクにわからん素人が語るようなもんじゃない。 アマチュアがやってる武道やスポーツだって、色々あんだろw 新しけりゃいいってもんじゃないんだぞ。
烈海王さんだって、なにかにつけて4000年4000年言ってたんだからさ。 オブジェクト指向とか構造化プログラミングとかあったろ
キャメルケースとかスネークケースとか
MVCモデルとかMVP、MVVMとかさ 流派の話ってことで、return最後厨のおれがこだわっている
コーディング作法を一覧にしてみた。
・三項演算は使うな
・case文は使うな
・継承は使うな(外部ライブラリが継承に依存してる場合はあるが、自分で作ったクラスではそんな構成にはするな)
・returnは最後にひとつだけにせよ
・割り算は最後に行え
・演算や判定での優先順位を決めるカッコを省略するな
・bool変数の判定時の==true、==falseは省略するな
・!(!=ではない)でのnot判定は使うな
・try catch に頼るな
・while文での無条件breakぐらい覚えろ
・配列、構造体、クラスのインスタンスはローカル変数にするな
ホカにも思い出したら追記しよう。 そんなに制約強いなら、そういう言語がありそうなもんだし
無ければ作れよ 俺のif文は
if (aho) {
} else if (baka) {
}
このスタイル
elseの前に改行入れるのも捨てがたいが そうそう、一つ追記。
ソースの保存時は、eclipseなどについてくるソースのフォーマットは忘れるな。 ウチにはまだコメントで修正履歴を残す派が生き残っててウザい なんにしても、まずは責任を持つ立場にならないとね。 三項演算子のほうが必ず値が代入される感じがして安心する 三項はいるだろ
ネストは一段でも滅多にやらないけど
あれがわからないレベルだともはや居ない方がいい そう、だからまあ、あれがわからないレベルのやつを
ちゃんとクビにする責任を持った立場にならないといけない。
そのためには、またそうなったぐらいの技術力を得た頃には、
考え方も変わって成長していることだろう。 知識ってかアクセスは当然人見てるよ
大丈夫とわかるまであげない >>107
無理なことぐらいみんな百も千も承知なんだから、
潔くクビにしろって言っている。
その権限と責任を得た頃には、無理なやつでも
雇わざるを得ない事情だって、百も千も承知になるさ。 君まるで雇う方みたいな口ぶりだけど単にSIer3次受け派遣やん
何を知ってるのかという
まともなとこならチームメンバー全員で面接するので明らかに頭が弱い奴はいないし入れないよ
そもそも「いないほうがいい」やつを金払っていれる事情は存在しない まあ君の得意分野のSIer3次受け4次受けは正直俺は詳しくないので披露してくれたら君の腕前によっては面白くなるかもね それがあるんだな、そういう事情が。
まあ雇うに方になってみりゃわかるさ。 ジジーだから派遣になる前にもイロイロやってたもんでね。
だからまあ、お前にアドバイスできることが1つある。
今の会社を絶対に辞めるなよ。
潰れそうになったら自腹で投資してでもその会社を守れ。 おまえ俺より一回り下だし潰れた会社2つも雇われたといってたのも知ってるしお前と違ってちゃんんとCSも知ってるし経験も多岐にわたってるし技術もあるので別に3週間もあればいくらでも仕事あるので大丈夫だし俺からのアドバイスとして潰れそうな会社に自腹で投資とかやめとけ
あと技術をちゃんとやれ おれより年上でもまだそんな幼稚なこと言ってたのか。
てっきりまだ数年の若手だとばかり・・・
なにしろ、お前らがなにを言ってもおれからしたら
「そんなふうに思っていた時期がおれにもありました」としか・・・
厨だった昭和の頃から技術やってりゃ、否が応でもそうなるわな。 お前がベーマガとかやってた間にIOでマシン語なのでスタートラインから違うわな お前のなにがダメって嘘つきなとこ
せめて技術には真摯に向き合え 前にも言ったがここは5ちゃんだからな。
ベーマガとかマシン語とかで詳しく話すと身バレの恐れもあるから、
ワザワザ嘘ついてるだけに過ぎん。 お前の身バレなんか知るかリスカブス
マシン語なんてやってないだろ
またそう言う嘘をまぜる 「配列、構造体、クラスのインスタンスはローカル変数にするな」
というのは、実はマシン語を知ってないと意味がわからないんだよね。
マシン語やってたならそれぐらい気づきそうなもんだが・・・ 技術の話なんて身バレ一切関係ないんだよ
お前はベーマガに出したというのと派遣でやってました位しかないから技術の話ができないだけで
厨の時からやってたってなら大規模システムの設計だの細かい部分で今なら機械学習だの量子コンピューターだってタダで使えるようになったんだから暗号解析だの最短ルートだのなんかあるだろ普通
お前会社の偉い人がどうかとか偏見に満ちた気持ち悪い話ばかりで技術の話なんもないじゃん だからここは5ちゃんなんだから、そんな仕事の話なんかできないんだよ。
会社から固く口止めされてるんだからさ。 >>120
マシン語に配列も構造体もましてやインスタンスなんかないわ
レジスタとメモリと命令だけ
お前マシン語なんかやったことないだろ
本当しょうもない レジスタとメモリと命令ねぇ・・・
そういやpush、popなんて命令もあったもんだな。 ギリギリついてこれたね
でもそれ俺は30年前に通ってるとこだから そうだな、おれもそれぐらいの頃だった。
日立のS1だから、当時は6809系でやってたねぇ。
80年台後半に入ると、ベーマガもマシン語投稿が増えてきて・・・ お前がローレベルよりなのはまあ大体わかるけど
まあそれでも派遣では給料出るんだろうけど
高級言語とか設計とかアルゴリズムとかまるでしらんし何より雇うほうになればわかるよとか自分を大きく見せる嘘まみれで俺は厨のときからやってるんだとかで老害マウントとか情けなくないんか とまあ、これぐらいのレベルになってくると、自分の周りは
もう素人同然の者ばかりにしか見えないんだよね。
そんな奴らにもやらせなきゃイカンわけだから、独りよがりの
トリッキーな命令やアルゴリズムは、むやみに使わないようにしないといけない。 こんだけボッコボコにされてお花畑ルンルンのその面の皮の厚さはたいしたもんだわ
そういうおっさんは掃いて捨てるほどいるが だってプログラミングが少々できようができまいが
世間も会社も全然関係ないし まあ厨のときにベーマガに出しましたとか程度の少々だからそりゃそうだわな
少々じゃなくて思いっきり出来れば世間は知らんが会社は思いっきり関係あるからな そう、会社は思いっきり関係せざるを得ない。
で、ベンチャーなんぞに行って潰れちまったわけだから、
そういう関係をできるだけ薄くするために派遣になったわけだ。 ITの3人の会社でお前がプログラマで潰れたならかなりの部分お前の技術のせいだろ 大体お前は雇う方とか言ってただろうが
本当そういうとこだぞ あのね
見ちゃったんだ
プロジェクトの効果見積もりしてるの
どう考えても今投入してる人月やお金の1/10にも満たない
でもみんな平気でニコニコしてお金回してるの 別に効果があるから金がもらえるとも限らないけど
エンジニアとしては逃げた方がええな だから言ってるだろ、ワザワザ嘘ついてるだけに過ぎんって。
なまじ信憑性があるのか、なぜか信じちゃうんだよね、みんな。
嘘を嘘と見抜けないと以下略。 本当は無職なんですね
プログラマだと信じちゃった、うまいね そういうこと。
ハケンってのは事実上無職だからね。
日本では、職ってのは所属する組織を指すわけだからね。 結局一番良くて派遣やん
雇う方とかどうとかお前の「嘘」は自分をデカくみせる嘘ばっかりでお前の自尊心を満たす以外の意味がなくて不快なだけだ そう、結局、会社員よりも派遣のほうがマシということがわかった。
それがわかっていながら、なにが悲しうてこの歳になって
ワザワザ会社員なんてなりたがるんだか。 でも、流儀という点では、さっきも言ったように
責任を持つ立場になるのが第一だから、会社員に固執しなきゃならん。
さもないと>>91みたいなコーディング規約で、
レビューのときにギャーギャー言われるのがオチ。 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう! >>147
最近のCコンパイラはもしかしたらセキュリティ対策とかで
状況が変わってるのかもしれんけど、一昔前はローカル変数は
「スタック」というメモリ領域に確保していたんだ。
でもこのスタックという領域は、どれぐらいのサイズなのかは
わからないもんだから、下手に構造体や配列に使うと、サイズをオーバーして
アプリが突然落っこちる恐れがある。
それと、関数を呼ぶと、戻ってくるときのアドレスなんてのも
このスタックに持っているもんだから、不正なデータを送り込んで、戻りアドレスを書き換え
root権限を奪うなどの手口にも利用されたんだ。
スタックとか戻りアドレスなんてのは、マシン語からくる概念だから、
それでpush、popと言ってはみたが、わかってるやつ、この板にドンだけいるんだろ? >>148
理解しました。スタックに置くなと言ってほしかったです。たとえばstatic付けてもそれがローカル変数であることは変わらないので。 >>149
まあ、そうだね。
とは言っても、どう書けばスタックに置かなくなるのかは
それはそれでCをちゃんとわかってないとね。
で、Javaになると、配列やクラスは自動的に
ポインタで定義するようになってnewをする必要があるという仕様に
なったんだったな。
もちろんCの場合、newしたらちゃんとdeleteしないといけない。 変数とかスタックに決め打ちで配置してるから
スタックに配列を置くと動かしづらいしサイズ変えられないし邪魔すぎる ローカル変数を使うのはプログラムを書く人のためだよ
プログラムが大きくなってくると
新しい変数名を考えるのが大変になるし
うっかり名前が衝突すると大変なことになる
部分部分で変数を使い捨てにすれば
そういう問題は起きない 暗証番号とはパスワードとかむしろ固定領域に書き出すよりはマシじゃね? 【追記】
NULLは使うな、今はnullptrがある。 このレベルの指摘ならIDEのリファクタ機能で一括修正できるな そもそもC++のNULLマクロ自体が驚くほどレガシーなんだよな
Nullポインタ代入するのに=0できちゃうって他言語から見ると相当アレ C++の予約語のネーミングセンスがダサいと感じるのって俺だけ?
static_castとかnullptrとかnullptr_tとか >>157
何が気に入らないんだよ
全部小文字である程度簡潔にまとめてんだよ
文句があるならもっと合理的な判断の産物とやらを披露してみろ >>148
俺もCから入ってある程度アセンブラやコンパイラのことも知ってるが
ヒープやマシンスタックの使われ方を概念的に理解すれば充分だろ
何でマシン語分からないと理解できないと思ってる老人がいるのか昔から謎だわ >>159
これ。実際に関連があるとはいえ文法と実装を分けて考えられない人が多い。 いまどき最適化しちゃうから、書いたコードから動いてるマシン語が想像出来るなんて嘘つくなよw 最適化が本当に効いていれば
それこそ、最初からアセンブリ言語で書いたかのようにシンプルになる
昔のコンパイラだと結構歯がゆい処理になってた インテルのCPUだと、最適化してもゴチャゴチャしてそうだな。
8086の頃よりは、レジスタなども大幅に増えたことだし。 無能readableに最適化すりゃシンプルかもしれんが、
prosessorの拡張命令や投機実行に最適化されたアセンブラは
人の手には負えんよ。 もっとシンプルにコメント書く派、書かない派でいいと思う 肌が強いんだとそういうのはアホな自惚れ屋が統一の被害者続出していたという証言がある
出勤する程度なら耐えれるが
しかも五輪直後のアイスショーガラガラだったしな