はてなキーワード: コンパイルとは
アメリカの掲示板でC++がCと違うものだと言う人が増えた という投書があった
まぁ 拳銃を持てない国に言われてもな って 返しておいた
ちょっとオプションが付いているC というふうにはC++という文字からは わからない といわれると まぁ しょうがない
Objective-C といわれると Objectiveという機能が 追加されたCなんだろうなぁと思う
C言語の型は原則 コンパイル時決定なんだが実行時決定などを使いたい といわれると
そりゃRuntime-Cとか なんかひとことCにつけたほうが売れるだろう
なぁ
1行ならこんなもん。いえば言えるけどちがうだろ。
教え合いなさい!うん・・・あなたが教えあったことがないのはわかる。
javacでコンパイルするといいよ
pythonでインタプリットするといいよ
ふぇ…頭がパンクしそうだ。
Webアプリケーションだとソフト部分の事だけ考えていれば良かったけど、Windowsアプリは思いのほか大変だ。
型だけでかなりの数あるし、OSやら繋がってるデバイスを制御するためのドキュメントを見てもすごいページ数。
コンパイルやら、バイナリやら、アセンブリやらなんたらかんたら…
エロゲするだけのPC位しか思ってなかったけど、実は何でも出来るすごいOSなんだな…。
近所のお兄さんは実はすごい人だったみたいな感覚だ。
高校入学時にパソコンを買ってもらって、FrontPageExpressってソフトウェアが入っていた。
触ったら、Webサイトを作るソフトって事を知って、その日に本を買ってHTMLでページを作った。
数日たって、掲示板を置いた。
その時にPerl言語を知って、ソースを見て何となくいじったりして覚えていった。
そんで、親戚が務めている会社のWebサイトを作ってくれって頼まれて作ったり、その会社経由でPCサポートのバイトをしながら
自宅でサーバを立ててみたくて、その時はFreeBSDをインストールして、色々必要なアプリのソースコンパイルしながらソース見て行って
C言語を何となく覚えて、自分でファイル圧縮を作ってみたりソケット通信作ってみたりした。
その後、たしか高3くらいでDirectXが面白そうでいじり始めて、一回挫折して
VB6で暇つぶしで電卓作ったり、関数をC++で作ってdll化とかしていて
ふと、DirectXをいじったらすんなり扱えるようになってたり
って感じで、とりあえず何かを作って表示させるってのは成功体験として凄く楽しいし、
だからといって、自分で調べないで教えてもらって表示出来ましたってのは、成功体験として弱すぎる。
何も見ずに全部作れるレベルになるまでには、相当な回数の検索をしないといけないから、その練習にもなる。
プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。
JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightとかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScriptに改名されたり、規格を話すときはECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースのオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。
Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。
Javaは初期のころオートボクシング / アンボクシングもなく、ストイックなオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコードも簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である。
PHPはWebネイティブな言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能や初期化していない変数を最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列と数字を臨機応変に切り替える機能もあり(今もそうかは知らん)、数字と文字の比較を比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。
C#はHello Worldくらいしか書いたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。
C++は黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーションで腱鞘炎になることもない。PC Unixにも最初から環境がインストールされているか、簡単にインストールできるので毛嫌いせず使うとよいと思う。
Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。
TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。
Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるから、カーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。
これ以下のランキングのもその気になったら書こうかな。
PCRは医歯薬学部、農学部、獣医学部、理学部の生物系、生化学系の学生なら実習で1回はやる。院生は1000回くらいやる。この中で一番PCR下手なのは医学部か歯学部の学生だと思う。経験回数が少ないから。
C言語のコンパイルに近いと想像して欲しい。誰でもできるようでいて、どのコンパイラがいいとか、どのオプションがいいとか、Windows与えられたら死ぬしかないとか、業務レベルでやるってなったら色々ノウハウが要る。
核酸は緯度によって僅かに物性が異なる。ポリメラーゼは地球の自転・地場の影響で直進できない。そのため、こと南北に長い日本では全国で確実に実施可能な標準手順書を作成するのは簡単ではない。それが生き死にに関わるとなるとなおさら。
TypeScriptって煽り抜きでどこで使われてるの。まさかJavaScriptにコンパイルして使うなんて言うなよな
Repost for Insta 利用規約(以下、本規約)は、Repost for Insta(以下、本アプリ)をご利用頂く際の本アプリとユーザーの関係に関するすべての事項に適用されるものとします。本アプリをご利用されたユーザは、本規約の内容にご同意いただいたものとみなします。
本アプリを利用して表示されるコンテンツにはユーザにとって不適切な内容が含まれることがあります。その場合本アプリは一切の責任を負いません。
本アプリを通して提供されるユーザーコンテンツに関しては、本アプリは一切の責任を負わず、本アプリを利用してなされた一切の行為およびその結果については利用者が一切の責任を負います。
本サービスを利用して表示されるユーザコンテンツに関して本アプリは一切の所有権を主張せず、全て配信元に帰属します。
本アプリを通して表示されるユーザコンテンツが他人の名誉を毀損した場合、プライバシー権を侵害した場合、許諾無く第三者の個人情報を開示した場合、著作権法に違反する行為を行った場合、そのほか他人の権利を侵害した場合には本アプリは一切の責任を負いません。
第3条 禁止事項
ユーザーは、本サービスの利用にあたり、以下の各号に該当する事項を行ってはならないものとします。
第三者の著作権や意匠権などの知的財産、第三者の財産、プライバシーもしくは肖像権を侵害する行為、又は侵害する恐れのある行為。
本アプリに表示されている画像などの情報を、当該著作者の同意無く転載する行為
法律、条例で定められている基準に反するような、わいせつ、児童ポルノ又は児童虐待に相当する画像などのデータを投稿又は表示する行為。 本アプリは以上のいすれの事項に関しても、違反を阻止、中止及び防止するための妥当な法的手続きのすべてをとる権利を有します。本アプリはいつでも事前通知無くして本規約に違反すると見なすコンテンツへのアクセスを遮断する権利を有します。
本アプリを逆アセンブル、逆コンパイル、リバースエンジニアリング等により改造を行う行為
本アプリが提供するにあたり使用しているサーバシステムへの不正アクセス、蓄積された情報の改ざんを行う行為、システムダウンを狙った大量アクセスを送りつける行為
第4条 個人情報
個人情報をプライバシーポリシーに基づき適切に取り扱うものとします。
第5条 免責事項
本アプリは、ユーザに通知すること無くいつでも本アプリを変更、停止、中止することができます。その変更などにより生じたいかなる損害についても一切責任を負いません。本アプリ内にて表示されるコンテンツの内容に関して、適法性、正確性などに関し一切の責任を負いません。本アプリは不適切と判断されたコンテンツに関して、コンテンツの排除などを行う場合がありますが、それによって生じたいかなる損害についても一切責任を負いません。
第6条 本規約の変更
本アプリは事前に告知すること無く、本規約を変更することができます。本規約が変更された場合、変更後の規約が適用されます。本規約のの変更の効力が生じた後にユーザが本サービスを利用した場合には、変更後の利用規約の全てにつき、同意したものとみなします。
本アプリのご利用および本規約の解釈・適用は、日本国法に準拠するものとします。本アプリの利用に関する全ての紛争については特段の定めが無い限り、東京地方裁判所を第一審の専属管轄裁判所とします。
第8条 サービス終了
本サービスはいついかなるときでも、事前の告知や通知を行わずに一時停止もしくは終了を行えるものとします。また、有料版配布、本サービスの一部の機能のみを一時停止もしくは終了する権限も持つものとします。
2019/04 Team Repost