プログラミング始めるなら何の言語がいいの? [306759112]
■ このスレッドは過去ログ倉庫に格納されています
人気プログラミング言語のランキングで、Javaのスコアが急落して話題になっている。
これはプログラミング言語の人気指標「TIOBEインデックス」の10月版のランキングによるもので、
1位がPython、2位がC、3位がC++、4位がJavaという順位こそ前月と変わっていないものの、
Javaについては前年同月比で−3.92%と大幅に減少し、5位のC#が背後から肉薄しつつある状況だ。
TIOBEはこれについて、OracleがJava 8以降の有料ライセンスモデルの導入を決定したことが、
今日におけるJava凋落の原因であると指摘。
この10月版では5位のC#との差はわずか1.2%となっており、このまま推移すれば約2カ月後にはC#がJavaを超えると予言している。
5位と6位以下には大きな差があるため、上位5つから弾き出される可能性は当面なさそうだが、
かつて上位3つのひとつだったJavaにとってはシビアな状況と言えそうだ。
人気プログラミング言語のランキング、かつて上位3つのひとつだったJavaが凋落傾向
https://internet.watch.impress.co.jp/docs/yajiuma/1540693.html >>661
相当慎重に書いてもCの方が早かったりするw
分岐予測、投機実行、パイプライン、考える事が多すぎる。
せいぜいARMのNEONだが、これもコンパイラが対応する。 >>670
だよな。
LLVM時代になってからその最適化には愕然とすることがあるわ。
関数の引数に定数を渡したらその演算結果をコンパイル時に決定して結果のアセンブラでは関数コールさえされされないという。
詳しくないけどコンパイル時に一度仮想マシンで実行してるよな、あれ。 >>644
大昔、HyperTalkでオブジェクト指向を理解したっけ・・
今のAppleはSwift推しなんじゃないかな
俺はiPadだけど、Swiftでプログラミングを遊んで学べるアプリがあった
Swift Playgroundsってやつ >>378
COBOLはマニュアルに大抵かいてある >>674
同意。忘れがちだが重要、結構、奥が深いんだよな
極めようとすると難しい >>674
メールアドレスのめっちゃ長い正規表現を考えた人凄い(´・ω・`) >>673
イベントドリブンは理解できたけど、オブジェクト指向が理解できるようなもんだったっけ? >>678
出来なくは無いけど、HyperCardのオブジェクトって、プログラミングのオブジェクトとは似て非なるものだよね。
むしろBlenderのシェーダーの方がオブジェクト指向に近いと思うけど。 ぶっちゃけ今1から始める奴はC#かPythonでいいんだよな
化石言語やる必要ないわ
興味があるなら勝手に調べるだろうし >>674
そうでもない、chatGPTに聞くと簡単に教えてくれる >>52
>ada
>>132
>ada
>>440
>ADAも軍用では使われなくなってモジュラも消えたからニコラス先生の言語はほぼ全滅。
static な定義は、必要だと思う。segment 境界や Page 境界に配置されていること自体
が分からないので、 malloc() calloc() 等の動的メモリー管理は、恐ろしいと思う。
富士ソフトウエアーの「初級 ada」を読んでいる。 C よりも、とっつきにくいが、エント
リー宣言が
::= entry
あって、 C++ よりも早くから、導入されていることは知らなかった。
BASIC > FORTRAN 95 > Lattice C > Turbo C > Delfi C > C turp
の次に、 Ada OOP とか、 Ada # とかないのか。 Remote debug
が、簡単にできないと register に何が入っているのか、Call by value
なのか、 call by address なのか、本当に compiler が翻訳できている
のか、 Linker がまともなのかが分からないぞ。。 ()が多すぎるのは良くないねぇ
begin~end
とか美しい言語が好きやわ いろいろ考えるとJavaか
ライブラリが充実しているのとそこそこ速さが出るのといろんなハードで動くから (((S 式) 美しい) だろ)
ハ…ハイ😿
emacsとかあったなぁ。 初心者向けサイトで勉強してるけど、変数名にアンダバー入りの難解な英単語とか激ムズだろ
せめて短いローマ字なら視覚的にも理解しやすいんだが ()の対応が煩雑で汚い
数学的な美しさがほんの少しある程度でのぼせてる >>694
業務でやる場合はその会社の命名規則に従えばいい。
Windows関数みたいな長い名称(例えばRtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext)なんてのはダルいけど、カウンターをctに訳しなさいなんてのも(cntやcontはNGなので)覚えるのが大変w >>697
アッセンブリ言語知らずにマスターした人は素直に尊敬するよ 構造体の多重構造なんかが出てきたら、それを逆にたどるのに必要になるけどなw packed構造体のメンバーに対するポインタでのアクセスはパディングの有無によって云々…。
こんなの絶対おかしいよ😿 >>698
1ボードコンピュータの時代は誰でもアセンブラが使えたし、Z80が主流の時代はプロのプログラマーはアセンブラでプログラムを組んでいたんでしょ?
BASICは遅くて使い物にならなかったから。 >>701
Z80時代はアセンブラが主流だったけど、自社保管庫にあるZ80コードの半分くらいはPLM86だった。
あと、昨今のアセンブラは投機実行だの分岐予測だのマルチパイプラインだのがややこしいため、Cで書いた方が速く動く事が多い。
なのでアセンブラで1から書く事はほとんど無くなったけど、例えば最適化したCコードをICE(実機デバッグ)で追う時はアセンブラのお世話になる。
↑
最適化されてるためステップすると知らないトコに飛ぶw >>701
C言語のポインタの使い方がアドレス指定だって事を言いたいのではないかと。
アセンブラ出来ればポインタなんて簡単だよね。 いまマルチコア環境当たり前で、なおかつ後続のCPUが当たり前に内部スペック変更ありきだからコンパイラ無しでアセンブリ実装して旨味のある環境ほぼないよ。
一台二台手作業で組む機械のMCUとかならわかるけどw >>704
IoTや制御系は今でも少ないメモリをやり繰りしてるから、普通に使ってるけどな。
ものによっては開発環境がゼロスタートで、IO制御からやらないとならなかったりするし。 何でも深く理解しているのがいいとはいえ、
質問「プログラミング始めるなら何の言語がいいの?」
回答「アセンブラ」
はさすがに無理と思う。😿 >>706
いきなりC++とか言うのも、どうなんだろ?
初心者向きならVBAかJavaでしょ。 >>707
個人的には将来性とかも考えるとpython3かjsかなあと思いますが、究極的には何をしたいか次第>>194だと思います。
15年くらい前「キミィこれからはgroovyの時代だよ!」と言われて勉強したけど、そんな時代は来なかった😿 >>705
相当にキツい環境でもCだな。
初期化処理はアセンブラだが、C環境ができた後の処理はドライバも全てCで書いてる。
最適化を行った場合、出力されたコードがアセンブラに比較して劣ってるとは思わない。 そういや30年ほど前にマクロも使えないアセンブラしかないCPUで発狂しそうに
なりながら仕事したな(今はCもあるみたいやけど)、SPC700 お前ぇだよw ポインタを使う言語やる場合はあらかじめアセンブリ言語を齧っとくのがいいんでない?
え?、アセンブリ言語が分からない?、その場合はあきらめてVBとかJavaとかPythonとかPascalとかやっとけ >>705
MPCとかの時代はまだモニターから組むの多かったけどね。
ARMは特定CPU仕様に固定すると、コストが跳ね上がるし。
IoTは通信の処理が重い割にどれも要件は変わらないから出来合いの環境使うこと多いけど。
モニター組んでIO処理作ってってのは、いまだと例えばAUTOSARをゼロから実装するときには必要だけどね。
でもそれも既存OSに変わりつつある。DENSOはここ7年くらい、ゼロ開発進めてるけど未だにAUTOSAR経験者募集してるw >>712
流石にモニターからは作らないけど、OSもドライバも無いから入出力から作る事はある。
まあ、OSはTronがあるから必要無いけどさ。 >>714
それならわかるけどね。
既存の枠組みやコンパイラ使うモジュールの中にアセンブリで書いた閉じた実装入れるってことなら、再利用も可能だし、俺もいくつかやってことあるよ。 >>709
CPUにメモコンやシリアル、USB、ETHERなど統合したチップだと自前でMONITOR組んでIO処理書くととんでもなくいいパフォーマンス出るんだよ。
どこまでオンメモリにして動かすってのもルール化できるからホットスワップも想定できる。なので昔は例えば交換機や基地局の監視装置なんかでは自前でのモニター実装がされてたよ。 >>711
CPUごとにやること違うし、メモリコントローラによっても処理が違う。そもそも正論で言えば、CPUバスがあって、そのバスをシリアルIOしてメモコン、そこからメモコンの仕様に沿ってメモリをマッピングしていく。
Cの処理系に渡るアドレスはかなり抽象化された値で、そこまで実装するのにベテランでも知らないハードなら数ヶ月かかる。経験ないならその経緯学ぶだけで一年かかる。
自分がアセンブラからCでのメモリマッピングを想像できるまで学んだと言うならどのCPU環境でどのコンパイラ想定して学んだのか書いたほうがいい。 組み込み系でデバッグに使おうとしたprintfが糞だから自作した思い出 ■ このスレッドは過去ログ倉庫に格納されています