「高級言語」を含む日記 RSS

はてなキーワード: 高級言語とは

2021-06-27

anond:20210627123814

いや、今時の高級言語を学んでからCobolはむしろ難しいと思うから基本情報技術者試験の午後に出てくる範囲アセンブラ勉強してから取り組むといい気がする。

2021-04-24

anond:20210424113759

おれ、最初basicで、次にアセンブラで、それからCをやったけど、他の高級言語アセンブラもやらないでいきなりCやらさる学生って大変すぎるだろっておもってた。

クイックソートとか初めて見たのがCのコードで当時理解するのがめっちゃ大変だった記憶があるけど、のちにHaskellrubyコードをみたらすごいシンプルで、初学者の頃見てたら理解するの楽勝だったのにって思ったわ。

2021-01-25

anond:20210125111810

何を対象としたコンパイラかで話が違うんよね

まぁ、そういうの考えないとして

アセンブラ命令は、計算に何を使ったかで消費クロックが違う

その辺の最適化について、最近コンパイラは性能良いぞ

コンパイラがやってくれる分、forのが良い

特にマルチタスクが絡むようなOSを介する場合メーカーの人にアセンブラは書くなって言われる

高級言語コンパイラはその辺の素人が考えるより良く出来てるから差は出ないよ

2020-12-01

anond:20201130214610

だけどプログラミングはその中身の構造を知らないのに

なんで中身の構造のうちで、IFとWHILEで組み立てられているロジックという

特定階層構造までを知らなければならないと考えるのですかか?

なぜ高級言語を成立させている機械語構造まで理解しないのか。

なぜ機械語を成立させているCPU論理回路まで理解しないのか。

なぜCPU論理回路を成立させているトランジスタ特性まで理解しないのか。

なぜトランジスタ特性を成立させている物理法則まで理解しないのか。

 

なぜあなたは、フレームワークの中身まで理解しなければならないと考えるのに、

物理法則の中身までは理解しなくてもよいと考えているのですか?

 

(あと本題と関係ないけど、ここでIFとGOTOじゃなくIFとWHILEという単語が出てきたのには

 プログラム言語進化勝利を感じさせるな)

2020-08-02

プログラムというものが分からない

以下、プログラミングは出来ない俺の認識が間違っている場所があったら教えて下さい。あと、疑問2つを教えて下さい。

【俺の認識

1. コンピューター(というかCPU)が実行する命令は【機械語】で書かれている。たとえばx86CPU場合、0x04ならば『imm8をALに加算する』命令、0x90ならば『何もしない』などである

2. 流石に機械語のままでは人間プログラムするには不便なので、機械語をそのまま人間にも意味が分かるように1対1対応で書き直した【アセンブラ言語】というのがある。0x04ならば『ADD AL, imm8 』、0x90ならば『NOP』と表記される。

3. アセンブラ言語のように機械語と1対1対応している言語を【低級言語/低水準言語】と言う(この呼び方、4で書く高級言語が出来てからまれレトロニムか?)

4. アセンブラのままでプログラムするのも困難である場合が多いので、機械語と1対1対応していないプログラミング言語もある。このような言語を【高級言語/高水言語】と言う。

5. 高級言語で書かれたものそのままでコンピューターには実行できないので、【コンパイラ】というソフトによって機械語に変換している。

6. 高級言語で書かれた状態を【ソースコード】と言う。このソースコードx86用のコンパイラコンパイルすればx86で動くソフトになり、SPARC向けにコンパイルすればSPARCで、PowerPC向けにコンパイルすればPowerPCで動くソフトになる。

【疑問】

a. 認識6が正しいのであれば、(サポートするファイル形式問題などを置いておけば)windowsmacは現時点では同じCPUを使っているのだから、同じコンパイラコンパイルしたソフトwindowsでもmacでも動くのではないか

b. たまに『コンパイラを書いて』と言っている人がいるが、そんなに簡単に書けるものなのか?

2020-05-27

anond:20200527140128

現代でも高級言語とかライブラリがあるとはいえ1人月で作るとか自分に縛りプレイかけるくらい出来そう気がする

2020-05-21

anond:20200520204737

職業としてプログラミングできるっつうのは

結果が正しく出力されるだけじゃ駄目なんだよな

webを使って独学とかすると

何となくこうしたら動きました」的な情報も含めて見ることになって

滅茶苦茶危険なんだ

なんでその関数なら大丈夫なのか

文字化けはどうして起こったのか

CSVの読み込みでエラーが発生するのはなぜか

そういう事をきちんと「理解」するには、一定の正しさを提供してくれるナニカが必要になる

高級言語になって要件は変わってきてるが

昔なら、「スタックに3MBも変数積んだらそりゃバグる」みたいな事も

関数の先頭で変数初期化したら治りました」みたいに書いてる人とかいたからね

独学は、あんましおすすめしない

もう情報過多、玉石混交すぎてさ・・・

2020-05-20

anond:20200520165955

少なくとも、最初に学ぶべき言語は、高級言語であるべきだろう。

その点は譲れない。

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-02-07

anond:20190207155013

高級言語レベルで話し合ったって意味ないよ。

意味があるのはマシン語レベルでどっちがアキュムレータにセットされて~ってあたりになって初めて扱いに差が出る。

2018-11-25

anond:20181125115229

高給アセンブラとか中級言語とか低級よりだとか、言う人はいるけど、ふつう高級言語に分類される。

アセンブリ言語が低級で、それ以外が高級だっていうのが一般的な分類。

anond:20181125112605

IT情報科学なんですが、、、、、、。

C言語ですら高級言語扱いされてた時代社会に出たゲイツとかと今の学生を一緒にするなよ。

2018-11-09

anond:20181108133127

すごく面白いな。多品種少量生産製造業付加価値を出していくには、バリエーション出す土台となる、ある程度シンプル生産設備があるということなのだろうか。

スコットランド博物館で初期の蒸気機関を見たことがあるんだけど、もう天井に届きそうなくらい、とにかくでかいんだ。プリミティブな機械って、部品がそれぞれ独立性が高くて、ゴツゴツとおおざっぱに大きいということがよくわかる。

機械が洗練されていくにしたがって、機能がしっかり分節された部品同士の有機的な結合度合いが高まって、見た目にはコンパクトシームレスで美しいんだけど、素人が触ると、ぎりぎりのところで成立しているバランスがすぐに壊れてしまう。メーカー側の想定範囲内のチューニングしか動かないようになっている。コンピュータも道具としての洗練度が高まるにつれて、そういう方向に向かっているように思う。

ユーザーがあれこれカスタマイズして試せるようにするには、そうすることを最初から設計思想に取り込んでいくしかないのだと思う。Raspberry Piとか、IOTデバイス高級言語コーディングで作れるブロックとか、カスタマイズを前提としたコンピュータは、昔ながらのいわゆるパーソナルコンピュータとは別方向に進化を始めていて、これはこれで、PCとは別の使いこなし方を要求しているように見える。難しそうだな、と思ってたけれど、こういう製造業の人たちの創意工夫を見て、なんだか自分セルフビルドしてみたくなってきたよ。

2018-08-08

anond:20180807205430

君は君のスマホがどのように情報をやりとりしているか理解できているか情報電波に、光に、導体に、どのように乗るか理解できているかOSが何をしているか理解できているかアセンブラから高級言語まで、どのように組み立てていくのか理解できているかネットワークがどのように構築され背景にどのような理論があるのか知っているか待ち行列理論を知っているか情報理論を知っているかエントロピーを知っているか統計的機械学習がどのように動くのか理解できるか。グレブナー基底を用いた数学証明コンピュータで構築できるか。君が情報に関わる者全てを工事現場の土方だと思うなら視野があまりにも狭い。君が土方なら私は君の何千倍も優秀な土方であり、そしてかつ何よりその前に建築家だ。

2018-06-14

プログラムコメントを書かない派が増えている理由

第1の理由はもちろん、高級言語の普及により本当にやりたいことだけを書けば良くなってきたことだろう。

コメントを書かない派もCやあるいはアセンブラを書くときコメントが欲しくなるはず。

それともう一つ、最近エディタシンタックスハイライトにも理由があると思う。

Atomデフォルトテーマは黒背景で、コメントはグレーで表示される。

背景とコメントカラーコントラストが小さいので、「コメントの部分は重要でない」という印象を無意識のうちにユーザーに与えていると思う。

自分は適度にコメントを書いたほうがよい、むしろプログラム見出しの役目を果たすと考えているので、エディタ上でもコメントはもう少し目立つ色にしている(文章でも見出しは本文よりフォントが大きいように)。

2018-05-29

クラウドのみにするって

最近クラウド流行ってるからって全部クラウドに移行するなんていうのをたまに聞く

自分で面倒なことしなくていいから楽だとは思うけど、それってインフラ面をできる人がいなくなるということじゃないの?と心配になる

ほとんどの人がクラウド使うのが当たり前になった頃に、AWSなどが値上げしても、もう1から環境作れる人がうちにいないから高いけど払うしか無いみたいなことになりそう

他にもクラウド提供してる会社がなにかの理由でやめたりしたらすごく大変そう


からクラウド使うにしても全クラウド頼りってなんか賛成できない


でも考えてみたら、今って高級言語かばかりでCとかアセンブリ書ける人は減ってると思うし、IT系会社でもC言語とか低レイヤー系を扱える人が全然いないところだって普通にあるわけだ

私自身それらの言語あんまり詳しくないが、必要になることがないから困ってはない


同じようにクラウド化もインフラの設定や環境作りなんて専門の人に任せておいて、それらに興味がある人でもなければ基本は知る必要もないことになりつつあるのかな





2018-05-01

anond:20180501103115

判定フラグ実装が1ビット前提なのに高級言語インプリメントされているという発想になるとは恐れ入る。

anond:20180501102237

いまどきの高級言語なら定義済みかundefかってとこを1bitフィールド自体の値じゃなく処理系の方で管理してるんじゃないですかね

2017-06-14

http://anond.hatelabo.jp/20170614011318

そんなやついるの?

高級言語をやってるってことはアセンブラバカにすることはできないと思うんだけどね.

ポップ,プッシュとか考えながらプログラム書くのかなり難しいし,高級言語なんて余裕でできるでしょ.

バカにしている人は素人じゃないか

アセンブラ普通に楽しいんだけど

なんで高級言語やってる人って馬鹿にしてくるんやろ

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