「gcc」を含む日記 RSS

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

2020-07-05

gccでいうところの-O3オプションを使った場合STLのemplaceの方が最適化され得るinsertにお前のコンパイラ成るんだ? なぜを今調査

すべてのコンパイラ最適化オプションを入れた場合に、なぜ、あなたコンパイラはemplaceの方がinsertより高速化するのか いま調査

デバッグ用にinsertにはいくつかの冗長性があるがコンパイラオプションで消える

それをすべて消してもemplaceの方が高速化されるコードをいま探してる

それがあると それなりに新発見なので それを さらに コンパイラに改造を入れて最適化した場合それでもできなくてAPIを追加しなければ

コンパイラ最適化では高速化しないと判断した論文検索

2020-06-25

アメリカ掲示板C++がCと違うものだと言う人が増えた という投書があった

まぁ 拳銃を持てない国に言われてもな って 返しておいた

ちょっとオプションが付いているC というふうにはC++という文字からは わからない といわれると まぁ しょうがない

Objective-C といわれると Objectiveという機能が 追加されたCなんだろうなぁと思う

C言語の型は原則 コンパイル時決定なんだが実行時決定などを使いたい といわれると

そりゃRuntime-Cとか なんかひとことCにつけたほうが売れるだろう

なぁ

ちなみに GCCというのはGnu コンパイラ コレクション 主にCなので 別にPascalが呼べて駄目じゃない

アルファベットがわからないといわれると プログラマとしては きびしいが 後輩指導 がんばる

2020-06-10

anond:20200610140227

あとはコンパイルするとき

gcc -O3 Main.cpp

とかかいておくと O3がなんとかしてくれる

乗馬ときは、人馬一体っていうけど

パソコンときは人機一体って あいてのきもちになればいい だいたいおなじ

cat Main.cc | g++ -xc -

でもおなじ

 

へたにうまにさからわない

 

税金というものがわかったら 州税とはなにか?

消費税の仕組み
無料サービスはない
政治家さんへのお願いの仕方

 

Is it Japanes?

2020-06-07

anond:20200607054725

gccコンパイルするといいよ

1行ならこんなもん。いえば言えるけどちがうだろ。

教え合いなさい!うん・・・あなたが教えあったことがないのはわかる。

gccコンパイルするといいよ

javacでコンパイルするといいよ

pythonでインタプリットするといいよ

phpプリプロセスするといいよ

弟子さんでもなんでもない、同僚でもない、商売敵に教えろとか、商売上のつながりのない俺にそれ以上を教えろとかあんまり

anond:20200607054236

gccとか、コンパイラphpとかpythonでもいい、まぁ基礎的。学問知識だけでもつくりやすい。

gcc無償なことについてどうおもう?ってプログラマーとしての意見無償で教えてくれとか、お金を払うから教えてくれとか言われても

それもう結論出てるじゃんっていう

gccバージョンがいくつでみたいなのはお客様には言わないことが多い。だいたいは内部用。C言語で作られているかJavaか?っていうのも、業者間ではいうとしても一般消費者には言わないことが多い。それがおかしいのか?っていわれると、むつかしい。

2020-06-06

10年ぐらいあそんでいた技術にそろそろ飽きがきたなーと

萌え萌えオムライスだけで、よく15年間がんばってきたよなーという

そろそろ燃料補給したいよなという。

gccclang まぁ2つになるといろいろあるなといのとgcc拡張かいろいろあるなとはおもう別物になるから

でもなんか違うよなっていうか、業界だけ見ても万人受けではない

2020-05-31

それは仕様バグでは有りません。

 gcc の-gオプション

あなたが書いたMakeファイルから”手動”で抜いてください。 みんなとおなじきもちになれました。

2020-05-30

atom int x=0;

std::vectorstd::threadth;

th.resize(2048);

for(int i=0;i<2048;i++) th[i] =std::thread( [&]{x++;while( x <= 2048) Sleep(1);} );

for(int i=0;i<2048;i++) th[i].join();

|gcc -O5

 

time ./a.out

2020-05-24

anond:20200524150608

新卒なら、最低限のことはならってんじゃねーか?ls とか gcc ぐらいはしってんじゃね?

2019-10-06

コンピュータ人格障害退職エントリ

近年,人格障害者の関係していると思われる事例をネットで見かけることが多くなってきた.例えば

また一見すると分かりにくいが以下の比較的有名なプロジェクトにも人格障害者の関わっている痕跡を読み取ることができる

gentoo linuxの昔のドキュメント(もう残っていないらしくリンクを見つけることはできなかった)には,gentoo linux前身となったFreeBSDベースになっているプロジェクトが,人格問題のある人が開発に関わった結果,頓挫した話が記載されていた.

このドキュメント人格障害という言葉一般に知られるようになる前に書かれていたため,人格障害について明確に記述されてはいないが,どう見ても人格障害者の関わった事例であった.おそらく人格障害について広く知られるようになってから削除されたのではないか想像する.

人格障害とnon-BPDとは?

ここで人格障害について知らない人のために解説をしよう.人格障害という言葉が広く一般に知られるになったのは,この本が原因ではないかと思う

Stop Walking on Eggshells) Paul T. Mason , Randi

Kreger (2006)]

この本(以下ではSWEと呼ぶ)は医者ではなく人格障害者と日常生活で関わってしまって苦労した著者が,なんとか苦痛に満ちた生活の原因を探すため調べた情報がわかりやす記述されており,専門知識がなくても豊富な役立つ情報を学ぶことができる名著である.この本が出版される以前に,小さな町の本屋人格障害に関する本が目立つ場所に平済みされていた記憶はないため,おそらくこの本がブレークスルーであったと自分想像する.SWE人格障害について知らない人が最初に学ぶ入門書としてもとても良い本なので,多くの人にぜひ一度読んでみて欲しい本である

SWEでは(境界性)人格障害(BPD: Borderline Personality Disorder)の様々な定義が紹介されているが,ここでは以下の定義を紹介する.

Borderline Personality Disorder)と呼ぶ

自分の手足は動かしすぎると疲労するが,他人疲労自分は感じないので,疲労なく無限に動かし続けられる自分の手足=他人 となっているので周辺の人間はとても苦痛を感じることとなる.近年話題になる長時間労働問題の原因はこれではないか自分は考えている.BPDの本人は日常生活に何の苦痛も感じないが,周辺で「手足」となっている人はとても苦痛を感じることとなる.この周辺の人はnon-BPDと呼ばれる.SWE特に重要な点はnon-BPDという言葉一般にわかやす解説し紹介した点にあると思う.

non-BPDはBPDについて調べる重要検索キーワードにもなっている.BPD本人は何の苦痛も感じないためネット上に書き込みをするのはnon-BPDの人達である

non-BPDで検索するともっと具体的で生々しい事例をいくつも見つけることができる.

BPDよりもよく知られた人格障害サイコパスというものがあるが,ネット上のサイコパスという単語本来意味からかなり外れたある種のバズワードとなっており,サイコパスという単語ネット検索しても実生活で役立つ情報を見つけることは難しい.

コンピュータ人格障害

以下のBPDの定義を思いだしてみよう

疲労なく無限に動かすことができる便利な道具として最も良く知られたものコンピュータロボット)だろう.つまり他人コンピュータ認識しているのがBPDであると言っても良い.これが多くの長時間労働問題の原因と考えられる.ここで以下の面白い話題を紹介しよう.

人間=獣と違う論理的もの から 人間コンピュータと違う感情的もの

への変化は,Windows95が発売された1995年から2010年ぐらいまでに少しずつ起きたように思う.これは,この(長い)時期に放送されていたSF映画であるスタートレックスターゲイトを見るとわかる.

これについては後で詳しく解説する.とにかくコンピュータ人間認知にとても大きな変化をもたらした. https://trends.google.com/trends/explore?date=all&geo=US&q=BPD:title=google

trandでBPDを検索してみると] 2004年から2012の間に倍になっている.上昇は緩やかな単調増加で減ることはほぼない.これは他人からコンピュータとして扱われる人が毎年増えてきていることを示している.

BPDの本人がBPDについて検索することはない.本人は自分普通常識人認識しているかであるSWEなどの人格障害について解説する本では,人格障害者の多くは自分普通の人と認識していることが述べられている).

検索するのは被害者であるnon-BPDの人達である

SWEではBPDの原因の1つとして幼児期の過剰な甘やかしを挙げている.幼児が泣いて両親がすぐに何かしてしまうと,泣けば自動的に世話してくれる自分の手足の延長として他人認識してしまう,というものである

この状態のまま大人になると他人自分の世話をするのが普通という認識が固定される.大人場合は泣いたりできないので,かわりに嘘や脅しで他人を(手足として)操作するようになる.嘘つきというのは人格障害の肝となっている.

人格障害者の見分け方として嘘を誤魔化すためにさらに嘘をつくのは人格障害である,とSWEなどの人格障害について解説する多くの本では述べている.ちょっとした嘘なら誰でもつくが,さらに嘘を重ねるのが人格障害の特徴である

本人は当然と思っている「他人自分の世話をする」状況を維持するために「普通のこと」=嘘や脅しを日常的に行うため,周辺の人間苦痛を感じることとなる.本人にとっては当然の普通のことをしているだけなので普通日常的に嘘や脅しをするのである

この時,コンピュータロボット)という本当に自分の手足の延長になってしまう道具という概念存在していると,さらに悪い状況が生まれると私は考える.エクセル関数機能プログラミング言語について少しでも知識があるならば最悪である

仮にwindows95がなかった(誰でもコンピュータが安く買える)1995年より昔はnon-BPD(コンピュータとして扱われる人)は少なかったとして,しかし,そのはるかから存在していた人格障害としてサイコパス(BPDと行動はよく似ているが内的心理状態は違うらしい)がある.サイコパスについて解説している(おそらく一番読まれている)本である

https://www.amazon.co.jp/dp/4794219296:title=- 良心をもたない人たち , Martha Staut

(2012)]

には,エスキモーにはサイコパスを殺してしまう慣習(クンランゲタ)があったことが述べられている.現代に置き換えるなら長時間労働で殺されるぐらいなら殺してしまおうという感じだろうか.そのため昔は,人格障害者は(殺されてしまうので)少なかったと解説されている.しか現代ではnon-BPD(コンピュータとして扱われる人)は増えている.

BPDやサイコパスなどの人格障害について解説する本のほぼ全てでは,人格障害からは「逃げろ」というアドバイスをしている.不運にもなんらかの人格障害者が隣に引っ越してきたら,自分引っ越して逃げるしかないし,

職場にいた場合は辞めるしかない.ただしサイコパスの事例では辞めた後も嘘の責任追及などで追い込まれる事例も紹介されているので,安心はできない.先に紹介したgentoo linuxの事例では,FreeBSDベースプロジェクトをうまくデコイとして使うことでなんとか逃げ切ったようだ(うまく逃げ切ったから今のgentoo linuxがある). 自分想像するにgentoo linuxFreeBSDと同じ「再攻撃」を受けたはずであるが,うまく乗り切っているようだ.non-BPDの多くの人達は「人格障害者と一度かかわるとある種の直感が鋭くなる」と言っている.直感で事前に危険を察知して予防できるようになるそうだ.最初に述べたlibavやsystemdに人格障害の関わりがあるという根拠も実は私の直感であってうまく説明できない.ただ,オープンソース人格障害の両方の知識があるならば,みんな同じ判断を下すだろうと思う.SWEも「良心をもたない人たち 」でも直感重要性について述べている.

BPDやサイコパスなどの人格障害について一般向けに解説する本の多くは事例の紹介が中心になっている.人格障害者本人が普通と思っている状況を維持するためにつく嘘や様々な行動は,工夫が凝らされており完全犯罪に近い.

普通は思いつかない工夫に満ちた方法が使われるため単純に類型化できないのもあり,個別の事例を紹介するしかいからだと思われる.とはいえgoogle trandの傾向からわかるように,BPDについて知っている人は増加傾向にある.

人格障害とみなされない(見破られない)ためにさらに巧妙な手段が近年は必要となってきている.ここでも人格障害を見破るために重要となるのは直感である.ここで直感というのは具体的には「良心をもたない人たち

」では「何かが変」と感じたら騙されている可能性が高いと言っている.

ただ直感でかたずけられてしまっては.なかなか気が付けない人も多いと思うため,ここでは近年巧妙になった人格障害者の手口について自分の気が付いた範囲で述べていこうと思う.

(と思ったけど気力切れ)

先に紹介した有名なオープンソースプロジェクトについて解説しよう

(と思ったけど気力切れ)

SF映画人格障害

ハッカー画家人格障害

日本における人格障害者との対峙方法

2019-04-04

こうすればプログラミング覚えられるよ【随時追記

プログラマじゃないけどプログラミング完全に理解した()おばさんが理解してる基礎知識書くよ。

追記 この文章プログラミング勉強をしたいけどその周辺にある基礎知識になかなか触れる機会がない人向けに書きました。これらの基礎知識があると、困ったときに調べ方すら分からないという状況は回避やすくなるはず)

まずLinuxUnix系OSの使い方。

ターミナル、いわゆる黒い窓からCUIコマンドユーザーインターフェース)でコンピュータを使う方法を覚えよう。これは大学コンピュータリテラシーで習った。MacOSXで復習すると捗った。(追記 すごく間が抜けてたけどMacOSXUnix系OSです)

まずはファイル操作Macターミナルを使って、cd Desktopって打ってからecho ohayou > aisatsu.txtって打ってみて、cat aisatsu.txtってやる。そうすると何が表示されるのか?とりあえずやってみよう。ここで>は増田の都合上大文字全角にしてるけど、ちゃんと半角にしてね。なんで増田の都合上半角がダメなのか、そのうち想像できるようになろう。(追記 ブコメ指摘感謝

そして、実際にデスクトップを見に行ってみると、aisatsu.txtってファイルがあるはずなんで、開いてみよう。これで何が起こったのか7割くらいはわかるはず。

こういうファイル操作の基本をまず覚えよう。これこそ空気みたいなものから

追記 ここも間が抜けてたけど確かにhogeって何かわからいね。直しました)

次に文字コードバックスラッシュの話。

最近は何も考えなければ文字コードはとりあえずUTF-8でなんとでもなるようになってるけど、バックスラッシュとかは環境設定で出てくるように設定しないと出てこないし、その意味合い、つまりエスケープとしての使い方を頭に入れておくと後々困らないと思う。あとEOF(エンドオブファイル)とか改行コードとかもそういうものがあるよ程度には覚えておこう。これ頭の片隅にはいってないと分からん殺し的な罠にはまることがある。

次にプログラミング環境の構築の仕方。

これは使いたいプログラミング言語公式サイトに行くと大抵書いてある。

でもMacだとだいぶ楽。とりあえずターミナルからgccって打ってみるとなんかCUIツールとか書いてあるものインストールしろって言われるのでインストールする。これだけでCとかC++とかRubyとかPythonとか一通り使えるようになる。もしかしたら最近はこのインストールすらいらないかもしれないけど。

あと、シェルコマンドとかプログラミング言語を実際に使うときはいろんなライブラリインストールする必要があるけど、そのライブラリ管理がすごく面倒なので管理をまとめてくれるコマンドがあったりする。aptとかhomebrewとかがそういうのだから、そんなものの使い方も覚えておこう。

追記 言語文法を追うだけなら環境構築なんてしなくてCloud9とか使ってもいいかもだけど、プロダクトを作ろうとした時にはまだまだ手元で環境作って必要ライブラリを入れてとやった方が後々応用がきくと思うのですよ。それにそうしていくとDockerの有り難みなんかも理解できるようになっていくのではと思います

最初勉強するプログラミング言語は、Javaだけはやめておけ。

なんでかっていうと、Javaオブジェクト指向言語ってやつなんだけどオブジェクト指向的にしか書けないから。古い人間だと言われそうだけど、最初手続き型言語から始めるべきだと思ってる。少なくとも、手続き型的に書ける言語から始めるべき。

なぜそう思うのかも含めて、とりあえずおばさんが理解しているプログラミング言語の発展の経緯を軽く解説する。

最初の頃のプログラミング言語は、手続き型と呼ばれるものが多かった。

この〇〇型ってのはプログラミングをするときの考え方によって名前がついているんだけど、手続き型はまず0を作って、0に1を100回足して、最後にその結果を表示してください、みたいな、上から書いた順番通りに動くのが基本のルールである考え方。プログラムは基本的にはこうやってデータアルゴリズムを使って変化させていって望む結果を得ている。でもこのやり方は問題も多かった。プログラム全体がひとかたまりになってしまっているので、数千行とかになるともう普通の人では手がつけられないし、人間ミスデータを間違って扱ってしまうことがバグの温床になった。

なので、この手続き型の考えに構造化という考えが加わって、関数というものが生まれた。関数っていうのは料理レシピに例えるとわかりやすいかも。

関数が無い状態だと、

1:玉ねぎをくし状に切ります

2:キャベツをざく切りにします。

3:豚こまに塩胡椒で味付けをします。

4:フライパンを火にかけ、油を入れて熱します。

5:豚こまを入れて色が変わるまで炒めます

6:玉ねぎを入れます

7:キャベツを入れます

8:野菜がしんなりするまで炒めます

9:火を消して8をお皿に盛り、野菜炒めの出来上がりです。

と書いていたものが、関数がある状態だと、

A:野菜を切ります

Aのやり方1:玉ねぎをくし状に切ります

Aのやり方2:キャベツをざく切りにします。

B:肉に味付けをします。

Bのやり方1:豚こまに塩胡椒を振ります

1:フライパンを火にかけ、油を入れて熱します。

2:Bを入れて色が変わるまで炒めます

3:Aを入れてしんなりするまで炒めます

4:火を消して3をお皿に盛り、野菜炒めの出来上がりです。

って書ける。ここではAとBが関数

この程度だとあまり意味を感じないかもしれないけど、これがもっと複雑なもの想像してみると、なんとなくありがたみが分かって来ないだろうか?こうすると、多人数でプログラミングをするときに、Aを書く人、Bを書く人、1〜4にまとめる人って感じで作業分担ができる。それに、バグが起きた時もAの領域バグったのか、Bの領域バグったのかとか、全体にまとめると上手くいかないのかとか、原因の切り分けがやすい。

でも、プログラムがとっても複雑化すると、これでも手に負えなくなる。料理の例えを拡大すると、料理店を運営することを考えるといいかも。

料理店でたくさんの料理をさばくときに、レシピを完全に1から作ることってないと思う。Aさんが野菜の仕込み担当、Bさんがスープの仕込み担当、というように各人に仕事が割り振られているはず。AさんもBさんもそれぞれの仕込みのレシピを持っていて、最終的に出てくる仕込みがちゃんとしてればAさんBさんの仕事の詳細までいちいちシェフが細かくチェックしない体制になっていると思う。大雑把にいうとそういう考え方をプログラムで再現したのがオブジェクト指向言語

なので、本気で料理初心者がいきなり厨房の仕切りを任されて上手くいくのは難しいように、構造プログラミングのありがたみすらわからない段階でオブジェクト指向プログラミングに手をつけても意味わからんだろうと思うのがおばさんの立場です。

追記 おばさんはRubyを勧めておきますオブジェクト指向言語ですが、手続き型的に書き下すことも出来るからです。一つの言語手続き構造オブジェクト指向、全部勉強できますメソッドも便利なのが一通りあるし、日本語を扱うのにも問題が少ないです)

次に問題を分解できるようになろう。

例えば、クイズゲームを作りたいと考えたときクイズゲームを作りたいです、って問題は大きすぎる。

クイズゲーム必要な要素は、問題文を表示する、回答を入力してもらう、正誤判定をする、正誤判定の結果を表示する、ということだなぐらいにまず分解する。

これを実際にプログラミングしようとすると、もっと分解できてさら問題が見えてくると思う。

コンピュータってのは創造的なことはできない代わりに、とても簡単なことをとても階層的に重ね合わせて大きな問題を解けるように作られてる。それを心するといいと思う。

からないことは調べられるようになろう。最後はこれ。

これ超大事プログラミングって本当に自分で1からものを考えなきゃいけないことってあまりない。大きな問題あなただけの問題かもしれないけれど、それを構成する小さな問題は大抵他の誰かが解いている問題なので、調べてみれば答えが見つかると思う。

エラーメッセージが出てきたらまずググってみる。翻訳しても初心者には意味がわからないし、ググったら誰かが解説付きで紹介してくれているのでその解説を読んだりしながらエラーメッセージとの付き合い方を覚えていけばいい。

メソッドの使い方がわからなかったら言語公式サイトに行ってみる。メソッドの使い方で大事なのは呼び出し方、返ってくる値の型とかそういうのだから、こういうところはググるよりも公式サイトに書いてあることをしっかり読んで理解する。

あと、アルゴリズム勉強もしてみるといいと思う。アルゴリズムデータ構造計算量の勉強大学学部レベル教科書ちゃんと読んでみると、例えばデータベースを操作するSQLというものを書くことになった時とかに効いてくる。あとは作ったプログラムが遅すぎてどうしようとかいうのを解決する時とか。

なんか深夜までいろいろ書いてしまったけど、あくまでもプログラマじゃないおばさんが書いたものなので、みんなでツッコミとか入れてくれると大変助かります

増田怖いよツッコミ怖いよ、もちろんおまんじゅうも怖い。

2019-01-20

C++人生台無しにした。

柴田望洋先生明解C++

STL標準講座

テンプレートテクニック

・Effective C++

More Effective C++

・Modern Effective C++

C++ポケットリファレンス

・入門Qtプログラミング

実践Qtプログラミング

・Effective STL

Boost C++ Librariesプログラミング

オブジェクト指向における再利用のためのデザインパターン

C++ テンプレート完全ガイド

OpenCV for C++

・大規模C++ソフトウェアデザイン

MakeGitなどコマンド系の技術書 複数

・Database系の技術書 複数

ネットワーク系の技術書 複数

Linux系の技術書 複数

Windows系の技術書 複数

自作ハード系の技術書 複数

・他の言語技術書 複数

15年かけC++を独学した。

上記書籍を何度も熟読し、

C++実装も規格書も、C++によるライブラリ実装

Boostソースコードも常に読むよう心がけた。

土日も祝日も平日朝も平日のしごと終わった後の夜も、

ずっと一人で努力し、風呂トイレ、布団の中でも勉強し、プログラムを書いた。

基本情報処理ソフトウェア開発者試験ネットワークスペシャリストとデータベーススペシャリストを取得した。

しかし、正社員はもとより、時給2000円の派遣プログラマも時給1200円のアルバイトスキル不足で何十社受けても一社採用されない。

とはいえ面接官のレベルは「STLなんて初めて聞いた」「gccて何かの会社?」

C++企画書(誤字ではない)を書いてる人なんてのがいるの?」

「じょーほーしょりしけんてのがあるの?外国の話?」

といったもので私の実力は全く理解されていなかったのだが。

独身で、一切を我慢して娯楽を全く体験しないまま40歳になってしまった。IT業界人間すべてが恨めしい。

貯金100万もなく、素人が書いたプログラムに対して手順書のとおりにマウス操作してエクセルテスト結果を書くだけの仕事ばかりしている。

C++じゃなくてCかC#Javaか、とにかくC++以外だったらこんな事にならなかっただろうに。

何の意味もない、苦しかっただけの、最悪の人生になってしまった。

2018-10-30

【試した環境2】 Ubuntu 17.10 64bit



1. 作者が用意したスクリプト 01downloads の apt install 部分で修正必要なようです。

 emacs24 はリポジトリになかったので,代わりに emacs25 を入れました

 gcc-4.9, g++-4.9, cpp-4.9 はリポジトリにありません。

2. CASINO の makeエラーが出る

 エラーを見るとFortranで止まっていたので,入ってないのかな?と思って調べたら(Synaptic パッケージインストーラにてgfortran検索した),入っていませんでした。おそらく,gcc4.9が入らなかったからだと思います

 gfortran, gfortran-doc, gfortran-multilibをとりあえず入れてみたら動きました。(ついでにgfortran7類も入ったようです)

2018-10-07

ラズベリーパイgentooprofileを変えてうどんワールドしたら

めっさgccビルド時間かかって数時間止まってる。

このために用意されてる時短用のクロスビルディングとやらもgentoo環境が別で必要なのか?

いつ終わるんだ?

2018-06-24

プログラミングを何から始めればいいのか悩む

プログラミングってこれから時代必要っぽいし、なんとなくイケてるスキルっぽい。

ゲームとかアプリとか作ってストアで公開とかしたら就職とか転職めっちゃ有利じゃね?

俺はこういうのが出発点で良いと思う。

でもプログラミングを始めようとすると「何がやりたいの?」と聞かれてソッコー詰まる。

俺は「何をやればいいの?」って思って調べてるつもりなのに「何がやりたいの?」って突き放される。

ここで混乱して立ち止まってしまう。

でも一呼吸おいて、初心者とそれ以外の間に生じる認識の祖語について1つずつ解消しなければ先に進めない。

俺はプログラミングを覚えるということは、何でもできるようになることだと思っている。

でも先人たちはそのようなスキルをすぐに教えてくれない。それどころか「何をやりたいの?」と言って、他につぶしの利かない小さな範囲知識を与えようとしているように見える。

アプリ作りたい」と言えば、どんなアプリ?という問いが続くし、特定の具体的なアプリしか作れないような知識しかもらえないだろう。

どういうことか?

試しに「何でも作れるようになりたい」と言ってみると「じゃあC言語やろうぜ」とか言われる。

C?いまさらCで何作れるんだよ。AndoroidアプリJavaじゃないの?C関係ないでしょ!?Cでスマホアプリウェブサイトも作れないじゃん!何言ってんの!?


スマホアプリ作りたいの?じゃあJavaでいいじゃん」

ち・が・う!何でも作れるようになりたいの!あんたみたいに!Visual Studioだろうとgccだろうと、cとかc++とかc#とかjavaとかpythonとかrubyとかphpとかテンサーフローとかhtmlとかjavascriptとかjqueryとかgoとか駆使してたくさんウェブサービスとかアプリとか作りまくってるあんたみたいに!

「じゃあ今挙げたやつ全部やれよ。ちなみに今の俺は10年以上プログラミング勉強してるから。10年後今の俺になったところで、俺はさらに10年積んでるからな。一生追い付かんな」


から今すぐ追いつく方法教えてって言ってるの!


「じゃあ今、あるいはこれから使えるものを重点的にやっていくしかないな。で、何がやりたいの?」


何がやりたいのってどういうこと?むしろ何ができるの?


アプリ作るとか」

わかった!じゃあアプリ作るわ!

「どんなアプリ作るの?」

…………どんなアプリ作れるの?

「ストアにあるようなやつ」

じゃあFGOみたいな……

「お前には無理だからw」


はぁっ!?ストアにあるようなやつって言ったじゃん!






そこでまた数回やりとりが発生して、プログラムを書くコストとかスキル問題について再確認することとなり、

現実的に俺個人が支払えるコスト範囲で、何を作れるようなスキルを取捨選択するかという問題になり、

結局は教科書サンプルをちまちま作っていくしかないのではないかというつまらない結論脳裏に浮かぶし、

その道筋でさえ結局何年も積む必要があり、そのころには別の言語とか開発環境が主流になってるかも……

「そこだよそこ」

えっ?


「まずさ、日本語教科書を読むには日本語必要じゃん?それでも国語辞典とかwikipedia調べながら知らない単語概念は別途補てんする必要がある」

う、うん。

プログラミング教科書とか風潮を読むにはプログラミングの基礎が必要。それに加えて、作りたいものに合わせて新規に開発環境なり言語なりを学習することになる。だから何でも作れるようになりたけりゃ、この世の全てを体得する必要があるけど無理だろそんなの」

え、えー

「でもいくつもの開発環境言語を使って、ソフトウェアをいくつも実際に作ってると、基礎的な引き出しは大きくなるし、追加で新しい環境とかを学習する要領もつかめてくる。何年も積み重ねがあるとなおさらね。するとより少ない労力で新しい技術追従できるし、新しい開発環境アプリの分野でもサクサク作ってるように見える。それが、お前の言うところの『何でも作れる』ように見えるものの正体さ」

なんか夢から覚めた気分。

FGOを作りたいなら、FGOをかみ砕いて、自分ならどういうアレンジでそれっぽいものを作れるか考えて、その過程自分能力とか限界を見極めていく必要がある。でもそれは結果論であって、最初は作りたいものをひたすら作ってみるしかない」

ふーん

「何度も聞くけど、何が作りたいの?FGOならFGOでいいよ。やってみろよ」

どうしよっかな……(頭を抱える)

2018-05-30

anond:20180530060133

問題ありまくりだろう。

ソースコードコンパイルに失敗した場合は例えgccだろうがなんだろうがコードの内容はどうあろうがエラーを出力する。

コードが壊れているかどうかは重要ではなく、それに対して何をどう向き合ったかであって

あの記事の中身のコードがどんなコードであってもコンパイラがなんであっても本質には全く影響を及ぼさない。

たまたま環境unityだっただけで、unityがその辺エラーを吐かないかというと吐いていたし見えない筈はなく、英語なので読めないということはあったかもしれないがそれはgccとて同じことだ。

何がその文章から読み取れるものの中で本来重要ことなのかで自ら「全く重要でないもの」を把握できておらずともすれば詭弁とも取れるunitySAGEたいだけに見える駄記事じゃねーか。

第1、例示されてる部分だけではそもそも動かんのやぞ。書き換え、誤魔化しがあるのはバレバレじゃないか

2018-01-28

会社PCEmacsインストールしたったwwww

ひとまず以下のコマンドを実行して、インストールできたっぽい。

次なにしたらいい?

sudo yum install -y ncurses-devel make gcc
cd /usr/local/src/
sudo git clone https://github.com/vim/vim.git
cd vim/src
sudo make
sudo make install

2017-06-10

日本リベサヨが終わってる理由(ホシュウヨが安心してていい理由

1

2017英総選挙:コービン労働党まさかの躍進。その背後には地べたの人々の運動(ブレイディみかこ) - 個人 - Yahoo!ニュース

http://b.hatena.ne.jp/entry/s/news.yahoo.co.jp/byline/bradymikako/20170609-00071923/


ブレイディみかこはバーニーサダースやコービンにずっと注目して来た人で

「右と左ではなく上と下の時代になってきてる」という視座も前から繰り返し言ってきてる。

海外での左派の躍進成功例や、成功まで行かなくとも希望の芽と見られる事例の紹介をずっとしている。

本当に下に信頼される知性と政策努力があれば左派は勝ち、しか継続的に世の中をよく出来るはずだと。

これは説得力がある。

日本でコツコツと正攻法自民党を倒す努力方向性があるとすればこれだろう。



けどブックマークコメントを見ればわかる。

日本リベサヨは終わってるし、

からみかこが紹介するような何かが日本に伝播することはないし、

日本のホシュウヨは何も心配しなくていい。



はてサコメント

nabeteru1Q78 非常に良い記事だと思う。サンダース。コービン。日本左派が見習うべき政策も、運動のあり方も、恐らくそこにある。 606 clicks

リンク2017/06/10 Add

星4つ、人気7位

Gl17 『高齢者冷遇する政策を取れば、「自分たちは損をしている世代」と感じている若者たちが満足すると思った』老人ムシれとか、

正社員厚遇過ぎとか言ってばかりな、どっかの国のネット俗論ぽい。我慢大会が続く訳だ。

リンク2017/06/10

星15、人気2位(はてサ1位)


わかるだろうか。

とりあえず口でだけでも「我々も見習わねば!」と言うはてサはてサ人気すらいまいちで、

なんとかかんとか「ネトウヨガー」「日本人ガー」を安定出力するはてサはてサには圧倒的人気。

今回nabeteru1Q78の発言特別知的だとか殊勝だというよりは、

左派の勝ち筋紹介」という記事の本旨を一切迂回して日本の俗論叩きに話を持っていき終わらせるGl17の強い方向性と技巧が光る。


2

この記事に限らず、

nabeteru1Q78とGl17で圧倒的にGl17の方が人気なのがはてサ(引いてはネット左派)の限界の全てだと思う。

nabeteru1Q78も感情的で先鋭的な発言はちらほらあるけど、全体的には知的であったり現実的アクションに繋がる話をする。

Gl17はまさに「ネトウヨガー日本人ガー!」みたいな当てこすりと癇癪爆発の発言だけをする。

そこから自分達の取るアクションみたいなものが一切見えないのがGl17ブコメの特徴だ。


安倍晋三を降霊して眺めるならば、

手強いのは圧倒的にnabeteru1Q78であって、Gl17はむしろ小遣いやって支援したいぐらいだ。

nabeteru1Q78は仕事が出来そう。Gl17はまともに仕事に取り組んでなさそう。

でも人気が出るのは後者


要するに過半数はてサリベサヨが望んでいることは

現実を変えていくこと、自分理想に沿って世の中をよくしていくこと」ではなく、

実は「とにかくアベシンゾーを倒して民進か共産政権を持たせること」ですらなく、

まりは「自分の思い通りにならないと決定してる現実に拗ねながら恨みごとや当てこすりを言い続けること」なのだ


ブレイディみかこのように「左派希望」を見せてくれる記事は、

nabeteru1Q78には喜びであり検討すべきロールモデルかもしれないが、

Gl17にはい迷惑であり、なんならちょっとウザいのだ。

だって、そんな記事左派希望も見せてくれるが、左派自身努力改革を求めるではないか



それじゃ困るのだ。

Gl17ら主流派はてサは、現実での勝利の為に自己批判自己改革なんか1ミリもしたくないのだから

彼等にとって最重要なのは「常に説教する立場にいること」それが無理なら次点被害者として恨みごとを叫べる立場に居ること」だ。

仕事の出来そうなnabeteru1Q78より仕事の出来なさそうなGl17が圧倒的人気なのはそういうことだ。

Gl17の最大唯一の長所は、どんなニュースでもなんとかして「ネトウヨ」や「日本人」を侮蔑説教するコメントをひねり出すノウハウと執念だが、

要するにnabeteru1Q78は自分主体として取り組む意思を持ってニュースを読んでいる行動者であり、

Gl17はどこまでも自分主体性責任を透明化しながら侮蔑的評論を加えるためだけにニュースを読んでいる評論家だ。



3

たとえば何かのイシューがあったとして、

それが上手く伝わっておらず支持や協力を得られないときに、

nabeteru1Q78型は伝え方をチェックして省察改善をして、自分努力未来を変えていく大人の楽しみを夢見るのだろう。

しかしGl17型が望むのは、「これを支持しない奴等は良心が無い!こんな世の中はクソだ!」と泣き喚いて地面をゴロゴロする幼児快感なのだ

Gl17型が夢見る希望は、「不届きな奴等」が自主的に改心して詫びを入れに来ることで、自分達は座ったままふんぞり返ってその詫びを受ける身分なのだ



別にnabeteru1Q78個人をヨイショする気はないし

はてサの中にも主体性のある評価されるべき人間が他にも居るのはわかっている。

しかしGl17型が一番人気と言うのが結局ははてサリベサヨの明白な限界だろう。

左派主体性があり過ぎるほどある人達に御老人やそれに連なる人が多く、

逆に入れ込みすぎてて素人がついていけないとか、ウン十年前の成功体験フレームに囚われてるとかいうのも辛みだが。


追記

記事ブコメhttp://b.hatena.ne.jp/entry/tenfa.wnp.jp/1520/

Gl17 現地直の情報はいいんだが、この人も単に不満言って意味もなく左派への嫌味くらいしか結論がない辺り、すごい浮世離れ感ある。今回の件は米同盟国同士、GCC内の争いで、融和の建前を軽視した結果だと思うけど。

うへっ

常に不満言って意味もなく日本人への嫌味くらいしか結論がないブコメを延々と書く人がこれを言うのか

つかその記事カタール在住の人が取り急ぎ物資の欠乏状況を書いてるだけのエントリなんだから

大きな視野建設的な結論なんかあるわけないだろ

ほんまアホちゃう…(そしてこのコメントがまたはてサ人気一位)

2017-02-26

anond:20170225195916

"Google翻訳オープンソースプロジェクトに使うのはダメなのか? " についての反論

いい記事なのだが、いくつか反論や補足が必要だと思ったので書く。

GPLコンパイラの例

このGPLコンパイラとはGNU bisonやGCC(GNU Compiler Collection)について指しているのがほぼ明確なのでそれらについて書く。

確かに著作権法を元にしたライセンスは、ソフトウェアの出力結果に対してソフトウェア著作権ライセンスが影響しないと解釈するのが妥当であるというのは正しい。

ただしこれは"著作権ライセンス"に限った話である、つまり著作権ライセンスでは不可能な制約がEULAなどでは課すことが可能であるということを意味する。

詳しくはGNUの書いた記事の"契約を元にしたライセンス"という項を読むと良い。以下に引用する。

https://www.gnu.org/philosophy/free-sw.html

ほとんどの自由ソフトウェアライセンスは、著作権を元にしています。そして著作権によって課することができる要求には制限があります。もし、著作権を元にしたライセンスが、上記に記した自由尊重するならば、まったく予期しない他の種類の問題があることはありそうもないでしょう(予期しないことはまま起こりますが)。しかし、ある自由ソフトウェアライセンスは、契約を元にするもので、契約もっと広範な制限を課することが可能です。これは、そのようなライセンスが、容認できないほど制限が強く、不自由でありうる、いくつもの形態がありうることを意味します。

わたしたちは、起こりうるすべてのことをあげることはできないでしょう。もし、契約を元としたライセンス利用者を(著作権を元としたライセンスでは無理な形で)異常に制限するならば、そして、それがここで正当だと述べられていないのならば、それについて検討しないといけないでしょうし、そのライセンスは、不自由である結論づけるかもしれません。

また元の記事の著者はGCCやbisonがGNU GPLのような強いコピーレフト保護されたソフトウェアでも、それによって作成された著作物GPLにならない(つまりコンパイラやパーサーのライセンス継承しない)ことを根拠考察しているようだが、実はbisonやGCCGPLにはライセンスに対する例外付属していることを考慮すべきである

GCCやbisonの著作権保持者であるFree Software Foundationは著作権法の話をするとき、たいていアメリカ合衆国を想定しているがこれらの自由ソフトウェアが広く使われるあたって、著作権法とそれを元にしたライセンスが異なった解釈をされることがありうることをおそらく危惧している、そのため出力に対してソフトウェアライセンスが影響しないことを確実にするためにこれらの例外規定しているのではないか

この二つの理由から、元記事議論世界中に対して広く配布するFLOSSディストリビューションでは(非常に残念ながら)鵜呑みに出来ないと私は考える。

フェアユースについて

フェアユース規定は例えば日本では存在しない、

加えて言えば、たとえフェアユース規定が全世界的に利用できて、営利目的でなければ利用できたとしても、

フリーソフトウェア/オープンソース定義の中に

自由.0: どんな目的に対しても、プログラムを望むままに実行する自由

(i.e. オープンソース定義 6項 利用する分野に対する差別禁止)

がある限り、そのような制限ディストリビューションは受け入れられないだろう。

またOracle vs GoogleJavaAPI訴訟はケースとしてはかなり特例であり、

一般に広く適用すればlibcすら当てはまるのではないかと私は思っている、

これを根拠にしてよいのならばそもそもコンピューター業界がひっくりかえるのではないか

Web翻訳の結果をオープンソースソフトウェアで使うべきか、そうではないか

少なくともUbuntuのようなプロジェクトにおいて、私は断固反対である

というのは現状ほぼすべてのWeb翻訳(例外があれば教えて欲しい)はプロプライエタリないし、それと同じ結果をもたらすSaaSSだからである

Webブラウザを介して使う翻訳サービスはSaaSSの代表例であり、ユーザーコンピューター計算コントロール

つべであるという自由ソフトウェア思想と明らかに相容れないものである

このようなサービスを利用することの弊害として、(例えば)Google翻訳翻訳処理の計算依存することにより、ユーザー入力Googleが常に把握することが挙げられます

もちろんこれはあまり良いことではない。

多くのFLOSSシステムディストリビューション自由ソフトウェアを主に入れるというガイドラインを持っている。

アーカイブのごく一部にnon-free(Ubuntuならrestricted/multiverse)なソフトウェアがあるが、

これは事実上妥協産物であり、排除しても大した問題がないならば配布から除外することに多くのディストリビューション関係者異論を挟まないだろう。

また例えばDebianはあるソフトウェアがDFSG(Debian フリーソフトウェアガイドライン)に適合するフリーソフトウェアであったとしても、それがガイドラインに適合しない著作物依存する場合、contribというセクションに閉じ込めており、それは公式システムの一部ではないとしている。(建前ではcontrib/non-freeセクションはユーザー向けの付加サービスとされる)

Ubuntuコミュニティ新規に作られた著作物コミュニティ哲学に反する物に依存するというのは、かなり致命的である

たとえ奇跡が起こり、例外的Google翻訳や一部のプロ翻訳ツールBSDライセンス(Launchpad上での翻訳ライセンス)での出力を許したとしても決して褒められたものではない。

Ubuntubug#1に"Ubuntuソフトウェア自由である。常にそうであったし、今後も常にそうである自由ソフトウェアは万人に望むままの方法で使い、望むままの人間と共有できる自由を与える。この自由は多大な利点である。"とプロジェクト創始者であるマーク・シャトルワースが書いていることをよく考えるべきである

https://bugs.launchpad.net/ubuntu/+bug/1

この反論を読んだ読者の中にはあまりGNUプロジェクト寄りに思想が傾いていると思う者がいるかもしれないが、

いわゆる"Linuxディストリビューション"の中には数多くの重要GNUソフトウェアシステムの根幹をなす形で入り込んでおり(例えばGCC,bash,glibc etc...)

またUbuntu派生元となったDebianの成立経緯にはやはりFSFが関わっている。

さらに言えば、システム保守を手伝う人の中にはシステムフリーからボランティアで頑張っているという人もいると思う。(ほとんどではないかもしれない)

のでUbuntu周りの話に限ってはこういった観点で見てもよいと思ったので書いた。

追記

Ubuntu Japanse Teamの関係者に読まれたようなので満足しました。(2017/2/27 22時)

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