「プリプロセッサ」を含む日記 RSS

はてなキーワード: プリプロセッサとは

2020-06-14

std::vector XXXとして

for(auto &x:XXX) ;

というコードに対して ;は無意味ってnoteではなくwarningで挙げてくるんだが

こんなコード わざとかいている以外 どんな理由があるんだ・・・

わざわざプリプロセッサでWarining OFFにしなきゃいけねーのかよ つれーな

2020-06-07

anond:20200607045358

web系に進むなら追加でcss終わったら

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2019-01-12

スクールに通って未経験からwebプログラマ転職して一発逆転!!

を狙ってるそこのお前

どうせお前のスキルセットは「html,css,js,rails」だろ?

揃いも揃ってそんなんばっかり

スクール講師に言われるがまま

このご時世にjqueryでせっせとDOM操作して

プリプロセッサも使わずしこしこcss書いて

HTTPメソッドSQL理解せずにそれっぽく動くN+1だらけのクソ作っただけだろ?

webプログラマ目指すくせに開発環境構築にDockerも使わず理解してないコマンドコピペしてローカルに直でインストール

せっかく無料枠あるのにawsじゃなくてHerokuにプッシュするだけのデプロイ

テストコードも書かず

CI/CDツールも使わず

ブランチ運用なんて考えずmasterブランチに直プッシュか?

会社に入れさえすれば先輩がつきっきりで教えてくれるとでも思ってんのか?

先輩を質問責めにする気か?

むりむりやめとけ

そんなんじゃせいぜい年収300

諦めた方が身のため

あばよ


どうしてもなりたいなら↑で挙げたものぐらいは最低限を理解しとけ

メモ帳一つでプログラマ」なんて時代は終わったんだよ

ここまで言って調べる気にならないなら本当に向いてないよ

2018-09-22

なぜ我々はいまだに文字列コメントを書いているのか

https://qiita.com/tkrkt/items/2fc9a9a59ce679aab728

を読んで、HTMLのcode要素のテキストを読むプリプロセッサを考えたけど、

コード書くのが面倒すぎてダメだな。

2017-10-08

キュートを用いたローマ字綴りを普及させたい

いや、嘘。実体参照リストを見てたらいろんなラテン文字に結合できると知って使いたくなっただけ。

もつらつら書いてたら同音異義語を多少緩和させて読みやすくなりそうなので、ローマ字書きするときに普及したらいいなあと思った。

使うもの
数値文字参照表示この増田での意味
́ ́漢語外来語を表す。
̊ ̊大和言葉を表す。
̄ ̄長音
̈ ̈単独発音する。

使った例
漢語外来語の例

キュートを付ける。略語場合には構成する語ごとに付ける。固有名詞大文字


大和言葉

1. 混種語で後ろが大和言葉場合リングを付ける。

1. 大和言葉同士で連濁が起こらず、且つ分かりづらい場合リングを付けえる。3重以上の複合語で大きく分かれる箇所にリングを付けるとよい。

1. 固有名詞単語の切れ目を意識させたい場合任意で。




そのほかの例
トレマも使おう
接頭辞接尾辞

ハイフンレスですっきり。


「当機」「冬季」「陶器」「時」「朱鷺」の区別

  • T́ōḱi wa mamonaku t́yakuriku t́aisei ni hairimasu.
  • T́ōki órinpikku, tugi wayontyan de yarurasii.
  • T́ōki to ieba, masiko.
  • Toki no kane wa kawagoe no midokoro.
  • Toki wo yatara mettara tukau Niigataḱen. Tokimeki T́etudō toka mohaya kirakira ńēmu.

「機」 (漢語)と「木」 (大和言葉)の区別

リング+トレマの併用例と併用しない例。

  • Ǵaruṕanö̊zisan, Ibaraḱi Ōårai no ḱeizai wo uruosu.
  • Ǵaruṕan ozisan, Ibaraḱi Ōårai no ḱeizai wo uruosu.

課題

  • Maa dono ǵengo demo sō darō kedo, komaru no wa Latin ḿozi no ḿeisi dayo ne. Tatoeba:
  • Mise no hito: "T́hī Ṕointo Ḱādo (T-Point Card) wa om̊oti desu ka?"
  • yaku: "Iie, ḱādo wa ṕurasutikku (plastic) desu."
おまけ

Śeigi no Ḿik̊ata no T́okutyō

  1. Źibunźisin no ǵutait́eki na ḿokuhyō wo motanai
  2. Aite no yume wo śosi suru no ga ikigai
  3. T́andoku-Śyōninzū de ḱōdō
  4. Tune ni nanika ga okotte kara ḱōdō
  5. Ukemi no śisei
  6. Itumo okotte iru

Ákud̊ama no T́okutyō

  1. Ōkina yume ya ýabō wo idaite iru
  2. Ḿokuhyō t́assei no tame, ḱenkyūḱaihatu wo okotaranai
  3. Hibi d́oryoku wo kasane, yume ni mukatte te wo tukusite iru
  4. Śippai sitemo hekotarenai
  5. Yoku warau
まとめ

増田さん」って、言ったり聞いたりするときは一塊のフレーズとして聞くけど(もっと言えばテニヲハまで一塊)、読んだり書いたりするときは「増田」と「さん」に分けて理解するわけで、そういう目と耳とで矛盾する解釈をうまくアルファベットに落とし込めると読み書きしやすローマ字になるのかな、と思った。

以上3連休前半を無為に過ごした自分への言い訳

2016-05-23

http://anond.hatelabo.jp/20160520093920

岡部氏は当該部分を引用していませんが、元記事をちゃんと読むと

Cの「プリプロセッサが」Cプログラムを生成する純粋関数型言語

という話ですね。

2016-05-22

http://anond.hatelabo.jp/20160520083417

「滅多なことが言えなくなった」としたら、nonstarter氏のブログのように

岡部氏に反する意見を言うと激しく荒らされるからですね。

迷惑がかかるといけないのでリンクしませんが、

住井氏は関数型言語に関する世界最高峰の国際会議委員長ですね。

エリオット氏のブログは、岡部氏が引用していない部分を読むと、

C言語の「プリプロセッサが」Cプログラムを「生成する」ので、

HaskellのIOモナドがIOアクションを生成するのと同様に

純粋関数型言語とみなせる、という主旨のことが書かれていますね。

岡部氏は「プリプロセッサ」という部分を引用していないようですが。

2016-05-20

http://anond.hatelabo.jp/20160520135548

一応説明すると、Elliottの元記事

HaskellのIOモナドが「IOアクションを生成する純粋関数プログラム」なのと同様、

Cのプリプロセッサは「Cプログラムを生成する純粋関数プログラム」って言ってるのね。

から「cpp + C言語処理系」は「Haskell + 処理系」と同じく純粋関数型だと:-)

http://anond.hatelabo.jp/20160506231736

http://kenokabe-techwriting.blogspot.com/2016/05/c.html

すげー! Cの「プリプロセッサが」純粋関数型、と言ってる(半ばジョーク記事

また都合の良い部分だけを取り出してる……。まさに牽強付会

2010-08-30

http://anond.hatelabo.jp/20100830074531

全然話が進まないのは話が噛み合ってないからでしょ。

プリプロセッサ言語オブジェクト指向を持ち出すお前が痛すぎる」に対して、横から「オブジェクト指向プログラミング言語でなくてもオブジェクト指向は使えるだろうと思ったけどたぶん話の流れと関係ない」と言ったのが当初の発言。

それに対する返答が「そういう事じゃなくて、可読性および処理速度、オーバーヘッド的な意味オブジェクト指向は駄目」。

全く話が噛み合ってない。「そういう事」じゃないから、「話の流れとは関係ない」って言ってるのに。

そして「オブジェクト指向プログラミング言語でなくてもオブジェクト指向は使えるだろう」の否定になってない。

これではいくら実例出しても話は進まないだろう。

2010-08-28

http://anond.hatelabo.jp/20100828182728

>可読性および処理速度、オーバーヘッド的な意味オブジェクト指向は駄目って言ってるんだろ

普通はこの1文で納得できるもんだが

ひょっとしてプリプロセッサ言語では「翻訳」が行われる事とか、オブジェクト指向的な処理をするのは最初コンストラクタが走るのでオーバーヘッドがかかる事とか、いちいち全部情報処理専門学校に入りたてのガキに教えるように教えないと全く判らないかい?

http://anond.hatelabo.jp/20100828173632

だから話の流れと関係ないと。

オブジェクト指向オブジェクト指向プログラミング言語は必須ではない。

つまりオブジェクト指向という手法は言語に関係なく使うことができる。

だから「プリプロセッサ言語オブジェクト指向を持ち出す」というフレーズ違和感を覚えた。

http://anond.hatelabo.jp/20100828163415

半分は同意なんだけど、プリプロセッサ言語オブジェクト指向を持ち出すお前が痛すぎるのでイマイチ同意できない

2009-05-17

Visual Studioでのsnes9x-1.5.1のビルドのコツ

・snes9x-1.5.1-srcフォルダを入れるまとめフォルダを作る(ここにzliblibpngとfmodとnasmのフォルダを突っ込むため)。


・zlibソースDLして解凍する。できたフォルダをzlibリネームしてまとめフォルダに突っ込む。zlibフォルダ内のcrc32.cをemucrc32.cにリネームする。


libpngはコンパイル済みバイナリDLして解凍する。できたフォルダlibpngにリネームしてまとめフォルダに突っ込む。ソリューションエクスプローラlibPNGフォルダ内の*.cをプロジェクトから除外する。プロジェクトプロパティで追加の依存ファイル一覧にあるlibpngmt.liblibpng.libリネームする。


・fmodはver.3系(ver.4系でのビルドは未確認)のコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをfmodにリネームしてまとめフォルダに突っ込む。


・nasmはコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをnasmにリネームしてまとめフォルダに突っ込む。nasmはプロジェクト中の*.asmのビルドに必要になる。後の*.asmのビルド設定との整合性のためこの通りに配置すること。


プロジェクトプロパティDirectX SDKのIncludeとLibフォルダパスを通す。


プロジェクトプロパティで、「リンク前のイベント」に次のコマンドを追加する。

pushd "$(SolutionDir)..\"

del "i386\*.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\2xsaimmx.asm" "-oi386\2xsaimmx.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\bilinear.asm" "-oi386\bilinear.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\c4.asm" "-oi386\c4.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2.asm" "-oi386\fxemu2.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2b.asm" "-oi386\fxemu2b.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2c.asm" "-oi386\fxemu2c.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxtable.asm" "-oi386\fxtable.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\sfxproc.asm" "-oi386\sfxproc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\spc.asm" "-oi386\spc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnes.asm" "-oi386\zsnes.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnesc4.asm" "-oi386\zsnesc4.obj"

popd

上記のコマンドに出てくる11個の*.objファイルプロジェクトに追加する。ただしコマンドコメントアウトされている2つ(c4.objとzsnesc4.obj)はビルドから除外しておくこと。


・SARマクロ(sar.h)が原因でコンパイラが死ぬので、このマクロを不使用にするためにport.hの277行のRIGHTSHIFT_IS_SARマクロ定義を未定義にする。


ここまでの手順でビルドが通る。


TODO:

プリプロセッサZSNES_C4を有効にする時の設定

2008-12-31

http://anond.hatelabo.jp/20081231050338

関数ポインタも、結局関数メモリに乗ってて、関数の開始位置をメモリアドレスで表せるから使えるわけで、やっぱメモリポインタで良いんじゃないの?

それをいうなら変数ポインタ関数ポインタでは?

(というか、ポインタは単にアドレスを保持する変数なだけで、どっちもそれの応用だよね。シンプルでよく出来た仕様だと思う)

まあ、その辺まで使えるようになってると「なんで使えるか」に考えが及んで、どうやってコンパイラ機械語に変換してるかが気になったりするかもね。

コンパイラの1パス、2パスプログラマにあんまり影響しない(待ち時間くらい?)けど、プリプロセッサの挙動は知っといたほうが良いかも。

でも、C特有かなあ。

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