「ポインタ」を含む日記 RSS

はてなキーワード: ポインタとは

2023-02-25

ポインタが分からないが分からない

ポインタの使い道がわからないなら分かる

ポインタ概念がわからないってのが意味からない

ポインタのもの理屈自体はクソ簡単じゃね?

2023-02-15

anond:20230214183940

個人的には数学とかの言い回しに寄せればいいじゃないかと思います

前提として、「誰にでも同じ説明をして、かつ「例外」もふくめて伝えたい」のであればまず「誰」かを絞らなくてはいけないですよね。ふんだんな説明をする技術書でも読者に前提知識を想定しているように、前提知識仮定してそれをクリアした人にのみ使えるのだと思います

また、例外が言い尽くせるのなら「基本的にAはBです。ただしAはCであることもDであることもあります」式で行けます例外が大量にあるのなら「AはBです。ただしAにはこれこれの性質を持ったものなら全て当てはまります」式で解決するしかないわけですよね。あるいはA(A以外にもあるけどあとで説明する)とか

で、一単語も例文のことを知らない私としては、すくなくとも書かれたことのみ伝えたいなら、

ポインタってどういうやつ?→ポインタが指すってどういうこと?→ブランチを指すポインタって何?(単なるコミットとは?)→gitとは?→gitにおけるHEADって?(HEAD以外にもあるらしい?)→gitにおけるHEADはブランチを指すポインタって結局何?→HEAD以外って何があり得て、具体的になにがあるんです?

の順番で説明してもらえると万人に伝わるかなと思いました。

意図が伝わってなかったらごめんなさい

2023-02-14

人に説明をする際に、「例外」を説明尽くして、かつ冪等に説明できる方法が知りたい

たとえば「gitにおけるHEADとは、ブランチを指すポインタです」と説明したとする。

が、HEADはdetached HEADにすることもできる。

しかし、detached HEADを説明するためには他の知識必要になる。

ブランチが単なるコミットを指すポインタであるコミット集合体ではない)ということや、そもそもポインタって何よ、とか。

これを誰にでも同じ説明で、省略することな説明する方法が知りたい。

2023-02-05

anond:20230205190049

キュースタックデータ構造だぞ低能

先入先出のリスト構造で構築するのが一般的だな。

スタックは先入れ後出しリスト構造だけど、スタックポインタだけで管理できるので単純と言えば単純。

2022-11-14

何かを始めると、諦めた人が先輩風を吹かせる問題

プログラミングや、スポーツや、絵、音楽、とかやりたい人は多いが長続きが難しい系のことで、

これらの何かをはじめることを話すと、まあ過去ちょっとだけやったことがある人っていうのは出てくるんだけど

その中で一人か二人、諦めたけれど先輩風を吹かす人が出てくる。

例えばプログラミングでは、「俺も少し大学時代にやってたよー。ポインタ難しいよね。でもね難しいと思うけど諦めたら色々できると思うから。俺は諦めたけど…でも俺がやってた勉強法は~~~~」みたいな

特徴は

といったところだな

本当に序盤で躓いている。

現在C言語から始める人も少ないと思うが、わかりやすいかC言語をたとえに出すが)

ポインタなんて難しいって言われているけど、序盤の序盤のボスみたいなもんじゃん。ドラクエ3でいうところのカンダタ

そこができてからようやくスタートラインというか、チュートリアルがおわったというか…

そのボスを倒してから配列がつかえるようになったり、ヒープを理解できるようになったりして、ようやく実用的なものをつくれるようになるわけで

まあそこらへんで躓いている人がおおい。

プログラミングはやりたいと思う人が多いけど、その難しさに最初で辞めちゃう人もかなり多く、プログラミングに触ったことある人の比率ちょっとだけかじった人のほうが、普通にできる人より多いと思うわけだ。

何かネット記事で見たけど、ギター買った人のうち1年以上続けている人は1割にも満たないそうだね。

それはそれでいいけど、その中の一部に謎の先輩がいるんだよなあ

謎の先輩風を吹かす人は職場学校でも立場ちょっと上の人だから、話聞かなきゃいけない空気だし

途中で諦めたんだからアドバイス役に立たないし

微妙空気地獄なので、途中で諦めた初心者の人は黙っててほしい

2022-11-02

ポインタ表現用の記号最初ケチったのが運の尽き

もっとリッチーに書くべきだった

ポインタはint *p;のように変数につけるのではなくて、int* p;のようにポインタ型だという風にした方が分かりやすいと思うんよな

まあ、int* p, q;とかされるとハマっちゃうわけですが

anond:20221101235117

ポインタアセンブラまで踏み込まないとわからん人がたまにいる

CPUには間接参照という機能があるんだよ」という一点を承知しておらず

概念はわかっても具体的なメカニズムがわからない場合があるようだ

結城とか望洋の入門書読んでダメだった人に多い

2022-11-01

anond:20221101235117

ポインタの構文がややこしくて覚えにくいはわかるが

ポインタ概念が難しいはまったくのこけおどし

初見理解できたわ

あれが理解できない奴って逆にコンピュータメモリについてどういう理解をしとるんや

anond:20221101235031

ワイも「ポインタが難しい」って言う奴に同じこと思ったやでという話

2022-10-27

anond:20221027220707

走行を妨げる行為犯罪だろ

自動車に向かってレーザーポインタ向けて捕まったやつも居るのに

2022-10-01

許せない宗教

Excelは1シート目のA1ポインタ置いて必ず保存しろよ教

2022-08-12

なんでそんなにコマンドラインを目の敵にするんだか

anond:20220811155256

↑を書いた元増田ですが、VBの話から派生した話で、やたらコマンドライン(以下CLI)を使った開発に否定的人間がいて閉口した件。

そりゃ一口に開発と言っても色々なので、本当に統合開発環境(以下IDE)だけで開発するケースもあるのは、こっちも知ってるんだよ。

から学習者の中で「何をやりたいか」が既に決まっているなら、CLIを全く触らずプログラミングを学ぶケースもアリということなのだろう。

でも、これには主に2つの理由で全く納得がいかない。

1つ目は、そもそもプログラムって何?」というレベルの人が「何をやりたいか」なんて決まっているわけがないので、最初から「何をやるか」を決めてかかるのはナンセンスという話。

しろどういう開発に進んでもいいように、「等号は代入を意味する」辺りから始まって、どんなプログラミングでも基礎の基礎になる、データ構造アルゴリズム意識させることに集中させたい。

そのためには難易度低めで比較潰しが効く言語を、できるだけシンプルな手順で作業できる開発環境で学べる方がいい。

そしたらPythonの実行環境とそこそこ以上の機能を持つテキストエディタを入れて、コマンドプロンプトとかPowerShellとかのCLIから"Helllo, world"が取っ掛かりだと思うわけ。

もしLinux環境が用意できるなら同じことをLinuxでも試してもらって、プラットフォーム依存しない開発の入り口くらいを知っておければベター

いずれにせよ何かを実行する方法が1つではないという重要な知見は、できれば基礎のうちに知ってもらいたいことの1つだし、それはWindowsLinuxとかCLIIDEという対比がうってつけかなーと。

ちなみにIDEは、Pythonによる手続きプログラミングに慣れた後のタイミングで学べばいいと思う。

そこまで行ったら変数の型や、クラスオブジェクトとかの難しい話をGo言語で学んでおくことで、現場で使われているJavaC#swiftへの移行もスムーズになりそうだし。

ちなみに「初心者コース」の最後、もし可能ならRustでポインタメモリの話の触りくらいを体験してもらえると、組み込みに進む際のハードルが少しは下がるんじゃないかな。

もう1つは、いくら現場によってはIDEだけで開発する現実があっても、CLIを使った開発がどういうものかくらい、プログラマにとっては知ってて当たり前じゃねーの?という話。

もちろん「プログラマが何を知ってて当たり前なのか」は、時代の移り変わりとともにどんどん変わる。

大昔ならおそらく機械語とかが必須だっただろうけど、今なら機械語よりはHTMLを読めるほうが遥かに重要なわけで。

あと、UNIX系OSパーティションごとに主要なディレクトリを分割してインストールしていた時代であれば、edエディタの使い方は必須だったと聞く。

(/binに入るエディタedのみだったため、もし使えないとシステムクラッシュして/以外マウントできなくなったときに詰む)

でも今やそんなの完全に過去の話どころか、viemacsの論争ですら多分古い方の問題になるだろう。

そういう過去の諸々も踏まえるとCLI未来永劫、プログラマにとって常識的ナレッジだとは自分も思っていない。

でも今はまだ、プログラマを名乗るならCLIからコンパイルだ実行だくらいの基礎は知ってて当然だと思うんだが。

(流石にmakeまで知ってる必要はないと思うけど)

ということで、自分の言ってることはそこまでおっさん臭くないつもりなんだけどね。

本当に、何がそんなに引っかかるのか意味がわからない。

2022-08-08

anond:20220806181300

まあ、マゾになりゃ C なんて簡単や。ポインタ気持ちになりゃええんや配列ポインタがおんなじものだと知ったら射精できるようになるのが、Cのエンジニアの嗜みや。ヌル文字ヌルの違いに思いを馳せてシコシコするのも悪くないぞ。あと、Python の次は Go なんて不要だろ。

2022-08-06

RustはCの代替になりそう(個人の感想です)

C++全然詳しくないので、それこそSTLがどうこうみたいなのは正直分からない。

あくまでCとの比較なんだけど、一般的に難しい方の言語と言われるRustでも、Cのソースに比べたら全然読みやすいことにびっくりした。

特にポインタ周りの記述は、&とか*の書き方がCから少し変わっただけなのに、ぐっと読みやすくなってる件。

これならCやRustを使う上で絶対的必要な、メモリの話も理解やすいだろう。

なので先にRustを学んでおけば、後でCに取り掛かる際のハードルはだいぶ低くなりそう。

そうなると、今だと全くのゼロからプログラミングを学ぶなら順番としてはPythonGo→Rustになるのかな。

正直JavaC#Swift必要になってから学んでも遅くはないし、Goを知っていれば多分そこまで難しくない。

VBに至ってはExcelAccessマクロに手を付けなきゃいけないときが来ない限り、全く知らなくても問題ない。

というか初心者最初に触る言語VBというのだけは絶対に避けたい。

2022-07-20

Rustとかい中途半端言語

Rustはメモリ確保問題最初から考えるべきだった。C++スマートポインタが面倒くさい問題を構文に組み込むことで解決したは良いがメモリ確保に失敗したかどうかが分からないのはかなりのマイナス点だ。try_などで後付で頑張って直してLinuxカーネルに使ってもらおうとしてるがまあなんせ後付けなもんで色々と中途半端になってしまった。

2022-07-06

anond:20220706162725

20年前に視線ポインタ使ってたけど、当時はあまり実用的ではなかったわ。

すごい発明を思いついた

今までポインティングデバイスって色々あるけど結局マウス凌駕するものは出現しなかったよね

そこで画像認証カメラとかを利用した視線ポインタ追従するポインティングデバイスってどうかな?

俺ってもしかして天才かもしれない

特許とった方がいいかな?

2022-06-11

Pornhubってポインタを動かしたときに上からぺろって出てくるのが誤クリックしてしまってうざい

2022-05-05

かゆうま」みたいなノリで匿名日記を書くサイト作って2年が経った

「かゆうま」みたいなノリで匿名日記を書くサイト作った

「かゆうま」みたいなノリで匿名日記を書くサイト作って1年が経った

去年の投稿で「今では日500人切れば緊急事態宣言解除してもいい流れになってたり」と書いていたが、今や日3000人超えてても行動制限なしでゴールデンウィークは各地が賑わうと、すっかり世界が変わってしまった。

日本ではまだマスク着用が多いが、マスク着用義務廃止した国も出てきているし、来年の今頃はマスク着けないがスタンダードになっているかもしれない。

まあワクチン打ってる人も増えてるし、オミクロン株は弱毒化してるということで、ウィズコロナ時代になったのだろう。

このまま終息してアフターコロナになることを願いたい。


サイト的にはこの1年は穏やかだった。

大きなバズはないが、投稿数が減ることもなく、むしろちょっとずつ増えてる感もある。

長く投稿してくれてる人、新たに書き込んでくれる人などなど大変ありがたい。

今年の2月にはfaviconを作ってくれた人もいた。ちょうど見かけたのでサイトに設定した。嬉しい。


自分ごとでいうと、去年の6月適応障害になってしま半年ほど倒れていた。

ある日の午後、15分ほどの軽いオンラインミーティング後に「さて、作業するかー!…あれ何するんだっけ……」と頭が真っ白になった。

とりあえずその日は午後休をもらい休んだが、翌日になっても翌々日になっても思考がボヤボヤしたままだった。

「これはヤバいやつな気がする…」と思い心療内科に行ったところ診断が出て休職になった。

休み中はとにかく眠くて、日中も5時間以上昼寝して、夜も8時間以上寝るでとにかく寝ていた。

短期記憶が死んでいて、麦茶を沸かそうとしても湯を沸かしっぱなしにしたり、火は止めたけどティーバッグを入れ忘れたり、ティーバッグを入れたまま翌日まで放置したりと散々だった。

本や漫画を読もうにも前のページのことを忘れるし、プログラミングしようにも1行書くと次の行に何書こうか忘れる状態

それまでの趣味全然できず、麦茶を忘れないようにしたり、料理食材調味料を入れ忘れないので精一杯だった。

4ヶ月くらいして徐々に眠気も緩和し、思考記憶回復してきた。

少しやる気も出てきたので、リハビリを兼ねて前々から読みたいと思っていたビジネス書を読もうとしたり、忙しくてなかなか時間が取れてなかった資格勉強を再開しようとしてみた。

しかイマイチ食指が動かない。

元々時間が出来たら読みたい本リストややりたいことリストを作っていたのだか、どれもいまいちピンとこなかった。

そんな中ある日、本屋に行ったときに手にとったのが「ゼロからOS自作入門」だった。

OS自作は実はやらないことリストに入れていた。

時間がかかり、それでいて仕事への費用対効果はほぼ無い。あくま自分コンプレックスから興味があると思っているだけ。それだったら仕事に効きそうなことを優先しようと封印していた。

正直理解は追いつかなくて写経するだけで精一杯だった。

ポインタに触れるのが久しぶりすぎて15年以上ぶりにC言語ポインタ完全制覇を引っ張り出してきて復習したり、図書館オペレーティングシステムの本を借りてきて読んだり、学生時代に戻ったみたいだった。(たぶん学生時代はこんなにポインタとかOSの本を読んでなかったと思う)

理解は追いつかなかったが、UEFIとEDK IIの存在を知ったこと、CPUリングプロテクションや専用レジスタがあることを初めて知ったりなどなど、どんどん新しいことを知れてとても楽しかった。

仕事への効果はいまのところ感じられないし、おそらく今後も効果を発揮する場面はなさそうだ。

でも人生満足度は爆上がりした。

倒れている間はなかなかしんどかったけど、仕事キャリアの面から「やりたいと思い込んでいたこと」と、仕事全然効かないけど「人生満足度が上がるやりたいこと」がクリアになったのはいい機会だった。

いまは休みの日に合間を見て「コンピュータシステム理論実装」をやってる。これも楽しい。ゆるゆる進めていきたいと思う。


すっかり話が脱線してしまった。

サイトの方も引き続きゆるゆる続けていきたいと思う。

COVID-19流行下の日々を集団で記録する日誌 https://enigmatic-brushlands-82725.herokuapp.com/

2022-04-15

プログラミングだけ教えるのは難しい

例えばJavaScriptリストコピーするとき

const newList = list.slice();

って書かないとダメだよ、と教えるのは簡単

しかし、

「なんで const newList = listじゃダメなんですか?」

と聞かれると非常に困る。

例えばconst a = 123と入っているときに、bにコピーたかったらconst b=aで良い。

プリミティブと配列の違いとして覚えてもらう、という方法もあるけれど

じゃぁ文字列はどうなんですか?となると非常に困る。

JavaScriptだけを教えるならそれでも問題いかもしれないが、Pythonも一緒に教えるとかなるとカオスになる。

結局のところ、コンピュータの仕組みを理解してもらって、メモリアドレスとかポインタを知ってもらい

それからプリミティブや配列の話をしないと根本的には説明できない。

単純なプログラミング教育ってこの辺が破綻してると思っているので、結局はPC構造機械語アセンブリ言語C言語と順番に教える必要があると思っている。

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