X



ぶっちゃけ始めるのにいい言語て何 part6
レス数が1000を超えています。これ以上書き込みはできません。
0003デフォルトの名無しさん
垢版 |
2021/08/13(金) 14:39:21.94ID:UG8FRdqC
py
0006デフォルトの名無しさん
垢版 |
2021/08/13(金) 22:13:52.07ID:ee2a2HuU
IT業界的には全会一致でRustだね
0008デフォルトの名無しさん
垢版 |
2021/08/13(金) 22:53:13.94ID:QAwtLRlY
様々なベンダーが一斉に支持した言語と言えばJavaもあるからそれに次いで、ってところだな。
実際のところJavaがOracleの手に落ちてからサーバーサイドの移行先を模索する動きが加速して
それも後押ししたような気も。
0009デフォルトの名無しさん
垢版 |
2021/08/13(金) 23:08:33.69ID:jR4MRFI8
RustとJavaを比べると
@いずれのベンチマークでもRustがC/C++並に速くJavaは遅い。
AJavaはJVMなだけでなくGCランタイムがある点でも重くて不利。
BRustは新しい言語名だけあってモダンな機能が洗練かつ強力でJavaよりプログラミングしやすい。
Javaは競合するRustに対して完敗なので今後は非常に厳しい状況になりそうですね。
0010デフォルトの名無しさん
垢版 |
2021/08/13(金) 23:51:33.89ID:cDrO+Awf
最新のJavaはJVM抜きでいきなりexeファイルを作ったり、
GCのタイミングを選べるようになっているが
それでもだめか?
0011デフォルトの名無しさん
垢版 |
2021/08/14(土) 00:58:23.90ID:MdzN24yT
>>10
それでもRustの方が速い上にGC自体が存在しないRustが有利
さらにRustは並行並列プログラミング時のメモリ安全性などでも有利
Javaが勝てる点が見当たらない
0012デフォルトの名無しさん
垢版 |
2021/08/14(土) 01:27:36.22ID:5cje9KlX
Rustの欠点って現段階では国内で流行るかどうかわからないのとそれに付随して学習コストが高いぐらいしかないな
0014デフォルトの名無しさん
垢版 |
2021/08/14(土) 10:24:01.35ID:CLyFHztI
Rustの安全性高いといっても
ファーウェイやサムソンが協賛してるのが気になる
0015デフォルトの名無しさん
垢版 |
2021/08/14(土) 10:31:53.86ID:gPb1x7tb
まぁまだまだ時間掛かるやろな
メリットがコストを上回ってると判断されるか
エンジニアの数、実績
課題は山積みだからな
Java自体もOpenJDKの流れができてからは企業もJavaから置き換えなきゃとかいう意識は減ったしな
メモリアクセスなんかもForeign-Memory-Access-APIとか開発されてるしコミュニティも危機感を認識していろいろやってるしどうだろうね
0016デフォルトの名無しさん
垢版 |
2021/08/14(土) 13:07:56.06ID:Kjr+S4As
>>11
昨今のマシンはギガ単位のメモリを積んでいるので
GC をしなくてもプロセスの終了まではけっこう動くし、
(オブジェクト志向じゃないけど)Ada なんかは
航空用の組込みシステム用に作られていたので
可変長データのアロケーションと解放(フリー)とかは
静的に領域を確保されていたので問題がなかった。
いわゆる「組合せ論的な爆発」とか喰らったら、
Rust は脆弱なんじゃないかと思うと心配だ。
組込み用に使うんならまだしも、
大規模システムで有限のリソースに依存してるなら、
実績のある Java のほうが信頼できそうだ。
システムがダウンしたときに、「リソースが足りなかったのが
原因です。もっとパワーのあるマシンにリプレースしてください」
とか言われても、そういうユーザはいるかもしれないが貧乏な
開発者は困るぞ?
0017デフォルトの名無しさん
垢版 |
2021/08/14(土) 14:13:39.02ID:ss/u5K/v
>>16
それならばJavaを使わずにリソースの使用を少なくて済むRustを使うと良いでしょう
0018デフォルトの名無しさん
垢版 |
2021/08/14(土) 16:38:04.46ID:Kjr+S4As
>>17
皺と皺を合わせて、しわよせぇ〜。
南ぁ無ぅ〜。
けっきょく開発者に皺寄せが来るんじゃねぇか?
まぁ、マクロアセンブラに一皮被せただけの C 言語とか、
制禦用に開発された目的依存の第四世代言語 FORTH
(「FOURTH」にしようと思ったら語長で引っかかったとか)
とか、その流れの延長に Rust があるっちゅーコトなのかね?
コーディングする上での Rust の利点について
述べてくれたまえよ。
0020デフォルトの名無しさん
垢版 |
2021/08/14(土) 16:51:08.97ID:Kjr+S4As
>>10
昨今はコマンドラインでキーボードを叩くより、
ダブルクリックで GUI のほうが楽だという人も
多いんだよな。
そんなわけで、main() のところで引数(argument)で引っ掛けて、
GUI と CUI でいろいろと対処しないといけない。
CUI の unix のフィルタだと、わざわざ
「java xxyze」とか打たなくていいという利点はあるが、
そのあたりはシェルでなんとか処理してもらったほうが
ありがたい気がする。
0021デフォルトの名無しさん
垢版 |
2021/08/14(土) 16:53:40.73ID:Kjr+S4As
>>19
ついでに C# も埋葬しれくれ。
0023デフォルトの名無しさん
垢版 |
2021/08/14(土) 17:09:20.83ID:DudcLmKi
>>18
君はプログラミング言語の知識が低すぎて理解することが難しいだろう
最近のモダンな言語や既存言語への新たな機能導入の流れと同様にRustは関数型言語から高度な機能を多く輸入している
つまりコーティング面では高機能で抽象度も高く洗練されているがその上で低レベルな記述も可能でC言語の領域をカバーできる
そしてメモリ安全性を並行並列プログラミングまでカバーしつつガベージコレクションの負担も無い
以上全てを両立しているのがRustの凄さだろう
0024デフォルトの名無しさん
垢版 |
2021/08/14(土) 17:17:59.81ID:GREro0ld
Rust礼賛しすぎるのもアレだが、逆張りで叩くのはもっとアレなんよな
普通にベターな選択肢の一つ
0025デフォルトの名無しさん
垢版 |
2021/08/14(土) 17:54:05.44ID:aiChFsUR
RustはABI stableじゃないからRust to Rustの場合でもバージョンが変われば
依存ライブラリ含めて基本的に全ソースコンパイル + スタティックリンク
CのFFIで頑張る方法もあるけど呼ぶ側も呼ばれる側も急激に面倒になる上にunsafeになる

クライアントアプリの領域では主要言語になっていくのは間違いないだろうが
stable ABIを提供できないうちは支配的な言語にはなれない

それにみんな知ってると思うけど
初心者が最初にはじめる言語には全く向かないよ
0026デフォルトの名無しさん
垢版 |
2021/08/14(土) 19:15:53.49ID:CLyFHztI
Rustに手を付ける要件に他言語のマスターがあるって
ハードル高すぎよな

モチベ保てるかなw
0027デフォルトの名無しさん
垢版 |
2021/08/14(土) 22:48:04.45ID:Kjr+S4As
>>26
漏れは 初心者向きの言語としては Java は悪くないとは思っているのだが、
Java は「おまじない」が多い(何を継承してるとか、どんな例外を投げるとか)
ので、プロ向きではある。
文字列の扱いも、C 文字列(ヌル・ターミネイト)や BASIC 文字列
(ポインタで指したところの先頭に文字列長がある)や Pascal 文字列
(ポインタで直接指しているんじゃなくて、ハンドル(ポインタへの
ポインタ)で指しているのでシステムからでないと触れないとか)とか、
若干分かりにくいところがある。
「内容が同じ文字列(String)は、メモリを節約するために Hash 関数で
管理しているので、.equals() メソッドで判定しなくても == で
棲んじゃう」みたいなトコロが判りにくいかもしれない。
LISP 出身者だと、「eq と equa」の違いlで分かるんだけどね。
そういう意味では、「C から Java」は楽なんだけど、
プログラミングあるいはコンピュータ初心者にとって、
理解しやすい言語とはいえないと思う。
0028デフォルトの名無しさん
垢版 |
2021/08/14(土) 22:53:15.63ID:XqGBm/kS
>>27
Javaだけはやめとけ
今となっては何もかも時代遅れの言語
Java土方を多数集める古いやり方をしばらく続けるところもあるだろうがいずれ消える
0029デフォルトの名無しさん
垢版 |
2021/08/14(土) 23:43:17.65ID:0AEpqYcN
みずほ銀行は不可能と思われる統合を成し遂げた。
Javaの力。
0038デフォルトの名無しさん
垢版 |
2021/08/15(日) 09:34:33.06ID:njtPncoU
>>37
PHPの代わりとは漠然としすぎるけど
HTMLテンプレートエンジンもあるし
HTTPサーバーにもクライアントにもなれるし
HTML⇔DOM相互変換すなわちパーサーにスクレイピングにDOM操作にジェネレーターもあるし
もちろんWASM (WebAssembly) もRustで書くことが出来ますよ
少なくともPHPよりはWeb系に対して幅広く対応していると思います
0039デフォルトの名無しさん
垢版 |
2021/08/15(日) 11:28:30.41ID:I+EfNV4X
趣味で格安レンタルサーバーで動的サイトを作る場合
まだPerl、PHPの代わりにRustを使わせてくれるような権限設定のところは出てきてなさそう
0040デフォルトの名無しさん
垢版 |
2021/08/15(日) 11:52:18.33ID:0cUY2YQE
まあGAEに乗せたりはすぐ出来るようになるんじゃ無いかな。

ただ、個人的にはGC言語はGC言語でアリだと思ってる。
エスケープ解析とかはGoなんかだとありきで設計されてて、C#なんかも頑張る方向みたいだし。
メモリ解放自体のスループットは一気に解放するGCの方が早いしな。
0041デフォルトの名無しさん
垢版 |
2021/08/15(日) 13:56:34.36ID:zJKAHAbR
>>40
GCの方が重くて遅いです
まずどのメモリを解放すべきなのか大調査するところから始まります
0042デフォルトの名無しさん
垢版 |
2021/08/15(日) 15:37:52.64ID:0cUY2YQE
>>41
絶対値としては重いというのはわかるが、遅くは無いぞ。
mallocとfreeの実装によっては解放をかなり遅らせるものもある。
何より、それが許容できるか否かが問題だと思うが。

コンビニ行くのにF1乗る奴おらんでしょ。
0043デフォルトの名無しさん
垢版 |
2021/08/15(日) 20:50:54.99ID:n76oFfyT
>>42
激しく同意するが、
> コンビニ行くのにF1乗る奴おらんでしょ。
には「そもそも F1 は公道走れんだろ(笑)」と
ツッコミを入れておこう。
街乗りだったら Java で充分だと思うので、
シェルでいちいち「java」を指定しなくても
フツーに起動できてくれればありがたいと
思う。
つーか、もうありそうな気はするんだが、
知らない漏れが時代に遅れているだけなのか?
0044デフォルトの名無しさん
垢版 |
2021/08/16(月) 01:50:38.89ID:Zs0P82Xz
JavaがF1だって!?
0045デフォルトの名無しさん
垢版 |
2021/08/16(月) 09:38:25.37ID:OX/mBtRg
>>44
F1 に近いのは C のネイティブコンパイラかな。
C が吐くのはマクロアセンブラのソースで、
この時点でチューニングができる。
マクロ展開したアセンブラもチューニングできるし、
なんならバイナリにパッチを当てることもできる。
そういう意味では C は高級言語というより
高級アセンブラだというのが一般的な評価だ。
Java はオートマの大衆車というところか。
0046デフォルトの名無しさん
垢版 |
2021/08/16(月) 13:00:14.24ID:xNSfBGUV
時代はオートマから自動運転へだからな
コーディングもどんどん高級になっていくさ
0047デフォルトの名無しさん
垢版 |
2021/08/16(月) 13:23:37.70ID:/7gwQMxS
Indeed 求人件数 2021/8/16

Java 66,179
PHP 53,215
JavaScript 38,706
Python 32,620
Ruby 23,512
C++ 23,499
Go 17,787
swift 17,318
Rust 242

ほんとにRustくるんだろうか?不安しかない
0049デフォルトの名無しさん
垢版 |
2021/08/16(月) 16:50:21.94ID:HOiVv+ii
何事も一瞬で状況が変わるわけではなく徐々に変わっていく
今回のケースでいえば新規プロジェクトかつ人材がいるところから置き換わっていく

C++分野でもJava分野でもRust に置き換えた方が有利なのは明らかだけど
既存のものを潰してすぐ置き換えはコスト高すぎだから新規案件からとなるし
人材がリーダー含めて揃ったところからではないと起きていかないから
先進的な採用するところや幅広く人材を抱えられる大手などが先行する形で少しずつ置き換わっていく
0051デフォルトの名無しさん
垢版 |
2021/08/16(月) 18:00:13.59ID:Hd4A9Fj3
Scalaは十中八九Javaプロジェクトの置き換えに失敗した案件の保守
関わりたくない

Erlang 1041
F# 7
Ocaml 4
ここはたのしそう
0053デフォルトの名無しさん
垢版 |
2021/08/16(月) 20:17:25.89ID:LTMrTmrD
YouTube で有名な、雑食系エンジニア・KENTA が言ってるけど、
普及のキャズムを越えたのは、Go だけ

Rust, Elixir は越えなかった
0054デフォルトの名無しさん
垢版 |
2021/08/16(月) 21:01:18.77ID:N/+VBZ1T
そりゃ時差あるよ
Rustは現2018版が出たのがまだ3年前
そこに現状最後の重要な非同期の言語サポートが2年前と歴史が浅い
それでもRustの強力な言語の能力をほぼ全ての大手IT企業が公式に認めていて>>5の状況
0055デフォルトの名無しさん
垢版 |
2021/08/16(月) 23:19:33.87ID:hT4oVHzR
始めるのにいい言語って、初心者にとって、でいいんだよね
それで Rust勧めるって本気なのかネタなのかわからんなと思ってたがここまで長々と引っ張るからにはどうやら本気でそう思ってる人が多いのかな・・・
0056デフォルトの名無しさん
垢版 |
2021/08/16(月) 23:49:00.13ID:uan9j0Cs
>>55
初心者限定版ではないよ。
例えば昔プログラミングしてたけど久しぶりに再開するので最近の言語でオススメはどれ?でも良いし、
現役プログラマーだけど腕を広げるために最適なプログラミング言語は何?でもOK。
0063デフォルトの名無しさん
垢版 |
2021/08/17(火) 09:19:30.43ID:hdGwgJNz
予約語はフルスペル、記号は数学と共通。
そんな判りやすい言語が良いかも。
0064デフォルトの名無しさん
垢版 |
2021/08/17(火) 12:45:18.84ID:8em90QsV
やらざるを得ない言語以外はやっちゃダメ
0065デフォルトの名無しさん
垢版 |
2021/08/17(火) 13:08:31.06ID:phcnfjEw
>>64
あぁ、不本意ながらそれ同意。
なんかしら、新しい言語とか新しいフレームワークとか
新しいツールとかが絡んだプロジェクトって、
「クソでなかった例を知らない」(「クソだった例を晒せ」と
言われたら詳細に晒したいところだ)ので、
「ある程度実運用で叩かれた言語と環境」があって、
そこの案件にアサインされるんなら、
まだしも安全だ。
0066デフォルトの名無しさん
垢版 |
2021/08/17(火) 13:42:15.90ID:Q6ss2SIB
クソだった例を晒せ
0068デフォルトの名無しさん
垢版 |
2021/08/17(火) 14:49:14.60ID:phcnfjEw
>>66
>>67
ほんの数例だが、
某製薬会社の案件とか、
某医学系学会の案件とか。
「新しいフレームワークを使ってみたかったんや!!」
つーのは理解できるし、元請が張り切っちゃったのもわかるが、
製薬会社の案件は合併の話があり(特に名を秘す星製薬(仮名))、
医学系学会では総会に間に合わせる事情があり、
Web 系のフレームワーク(ツール。ス〇ラッツ)を使うより、
JSP かなんかで かっちり書いておいて(医療従事者は
忙しいんだから、「必要な項目が入力されていません」とかじゃなくて、
「ここが入力されてませんよ」と CSS で表示したほうが
親切だ)部分的に使うところから始めたほうがよかった
(つーか、大規模なプロジェクトで、開発者が使ったことのない
ツールをいきなり使うなよ、と言いたい)と思う。
某携帯電話会社だと、下請けが「コーディングは100%済んでます!」
と言ってたのに、かなりの数のプログラムが、フレームワークが動いて
いないので「一本も動いていない」という例(アイ×ナレッジ。仮名であって
実在の企業とは関係ありません)があった。
しょうがないので SygWin を導入して SubVirsion のサーバーを立てて
ドライバ(駆動側)とスタブ(ダミーの下位ルーチン)作って
動作をチェックしてたら馘首になった。
0069デフォルトの名無しさん
垢版 |
2021/08/17(火) 14:52:17.84ID:phcnfjEw
>>67
そういえば Struts の 3 って出てるのか?
おれが使ってたのが 2 だったが。
0070デフォルトの名無しさん
垢版 |
2021/08/17(火) 14:55:45.31ID:phcnfjEw
そういえば Dreamweaver も Adobe のお荷物に
なってそうだが。
0071デフォルトの名無しさん
垢版 |
2021/08/17(火) 15:12:02.34ID:phcnfjEw
連投になってスマンが、言語だの環境だのは、
「規格化される」(ANSI Cとか)か
「三つくらいバージョンがあって、枯れた古いバージョンを
使う」(Java 1.4 とか)のが安全だ。
Apache とか Tomcat とか MySQL とか Oracre 9i とか、
「うまく動かなかったら、ひとつ前のバージョンに戻す」で
オッケーだろ?(Oracle 9i の CONNECT BY で、
SQL で再帰を書いたときは、本当に肝が冷えた)
そんなわけで、あんまり初心者向きとは言えないが、
ANSI-C とか Java 1.4 とかが、将来プロになろうという
人にはお勧めだと思う。
0073デフォルトの名無しさん
垢版 |
2021/08/17(火) 17:07:51.49ID:1q99IGhS
パーフェクト Ruby on Rails、2020/7 では、

Docker, Github Actions で、CI で毎週システムを更新してテストしましょうとかの時代に、
IT 土方は、何をやってるのか?w

YouTube で有名な、雑食系エンジニア・KENTA は、
Railsを使っているような会社はモダンですから、そこへ転職しましょうと言ってる

逆に、Java を使うような会社は、レガシーw
0075デフォルトの名無しさん
垢版 |
2021/08/17(火) 22:24:47.80ID:3KfgLONy
必要は発明の母って言うし
0077デフォルトの名無しさん
垢版 |
2021/08/18(水) 10:42:21.46ID:n8Ccry6l
RustってC++を置き換えられるとか言ってるけど
ゲーム業界とかは置き換わる気がしないよな
0078デフォルトの名無しさん
垢版 |
2021/08/18(水) 10:50:54.40ID:kXiitRhK
>>77
実際使い始めてるところもあるみたいだし、置き換わることは普通にあるんじゃない?
でもゲーム開発でC++をバリバリ書くのなんて業務系ITなんかに比べたらごく少数の職人芸の世界なんで、
置き換わったところでプログラミング言語界の大勢にはほとんど影響がない
0079デフォルトの名無しさん
垢版 |
2021/08/18(水) 10:55:12.89ID:n8Ccry6l
>>78
いあアンリアルとかが置き換わらないと無理ちゃう?
ゲームなんてエンジン有りきやん
アンリアルやユニティよりも素晴らしいエンジンがRustで作られて普及したらあれだが
そうそうできることじゃなさそう
0080デフォルトの名無しさん
垢版 |
2021/08/18(水) 12:19:25.04ID:vcgdRzAB
>>79
アンリアルは知らんけど
ライブラリやモジュールなどはその仕様だけが重要なので他言語に移植されて使われることは昔からある
さらに他言語間もFFIで呼び出せるので土台部分の言語とアプリ部分の言語が異なることも昔からよくある
0081デフォルトの名無しさん
垢版 |
2021/08/18(水) 12:40:50.05ID:s2rKEjd5
技術的にはそうだけどリンカの手前まで好きにできるわけじゃないから
SDKやIDEの対応はいる
0083デフォルトの名無しさん
垢版 |
2021/08/18(水) 14:39:52.86ID:XbsD54oj
>>72
「父ちゃんは日本一の土方だ!」(by 星飛雄馬)
つーか、基礎工事がちゃんとしてないと、
不等沈下とか根腐れとかいろいろあって、
十年二十年後に全面リプレースとかいう話は普通にあるぞ?
ドキュメントの整備とかソースコードの可読性とか、
そういうのを疎かにしている奴は
碌な生まれ変わりをしないどころか
後生が悪いぞ。
0084デフォルトの名無しさん
垢版 |
2021/08/18(水) 14:50:39.22ID:XbsD54oj
>>76
> 無能なJava土方クンは結局クビになったのかw
馘首になるんならまだマシだ。
会社のほうが先にコケると酷い目に遭うぞ?
まぁ、スレの主旨とは離れるが、
なまじ腕が立つと会社から目をつけられて痛い目に遭うので、
「私はプログラミングに関しては自信があります!」とか
「私はシステム開発に関しては自信があります!」とか、
そういうのは隠しておいたほうがいいらしい。
「能ある鷹は爪を隠す」というしな。とはいえ、
鷹は黙ってそこにいても鷹にしか見えないので、
トンビかなんかに偽装しておくのがいいかもしれないが。
0085デフォルトの名無しさん
垢版 |
2021/08/18(水) 14:55:02.19ID:s2rKEjd5
レビューアや検収担当が悪者になれてないのが原因
まともに指摘せんから作業側も育たない
0086デフォルトの名無しさん
垢版 |
2021/08/18(水) 14:58:12.78ID:xDJjBQDZ
いやそもそもスケジュールを言い訳にしてまともにレビューしてないパターン
そもそもレビューアに能力がないパターンも往々にしてあるw
0089デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:39:18.45ID:s2rKEjd5
>>87
そうだね
スケジュールガン無視で突っぱねて
品質悪いし工数かかるのが普通なんだと表面化してかないと健全化しない
土方現場でやると評価下がるだろうけど
0090デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:47:09.91ID:XbsD54oj
>>87
ホンダ系の仕事だと、レビューのことを「内ゲバ」と
呼んでいた。
「ウォークスルー」っていう言葉も昔はあった。
昨今は、「他人のコードは、見るな。触るな」という
現場も多いし、「レビュー」といっても実際にソースに
触っていない上司が一方的に部下を叩くみたいなケースも
多いので、「悪者になる」という発想よりは、
「俺ならこう書く」というのが正しいレビューだと思う。
0091デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:54:44.61ID:XbsD54oj
>>88
いまどきはマシンの性能が上がったから
なんとかなってるんじゃないか?
平山尚さんがどっかに書いてたけど、
C++ だとリンクも通らんので修羅場になったとか、
それなりのフレームワークが整備されていないと、
プロジェクトが回らんらしい。
ゲームソフトも大規模化してるからなぁ。
0092デフォルトの名無しさん
垢版 |
2021/08/18(水) 17:24:50.87ID:XbsD54oj
本題に戻るが、
Java は育ちがよくて礼儀正しい
(いろいろと守らなくちゃならないお約束がある)が、
意外に脱いだらスゴい(過去の言語の資産を
受継いでいる)みたいなところがある。
C はあけっぴろげで天然なんだが
(ハードウェアべったり)、
下手に扱うと手に負えなくなったりする。
Pascal は素人臭いところがある
(教育用のイメージが強い)けれど、
意外にいろんな経験を積んでいる
(昔はシステム開発用の言語だったこともある)し、
卒業したあとで知合いと会ったりする
(ALGOL 系言語としてはスタンダードだ)
こともある。
0097デフォルトの名無しさん
垢版 |
2021/08/19(木) 07:51:42.47ID:qaty0bPV
>>95
LOGO がおるやん。
0098デフォルトの名無しさん
垢版 |
2021/08/19(木) 08:08:32.70ID:qaty0bPV
>>94
流行りより好みだろ。
理系女子っぽい Fortran (科学技術計算用)
数学系っぽい Algol (もともとアルゴリズム記述言語)
工学系の FORTH (もともと天体望遠鏡の制禦用。
映画撮影用のカメラの制禦やプリンタ制禦にも)
経理担当のお局様 COBOL (開発のトップは
「アメイジング・グレイス」の異名を持つグレース・ホッパー女史)
LISP は …… 「不思議ちゃん」かな?
高貴ではあるが融通に欠ける侯爵夫人 Ada
昔のお堅い大学生 BCPL
やり手の OL、PL/I
白衣が似合う研究院 awk
数学教師なら N-BASIC
あたりかな?
0100デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:08:06.25ID:qaty0bPV
>>99
よく知らない相手についてあれこれ言うのは失礼な気がするので、
Rust、Go、Wasm に関してはコメントしづらい。
公私ともにつきあいがあったのは、N88-DISC-BASIC、Lattice-C、
Java(1.4 以降)、SQL(Oracle 9i 以降)、C++、awk あたりで、個人的な
つきあいがあったのは Turbo Pascal、Turbo C、VisualAge C/C++。
FORTRAN 60、Fortran 77、RATFOR と HPL、PL/I は人づてに聞いて、
本を読んで勉強したのが COBOL、BCPL、SIMPLE、LISP、Prolog とかかな。
FORTH は愛人めいたところがあって、自前で実装して自分でその上に
皮を被せてコンパイラを作り、仕事で使ったことがある。変態的な
行為としては、「Fortran で書いた制禦系のプログラムを、ツールを使って
C に変換したら、goto 文の嵐になったのであまりに見通しが悪いので
Java に移植した」というのをやったことがある(笑)。
0101デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:09:39.10ID:qaty0bPV
あ、そうそう。友人は Modula-2/09 が好きだった。
0102デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:22:11.40ID:qaty0bPV
「この言語がいい」じゃなくて、「この言語とはこうして出逢って、
こういう体験をした。その後こうなった。参考文献はこれこれ」
というのがあったら聞きたい。
0103デフォルトの名無しさん
垢版 |
2021/08/19(木) 12:51:42.89ID:ktQf2IId
>>83

「父ちゃんは、日本一の『日雇い人夫』です!」じゃなかったかな。

数十年後の再放送では、「日本一の『ピー』です」にされて
台無し中の台無しになった伝説の台詞。
0104デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:23:14.58ID:qaty0bPV
>>103
かも知れん。じつはアニメは観てなくて、辛うじて
主題歌をネタで聞いたことがあるだけだ
(ローラーのことを「コンダラ」と云うのだと思った子供が
いたらしい)。
うちは塗師方の家系なので、「〜方」というのが差別語という
イメージがあって、「デジタルドカタ」が差別語だという
話を聞いて「何言ってんだ? ディジタル社会の
インフラストラクチャーは俺らが作ってるんだぞ?」と
思っただけだった。
0105デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:27:38.53ID:qaty0bPV
>>103
そういえばコミックスのほうは業界の先輩から借りて読んだ。
キーボードの叩き過ぎで腱鞘炎になっても、
「ピシッ」とか音はしないらしい
(読み筋は大リーグボール三号)。
0106デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:32:50.30ID:qaty0bPV
武勇伝で、MUMPS という言語の案件が来て、
「誰か、やったことのある奴はいるか?」と職場で訊かれて
本だけは読んで知っていたので「ハーイ!」と手を挙げて
仕事を取ってきた人がいるという。
MUMPS というのは医療用のデータベース言語なのだが、
「MUMPS」というのは「流行性耳下腺炎(おたふくかぜ)」の
シャレだそうだ。
0108デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:39:29.24ID:qaty0bPV
FORTH は、「第四世代言語」という意味で
「FOURTH(四番めの)」と名づけようと思ったら
OS の命名規則の「五文字以下」に引っかかって
「前へ」という意味の「FORTH」になったとか。
「I/O」という雑誌の一コマ漫画で、「スター・ウォーズ」の
ルーク・スカイウォーカーがミレニアム・ファルコン号の船内で
「うぅっ! アセンブラがわからん!」と頭を抱えていたら、
「ルーク、FORTH を使うのじゃ」とオビ・ワン・ケノービの
声がするというネタがあった。
0109デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:44:13.57ID:qaty0bPV
それなりに普及している言語には
それなりの環境があってそれなりの業務がまとわりついているわけだ。
文化も環境も業務も存在しない言語に飛びついても
参考になる文献もなければ教えてくれる先達もいないので、
たぶん先行きは暗いし友達もできないぞ?
0110デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:51:56.88ID:3xW2+fz2
>>107
この人は最近のプログラミング言語を全て知らない(というか覚える気も能力もない)IT土方なのよ
このスレには絶対に不要な人
0111デフォルトの名無しさん
垢版 |
2021/08/19(木) 17:31:58.34ID:qaty0bPV
>>110
漏れが言われているのかと思って orz になったが、
たぶん
> 最近のプログラミング言語を全て知らない(というか覚える気も能力もない)
というのは「昔のプログラミング言語」も「現行のプログラミング言語」も
理解していない(それ以前に、このネット社会において知識もなく、
ネット検索も行なわない/行えない)人物なんだと思う。
そういう人を「土方」と呼ぶのは本職の土方さんに失礼(美輪明宏さんの
「ヨイトマケの唄」も知らないと思う)だと思うので、
なにか別の呼称を使っていただけるとポリティカル・コレクトネスの
観点からすると望ましいかもしれない。
「コンピュータ・リテラシーの分野において、智的にチャレンジされている人」
とかいうのはどうだろう。
0113デフォルトの名無しさん
垢版 |
2021/08/19(木) 18:10:35.95ID:rGMWolva
セレブエンジニア・小松和貴、2019/1

Javaの学習だけはやめとけ!その先にあるものは・・絶望
https://www.youtube.com/watch?v=bH3XIIzZxoI

10年以上、IT 業界にいる人が言ってるけど、

Java 土方は、スマホ・ネット禁止だから、本で調べる。
うつ病になって再起不能

COBOL も同じ
0114デフォルトの名無しさん
垢版 |
2021/08/19(木) 18:40:49.10ID:pvo+ayLo
業務から離れて大分経つからよく知らないけど、COBOLからJavaへの移植作業ってあるんだっけ。
どう変わっても重労働でしかないのかな。
0115デフォルトの名無しさん
垢版 |
2021/08/19(木) 19:15:13.26ID:xFMuUyWr
Java土方になりたいんじゃ
オサレなエンジニアとか競争率が高くて採用されないんじゃ
0116113
垢版 |
2021/08/19(木) 19:18:19.18ID:rGMWolva
みずほ銀行の統合プロジェクトは、ピラミッド建設並み。
1人月100万円 * 20万人月 = 2千億円

もう、Java, COBOL など、こういう仕事は無くなった
0117デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:06:57.48ID:qaty0bPV
>>114
> COBOLからJavaへの移植作業ってあるんだっけ。
あるよ。というか、昔は Java の内部表現は
IEEE だけだったけど、COBOL のシステムの移植用
(つーか事務処理用)に内部が二進化十進とか
切り上げ・切り捨て・四捨五入とか
いろいろと機能が追加された。
MS が EXCEL を高速化しようとして
内部表現を二進化したら、1÷5×5が1にならなくて
会計処理の現場がえらいことになったりしたので、
その影響もあって企業もそういうのに
敏感になっている。
0118デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:12:20.08ID:qaty0bPV
>>116
ディメンジョンが間違っているので、
Ada だったらエラーが出るな。
× 1人月100万円 * 20万人月 = 2千億円
〇100万(円/人月) * 20万(人月) = 2千億(円)
0120デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:21:02.85ID:xmD19N0E
>>117
何で内部表現を分数で持たないんだろうね
どうせ有理数しか相手にしないのに
切り上げ、切り捨て、四捨五入にすると契約書に書いてあるの?
0121デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:25:35.67ID:qaty0bPV
>>115
Web 系で会計計算とかだったら需要はあるはずだが、
JSP とか BigDesimal とかをちゃんと勉強しておくのと、
昨今データセキュリティがうるさいので、
身辺を(反社とか中韓とかに関して)清潔にしておくのが重要。
反面、ヤバそうなコードが埋め込まれていたり、
改修改修でソースが荒んでたりすることも多いので、
大量のコードをさくさく読みこなすスキルも
あったほうがいい。こういうのは新人だと経験が足りないので、
それなりの開発経験のある(業務系のシステム)三十代以上の
人間のほうが採用率が高そうに思われる。
簿記とか在庫管理とかは勉強しておくといいかもしれない。
0122デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:35:03.09ID:qaty0bPV
>>119
そんなもん案件が来てから勉強すればいいと思ってるから。
Prolog とか APL とか SNOBOL とか DYNAMO とかだったら
さすがにお手上げだが。
0123デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:39:08.44ID:qaty0bPV
>>120
> 何で内部表現を分数で持たないんだろうね
小学校で分数を教えるときに互除法を教えないから。
> 切り上げ、切り捨て、四捨五入にすると契約書に書いてあるの?
仕様書を書く奴が通分とか約分とかいった言葉を
すっからかんに忘れているから。
0124デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:42:53.51ID:zFrNBJAc
賞味このスレ
スレ違いな話しかしてへんやん
モダンでおすすめな言語おしえてーや
Rust以外でな
0125デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:58:05.29ID:qaty0bPV
>>124
新しいモンが好きなら自分で言語処理系を作るのが早い。
開発案件が入るかどうかはまた別の話だが。
0126デフォルトの名無しさん
垢版 |
2021/08/19(木) 21:12:08.78ID:hjOgiHlo
ぶっちゃけ今の時代始めるのに一番重要なことは、テレワーク等で如何に相手と上手くコミュニケーションが取れるかと言うことだ。
つまり日本語をキッチリ押さえるべき。
0133デフォルトの名無しさん
垢版 |
2021/08/20(金) 00:14:32.05ID:McxoXChC
c#どうよ?
最近俺久しぶりに使ってるんだけど、随分バランス取れた言語になったなと思ってるところ。
0135デフォルトの名無しさん
垢版 |
2021/08/20(金) 01:13:39.92ID:B6Iagzm0
気になってることがあるんだけど、ぶっちゃけ一番習得しやすい(1人で案件を処理するレベル)言語って何?
0136デフォルトの名無しさん
垢版 |
2021/08/20(金) 01:14:18.18ID:CoA6lo4m
c#とか開発環境が自明なものは始めるのに良いよね
いろんな開発環境があり得る言語はそれはそれで良いけどノウハウも分散される傾向にあるから
0137デフォルトの名無しさん
垢版 |
2021/08/20(金) 04:05:13.24ID:e/UIwgiz
>>135
JavaScript
各種サーバサイド、ウェブブラウザ内、デスクトップアプリ、スマホアプリとこれ一つだけでもシステム作れる
0138デフォルトの名無しさん
垢版 |
2021/08/20(金) 06:42:01.72ID:sJiZQz3/
ウェブよりネイティブアプリの方が1人で完成させやすいと思ってるから
自分はswiftUI推すかなあ
デザインセンスとかいらないし素材準備も最低限でいける
0139デフォルトの名無しさん
垢版 |
2021/08/20(金) 06:49:10.79ID:yQg9ntHl
JavaScript習得すればElectronもあるから有利だね
プログラマー御用達のVSCodeもElectron/JavaScript製
0140デフォルトの名無しさん
垢版 |
2021/08/20(金) 08:33:17.83ID:5DMg0xgk
JavaScript自体は嫌いではないけど
JavaScriptで全部作るのには抵抗がある
考え方が古いんだろうな・・・
0141デフォルトの名無しさん
垢版 |
2021/08/20(金) 08:50:57.63ID:T5ICWOLv
>>130
算数を教えている教諭が
「算数は手計算の練習だ」と思いこんでいて、
分数計算の基礎になっている
最大公約数・最小公倍数・素因数とかいった概念を
ちゃんと生徒に理解させていない(させられない)のが
原因。小学校でプログラミングが必修化されている
時代なんだがなぁ。
0142デフォルトの名無しさん
垢版 |
2021/08/20(金) 08:54:18.66ID:T5ICWOLv
>>135
昔だったら N-88 BASIC
今なら EXCEL マクロ
0143デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:06:56.83ID:lw5CxAzi
>>130
分数で持つのはムダ無意味
さらに科学計算のように有効桁数もダメで単純に1円単位か0.01円単位か0.00001円単位か各々の統一ルール決め打ちがベスト
昔は手間暇と各種容量問題で出来なかっただけ
0144デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:12:19.05ID:IVKSYYNq
>>142
EXCEL VBAいいよね。
初心者にありがちな、便利機能覚えるのにあれやこれやと振り回されて結局全部浅くしか覚えられませんでしたってことが少ない。

自分が本格的にやりたい言語の習得に入る前に、プログラムってこんなもんってのを押さえるには最適かもね。
0145デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:12:42.91ID:T5ICWOLv
>>140
DOM という発想が出てきてなんぼか整理されてきたが、
昔の JavaScript は変数のスコープとか型とかに関しては
ルーズだったので(それを言ったら LISP も惨いが)
なんとなく使いたくない気分はあるかもしれない。
あとは参考になるようなコードが現状少ないので、
スタイルが確立していなくて
「どう書いたら他人に読みやすいか?」で
迷うところもある。
0147デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:29:49.45ID:T5ICWOLv
>>143
> 分数で持つのはムダ無意味
「事務計算だったら、ほとんどの場合は」という条件付きだがな。
麻雀やトランプをコンピュータで真面目にやろうとすると
順列組合せの計算が出てきて内部的には分数が出てくるし、
評価関数を確率その他で表そうと思うと浮動小数点が出てくる。
政治関係などのゲーム理論だと、こういった例は珍しくないし、
微分方程式の数値計算でもベルヌイ数(分数)と値(小数)の
両方が出てくる。
まぁ、たいていは専用のライブラリが用意されていて、
特に考えなくてもそれっぽい値は出てくるわけだが。
「ライブラリの中身を理解していなかったら、
案件を断らなければならないのか?」
読み筋はオリヴァー・ヘヴィサイド。
0148デフォルトの名無しさん
垢版 |
2021/08/20(金) 11:31:28.35ID:B4OKZzX3
通分、約分が面倒って
そういうライブラリを準備すればいいだけだし
あるいは掛け算してそのまま持っておくだけでもいいし
0150デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:47:17.72ID:T5ICWOLv
>>148
Fortran 77 の時代には「複素数」という方があったし、
たしか C++ には演算子もメソッドとして
拡張することができたような気もするので、
「分数+分数」「分数ー分数」「分数×分数」「分数÷分数」を
実装するのは難しくないはず。
必要なのは最大公約数の計算だけだから、互除法だけで済む。
互除法はアルゴリズムとしてはシンプルかつ効率も悪くないから
実装自体は簡単だしリソース的な負担もそれほどない。
ただ、オーバーフローして「分数 → 近似小数」とか
「IEEE の long → BigDecimal」とかいった型の変化が
あるので、「プログラマの数学的・技術的素養」というのが
コードの質に影響してくると思う。
0151デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:54:19.64ID:T5ICWOLv
>>149
十六世紀のフランス王朝時代に「新旧論争」というのが
あってだな …… みたいな話は措いておくとして、
「オンオフとかニモニックとかから勉強しなおして来い」
同義語「おととい来やがれ」「味噌汁で顔を洗って出直してこい」
まず、お経本(CPU のインストラクション・セット・サマリ)を
千回読もう。その次は OS のシステムコール一覧だ!
0152デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:58:34.10ID:T5ICWOLv
>>151
×十六世紀
〇十七世紀(一六〇一年以降)
ロマン派の代表:シャルル・ペロー
古典派の代用:ラ・ロシュフコー
0153デフォルトの名無しさん
垢版 |
2021/08/20(金) 19:28:12.39ID:eefvZ4wY
始めるのに一番適してないのがJS
言語設計が柔軟すぎるというか
いろんなやり方で同じことが実装できちゃうとか
本当に言語設計が後付け

他の言語ならエラーになるのに
すんなり実装できるとか初心者には向かない

初心者は固い言語で
教材の多いものがいい

パイソン、javaあたりがいいと思う
0154デフォルトの名無しさん
垢版 |
2021/08/20(金) 20:13:10.77ID:b/xTfG/a
ESとしてはかっちりしてきてるし周辺の充実は目をみはるけど
昔のelispに近い粗製濫造が蔓延ってるし許容できてるのがあかん
初学者に勧めたくないのはわかる
0155デフォルトの名無しさん
垢版 |
2021/08/20(金) 20:38:24.52ID:5DMg0xgk
JSやる奴はかなりの確率でJS専門家になるし
それはそれで一つの道な気もする
Node.jsとかあるけどJS専門家はあまり関心がなくフロント専門家になりたがる
react.jsとかを愛好する傾向がある
0158デフォルトの名無しさん
垢版 |
2021/08/20(金) 20:48:52.13ID:qp05AV5R
>>155
なぜそんな嘘を付くの?
Reactが人気だからこそ現在はSSRやSSGのためにサーバー側でもJavaScriptを使用
そして同じReactのコードでサーバー側でもHTMLレンダリングをしてウェブ利用者の利用快適化が現在の流れ
0159デフォルトの名無しさん
垢版 |
2021/08/20(金) 20:49:31.11ID:T5ICWOLv
>>153
> 初心者は固い言語で
> 教材の多いものがいい
それを言うと、どうしても ALGOL 60 系になる。
数学者は「アルゴリズム」という概念に慣れていなかったので、
アルゴリズム記述用の抽象言語としての ALGOL が生まれた。
それを実際にコンピュータに実装しちゃって、
さらに教育用言語として発展させたのが Pascal だったり、
p-Code システムの Pascal とか BCPL とかが生まれたわけだ。
要するに、おまいらは「ぶっちゃけ、(いろいろと出発点の違う、
プログラミングの)初心者」が学んでほしい言語について
語ってるんだろ?
「だったら仮想マシンとコンパイラを書きゃいいんじゃねぇか?」
という批判に対して応えてもいいように思う。
0160デフォルトの名無しさん
垢版 |
2021/08/20(金) 21:30:16.56ID:T5ICWOLv
中西 正和・大野義夫『やさしいコンパイラの作り方』
(共立出版株式会社、一九八〇)という本があって、
その中に「BITCOM」という仮想マシンが出てくる。
普通は CPU 内部のレジスタとメモリ(弧億領域)は別なんだが、
BITCOM ではメモリの中に割り当てられていたりして、
昔のミニコンピュータとかの形式をなぞっているらしい
(いわゆるスーパーミニは、リング保護とかいった機構があるので、
システム領域に触ろうとするとトラップで引っ掛けられて
システムが落ちる)。
昨今(つーても何十年も昔だが)の CPU は、レジスタはレジスタだし
最低番地は割込ベクターだったりするので、
今様(いまさら、ではなくて、いまよう)の CPU に合わせた仮想的な
ハードウェアがあっていいと思う。その上に、Java の JVM みたいな
システムコールを含めて仮想マシンを作り、その上に
教育用の言語を載せる、とかいうのは、処理速度に関する問題を
度外視したら、それほど難しくはないように思うがどうか。
0161デフォルトの名無しさん
垢版 |
2021/08/20(金) 21:50:14.57ID:xVTFlPnB
世界で最も普及している仮想マシンはWASM (WebAssembly)です。
これはWebブラウザ上に載っていて皆も意識せず気付かぬうちに使われています。
ウェブブラウザ上ではJavaScriptが入出力表示を担当しJavaScriptよりもさらに高速な内部計算が必要な時にWASMが使われています。
まずはJavaScriptを学習して次にWASMを学習すると良いでしょう。
0163デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:18:46.38ID:T5ICWOLv
>>161
> 世界で最も普及している仮想マシンはWASM (WebAssembly)です。
Rust も Go も「動的な GC(ガベージ・コレクション。「ちり集め」
ともいう。別名をウェイスト・コレクションといい、「WC」と略されて、
「便所掃除」ともいう。いちいち気にする人もいるが、「動的な
ガベージ・コレクション」は、「便所掃除のおばちゃん」だと思うことに
している)」はやってないと主張しているカキコがあったが、
WikiPedia によれば「仮想言語レベルで隠蔽してるだけ」みたいな話らしい。
「ハードウェアで直接動いてないから C に負けてる」という主張も
あるらしいが、そのうち「Wasm MicroEngine」とかいって
ハードウェアレベルでエミュレートしたら、コンパイラを
作るのも趣味のレベルになりそうな気はする。
0164デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:20:07.38ID:7glaS9Yo
>>144
同意する。プログラミング言語ってなに?的な人に教えるのにあれほど
便利な言語ないと思う。

けど、「こいつ、終わってる言語だから最初から選択肢に入れたくないなあ」って
いう隔靴掻痒感がなんとも。
0165デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:29:00.88ID:T5ICWOLv
>>168
そこで
> 「面倒」てw
とか言ったら失礼だろ。
ライブラリを整備する側の立場としては、
なるべく使いやすいようにすることを考えるし、
なるべく動作が早いようにと考えるし、
どういうときにどういうエラーを返すかとか
例外を投げるかとか、いろいろ考えるんだ。
で、実際に使ってもらってから、
「どういうふうに使うか」っていうユーザの意見との
擦り合わせを行うわけだ
(使ってもらえなかったら、労力の無駄遣いだ)。
そこは、それなりの規模のプロジェクトで、
それなりの役割を果たしてから言う台詞だと思う。
0166デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:40:45.11ID:T5ICWOLv
>>164
そういう意味では、ゲーム系の言語というのは
入門用にいいかもしれない。少なくとも「プログラマ自身」という
プレイヤーはいるわけだし。
初期の 8K BASIC とかは、「STAR TRECK」をプレイしたかったから
導入した、という人も多かったという。
そういう意味では、任天堂の「はじめてゲームプログラミング」は
それなりに評価できるし、はるか昔(16ビットプロセッサの時代)の
「ピンボール・コンストラクション・セット」とか
「ロードランナー」とかは、
「プログラミング」という概念の基礎を理解してもらうのには
有効ではないかと考える。
0167165
垢版 |
2021/08/20(金) 22:44:00.61ID:T5ICWOLv
>>165
× >>168
>>162
0168デフォルトの名無しさん
垢版 |
2021/08/20(金) 23:59:31.38ID:T5ICWOLv
平成一七年の本だから、かなり古い本なのだが
Joel Spolsky/青木靖『ジョエル・オン・ソフトウエア』(オーム社)
という本があって、「開発効率からいうと、動的なメモリ管理を
行なってくれる言語は、かなり使える」という意見があった。
なんだかんだで(ディスク容量を含めて)メモリも増えたし、
CPU パワーも増えてるんだから、ドカタの仕事は土方に任せて
若いモンはじゃぶじゃぶリソーツを使って楽をしてくださいよ、
と思う。
Wasm はプラットフォームとしてはいいかもしれないが、
将来ある若者が「そこから始める」というのは(やると面白いが)
どうかと思うぞ?
Z80 とか M6809 とか MS/MP2 とか F-8 とかは面白いんだけどさ、
そういう話は年寄りの昔話であって、「始めるのにいい言語」という
コンセプトからは外れると思う。
「バックグラウンドで動的な GC が動いている言語」をとりあえず
入門用として、「そうでない言語」は「レトロな言語」「博物館の
収蔵品」くらいに思ってくれていいと思う。
0169デフォルトの名無しさん
垢版 |
2021/08/21(土) 00:12:25.92ID:Eqo4shTH
LLVM→WASMもできる時代に内部実装気にする?
システム提案するわけでもなし端末は十分すぎるほど高性能
アセンブリ推しは論外
0170168
垢版 |
2021/08/21(土) 00:24:50.15ID:TY8AYdBd
>>169
> アセンブリ推しは論外
と断じられると年寄りとしては立つ瀬がないが、
> システム提案するわけでもなし端末は十分すぎるほど高性能
には激しく同意する。遊んでいるリソースは、どんどん開発に
活用して、若者には将来につなげてほしい。
とはいえ、「中身はどうなっているのか?」に関しては、
年寄りばっかじゃ将来が心もとないので、
チラ見くらいはするひとがいると嬉しい。
0171デフォルトの名無しさん
垢版 |
2021/08/21(土) 00:39:38.08ID:TY8AYdBd
そういえば、ANSI で規格化される以前の C だと、
名辞的に値を return しなくても、
アキュムレータを int の戻り値として使っていたらしい。
alloc と free に関しても、メモリの内容を初期化するという
発想が乏しくて、クリアしたら「こっちが使ってるんだよ!」
「だったらなんで free されてるんだよ!」とかいった話になって、
実際に殴り合いの喧嘩になって血を見た、という話を聞いている。
>>169
> LLVM→WASMもできる時代に内部実装気にする?
に関しては、「ゴルゴ13」じゃないけど
用心深くて憶病でないと、生きてゆく資格がない
という側面があると思う。
だって C++ の開発の現場とかいったら、
時分が抱えてる関数やら変数やらを、他のルーチンに
書き潰されるとかいった話は平気であったもんな。
0172デフォルトの名無しさん
垢版 |
2021/08/21(土) 01:48:55.21ID:AxTsCI6B
このスレやたら老人が長文連投するよね
んで周回遅れした感覚で意味不明なロジック展してるのみて、うわ・・・って思っちゃう
0174デフォルトの名無しさん
垢版 |
2021/08/21(土) 06:36:28.87ID:Z3nCB8aI
>>163
いいえRustにはGC(ガベージコレクション)はありません
一方でGoにはGCがありますので別分野の言語です
RustはGCがないためCやC++で書かれている分野(OS,組み込み,基本ライブラリ等)までもカバーすることが出来ています
0175デフォルトの名無しさん
垢版 |
2021/08/21(土) 06:54:30.80ID:MqULsPRz
>>156
初期コストは低いけど
記述が統一されてない文法があまたあり
それがオブジェクトのどこに相違を生じさせるか
記述のおおらかさと、新旧の互換性の必要性から
ぐっちゃぐっちゃな言語になっていると思うけど
初心者におすすめなの?
0177デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:10:25.32ID:FwpVsdRu
>>175
現在のJavaScriptは綺麗に洗練されて拡張されており貴方が指摘するような問題点はないですよ。
そのため>>156の記事にもあるようにJavaScriptは人気1位となっています。
0178デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:42:43.62ID:MqULsPRz
>>177
そうできるように見せられるようになった、というだけで
そもそもの言語構造は変わらないから
本来はエラーなどで記述を統一させるべきところ
そうできない箇所が混在してしまう
JSのオブジェクトはどんなに洗練されたといっても{}なんだし

オブジェクト志向的なものはできるし
演算で学ぶこともできる
分岐もループもできるし
以前よりは綺麗にデザインパターンも実装できるし
他の言語で実装できるもの以上に
広範囲に様々な実装が可能となってる言語だし
クライアント側の言語としては一択だとおもうけど
そもそもの言語仕様が分かってないと
JSの挙動を制御できないところが多々あるでしょ

いろんなやり方ができる=難解
といいたいんです
0179デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:43:50.93ID:MqULsPRz
>>177
それと、言語が洗練されているから人気1位なんではないです
ごっちゃにしちゃいけないところね
0180デフォルトの名無しさん
垢版 |
2021/08/21(土) 08:54:48.83ID:UzvCxH3a
>>178
あなたが無知でオブジェクト指向プログラミングを勘違いしています。
特定の言語の特定の方式だけをオブジェクト指向プログラミングだとあなたは思いこんでいるのでしょう。
さらに例えば現在人気のモダンな言語であるRustやGoにはいわゆるオブジェクト指向のclass定義すらありません。
Rustはトレイト方式でオブジェクト指向プログラミングを実現しています。
JavaScriptはプロトタイプ方式でオブジェクト指向プログラミングを実現しておりその上でclass定義も出来ます。
現在のJavaScriptに不備はなく初心者にも適した人気のある言語です。
0181デフォルトの名無しさん
垢版 |
2021/08/21(土) 09:10:53.55ID:7GAoG1Iq
Nimにガベージコレクション(GC)有りは事実なのですが、NimはオプションでGC無しにできます

Nimバージョン:1.5.1でRustのボローチェッカーに似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化してC/C++/Rustの代替に出来ますか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
0182デフォルトの名無しさん
垢版 |
2021/08/21(土) 11:00:49.85ID:h1foSDug
素のJavaScriptから始めてTypeScriptに入っていく手もある
Visual Studioではtsファイルを保存するたびに勝手にトランスパイルやってくれるし
0183デフォルトの名無しさん
垢版 |
2021/08/21(土) 11:58:15.84ID:TY8AYdBd
Web ブラウザ上で実行する必要があるなら、
実質 JavaSclipt 一択になっちゃうだろうと思う。
個人的にはサーバーサイドでDB で連携、
というのが主なので、Java + MySQL + HTML5
+css2 + Tomcat(動的コンテンツ用)
+ Apache (http サーバとして)+ Eclipse
+ Subvirsion(最近は Git だろうけど)とかいうのが
定番だったが、初心者向けではないわなぁ ……
perl とか VB とかでもいいんじゃね?とは思う。
一生その言語だけでやってく訳じゃねーんだから。
0184デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:08:04.77ID:83dfZvOT
>>180
無知で申し訳ない
オブジェクト指向っていうのは、クロージャーや多様性を利用し
インターフェースで各部を接続することで
バグの伝搬範囲を特定しやすくして
拡張性や保守性を高めようと試行したものだけれど
どこがどう勘違いしてるんでしょうか?

そもそもJSは疑似クラスを作る前から
オブジェクト志向的に開発はできたんだし

JSがclassを定義できるようになったっていうけど
JS自体がclassを疑似クラスって表現してて
従来のFunction型をclass的に使えるようにして
javaとかやってきた人に親しみやすくしました的なところでしょ

classも定義できて、同じことを関数でも定義できる
constructorもprototypeも、classでもfunctionでも実装できる
いろんなことがいろんな方法で平行してできるって状況が
初心者を混乱させるので、適してないって言ってんの

人気があるから優れた言語ってわけじゃない
フロントから入りやすくて、コストも安く
プログラミングの基礎を学べますってだけ
でも上記のように実装方法にはいろいろあって
方法によって作られるオブジェクトの中身も変わるから
初心者が理解するにはコストが高くなるんです
0185デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:17:40.88ID:83dfZvOT
>>180
たとえば、初心者がclassを勉強していて

class js{constructor(){}}
とかでてきて、classにはconstructorがあるんだね、って教わった後、

Object()コンストラクターとか

function func(){}で
new func()としたときのfuncをコンストラクターと呼ぶとか

Object(new func);のコンストラクタはPrototypeにありますとか

この状況がずっと並行して存在しているような言語が
どうしても優れているとは思えないんだよね
エラーにさせて記述を統一させろよと(互換性無視で)
0186デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:20:33.58ID:AxTsCI6B
RustはNGワードにした
0187デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:22:43.64ID:v01707Xm
>>184
君が勝手に混乱しているだけであって誰も混乱していない
どの言語にもどの機能にも多数のやり方があるものはそれぞれ無数にあるがそれで混乱を招くことはない
例えばリスト処理をするためにforループ、内包表記、イテレータ等とプログラミング言語によってサポートする個数も方式も異なる
君の主張だと複数の方式を持つ言語は混乱を招く悪い言語であり初心者に向いていないとなる
明らかに君が間違っている
0189デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:57:23.63ID:lrErjZkV
>>163
Wasmは既にウェブブラウザ上で動いていてみなさんも知らぬ間に恩恵に授かっていますね
それたけだなくクラウド上やCDNなどのエッジ上でも使われ始めていて特定のCPUや特定のOSに依存せずに使えることが普及メリットです
もちろんWasm自体を人間の手で直接プログラミングすることは99%ありえないのでRustなどでプログラミングしてWasmにコンパイルされます
0191デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:25:20.92ID:QVMLTFt3
>>190
WASMは完全なサンドボックスに閉じこめられていてセキュリティの心配は一切ない
だからこそあなたが用いているWEBブラウザにも搭載されていて動作している
0192デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:26:56.91ID:c1O+V3Fx
>>191
つまりサイト閲覧者の端末でウィルス扱いされることなく安全にマイニングに悪用できるということ
0193デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:40:52.44ID:LsXtj7Rf
>>192
それは意味のない話で言語の問題ではない
昔からブラウザ上でのJavaScriptと同様で各サイトのプログラマーは自由にプログラミングできるがブラウザ利用者のローカル環境にセキュリティを脅かすことはない
0194デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:44:21.12ID:TY8AYdBd
Java のアプレットと同程度の宗教論争のような気がするなぁ。
ブラウザがどの程度サポートしてくれているかも考えないと
結着はつかないと思う。
どっちみち Wasm のエンジンはブラウザが搭載してて、
JavaScript Wasm 前提で動いてるんだろ?
「Wasm の仕様を拡張して、こんなことができるようになりました!」
みたいなことを大手企業が言いだせる時代ではないと信じたい。
0196デフォルトの名無しさん
垢版 |
2021/08/21(土) 13:54:45.08ID:TY8AYdBd
このスレのスレタイは
『ぶっちゃけ始めるのにいい言語て何』
なんだが、どうせなら
『私がプログラミング童貞を切られた言語』
みたいな体験談つーか言語遍歴とかのほうが、
これからプログラミングを学ぼうという人には
親切なんじゃないかと思う。
0197デフォルトの名無しさん
垢版 |
2021/08/21(土) 14:00:37.04ID:BsordDu9
>>194
それは違う
Wasmはブラウザに非依存で仕様が定められた
だからブラウザ内でも使われているが例えばクラウドSaaSとして用いたりCDNエッジ実行として用いたり幅広い活用が今後も進むだろう
いずれにせよ人間が直接Wasmを記述することはなくRustやC++などで記述する
0198デフォルトの名無しさん
垢版 |
2021/08/21(土) 14:07:13.73ID:TY8AYdBd
>>195
カシオは一時期経営方針がブレていたので、
見放している。
CORDIC 関連の特許を取得して
関数電卓を普及させたり、
プログラマブル電卓を商品化したりとかいった
功績はあったが、Fx シリーズから Fp ぃリーズへの
展開に失敗して、(現在でも土木関係では需要のある)
SHARP の「ポケットコンピュータ(ポケコン)」に
ほぼ駆逐されている。
電卓でゲームとかしてる場合じゃない。
「Mac と iPhone で Swift で携帯アプリを開発する」みたいな
グランドデザインが示せないのがカシオの弱点。
0199デフォルトの名無しさん
垢版 |
2021/08/21(土) 14:15:02.62ID:TY8AYdBd
>>197
エジソンやゲイツが過去に何をやったか、という話があるので、
コンセプトとしての Wasm (あるいは Xen)には賛同するが、
MS は、またなんかしらやらかす(Wasm の仕様にチョッカイを出す)
だろうという疑念を拭えずにいる。
0200デフォルトの名無しさん
垢版 |
2021/08/21(土) 14:29:24.72ID:TY8AYdBd
>>197
> いずれにせよ人間が直接Wasmを記述することはなくRustやC++などで記述する
少なくとも、C++ は C++ のコードを C のコードに変換して、
C のコードをマクロアセンブラのコードに展開して、
それを展開してリンカにかけられるようにして、
それでオブジェクトとして、それをリンクしてリンカで
.exe ファイルにする、みたいなプロセスがあった。
で、.obj ファイルはデバッガで「MNIMONIC(ニモウニク)」という
言語に戻して修正してから .obj ファイルに書きもどす、みたいなことを
昔はやっていた。
昨今のモダンな言語では、そのあたりの面倒臭さを排除してくれているので、
(C++ 以降の言語は)「初心者用の言語」としては、
それぞれそれなりに優秀だと思う。
いまさら LISP 1.5 とか SmallTalk 80 の時代でもないので、
それなりに流行っている言語だったら何でもいいんじゃねぇの?
0203デフォルトの名無しさん
垢版 |
2021/08/21(土) 15:11:07.73ID:TY8AYdBd
>>201
もの知らずの馬鹿に何を言っても通じないので、
昔の話から説きおこさないと、「便所の落書き」の
レベルから脱すことができないからだ www
べつに、最近のゲーム系言語や
携帯アプリ系の言語が嫌いなわけじゃないぞ?
「Mac と iPhone を持ってるんだったら Swuft 一択」
とか、
「Windows マシンと携帯だったら JavaScript。
ただし DOM は押さえとけ(HTML5 と css2 は必須)」
とかいった話だったら食いつき甲斐がある。
昨今の年寄りはなかなかボケないので、
フツーにパソコンとかケータイを使いこなしているぞ?
0204デフォルトの名無しさん
垢版 |
2021/08/21(土) 15:15:42.98ID:TY8AYdBd
>>202
> ぶっちゃけデビューしちゃったか。
いや、他の板とか他のスレだったら、
なんだかんだで二十年前の「2ちゃんねる」時代から
フツーに出没してるから(笑)
0207デフォルトの名無しさん
垢版 |
2021/08/21(土) 15:39:43.76ID:AxTsCI6B
こういうのが老害って言うんだなぁ
0208デフォルトの名無しさん
垢版 |
2021/08/21(土) 15:57:17.02ID:UKLUibXC
もう40代のニアリー老害だけど、ここまで酷くないつもりだわ…。
でも身の振り方、見直さないとな。
0209デフォルトの名無しさん
垢版 |
2021/08/21(土) 16:43:55.00ID:TY8AYdBd
>>206
> おじいさん間違えていますよ
> CSS2ではなくそこは強いて書くならCSS3です
最新版に飛びつくと紅衛兵とかになってしまう。
バージョンが古い処理系に関する批判を受けとめて、
新しいバージョンを充分に叩くのが旧世代の務めだ。
最新のバージョンを使ってトラブルが起きたときには、
「バージョンを戻す」というエスケープルートを
確保しておかなければ安全ではないだろう。
みずほ銀行は、それに失敗し続けているという話を
(もちろんオフレコだが)聞いている。
0210デフォルトの名無しさん
垢版 |
2021/08/21(土) 16:48:39.69ID:TY8AYdBd
>>205
>>207
二十年後の老害予備軍がいるということだろうな。
0212デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:09:07.27ID:mnjR01xL
>>183 でわかるように、知識が15年くらい前で止まっている人なんだから
かわいそうにと思ってNGIDにするのがよい
0213デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:14:32.54ID:TY8AYdBd
>>211
XHTMLがコケなかったら、そうしてたと思う。
css は、「CSS ZEN GARDEN」で充分だと思った。
マンガを読む子供は、いわゆる「活字の本」も読むという
統計があるというが、
ネット情報に頼る以前に、近所の図書館に通った方がいいぞ?
0214デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:18:03.08ID:sugxSdFU
>>209
おじいさん、10年前には既にCSS3の書籍が発売されていますよ
十数年前の世界から来られたのですか?
0215デフォルトの名無しさん
垢版 |
2021/08/21(土) 17:28:59.33ID:TY8AYdBd
>>212
同じことを、沖縄へ行って竹形誠司さんに言ってこい(笑)
あのひとはフルコン格闘技の使い手だぞ?
「Java + MySQL + Tomcat」というのは定番なので異論はないが、
Eclipse を使うかどうかは意見が分かれるところで、「HTML 5+css2」
とかいうのはこっちの趣味だし、Tomcat に Apache を被せるかどうかは
サイト運営の規模による。
業務経験を積んでから、またいらっしゃい(笑)。
0217デフォルトの名無しさん
垢版 |
2021/08/21(土) 18:06:24.90ID:TY8AYdBd
>>216
> だれぞの言葉じゃなくて自分の言葉とか実績はないもんかね。
ねぇな。
「つまんねぇプログラム」が私の持ち味であって、
「あるべきところに、ありそうな(しかるべきコーディングルールに
則った)コードが、ある」ので、保守担当者が「つまんねー!」と叫んで、
「けっきょく定数をいじっただけ」で、「これで金貰っていいんだろうかね?」
みたいに呻吟するのがシステム屋の本懐だ。
そういう意味では、Java というのは(抽象化というレベルで考えると)
それほど悪くない言語だと思う。
「(保守のレベルで)品質の高いコードを納められる言語」というのは、
「初心者向け」という観点からいうと意見の違いはあると思うが。
0218デフォルトの名無しさん
垢版 |
2021/08/21(土) 18:12:07.29ID:UKLUibXC
>>217
あるべき所にありそうなコードを書くのは、ごく当たり前であって、そんな事誇られても困惑するわ。

それはつまらんプログラムとは言わんし、作業員の視点でシステム屋とデカい主語を語られてもかなわん。

HTML5は廃止されましたよ。
今は単にHTMLです。
0219デフォルトの名無しさん
垢版 |
2021/08/21(土) 18:50:29.06ID:TY8AYdBd
>>218
> あるべき所にありそうなコードを書くのは、ごく当たり前であって、
> そんな事誇られても困惑するわ。
うん。現場では困惑してばかりだ。
> それはつまらんプログラムとは言わんし、
> 作業員の視点でシステム屋とデカい主語を語られてもかなわん。
そういうメンバーで固められたら、かつてのプロジェクトの進行も
そんなに悲惨じゃなかったろうなぁ ……
> HTML5は廃止されましたよ。
> 今は単にHTMLです。
HTML5 はグラフィック系が充実しそうになっていたと思うのだが、
廃止されたということはデグレードしちゃったのか orz
XHTML の二の舞かぁ ……
0221デフォルトの名無しさん
垢版 |
2021/08/21(土) 19:04:27.42ID:UKLUibXC
>>219
かつてじゃなくて、始めるのに良い言語のスレだから前向こうぜ。

どっちかというと保守派のW3C(HTML5)が破れて、WHATWGのLiving Standardがメインストリームになった。
0222デフォルトの名無しさん
垢版 |
2021/08/21(土) 19:16:54.33ID:ZlUpbuhk
>>188
js初心者にも良いとおもうよ
社会人でオープン系のプロエンジニア目指すから必須のスキルだし

奥深い所は最初は解らん(気づかん)でも良いと思う
0223デフォルトの名無しさん
垢版 |
2021/08/21(土) 20:24:50.53ID:7GAoG1Iq
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しでView types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、Cのソースコードを吐き出せるのでC言語でリモートワークされ
ている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
0224デフォルトの名無しさん
垢版 |
2021/08/21(土) 20:35:18.01ID:TY8AYdBd
HTML は「スクリプト言語」であって
「プログラミング言語」ではなさそうに思うので、
JavaScript の「(DOM に基いた)お行儀のいいスタイル」
があれば悪くはないと思う。
Eclipse のプラグインで JavaScript に対応可能だという話があるので、
試してみようかな、と思った。
0225デフォルトの名無しさん
垢版 |
2021/08/21(土) 20:45:01.04ID:TY8AYdBd
>>223
> Nimは限りなく抑え込まれたタイプ量で
タッチ数が少ないのはプラスの面があるが、
人間が目で見るときには冗長性があったほうが
よかれと思う(つーても、「{〜}」を「begin〜end」で
書いたほうがいい、とかいうのは極論だと思うが)ので、
「fn」ではなく「func」とか「function」とか書いたほうが
良さそうに思う。「procedure」は「proc」より短くされても
わかりづらい。
そのあたりは、構造エディタで適宜対応してくれるのが
ありがたいと思う。
0227デフォルトの名無しさん
垢版 |
2021/08/21(土) 21:24:11.08ID:TY8AYdBd
>>226
確かに歴史的にはそうだ。すまん。m(_ _)m
ただ、多くのブラウザが JavaScript をサポートした時点で、
「(サーバーサイドから見た)マークアップ言語というより、
(クライアント側にとっては)スクリプト言語ではないか?」
という話はあると思う。
ネットに接続していないのに、単独でアプリを実行できてしまう
時点で、「マークアップ言語」と呼ぶのはどうだろうか、と
思う。
0228デフォルトの名無しさん
垢版 |
2021/08/21(土) 22:32:29.33ID:EfLD9MKj
htmlのみで繰り返しや条件分岐が出来るんですか?
0230デフォルトの名無しさん
垢版 |
2021/08/21(土) 23:06:27.16ID:CpRKNsSY
よし、みんなでJavaやろう な?
0231デフォルトの名無しさん
垢版 |
2021/08/21(土) 23:20:49.51ID:UKLUibXC
>>227
HTMLで、スタイルとDOMとJavaScriptをマークアップしてるから、(JavaScriptの)アプリを起動出来るんでは?
HTMLはあくまでマークアップしてるだけかと。
0233デフォルトの名無しさん
垢版 |
2021/08/21(土) 23:45:43.28ID:DT9bchtA
VRML2.ならタイムセンサーとかインターポレータで 3Dアニメーションが書けるから
ただのマークアップ言語を超えてはいそうだけど今現在対応ブラウザ無い
0236デフォルトの名無しさん
垢版 |
2021/08/22(日) 02:27:58.38ID:INw0qoSb
>>235
もちろんHTMLのscriptタグで指定することで各種スクリプト類を書くことはできるけど
その中身はHTMLではなくHTMLとは関係ない話

例えばかつてIEではHTMLのscriptタグでVBScriptがサポートされていたけど
VBScriptもJavaScriptと同様にHTMLではないし関係ない
0237デフォルトの名無しさん
垢版 |
2021/08/22(日) 04:26:08.23ID:GR3JEF+H
HTMLはそもそも文書を表現するための言語なんでしょ?
言ってみればワープロ文書の中身。
そう思った方が、タグの構成とか判りやすい。
JavaScriptはブラウザで絡繰りを動作させるマクロ。
0240デフォルトの名無しさん
垢版 |
2021/08/22(日) 08:23:39.37ID:M38WAZ3o
>「(サーバーサイドから見た)マークアップ言語というより、

>ネットに接続していないのに、単独でアプリを実行できてしまう
>時点で、「マークアップ言語」と呼ぶのはどうだろうか、と
>思う。

そもそもこの時点でなんか認識がおかしい。
0241デフォルトの名無しさん
垢版 |
2021/08/22(日) 08:46:45.23ID:FTtcJrTl
>>239
うん、そう。
HTMLはマークアップ言語で、コンテナ的に他のコンテンツを持てるから、JavaScriptのコードをマークアップしてるだけだよね、と言う意味だったんよ。
ちがうって言われて、そう言ってるんだけどじゃあ一体…?となってる。

>>240
マークアップ言語なのにチューリング完全というクソみたいな言語もあって(XSLT)
0242デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:09:31.63ID:M38WAZ3o
>マークアップ言語なのにチューリング完全というクソみたいな言語もあって(XSLT)

やっぱり爺さん言ってること支離滅裂だわ。>>240と何が関係あるのそれ。
ついでに言えばxsltはxmlの上に記述するというだけでそれ自身はマークアップ言語とは言わないがな。Jellyなども同じく。
0243デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:17:21.67ID:FTtcJrTl
>>242
ちょっとまて、お前俺をID:TY8AYdBdだと思ってないか?
ID:UKLUibXCだぞ。

>>242
単独で、プログラムを手続きな記述するのではなく、マークアップして作れる言語と言う意味で書いたんだが。
JavaScriptの様に、全く別の言語が入ってるわけでは無く、あくまでXMLという枠組みの中で使えるプログラミング言語として挙げた。

何が引っかかったのだろうか。
0244デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:18:11.46ID:F7Qbx3up
jsをhtmlのライブラリみたいなもんだと思えば
htmlもスクリプト言語と呼べるってことかな?
そういうニュアンスで言ってるんでしょ?
0245デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:23:19.19ID:FTtcJrTl
俺か?
ちがうよ。
HTMLという枠組みでDOMと共にJavaScriptというかScriptタグ等をマークアップすることは可能だ、と言ってる。
なので、HTMLという切り口ではマークアップ言語。それ以上では無い。

JavaScriptはスクリプト言語だが、それはHTMLに入ってようが、JavaScript処理系が実行したらJavaScriptなんじゃない?

>>227
の「マークアップ言語」と呼ぶのはどうだろうか、に対して、「純然たるマークアップ言語だ」と答えてるつもり。
0246デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:49:53.94ID:GH72YFYS
>>227
おじいさん、HTMLはマークアップ言語であってスクリプト言語ではありません。
HTMLとJavaScriptを明白に区別しましょう。
0247デフォルトの名無しさん
垢版 |
2021/08/22(日) 10:58:48.30ID:l91cVjvi
>>246
HTML は教育的には確かにマークアップ言語であって
プログラミング言語ではない。それは確かだ。
ただ、サーバー環境で Java で仕事をしていると、
JSP とか JavaScript とかもひっくるめて「システム」として
捉えるので、HTML(と、CSS) は「Web 系システムにおける“つなぎ”」
みたいなイメージを持っている。実務的には、そのあたりを
きっちり切り分けていない人もいるだろう、という話。
言語処理系なんかだと、誰かにとってのプログラムは
誰かにとってのデータだったりするので、
あまり難しくは考えないことにしている。
0248デフォルトの名無しさん
垢版 |
2021/08/22(日) 12:22:42.56ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
0249デフォルトの名無しさん
垢版 |
2021/08/22(日) 13:37:44.42ID:l91cVjvi
アンクル・サムが「I NEED YOU!」とか言ってるのと同じだな。
「FOR 電算業界」というのは判るのだが、
まだ選挙権も持っていない若者をベトナムに送るような真似は
してほしくないと思う。
0250デフォルトの名無しさん
垢版 |
2021/08/22(日) 13:46:43.42ID:l91cVjvi
JSP や JavaScript 使いにとっては、
「HTML は出力のフォーマット出力言語」であって、
そのあたりは Web デザイナーさんに丸投げして
「デザインに関してはお任せします m(_ _)m」みたいな
切り分けがありそうに思う。
「戻る」がうまく動作しない、とかいった話は、
システム屋とデザイン屋のすり合わせ案件だしな。
0251デフォルトの名無しさん
垢版 |
2021/08/22(日) 13:49:18.00ID:cx6/dnxW
前は ruby 厨がうるさかったけど
最近は nim 厨に転身したのかな
0252デフォルトの名無しさん
垢版 |
2021/08/22(日) 14:04:40.63ID:l91cVjvi
なんかしら、
『オブジェクト指向を教えてくれ!★2』
https://mevius.5ch.net/test/read.cgi/tech/1619503348/
のネタと被ってる気がするんだが …… Rust 厨とか Go 厨とか Nim 厨とか
流行っているのか?
まぁ、中学生がプログラミング言語に興味を持ってくれるのは
歓迎すべきことなのだが、「入門用のプログラミング言語」を
用意してこなかった電算業界人としては、
恥じ入らざるをえない。
0254デフォルトの名無しさん
垢版 |
2021/08/22(日) 14:57:49.30ID:l91cVjvi
>>253
誰がうまいコトを言えと(笑)
「おーい山田くん、座布団一枚!」
0255デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:07:13.78ID:l91cVjvi
>>253
つーても学生の頃からロシア語で考える癖がついてるので
FireFox 派なんだよな。IE でなくても .hta ファイルって
開けるの?
0257デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:33:18.08ID:nGQODmwk
>>246

おじいさん、「明白」は単独事象評価語であって複数事象判然語ではありません。
「明確」と「明白」を明確に区別しましょう。
0258デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:33:43.95ID:l91cVjvi
>>256
アオリイカはスルメイカとは別種だが、
アオリイカの干物は「水スルメ」といって
一般的にはスルメより高額。

スレの主旨と外れてしまいそうなので一言言っておくと、
映画「ファイヤフォックス」の特技監督のジョン・ダイクストラは
「スター・ウォーズ」にも携わっていて、デス・スターに突っこむ
シーンのモーション・コントロール・カメラの制禦に使われたのは
FORTH だったらしい。
「ルーク、FORTH を使うのじゃ」というのは、当時の『I/O』の
読者にはネタとして知られていると思う。
SF 関連でいうと、作家のバローズとスタックマシンで有名な
コンピュータ・メーカーであるバローズは、縁続きらしい。
0259デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:35:38.17ID:oBDvQ8sm
言語全般を扱うスレなのでマークアップ言語もOKとあわしろ氏が言ってたな。
0260デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:42:16.72ID:l91cVjvi
>>257
盂蘭盆会が済んだというのに、
小圓遊と歌丸と前田武彦が帰ってゆかねぇのは
新型コロナの祟りか?
0261デフォルトの名無しさん
垢版 |
2021/08/22(日) 15:46:12.12ID:PExPKGEq
単純に勉強したいのならkotlinかC#あたりがいいと思うな
何か作りたいとか仕事にしたいとかだと、まあいろいろ意見はあると思うけど
0263デフォルトの名無しさん
垢版 |
2021/08/22(日) 16:19:45.76ID:h0YuhPPZ
まーた老害ジジイが今日も大暴れしてて草
0264デフォルトの名無しさん
垢版 |
2021/08/22(日) 16:37:24.02ID:i6vv6ufy
>>262
昔のサイトは閲覧者がクリックしてページ遷移する時に
普通にブラウザがサーバからHTMLを取り寄せて表示を繰り返していたけど

今のまともなサイトは閲覧者がクリックしてページ遷移する時に
JavaScriptが必要差分データのみ取り寄せて高速にページを表示する

つまりサーバーが毎回HTMLを作って返すことはない
ブラウザ上でJavaScriptがHTML(に対応するDOM)を作ってしまい高速にページ遷移する

でも一番最初のページだけは内部ゼロの状態だからサーバーがHTMLを作って返した方がいいよね、となるのだけど
既にJavaScriptがHTML(に対応するDOM)を作ってくれるコードがあるので別言語でほぼ同じコードを書くのはムダすぎるよね、となった
つまりJavaの出番が無くなってしまいました
0266デフォルトの名無しさん
垢版 |
2021/08/22(日) 16:43:57.67ID:r9z5TSxz
>>265
途中送信失礼
https://www.it-mure.jp.net/ja/html/htafirefox/
によれば以下で使えるんじゃないかな?
現代の選択肢:

NW.js (以前はnode-webkitと呼ばれていました)
私が個人的に使用してお勧めする電子 。
上記の両方のオプションは、Chromium(Chromeと同じ)、Node.jsおよびV8。 HTML5、CSS3、および最新のECMAScript を含む最新のJavaScriptエンジンをサポートします。 )機能以降!

また、node.jsを使用しているため、 組み込みライブラリ(FileSystemなど)を使用できます または 任意のnpmパッケージ がDOMにあります!
0267デフォルトの名無しさん
垢版 |
2021/08/22(日) 16:55:39.89ID:iMcDWK5D
>>264
サーバーサイドでも同じJavaScriptコードを動かすためにNode.jsを使っていますね。

>>266
デスクトップアプリとしてNode.js+Chromium=Electronをベースにするのが主流ですね。
例えば統合開発環境のVSCodeもそのElectronでJavaScriptにより作られています。
0268デフォルトの名無しさん
垢版 |
2021/08/22(日) 17:05:49.03ID:l91cVjvi
>>262
> JSPなどのJavaEEって、今でも新規開発に使われたりするの?
保守というものが存在するのだ。
新しい環境でリプレース(置きかえ)すると、
規模にもよるが普通に死人が出る。
大手のプロジェクトだったら、亡くなった方は
0人や一人や二人ではないと思われる。
ドアクローザーで首吊って亡くなったとか、
ビジネスホテルでパンツ引き下ろして
ピノキオ状態で亡くなってたとか、
会社の階段の踊り場から飛び降りて新聞紙で覆われていたとか、
JR のプラットフォームから飛び込んだとか、
いろんな話がある。聞きたかったら訊いてくれ。
「新しい画期的なツールと環境があるから導入しよう!」
みたいな話が出ると、億単位の大規模プロジェクトだと、
一人二人はたいていお亡くなりになる。
0269デフォルトの名無しさん
垢版 |
2021/08/22(日) 17:40:45.67ID:0Cz6ueFz
>>248

技術書典に出会っていなかったら俺はNimをさわってないと思う

背景
俺たち「そろそろ技術書典に参戦するか」
俺たち「何書く?」
俺たち「マイナー言語を触ってみよう。言語選択は早い者勝ちね」
ワイ「(マイナーの定義はさておき)Nimでオナシャス」
ワイ「(アドカレあるし、記事まとめておくかぁ...)」

Nimとは?
Nim は アンドレアス・ランプフ氏によって設計・開発された命令型、マルチパラダイム、
コンパイル言語という特徴を持つプログラミング言語です。

アンドレアス・ランプフ氏は3DICC社に所属するエンジニアです。彼はNim開発以前に様々
な言語を触っていたようです。が、どの言語も満足せず、自身で作成することにしたようです。
それがNimプロジェクトの始まりで、2005年頃のようでした。

当初NimはNimrod(旧約聖書の登場人物)という名前でしたが、マーケティング上の理由から
2014年12月29日にリリースされたバージョン 0.10.2 からNimに変更されました。
0270デフォルトの名無しさん
垢版 |
2021/08/22(日) 18:34:17.48ID:FmMkwQfs
>>264
いまだに、
サーバーから毎回ページ全部のおくるのが大半だよ
それにまともなブラウザーで動き見りゃ一髪でわかんだろ
馬鹿

from 現場より
0271デフォルトの名無しさん
垢版 |
2021/08/22(日) 18:36:44.72ID:PExPKGEq
AJAXで次ページを実装すると、URL変わらないから、「戻る」したとき挙動が期待した通りにならなくない?
そういうことではない?
0273デフォルトの名無しさん
垢版 |
2021/08/22(日) 19:09:19.59ID:l91cVjvi
>>271
Struts とかの仕事のときには、結構ややこしいことになったなぁ。
JavaBeans とかを使うとセッションごとに管理されているので、
そのあたりは気にしなくてよかったように思う。
もっとも、漏れがやってたのは学会系のサイトで
査読者だけがアクセスしてログインするようなサイトだったので、
トラフィックの心配とかしなくてよかったから
そのあたりは JSP で丁寧に作りなおした。
当時その職場では CSS が普及していなかったので、
『CSS Zen Gorden』とか呼んで勉強した記憶がある。
0274デフォルトの名無しさん
垢版 |
2021/08/22(日) 20:17:16.50ID:ufypfn2W
JSはHTMLを動的に処理しようとして作られたHTML志向言語
Javaを意識したというけれど基本はマークアップを動かす言語
それが刷新せずにダラダラと拡張をつづけ、最後はjavaみたいに動かす方法もありますとなった
やっとJSもまともな言語に見えるようになれた!という段階
0275デフォルトの名無しさん
垢版 |
2021/08/22(日) 20:22:41.78ID:l91cVjvi
>>269
> 彼はNim開発以前に様々な言語を触っていたようです。
> が、どの言語も満足せず、自身で作成することにしたようです。
> 当初NimはNimrod(旧約聖書の登場人物)という名前でしたが、
> マーケティング上の理由から
「ニムロッド」って、「神に反逆する者」みたいな意味が
あるんだよね。
よっぽど既存のメジャーなプログラミング言語が
気に入らなかったんだろうな。
そう思うと、ちょっと興味が湧いてくる。
0276デフォルトの名無しさん
垢版 |
2021/08/22(日) 20:34:42.13ID:l91cVjvi
>>274
JavaScript もまずまず使える言語になってきたと思うので、
HTML が JavaScript の入出力周りを担っているという
解釈もあるかと思われる。
JS からプログラミングを始めようという入門者は、
マークアップ言語としての HTML → JS
というより、
JS → 入出力環境としての HTML
だと思ってそうに思う。
JSP だって、GUI をちゃんと実装するより、
自分の開発環境に Tomcat 立てて書いたほうが
楽だもんなぁ。
0278デフォルトの名無しさん
垢版 |
2021/08/22(日) 21:17:32.04ID:0Cz6ueFz
>>248

Nimの特徴
直感的でわかりやすいシンタックス
公式サイトの記載からNimの特徴を見てみましょう。

以下は公式サイトに掲載されているNimのコード例です。

Nimの最初の特徴して挙げられているのが、そのシンタックスで、曰く「直感的でわかりやすい」とのことです。
Python(のインデントを含めた多くの特徴)やPascalを参考にしているらしいので似ていると思いますが、シンプルですね。

import strformat
type
Person = object
name*: string # Field is exported using `*`.
age: Natural # Natural type ensures the age is positive.

var people = [
Person(name: "John", age: 45),
Person(name: "Kate", age: 30)
]

for person in people:
# Type-safe string interpolation.
echo(fmt"{person.name} is {person.age} years old")
0279デフォルトの名無しさん
垢版 |
2021/08/22(日) 21:37:51.39ID:aqCRpfAk
Ruby on Rails では、サーバーでHTML を作って返すのが基本。
他には、API モードで、JSON を返すこともできる

ページ遷移は、Turbolinks という機能で、
Ajax で、HTML 内を部分的に書き換えることで、ページ遷移を起こさない

その際、Histroy API のpushState で、
戻るボタンへの対応や、URL を変更する

これを、Ajax + pushState = Pjax と言う
0281279
垢版 |
2021/08/22(日) 22:28:28.48ID:aqCRpfAk
HTML の機能とか、セキュリティー対策とか、学ぶことは無数にある。
だから皆、初心者はRuby on Rails で勉強する

有名なのは、YouTube の雑食系エンジニア・KENTA のサロンだけど、
ほとんどの学校でも、80万円ぐらいのRailsコースがある。
最安値は、東京フリーランスのデイトラで、10万円

その過程で、Linux, Docker, AWS、データベースなど、
システム構築運用に必要な、バックエンド技術も学ぶ
0282デフォルトの名無しさん
垢版 |
2021/08/22(日) 22:31:07.75ID:1uD9aEBf
>>280
面倒くさいのはブラウザやフレームワーク開発者でTurbolinksももはや古典な部類
その発展がいまでいうSPAで周辺サポートてんこ盛りになってる
仕様化より大手の仮実装が先だけどブラウザ開発よく破綻せんなーおもう
0283279
垢版 |
2021/08/22(日) 22:55:14.86ID:aqCRpfAk
例えば、食べチョクみたいな若い女の子が、Heroku などで、1人で起業するなら、
Ruby on Rails, Turbolinks, Bootstrap などで良い。
ただし、食べチョクは、AWS だけど

KENTA のサロンの基本は、
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も追加された。
ただし、これらは個人起業用ではなく、大企業用

他にも、GraphQL もある
0284デフォルトの名無しさん
垢版 |
2021/08/23(月) 00:42:28.36ID:P11lus6C
>>279
Rubyは不要です
おっしゃる通り、ブラウザがJavaScriptのAjaxでサーバーから(HTMLではなく)JSONデータ等を取ってきてJavaScriptがHTML(のDOM)を組み立てること【※注目1】でページ遷移なく新たなページを表示するわけですが
一番最初にサイトにアクセスした時もこの方式だとゼロからスタートなので表示が非常に遅くなります
そこでサーバー側でもアクセスされる各ページのHTMLを組み立てるこ【※注目2】とでブラウザに渡しすぐ表示出来るようにします

ここで【※注目1】のブラウザ上と【※注目2】のサーバー上ではもちろん同じロジックでHTML(DOM)を組み立てます
ブラウザ上でのこのコードはもちろん必ずJavaScriptになります
同じロジックでHTMLを組み立てるコードをサーバー上で別の言語でプログラミングする意義はあるでしょうか?
ブラウザ上でもサーバー上でもHTML(DOM)を組み立てるコードはほぼおなじですからそのまま同じプログラムを使えばよいのです

つまりサーバー側でもJavaScriptを使うのが自然な流れとして出てきてこれが最新のWebプログラミングの状況です
具体的には例えばReact/Next.jsやVue/Nuxt.jsなど様々なフレームワークがサーバー側でもJavaScriptを用いる方式をとっています
0285デフォルトの名無しさん
垢版 |
2021/08/23(月) 03:54:59.54ID:3qicjwlg
色んな言語がそうなんだけど、
重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
読むのが面倒で意味が飲み込めない。
特にJavaScriptのNode.jsみたいなの。

もう既に固定されたJavaScriptの仕様を無理に拡張させてるって感じでさ。
頑張ってるのは判るんだけど、もう少し判りやすくなんない?って思う。
ああ、こういうスレの主旨として、初心者の直感で書いてるんだけどね。
0286デフォルトの名無しさん
垢版 |
2021/08/23(月) 06:49:55.42ID:K2w3HmNV
>>285
Node.jsは単なるブラウザ外でのJavaScript実行環境なのでJavaScriptと文法もすべて同じですよ
Pythonにおける実行環境pythonコマンドと同じ関係でJavaScriptはブラウザ内が先だから区別されてるだけで気にしなくて大丈夫

JavaScriptのラムダ式の書式はわかりやすいですね
関数: function xxx(a, b) { return a + b; }
ラムダ式: (a, b) => { return a + b; }
リターンするだけの時は中括弧とreturnを省略可能
ラムダ式: (a, b) => a + b
何がわかりにくいですか?
0288デフォルトの名無しさん
垢版 |
2021/08/23(月) 10:15:43.19ID:h9qCfh+2
>>285
科学技術系(数値計算系)の経験でいうと、
「簡単に書ける、初心者向けの言語」って、
ライブラリみたいな「隠蔽されている部分」の
中身を書くときには、精度とか安全性とかを保証しようと思ったときに
「ちょっと心配だなぁ ……」と思う。
足回りのライブラリは Java かなんかで書いて
上の言語からそれを呼び出すとかいうのが
便利かもしれないと思う。
(ただ、これをやるとバージョン管理が面倒臭くなるが。
C とか C++ とかで make ファイルの記述に漏れがあって
プロジェクトが悲惨なことになっている例は
何度も見た)
0289デフォルトの名無しさん
垢版 |
2021/08/23(月) 10:18:01.88ID:h9qCfh+2
>>285
> 重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
> 読むのが面倒で意味が飲み込めない。
LISP とかな(笑)
0290デフォルトの名無しさん
垢版 |
2021/08/23(月) 10:52:16.14ID:OQWffhF4
慣れもあるけど可読性を重視するのも大切だね
ラムダ哲学は色んな言語で実装されてるけど
例えば、function func(){
0291デフォルトの名無しさん
垢版 |
2021/08/23(月) 10:58:48.76ID:OQWffhF4

()=>{}
と同じように思えるけど
オブジェクトの中身を見ると違ったする

function fun(){}とclass c{constructor{}}も
オブジェクトの中身は異なるけれど
同じように機能する

({})
Object()
new Object.create()
Function()
()=>{}
(function(){})()
({}=>)()

確かに簡単に書ける
初心者にはやりやすいかも


class
0292デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:00:00.40ID:U6ZTgHSo
>>285
なぜ、あなたはそんな嘘をついてまでJavaScriptを叩いているのですか?

>重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
>読むのが面倒で意味が飲み込めない。
>もう既に固定されたJavaScriptの仕様を無理に拡張させてるって感じでさ。

JavaScriptの関数式(=ラムダ式)は20年以上前の20世紀から存在しています。
そしてウェブブラウザ内で使われてきました。
そしてラムダ式の記法は各プログラミング言語で多少の差異はあれど当然ほとんど似たような形になっています。
0293デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:10:43.95ID:OQWffhF4
>>292
彼は初心者の視点として
ラムダ式が読みづらいと主張してるんでしょ
その一例としてJSのNodeを例にしてるだけ

JSは無理に仕様を変更して拡張しなくても
(ライブラリやTypeScriptなどにまかせて)拡張していけばいいのでは?
と、初心者側の意見を提示してるだけに読めるけれど

どこもJSを叩いているとは読み取れない
0294デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:15:40.03ID:Z/2Y5aLI
ラムダ多用したほうが局所化されてヒトにもコンピュータにも優しいはずなので
完全に見た目≒コーディングセンスの問題
クソコード自覚してほしい
0295デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:20:45.88ID:PbwMaige
>>292
その重ねまくる括弧とラムダ式みたいな特殊な記法が並んでる例を
メジャーなスクリプト言語3つで比較してみました
よくある「数字のリストをソートして逆順にして文字列にしてハイフンで繋ぐ」プログラム

【Ruby】
a.sort().reverse().map{|x| x.to_s}.join('-')

【JavaScript】
a.sort().reverse().map(x => x.toString()).join('-')

【Python】
'-'.join(map(lambda x: str(x), reversed(sorted(a))))

結果はPythonだけ最後が4重括弧となってしまいました
RubyとJavaScriptは手順通りに並んで読みやすいですがPythonだけ読みにくいですね
0296デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:21:45.90ID:gb7LRZA7
ぶっちゃけ始めるなら、ぶっちゃけ系の言語が良い
おとなしい言語は駄目だな
0297デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:27:20.26ID:n1hZLw7w
>>293
JavaScriptは拡張ではなく昔からラムダ式すなわち無名関数式がありますよ
むしろ拡張でいえばアロー形式導入で見やすく括弧の数も減っています
貴方が誤解しているのではないでしょうか?
>>295に見られるようにJavaScriptはわかりやすい言語の一つです
0298デフォルトの名無しさん
垢版 |
2021/08/23(月) 11:51:41.29ID:/ZulnilQ
カッコが多いと読みににくいんですか?
どうせ最後の ))))))) とかは終わりという意味ぐらいしかなく
近頃のエディタはカッコの数が違うと教えてくれるので
いやなら見なければいいだけなのでは? } だって
}}}}}}}}} とかなると分かりにくくなりますよね?
0299デフォルトの名無しさん
垢版 |
2021/08/23(月) 12:04:11.75ID:JYwdk8yB
emacs だと lisp のカッコは読みにくくならないから不思議ωωω
0300デフォルトの名無しさん
垢版 |
2021/08/23(月) 12:24:04.86ID:OQWffhF4
激しい文盲がいるな
ラムダと拡張の話は別の主張ともとれるって話をしてるんだけどな
あんた何時も文脈を読み違えるけど
それでコードかけてんの?基本的に会話の理解能力が欠如してるんじゃないの?
0302デフォルトの名無しさん
垢版 |
2021/08/23(月) 13:07:59.31ID:OQWffhF4
大容量、超高速の現在
基本は保守や拡張しやすいコードだと思う
エレガントとかじゃなく
0304Mb
垢版 |
2021/08/23(月) 13:53:54.95ID:h9qCfh+2
>>300
> あんた何時も文脈を読み違えるけど
いや、これを言っちゃ野暮だとは重々承知しているのだが、
キミは揶揄(からか)われているのだよ。
打ち返し芸を鍛錬して、ツッコミ芸を磨いたら
受けると思う。
「デフォルトの名無しさん」だと、
どこに突っこんだらいいのか判断に困ると思うので、
とりあえず固定ハンドル(コテハン)を使おうと思う。
あ、なりすましは一応歓迎するから。

>>302
漏れが泥酔中に書いたのかと思って、
ちょっとビビった。ID 見て安心した。
乏しい環境を体験している世代としては、
激しく同意。
0305Mb
垢版 |
2021/08/23(月) 13:59:55.46ID:h9qCfh+2
>>298
そのためにインデントというものがあるんじゃないか。
インデントに関しては議論がある。
米国のとある学会は、
「今後、インデントに関する論文は受けつけない」と
宣言したと聞いた。
出典は共立出版の「プログラミング・セミナー」の中の
『凸凹プログラム』だったと記憶している。
0306デフォルトの名無しさん
垢版 |
2021/08/23(月) 14:12:27.29ID:h9qCfh+2
>>302
> エレガントとかじゃなく
「プログラム書法」では「可読性を重視しろ」というのが
重視されているが、プログラムが書けるといえども
「実装畑」ではなくてそれ以外の分野の人もいるので、
エレガンスはあってもいいとは思う。
入山徳夫さんの「入山のアルゴリズム」はエレガントだが、
可読性も高いし移植性も高い(つーても、それが正しく動くことを
理解するのはなかなかに困難だったが)ので、それはそれで
(計算数学的には)いい。
とりあえず、パッケージ・ライブラリの中でおとなしくしていて
祟りをなしたりしないのなら、敬して遠ざけたほうがいい
(つまりは棲み分けだ)と思う。
0307デフォルトの名無しさん
垢版 |
2021/08/23(月) 14:18:03.18ID:7w/ICjxb
>>300
ラムダ式が入って来ると読みづらいとは、旧世代の人と同じだな。
むしろ読みやすく理解しやすくするためにラムダ式は使われる。
そのために後からラムダ式が導入された言語もあれば、既存だがラムダ式を活用する関数やメソッドを導入した言語もあり、ほとんどのメジャーな言語では全てラムダ式とその活用ができるように進化した。
0309デフォルトの名無しさん
垢版 |
2021/08/23(月) 14:41:58.79ID:/6K8Gxc1
んーRustはめんどっちいなあ

【Rust】
s.iter().sorted_by_key(|&&it| it * -1).map(|it| it.to_string() + &"-".to_string()).collect();
0314デフォルトの名無しさん
垢版 |
2021/08/23(月) 16:19:59.91ID:h9qCfh+2
>>307
いわゆる「ラムダ式」という概念は
Common Lisp の時代からあって、
> ラムダ式が入って来ると読みづらいとは、旧世代の人と同じだな。
とか言ってるのは、何かしら恥ずかしいと思う。
「いまどきニュートン力学とか言ってる奴は。
一般相対性理論を理解していない馬鹿だな。
テンソル解析とか理解できないんだろう wwwwww」
みたいな話がしたいんなら、「ぶっちゃけ始めるのにいい言語って何」
スレじゃなくて。どっか他の板の他のスレで議論してほしいと
思う。
0316Mb
垢版 |
2021/08/23(月) 16:23:47.53ID:h9qCfh+2
>>211
>>212
ロバート・ギャロとリュック・モンタニエに関しては、
とりあえずリンクを貼っておくのが親切だと思うがどうか。
0317デフォルトの名無しさん
垢版 |
2021/08/23(月) 16:23:53.39ID:PbwMaige
>>309
Rustは同様にitertoolsを使って正しくはこうだね

【Rust】
a.iter().sorted().rev().map(|n| n.to_string()).join("-")

【JavaScript】
a.sort().reverse().map(x => x.toString()).join('-')

例えばこうしてJavaScript版と並べてみるとほぼ同じ
差異はイテレータにするiter()が余分に入るだけ
RustもJavaScriptも簡潔でわかりやすく言語だといえる
0319デフォルトの名無しさん
垢版 |
2021/08/23(月) 16:35:30.03ID:OQWffhF4
ラムダの話をすると哲学になるからやめておこう
秋の夜長の酒飲み話になるまでまとう
0320デフォルトの名無しさん
垢版 |
2021/08/23(月) 16:46:55.97ID:TxHR3yQm
ノーベル賞ウイルス学者モンタニエ重要提言
・スプレッドを止めない現行ワクはウイルス変異流行の選択圧を高め、ウイルスとの軍拡競争に陥る戦略ミス
・副反応知っている医療従事者への強制接種は止めろ
・T細胞免疫を高めるBCGワクチンを代わりに採用せよ
・イベルメクチン等による早期治療を導入せよ
https://mobile.twitter.com/j_sato/status/1424549554418970625

MS mRNAワクチンは害悪
https://twitter.com/5chan_nel (5ch newer account)
0322Mb
垢版 |
2021/08/23(月) 16:59:59.61ID:h9qCfh+2
>>321
> ラムダの話なんかしてっからワクチン厨まで寄ってくる…
それは違うな。プログラミング厨の中に一定量の感染症厨が
いたというだけだ。
それを否定するなな、統計を取ってカイ自乗検定とかを行なって、
帰無仮説を排除するのがシステム屋だろう?
0325デフォルトの名無しさん
垢版 |
2021/08/23(月) 17:10:09.60ID:8PVTVy0+
リー・メリット博士によれば
mRNAテクノロジーは二進法の毒であり、完璧なバイオ兵器とのこと
0327デフォルトの名無しさん
垢版 |
2021/08/23(月) 17:55:38.21ID:mUiDivSN
>>317
itertools使えばiteratorから直接joinできるよ
ItemのDisplayで文字列に変換される

sorted(&a).rev().join("-")
0328デフォルトの名無しさん
垢版 |
2021/08/23(月) 18:01:34.93ID:mUiDivSN
stdだけだとiteratorをcollectする必要があって
それがJavaScriptやRubyとは違うところ

a.iter().rev().map(|x| x.to_string()).collect::<Vec<_>>().join("-")
0329デフォルトの名無しさん
垢版 |
2021/08/23(月) 18:35:17.45ID:LGNn5NAE
そんな糞難しいLinqやラムダ式を考えなくても良いのがVBAの良いところだよね。
まぁ欲しくなったらC#でアドインでも作っといて入れ込めばいいし、
その気になればVBAの中にJavaScript入れ込めるし。
0330デフォルトの名無しさん
垢版 |
2021/08/23(月) 19:30:39.38ID:/MMjlpx1
>>325
バイナリーウェポンな。
0331デフォルトの名無しさん
垢版 |
2021/08/23(月) 19:31:38.06ID:I2MyFKUs
>>329
君はラムダ式が何かを理解していないと思われる

例えば>>317においてラムダ式は
【Rust】
|n| n.to_string()
【JavaScript】
x => x.toString()
これだけ

君はこれを糞難しいと言ってる
本気かね?
0332デフォルトの名無しさん
垢版 |
2021/08/23(月) 20:05:49.57ID:5zH9bxnu
>>331
先生、どうしてJSは
function func(x){return x.toString()}

x=>x.toString()
と、違う内部構造の設計にしたんですか?
0333デフォルトの名無しさん
垢版 |
2021/08/23(月) 20:18:34.31ID:NMruVyV2
>>332
ほとんどの言語は関数宣言とラムダ式で書式が違う
ラムダ式は短く書けるようになっている
もちろん書式が異なるだけ
あなたの主張する「違う内部後続の設計」は意味不明
0335デフォルトの名無しさん
垢版 |
2021/08/23(月) 20:22:54.88ID:gb7LRZA7
>>298
>カッコが多いと読みににくいんですか?

カッコが多いと格好いいよな
思考順序でメソッドが並んでいると書きやすいが
0336デフォルトの名無しさん
垢版 |
2021/08/23(月) 20:26:48.96ID:PbwMaige
>>332
ラムダ式は通常は無名関数式を指すので「func」という関数名が付いているのはラムダ式ではないね
なのでラムダ式は下記の(1)
 (1) function (x) { return x.toString() }
さらに他の言語と同様にfunction等のキーワード無しで短く書ける(2)のアロー形式も採用した
 (2) (x) => { return x.toString() }
さらに他の言語と同様にreturnで値を返すだけの時は(3)のように値だけ書けばOKとしている
 (3) (x) => x.toString()
さらに引数が1つだけの時は括弧を省略できるようにしている
 (4) x => x.toString()
順に追えば特に違和感はないと思います
他の言語でもラムダ式と関数宣言は形式が異なるものが多いのでJavaScriptだけ何か特別な状況ではないね
0337Mb
垢版 |
2021/08/23(月) 20:49:03.70ID:h9qCfh+2
>>325
> カッコが多いと格好いいよな
誰がうまいことを言えと(笑)
「山田くん、座布団全部持ってって」。
つーても山田君のときに司会をやっていたかは定かではない。
師匠の「中村仲蔵」は、六代目圓生師匠と甲乙つけがたい。
0338デフォルトの名無しさん
垢版 |
2021/08/23(月) 20:57:12.28ID:h9qCfh+2
>>336
慣れるとそれなりに使い勝手はいいんだが、
「別のファイルで似たようなことをやってるんじゃないか?」と
思うと、共通化したくなるのがシステム屋の常。
アジャイル開発では便利だし、ファイルが無暗に増えなくてもいいという
利点はあるものの、個人的には心理的に落ち着かない。
0339デフォルトの名無しさん
垢版 |
2021/08/23(月) 21:02:20.31ID:qV//YiJv
元々の話(>>285)はラムダに視点を置いてるが
実際ラムダがどうこうって言うより非同期処理でコールバックの括弧多すぎって話じゃね
非同期の話もお腹一杯なんでしたくないけど
0340デフォルトの名無しさん
垢版 |
2021/08/23(月) 21:08:44.65ID:dS401MqO
>>295
Ruby
>a.sort().reverse().map{|x| x.to_s}.join('-')

map{|x| x.to_s} を、map( &:to_s ) と書ける

Symbol#to_proc で、self に対応する、Proc オブジェクトを返します。
生成されるProcオブジェクトは、lambda です
0341デフォルトの名無しさん
垢版 |
2021/08/23(月) 21:15:47.60ID:mT5p8ZPd
>>339
コールバックでカッコ多すぎは大昔の話だな
少なくとも7年前にはChromeもFirefoxもJavaScript Promiseをサポート
その時点でカッコ多すぎは無くなった
>>285氏は7年以上時間が止まっているのかね?
0342デフォルトの名無しさん
垢版 |
2021/08/23(月) 21:25:28.11ID:dS401MqO
Elixir なら、

[ 2, -1, 3 ]
|> Enum.sort( )
|> Enum.reverse( )
|> Enum.join( "-" )
|> IO.puts

出力
3-2--1
0343デフォルトの名無しさん
垢版 |
2021/08/23(月) 21:29:48.49ID:6ZBOTLRO
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
0345デフォルトの名無しさん
垢版 |
2021/08/23(月) 22:09:06.72ID:h9qCfh+2
「始めるのにいい言語」というスレで
あんまりややこしい話はしたくないんだが、
引数を渡す場合には
番地呼び/参照呼び(call by adress, call by referrence。番地渡し)と
値呼び(call by value。値渡し)の他に
名前呼び(call by name)というのがあって、
ラムダ関数とかだと、けっこうややこしい話があるんだわ。
Prologを PDP から DEC に移植した中島秀之さんは、そのあたりで
修羅場を見たという話がある。
0346デフォルトの名無しさん
垢版 |
2021/08/23(月) 22:15:20.58ID:x2dcVOdp
>>295 ocaml
https://ideone.com/3ys87s
let f1 x = String.concat "-" (List.map string_of_int (List.rev (List.sort compare x)))

(* @@ Application operator *)
let f2 x = String.concat "-" @@ List.map string_of_int @@ List.rev @@ List.sort compare x

(* |> Reverse-application operator *)
let f3 x = List.sort compare x |> List.rev |> List.map string_of_int |> String.concat "-"

let (<<) f g x = f (g x)
let f4 = String.concat "-" << List.map string_of_int << List.rev << List.sort compare

let (>>) f g x = g (f x)
let f5 = List.sort compare >> List.rev >> List.map string_of_int >> String.concat "-"

let () = List.iter (fun f -> print_endline @@ f [1;1;9;2]) [f1;f2;f3;f4;f5]

9-2-1-1
9-2-1-1
9-2-1-1
9-2-1-1
9-2-1-1
0347デフォルトの名無しさん
垢版 |
2021/08/23(月) 22:22:40.81ID:5zH9bxnu
関数の構造が違うっていうのが分らんのだよね
意図的に違う説明してるのか
分かってないのか
からかわれてるのか
どうなの?
0349デフォルトの名無しさん
垢版 |
2021/08/23(月) 22:25:58.95ID:ZlIia11a
>>344
> やっぱり第一引数を省略した()が気持ち悪い。

現代のメジャーな言語の多くは、
『ターゲット.メソッド名()』
と呼び出す、もしくは、呼び出せるようにしました。さらに、
『ターゲット.メソッド名1().メソッド名2().メソッド名3()』
とメソッドチェーンで書けるようにもしています。
見やすくわかりやすくプログラミングしやすいからです。
0353デフォルトの名無しさん
垢版 |
2021/08/23(月) 23:25:40.54ID:uQ28Ugwc
>>348
ラムダ式は無名関数式です
関数宣言と関数式は全く同じです
ただ唯一、関数宣言は事後に宣言があっても関数名がその宣言前にも有効なくらいの違いです
0354342
垢版 |
2021/08/23(月) 23:30:37.47ID:dS401MqO
Elixir は関数の第1引数を、パイプ渡しできる
0355デフォルトの名無しさん
垢版 |
2021/08/23(月) 23:42:42.47ID:/6K8Gxc1
やめて、コロナと違ってラムダ君には何の悪気もないのよ
ラムダ式は普通の関数の糖衣構文(シンタックスシュガー)なのよ!!
0358デフォルトの名無しさん
垢版 |
2021/08/23(月) 23:53:56.44ID:zs343Efl
ラムダ株は脅威だとあわしろ氏は言ってる。
0361デフォルトの名無しさん
垢版 |
2021/08/24(火) 01:11:46.83ID:nCkaOe0t
上のRubyの
map{|x| x.to_s} が冗長だとしてmap( &:to_s ) は短いけどなんかダサい

&: になにか必然性でもあるの?
0362デフォルトの名無しさん
垢版 |
2021/08/24(火) 03:10:06.62ID:U9EepWKx
>>361
短くして可読性を下げても呪文になってくだけだよね
むしろ逆にmap{|x| x.toString()}でも良いくらい
0363デフォルトの名無しさん
垢版 |
2021/08/24(火) 03:42:16.39ID:BNRQhvw2
記述の判りやすい言語から始めるべきなの?
むしろ難しいのを経験した方が良いかも。
0364340
垢版 |
2021/08/24(火) 06:00:42.93ID:SMXHl8SK
map( &:to_s ) は、Symbol#to_proc だろ

map に、&:to_i, &:itself, &:to_csv
&:lstrip, &:split,
&:downcase, &:capitalize

とか書くのは定番
0365デフォルトの名無しさん
垢版 |
2021/08/24(火) 07:00:43.69ID:EYpqq2mn
>>363
プログラミングを学びたいのなら
作りのしっかりした堅い言語がいい
javaは良書も多くネット情報も質の高いのが多い
資格制度も整っているので学習言語としておすすめ
0366デフォルトの名無しさん
垢版 |
2021/08/24(火) 07:27:48.15ID:GKX34T4/
問題は、今JavaをやってもブラックなSES系企業にしか就職できないということ
0367デフォルトの名無しさん
垢版 |
2021/08/24(火) 08:38:12.33ID:6AE2aGAT
Javaは今後少しずつ消えていくでしょう
例えばFacebook社はJavaを捨ててRustを採用だそうです
多くの点でJavaは古く劣っていますから


Facebook、開発言語に「Rust」採用 次期ビルドシステムの開発で
https://www.itmedia.co.jp/news/articles/2107/28/news152.html

Rustを用いることで、どのような利点があるのか。Facebookは記事の中で次の4つの項目を挙げています。

@Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述できますし、Rustは複雑な並行処理の詳細を正しく理解するのに役立ちます。
BuckのJavaの計算を一つ一つ並行処理に移行するのは数カ月に及ぶ困難な作業でしたし、シングルスレッドの大きなボトルネックがまだ存在しています。

ARustには、開発をより簡単で楽しいものにしてくれる多くの高レベルな言語機能があります。
それらはenum、パターンマッチング、trait、手続き型マクロなどで、Rustの開発者の多くに愛されています。

BRust はメモリの割り当てをより細かく制御することができます。
ガベージコレクションのある言語では、たとえジェネレーショナルコレクションであっても、Buckが行うようなインクリメンタルな演算に対応するのは困難です。

CRustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。
0369デフォルトの名無しさん
垢版 |
2021/08/24(火) 09:34:21.50ID:BkROVOcT
プログラムを学ぶのなら、な
C#でもいいけど
新しい言語は日本語訳の良書が少ない
成熟された良書が多く
言語以外のマナーな作法、デザインパターン
その他を同一言語で学ぶのなら
javaやC#などの言語がおすすめ

JSやRubyとかの言語は
プログラムを学ぶにはお勧めしない

四則や正規表現、関数、クラスなど
基礎に触れるだけならなんでもいいけどね

ってことを言ってるだけです
0370デフォルトの名無しさん
垢版 |
2021/08/24(火) 09:38:25.39ID:CbaJJsTq
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
0372デフォルトの名無しさん
垢版 |
2021/08/24(火) 10:56:40.44ID:BkROVOcT
>>371
文章ちゃんと読もうよ

基礎的な文法を学ぶのならrubyやjsでもいいけど、って書いてあるでしょ
基礎的な文法を超えてプログラマーが学ぶことを推奨されている知識を得るには
javaやc#とかから始めた方が、良書がそろっているのでいいですよって

それでよくプログラマーやってるよね
クライアントや会社でプロジェクト組んでるときに
独りよがりな進め方するタイプに思えてならない
0373デフォルトの名無しさん
垢版 |
2021/08/24(火) 11:15:51.98ID:foOBcdJv
>>372
色んなプログラミング言語をやっきたが書籍で学んだのは最初のK&Rだけだな
特に今の時代ははっきりいって書籍は不要
各言語の公式サイトに必ず入門ページがぎっしりとある
あと今さら時代遅れのJavaなんかやっても無駄な古い知識を得るだけ
0375デフォルトの名無しさん
垢版 |
2021/08/24(火) 11:25:14.92ID:6GSuu8+X
初めにJava選んでる時点でプログラミング向いてないってわかる、って師匠に言われた
0376デフォルトの名無しさん
垢版 |
2021/08/24(火) 11:32:23.40ID:lkYJ2sp4
>>361
kotlinだと省略してデフォの変数に入れてくれるから便利よ

map {|it| it.toString() }でitの指定が省略できてこうなる
map { it.toString() }
別の変数名を指定することもできる。
0377デフォルトの名無しさん
垢版 |
2021/08/24(火) 12:12:40.95ID:IBss1fyn
・過度な短縮形はわかりにくくなる
・デフォルトの特定の変数名の存在は悪手
0378デフォルトの名無しさん
垢版 |
2021/08/24(火) 13:07:13.48ID:CbaJJsTq
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
0379デフォルトの名無しさん
垢版 |
2021/08/24(火) 15:16:57.79ID:WZMj7UxV
>>375
わかる
0381デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:31:48.68ID:p4O+0aME
>>375
一通り言語を身につけて、
業務で使うんなら Java はいい言語だと思うが、
確かに初心者向けではないな。
他言語のソースを行儀よく書き直すには、
まとまりのいい言語ではあるが。
0382デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:43:43.61ID:GKX34T4/
Rustも大企業が使うには向いてるのかもしれんけど、
初心者にはお勧めできんな
0383デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:46:38.21ID:p4O+0aME
とあるプラントで、
あっちゃこっちゃから呼ばれているのだが、ドキュメントが失われて
(どっかにはあるんだろうが)意味不明の C のコードがあった。
「触ると祟るから触るな」と云われていたのだが、それが
FORTRAN からツールを使って C に変換したもので、
とにかく GOTO 文の砂嵐だった。
それを Java に翻訳して解読したら、「熱間圧延プラントの中のワーク
(加工材。複数のワークがプラント内を流れることもある)の流れを
ペトリ・ネットで表現して、バーナーやらプレス機やらの
制禦プログラムからの問い合わせに応える」というルーチンだった。
Java で書き直してみると、厭でも古いスタイルの構造化プログラミングを
踏襲せざるを得ないので、総じて見通しがよくなるという効能はある。
「うますぎるプログラムを書く余地が少ない」のが
Java の取柄かも。
0384デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:48:35.78ID:Zt2QO8gi
>>382
なぜ大企業だけにしようとするんだよw
Rustは大企業だけでなく全ての人に適したプログラミング言語だよ
0385デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:49:12.62ID:Cx9DV9dh
どっかのブログにもう今は初手ScalaかRustで良いって書いてあったぜ
でもC/C++で血反吐を吐かないとRust理解できないともあってよくわからんかった
0386デフォルトの名無しさん
垢版 |
2021/08/24(火) 16:57:34.34ID:p4O+0aME
>>382
初心者が書くのは、「誰かが書いたことのあるプログラム」が
ほとんどなので、既存のスタイルを踏襲するとか開発文書を
整備するとかいうと徒労感ばっかりが募るんだよな。
そういう意味では、パッと見てわかりやすくて
チョコチョコっと書けて実行できるような
対話型のミニ言語で、
サンプルとしてトイ・プログラムが揃っていて
他人のコードを見て勉強しやすいというのが
初心者向けの言語だと思う。
0387Mb
垢版 |
2021/08/24(火) 17:02:42.68ID:p4O+0aME
>>382
> なぜ大企業だけにしようとするんだよw
大企業でなければ従十人規模のチームで数十万行クラスの
システムを開発したりはしないからだ。
0389デフォルトの名無しさん
垢版 |
2021/08/24(火) 17:39:48.24ID:GKX34T4/
Rust信者の方々、落ち着いてくれ
あなたたちが生まれて最初に触れた言語がRustだったのか?
違うだろう

あなたたちは、2番目以降に身に付ける言語としてRustは優れている、ことしか
証明できないんだよ
0393デフォルトの名無しさん
垢版 |
2021/08/24(火) 18:33:37.06ID:5mi6Ub86
あわしろ氏はHaskellを強く推奨してる。
0394デフォルトの名無しさん
垢版 |
2021/08/24(火) 18:35:43.53ID:5mi6Ub86
Haskellはプログラミングの数学的アプローチです。
他の言語を使うなという事ではありません。
現代において、Haskellが基本という事です。
0395デフォルトの名無しさん
垢版 |
2021/08/24(火) 19:00:41.89ID:Epkil6d2
今は初手kotlinが正解
いざとなればjavaにもシフトできる
一つで2度美味しい、それがkotlin
0396デフォルトの名無しさん
垢版 |
2021/08/24(火) 19:02:57.58ID:CGlsq1E0
なんか知らんけどAndroidエンジニア、全然足りんらしいから案外Kotlinは悪くないかも
0397デフォルトの名無しさん
垢版 |
2021/08/24(火) 19:24:51.78ID:SqXDnF2U
>>394
Haskellから多くをRustが受け継いでいる
例えばHaskellの型クラスの概念をRustではトレイトとして提供している
他にもHaskellのMaybeとEitherはRustのOptionとResult

>>393
HaskellをおすすめならばRustもお気に入りになるのではないかと思う
0400デフォルトの名無しさん
垢版 |
2021/08/24(火) 20:22:36.34ID:otdRB8MX
C#はWin畑の人間がほとんどなのがな
技術スタックも必然的にそれに引っ張られてMS中心になる
0401デフォルトの名無しさん
垢版 |
2021/08/24(火) 20:25:43.77ID:C+EhUo5k
案外、.NET FWの時代からパスデリミタをきちんと定義してあったりして、monoでもしっかり動いてたし、core以降はMS純正でクロス対応だし割と良いと思うけどな。

結局の所、今からプログラミング始めたい、という人が持ってる端末ってWindowsな事多いし。
0402デフォルトの名無しさん
垢版 |
2021/08/24(火) 20:27:54.50ID:EYpqq2mn
>>395
javaできなくてkotlin使えるん?
kotlinの挙動を確認したくなったらjavaソースみるんじゃなかったっけ
0403デフォルトの名無しさん
垢版 |
2021/08/24(火) 20:31:52.65ID:lkYJ2sp4
VisualStudioのインストールで、winアプリ、SQL、webサーバとか、全部の環境が構築できるのがデカイね
特に実際に動かせるwinアプリを作れるのは、モチベーションの維持につながる
標準入出力でぐちゃぐちゃやってもつまらないからな
0404デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:07:48.82ID:otdRB8MX
>>403
ほらな
実際こういう人間ばかりが集まって硬直的な技術スタックになりがち
MSスタックにどっぷり浸かるのは確かに便利な面も大きいのは事実で、それ自体を否定するつもりはないよ
0405デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:21:38.79ID:lkYJ2sp4
>>404
ちょいまち。
最初に勉強するのに一元的で統一的な開発環境を得られるという点でMS製品を
最初の言語にする選択肢は悪くないといってるだけで、
その人がそのまま慣れたMS系に浸り続けると解釈するのは見解の相違じゃないか?

基本的なプログラミングになれたら別の言語に移ればいいわけでもあるし。
0406デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:29:00.30ID:XjAEljS8
思い返すと最初がマシン語とベーシック、それからPerlにVBAにCちょろちょろいじって、ちゃんと系統的に最初にやったのはJavaかな
Javaがいいと思うよPythonもいい
JSは使える場所が多いという意味で強いけど言語とかフレームワークが割とグチャグチャなのでイマイチ
0407デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:37:29.96ID:otdRB8MX
>>405
そりゃ例外はあるだろうけど、入口がMS系なら敢えて転向を図らない限りはその後のキャリアもMS系を歩む可能性が高いだろう
俺も学生時代にC#から入門したクチだけど、結局新卒で入ったSIerでもWin鯖やC#やらされて、脱SIerして入ったベンチャーでも全部C#
さすがに嫌気が差して完全にMSスタックから脱却できたのは社会人6年目だ
入口って大事よ
0408デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:46:40.24ID:lkYJ2sp4
>>407
> 実際こういう人間ばかりが集まって硬直的な技術スタックになりがち
俺は、これは違うと思うんだよね

入り口が優れているから、より簡単に実際に試すことができるわけじゃんね
全体のプログラマ人口を増やすことに貢献していると思う

最初に選択した言語で将来が縛られるってことを、自分自身の経験に合わせて言いたいらしいけど、それ完全に「甘え」じゃね?
それでいいと思ったからC#案件だけ回されたわけで、
他に必要があったのならMS系を通じて別の言語を学習すればよかった。ただ、それだけでは?
0409デフォルトの名無しさん
垢版 |
2021/08/24(火) 21:50:03.69ID:XjAEljS8
MSはずっとMSのパターンが多いよね
会社が合併したんだが相手は物凄く古いMSのスタックでうちは主にJava+JSでオープン系マイクロサービスでやってるんだがC# .aspやりたくないでござる
0412デフォルトの名無しさん
垢版 |
2021/08/24(火) 22:19:33.09ID:9Ou/8QBF
>>408
その通り、甘えだし、それでいいと思ったんだよ。
MSスタックで一通り用は足りるし、仕事もあるからね。
その当然の結果として会社の技術スタックもスキルセットも硬直化するけど、だからといって何の問題もないの。足りてるから。
それがMSの良さであり、怖さなんだよね。
0413デフォルトの名無しさん
垢版 |
2021/08/24(火) 22:44:31.84ID:SMXHl8SK
MS は基本、Windows を使わない。
Mac の仮想OS で、Linux を使う

それでWindowsでも、Linuxを使えるように、WSL を作った。
採用も、Linux技術者中心

Linux財団のCloud Native Computing Foundation(CNCF)の、
Kubernetes などのOSS が、最も社会に影響を与えた

例えば、Amazon の時価総額は、コロナ不況の株高で、80兆円から150兆円になった。
たぶんCNCF は、MSの時価総額の10倍以上の影響力がある

クラウド・Linuxサーバーの世界では、MSと言えども、小さな存在

MSはLinuxに含まれている。
逆に、LinuxはMSに含まれていない。
Linuxには全企業が含まれているから
0414デフォルトの名無しさん
垢版 |
2021/08/24(火) 23:16:03.40ID:GKX34T4/
>>413
君、友達はいるかい?
0415デフォルトの名無しさん
垢版 |
2021/08/24(火) 23:19:52.05ID:C+EhUo5k
俺もMSスタックで揃えるのは「始める」への一つの解だと思うよ。

敢えて転向と言うほどの事も無く、Webサーバ立てようと思ったら安く借りるならLinuxサーバになったりすぐに限界は来るかと。
その時に、スムーズにクロスプラットフォームで展開できるのは俺は強いと思う。
Goも良いけど、言語仕様がストイック過ぎる気もするし。

Javaは案外、環境作るの面倒くさくない?
0416デフォルトの名無しさん
垢版 |
2021/08/24(火) 23:43:03.75ID:HfXjMup/
まあ何をやるか次第だよね
個人的にはJavaやPython、あるいはCとか普通の回答になるけど、楽しいのでいいんじゃねw

別にMSでも構わないと思うよMSだとMSに固まりがちというのも本当だと思うけど
Javaは別にSpringで簡単だよ
0417デフォルトの名無しさん
垢版 |
2021/08/24(火) 23:47:01.38ID:ypeW/ZOf
俺もMSスタックで揃えるのは「ぶっちゃけ始める」への一つの解だと思うよ。
Javaは案外、ぶっちゃけるの面倒くさい。
0418デフォルトの名無しさん
垢版 |
2021/08/25(水) 00:10:55.16ID:Df4q/l5l
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
0419413
垢版 |
2021/08/25(水) 01:08:01.41ID:T8xCLAXo
MS には、Ruby みたいなスクリプト言語がないのが欠点。
C# になるから、本格的すぎる

と言って、PowerShell では、プログラミングできない。
ちょっとしたシェルスクリプトだから

ファイル操作・テキスト処理が簡単にできるのは、Ruby
0420414
垢版 |
2021/08/25(水) 01:18:56.25ID:cmGSywag
>>419
キミはまず、自分のレスが多くの人を不快にしてきている、ということを
想像できるようになろうか
0423デフォルトの名無しさん
垢版 |
2021/08/25(水) 02:55:08.91ID:ZsIr98ED
プログラム言語は人気が上がれば性能が上がる。
誰も使わなければデバッグもバージョンアップもされない。
流行り廃れに巻かれるのが楽で良い。
0425デフォルトの名無しさん
垢版 |
2021/08/25(水) 07:24:46.16ID:+jJGz93u
ことりんってandroidでしょ?
android開発のための言語でスタートしても
言語の制約よりデバイスや通信の制約が強く
初心者は純粋なプログラミング知識以外の知識を習得しなくちゃならなくて
学習負荷が滅茶高いんではないでしょうか?
0426デフォルトの名無しさん
垢版 |
2021/08/25(水) 07:39:18.64ID:7qxo/Rk2
今の時代はスマホアプリよりも、ウェブアプリ特にPWA(プログレッシブウェブアプリ)を作れば、ほとんどスマホアプリと同じ見た目&操作性になりますよ。
そしてこのPWAならばOS関係なく動きます。つまり、AndroidでもiPhoneでもWindowsでもMacでもLinuxでも動きます。
このPWAを作るために必要なプログラミング言語はJavaScriptだけです。
0428デフォルトの名無しさん
垢版 |
2021/08/25(水) 07:54:52.61ID:+jJGz93u
ことりんの学習環境って整ってるの?

初学者にはJSのようにあやふやな文法が少なく
テキストや動画、講座が整っていて
さらに中〜上級まで同一言語で学習できるような
そういう周辺環境が大切だと思う

その点、ことりんはどうなんでしょう?
0430デフォルトの名無しさん
垢版 |
2021/08/25(水) 08:23:04.76ID:s7eraWDT
>>429
嘘つき
他の類似言語と比較してJSがあやふやなんてありません
あなたがいつも嘘をついています
0432デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:17:07.12ID:8yGiroeZ
Javascriptならメモ帳とブラウザだけで遊べるからね。
OS選ばないし、なんならスマホでも出来る。
0433デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:23:04.22ID:3WiANXRZ
四の五の言わずに最初はJavaを始めてひたすらシューティングゲーム作ってりゃ良いんですよ
0434デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:24:22.81ID:C3Ug5Akp
>>386
小さなアプリケーションの事をアプレットって言います
0435デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:29:53.13ID:Dtor5XM5
>>433
Javaなんて今さら学んでもJava土方になるくらい
Javaがカバーしていた範囲のうち良級分野はRust採用へ着実に進んでいるし
0436デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:53:37.35ID:7Vj+tCAb
営業の方がマシだけど、
あそこに行くよりは、もう少し技術力を高めた方が・・・・・。
0437デフォルトの名無しさん
垢版 |
2021/08/25(水) 09:54:11.68ID:sbqIoEL4
>>430
あやふやっていうのは表現が間違ってましね
言い換えるなら、ルーズって印象です
あくまで一初心者の印象ね

new に関しても
new func()とnew func
new Object()とnew Objectが等価とか
new func()とObject.create(new func)は等価で
new func()とnew Object(new fun())は等価じゃないけど
実際の動きは同じとか
なぜそんな言語設計にしてるか分からんけど
なんかガバガバな印象が拭えない

JSは便利だしブラウザ環境ならオンリーワンだし
JSが良い言語なのは議論の余地なしだけど
ガバガバ感を感じてしまうのは悪いことなのか?
僕は初心者なので、あくまで初心者としての意見として
0438デフォルトの名無しさん
垢版 |
2021/08/25(水) 10:06:37.51ID:ZUGejDzL
>>437
それは他の言語で余計なことを学んでるからJavaScriptに馴染めない人の話だな
プログラミング言語を学ぶのが初めての人間には当てはまらない

書いてる内容はプログラミング言語初心者にとっても
JavaScript初心者にとっても気にする必要のないどうでもいい内容だけど
0439デフォルトの名無しさん
垢版 |
2021/08/25(水) 10:13:11.83ID:sbqIoEL4
ま、好き好きだね、動的型付け言語は
どれもみな基本的にルーズで好きになれない
初心者としては
0440デフォルトの名無しさん
垢版 |
2021/08/25(水) 10:15:44.91ID:UFjFC7tD
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
0441デフォルトの名無しさん
垢版 |
2021/08/25(水) 11:20:29.40ID:IkW3KzHX
ぶっちゃけ目的・環境がノーヒントだとリスク回避でJSを出さざるを得ない
後出しで「〇〇出来ないんですか?」「〇〇で動かないんですか?」
とか言われると腹立つもん
0442デフォルトの名無しさん
垢版 |
2021/08/25(水) 12:29:50.10ID:xJ7SxjZ5
>>439
ならば強い静的型付け言語であり生存期間に所有権と借用まで明確なRust があなたに最も適した言語となります
0443413
垢版 |
2021/08/25(水) 12:34:08.05ID:T8xCLAXo
JavaScript で、a, b を答えられるか?
Ruby なら、エラーになる

a = "1" + 2 + 3
b = 1 + 2 + "5"
0444デフォルトの名無しさん
垢版 |
2021/08/25(水) 12:40:40.52ID:m4JEedQe
>>415
> Javaは案外、環境作るの面倒くさくない?
それは Java 派であっても本当にそう思う。
かといって .NET 環境が楽だという話でもない。

>>430
「あやふやに(も)書ける言語」もあれば、
「あやふやには書かせてくれない言語」もある。
「すでに動いているコード」が大量にあると、
「こっちり書きなおす」ということも
業務上は重要だぞ。
Java には i++ とか --i とかいう記述も許されているが、
「stack へのポインタを、評価したあとに sizeof() ぶんだけ
インクリメントしている」とか、
「評価するしたあとに sizeof() ぶんだけデクリメントする」とか、
そういうのが解ってなさそうだったら問答無用で書き直す。
0445デフォルトの名無しさん
垢版 |
2021/08/25(水) 12:45:36.14ID:m4JEedQe
>>443
ゲロ吐きそうになるから、必要ならば我慢するが、
なるべく控えてほしい。
a.equals("123") == true
b:例外を投げたい。
0446デフォルトの名無しさん
垢版 |
2021/08/25(水) 12:52:05.06ID:m4JEedQe
JavaScript から始める奴は、
静的な強い型付けのある言語と
DOM の概念を学んで、
行儀作法をちゃんと身につけてから
JS を学んでほしいと思う。
0447デフォルトの名無しさん
垢版 |
2021/08/25(水) 13:02:56.06ID:CWbm8idM
>>446
もちろんJavaScriptとRustを学ぶのがベスト
JavaScriptの補完となるWebAssemly(Wasm)はRustで書くことが主流だからこの2つは組み合わせも良い
0449Mb
垢版 |
2021/08/25(水) 14:44:58.72ID:m4JEedQe
>>447
> a = "1" + 2 + 3;
Storing a = "1" + 2 + 3;
だったら、Java の printf の引数としておかしくはないように思う。
ただ、
int b = 1 + 2 + "5";
だと、「なんかしら LISP 系の言語の話なの?」と思うんだけど。
「FORTRAN 60 は型宣言をしなくても
I、J、K、L、M、N で始まる変数はデフォルトで
整数型とかいったら、「えー、ダッサーい」「そんなのカッコ悪ぅーい」
「信じらんない!」「どこのジジイ?!」とか女子学生に言われそうで、
「えー? いまどきそんな言語なんてあるのぉ〜?」と言われそうだ。
「花嫁学校」には二種類あって、
「ブライダル・スクール」は「良妻賢母」としての教養を身につける学校で、
「フィニッシュ・スクール」は社会人としての教養を身につける学校
なんだよね。
このスレには風俗嬢に期待するものと配偶者に対するものが
ごっちゃになっている人がいるように思いますが、
いかがでしょうか。
0450Mb
垢版 |
2021/08/25(水) 14:51:31.49ID:m4JEedQe
>>447
>>448
でしたら適切な文献とかサイトとかを挙げてくれませんか?
でないと、あたしが「お勧めの入門用書籍」とかを列挙して、
スレタイ用のテンプレにして、スレ乗っ取っちゃうぞ?
0451デフォルトの名無しさん
垢版 |
2021/08/25(水) 15:35:48.88ID:l5Xyqy5w
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0452デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:06:53.35ID:jcM5o81K
>>445.
動的型付けや自動キャストのプログラミング言語もあることを勉強しましょうね
特定の言語群しか知らずに他の言語に文句つけてばかりではいけません
0453デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:23:12.03ID:+yCR8Dkk
普通にjavaでいいやん
何でわかんないかな?kotlinが隆盛極めても則移行できるし
0455デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:41:55.63ID:ViADrBh4
そう言いながらあと30年は現役だろうなw
kotlinと比率が逆転とかはあるだろうが
0456Mb
垢版 |
2021/08/25(水) 16:44:40.24ID:m4JEedQe
>>452
> 動的型付けや自動キャストのプログラミング言語もあることを勉強しましょうね
だったら IDE の構造エディタで明示的に保管しろと言っている。
おまいの脳内補完にコンパイラがつきあわされているかもしれんが、
同じプロジェクトを張っているメンバーがおまいのまきぞえを
喰らう理由は何一つない。
オムツも取れてない奴に使わせる言語と、
それで飯食ってる人間が同じ言語使えるわけがねーだろ。
0458デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:50:36.37ID:Ssy9CxDw
大規模改修や新規案件の機会などにJavaを捨ててRust採用するケースが増えてるよね。>>367のように。
言語機能面から速さまでJavaはあらゆる点で負けているから、ゆっくりと滅びていくのではないかな。
0459デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:51:22.96ID:ukn26ek9
2000年代前半まではCOBOLでええやんって人たちもそれなりにいたんだよねー
今のJavaと同じで
0460Mb
垢版 |
2021/08/25(水) 16:53:29.27ID:m4JEedQe
>>455
> そう言いながらあと30年は現役だろうなw
に関しては、「それはそれで勘弁してほしい」とも
思うのだが、Java もなんでもかんでも取りこみすぎて
「田舎の老舗温泉旅館じゃねーんだから、建て増し建て増しが
過ぎて(消防法上の)安全が確保できてねーんじゃねぇか?」という
懸念がないでもない。
別館とか新館とかは建ててもいいと思うぞ。
そのときは LOOP-UNTIL-DO-REPEAT 構文を
うまくサポートしてくれ。
0461デフォルトの名無しさん
垢版 |
2021/08/25(水) 16:56:01.31ID:VgRrM6Oo
>>456
様々なタイプの言語を扱えない貴方の負け
数値と数字の文字列が同一視されるケースもある
貴方はシェルスクリプトすら書いたことがないIT土方なのだろう
0462デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:15:05.83ID:kP38/bs4
Javaは全然古くならないし
むしろ出たすぐのころのほうが新しかった
ジェネリクスすら要らんと思ってる
いろんな言語触ったけど何週か回ってやっぱJavaは嫌いにならない
C#は颯爽とプロパティひっさげてドヤって出てきた時からダサいと思ってる
Javaはアクセッサをわざわざ自前でいちいち書かなきゃいけないとこがイケてる
0463Mb
垢版 |
2021/08/25(水) 17:15:15.13ID:m4JEedQe
>>459
> 2000年代前半まではCOBOLでええやんって人たちもそれなりにいたんだよねー
「言語の世代論」っていうのを理解していなさそうだから言っておくけど、
それぞれの世代は、背負っているものが違うのよ。
「COBOL が古くて Java がその後で、今はその後の時代だ」とか思ってると、
電算業界のゴミになっちゃうかもよ?
Java は第三世代の終わりで、FORTH は(概念的にはだけど)
第二世代と第四世代の橋渡しを目指していて、
SmallTalk 80 が第三世代という意味で Java より第三世代寄りで
Ada はどのあたりだろう?とかいった世界観は
身につけておいてほしいな。
0464デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:26:25.45ID:xNPMbXaI
>>462
ジェネリクスを不要と言ってる時点で化石時代のプログラマーだな
Javaではジェネリクスの利用に制限と限界があるから本当の恩恵に授かったことがないのだろう
時代遅れのJavaにしがみつくしかあるまい
0466デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:33:09.51ID:kP38/bs4
>>464
そっすかw
でも分かる人には分かると思うけどな
C++やっててJava出てきたときのスタイリッシュさよ
0467デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:43:26.40ID:a85RRTNO
>>466
たしかにJavaが出てきたときはスタイリッシュだと感じた
ただ、基本型とかジェネリクスとかプロパティのようなJavaが妥協した(うまく設計できなかた)部分は後発の言語がうまく対応した
後発の言語の踏み台になった感じがする
0468デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:44:24.46ID:E2VIchyL
>>466
それならば更に先へRustに進むともっと多様な感動が体験できるでしょう
0469デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:44:36.43ID:7Vj+tCAb
すべての文法を覚えなくても、
問題は全て解決できると思うが、
これを言ってはダメだよな。
0470デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:48:32.24ID:kP38/bs4
>>467
まさにそれ
踏まれちゃってる哀れみを考慮しての再評価って姿勢もありけり
当初はOOPLとしてはスッキリしててアホに迎合した感じも少なくよかった

>>468
Rustはいいと思うけどあれC++やって苦しんだ人しか嬉しくないやろw
いきなりあれ行っても書きにくい不自由な難しい言語でしかないでしょスレタイ的に
0472デフォルトの名無しさん
垢版 |
2021/08/25(水) 17:58:29.39ID:/kDg/AG8
>>470
RustはC++方面からの移行とJava方面からの移行の両分野の需要を取り込んでいますね
メモリ安全性を保証しつつC++並の速さを出しつつモダンなプログラミング言語の良い点を最初から洗練して取り入れているからです
そして現実にJavaからRustへの移行>>367が起きていますよ
0473デフォルトの名無しさん
垢版 |
2021/08/25(水) 18:41:59.99ID:l5Xyqy5w
JSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
0475デフォルトの名無しさん
垢版 |
2021/08/25(水) 19:25:49.29ID:cVNAKVFB
>>472
それは相対的でもあるのよ。
例えば動的な型付け言語であるPythonやJavaScriptしか知らない人から見ると、静的な型付け言語はあなたがおっしゃる「書きにくい不自由な難しい言語」
そして静的な型付け言語の中でも弱い型付け言語であるCから見れば、強い型付け言語のJavaなどは同じように感じるでしょう
じゃあJavaは堅苦しく不自由で不便になったのでしょうか?違いますよね。むしろ強力で便利になっていますよね。
同じようにJavaよりもRustは強力で便利な言語となっているのです。
0476デフォルトの名無しさん
垢版 |
2021/08/25(水) 19:55:23.46ID:sdRC5Lrg
>>475
その理屈はおかしい
動的型でも型エラーは生じるが、GC言語でメモリの開放漏れは生じない
0477Mb
垢版 |
2021/08/25(水) 20:35:01.33ID:m4JEedQe
>>476
第四世代言語だと、(おおむね)参照カウンタが 0 になったときに
メモリを解放してくれるんだが、
そのあたりを理解していない厨房もいるんだよ。
そのあたりは生温かい視線で見てやってくれ。
つーても、(MicoroSoft 系の)C の alloc & free は、
ポインタで直接で指しているので、ハンドルで指して
参照で保護されている Mac と違って危険だったという
話はしておこうか。
だから C# とか Swift とかいった言語が生まれたわけだが、
そのあたりの事情についても、
若い方々には勉強しておいてほしいと思う。
0478470
垢版 |
2021/08/25(水) 20:37:34.87ID:kP38/bs4
>>475
> あなたがおっしゃる「書きにくい不自由な難しい言語」

横からごめんね
それを言ったのは俺であって彼ではないでしょ
文脈が混乱してたら悪いから一応指摘しとくね
0479Mb
垢版 |
2021/08/25(水) 20:42:28.85ID:m4JEedQe
>>475
>>476
そうだな。
キャストしたらバイト列でしかないわけで、
「そのバイト列がどこにあるか」と
「用が済んだら、どうやってシステムに『解放していいよ』と伝えるか」が重要だ。
(呼出し元が、「まだ持っていたい」と思ってるかもしれん)
Java の「参照」という概念は、そのあたりまで配慮しているので
鬱陶しくはあるが作法は踏襲しておく価値があると思う。
0480デフォルトの名無しさん
垢版 |
2021/08/25(水) 20:51:36.89ID:KkyjcpJi
いわゆる業務システムのJavaの9割9分はRustには移行しねーよ
GC言語で不都合ないから

KafkaやLuceneのようなシステムプログラミング用途でのJavaは減ってくだろうけどね
0481デフォルトの名無しさん
垢版 |
2021/08/25(水) 20:53:02.01ID:3NpgLUIb
>>476
じゃあCG無しでメモリ安全性を論文で保証できているRustが最強プログラミング言語となるね
0484デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:09:41.46ID:a2Q0srfT
Rustはメモリ安全性保証だけでなく、
純粋にプログラミングしやすい点が大きい。
後発言語なだけあって、既存言語での問題点や無理な拡張などを最初から解決している。
0485デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:11:43.58ID:hE8G9AyZ
Javaの元々は世界中の家電製品に組み込まれる事を想定されていたものなので
その他の言語で今後世界的に家電製品に組み込まれる予定の言語はなんですか?
0486デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:25:16.53ID:IJSrzUGa
>>484
Rustは所有権とか参照とか、さすがに初心者には厳しいんじゃないかなあ
最初はjava系ならkotlin、ms系ならC#が無難だと思うな

kotlinにはAndroidStudio、C#にはVisualStudioがあることも大きい
0487Mb
垢版 |
2021/08/25(水) 21:32:26.30ID:m4JEedQe
第一世代言語は、
まだコンピュータ・リソースが貴重だった時代で、
プログラミング・ツールのいうのがなかった時代。
オン・オフやニモウニック(ニモニック)の頃。
第二世代言語は、
プログラミング・ツールの黎明期。アセンブラとかの時代。
いわゆる「低級言語」の時代。
第三世代言語言語は、
「高級言語」の時代で、いわゆる「プログラミング言語」の多くが
スタートした時代。当時は C 言語は「超高級マクロアセンブラ」と
呼ばれて、「二・五世代言語」って呼ばれてたんだよね。
第四世代は、「目的別用語」「業務別言語」と云われた時代。
医療系データベース用言語 MUMPS、Codd 型の RDMS に特化した
SQL、制禦用に特化した FORSE(「FOURSE(第四世代)」と
名づけようとしたら、OS の文字調の制約に引っかかった)、
文字列処理用に特化した SNOBOL、システム・ダイナミクスの
シミュレーション言語 DYNAMO など、わりと百花繚乱の時代。
Java はそういう時代の総括みたいな立ち位置なので、
そういった言語を移植するには向いている。
で、「第五世代」。「新世代コンピュータ開発プロジェクト」と
いうのがあって、「Prolog か Lisp か」という論争があった。
「真に汎用の言語とは」という話であって、いまだに結着は
ついていない。
3.0世代の言語で育ったひともけっこういらっしゃるようなので
このスレはとても楽しいのだが、ジャリ(小さいくせに音が大きい)や
ガキ(クレクレ君)が多いので、年寄り世代は丁寧に弔って
成仏させてほしいと思う。
0488Mb
垢版 |
2021/08/25(水) 21:36:57.18ID:m4JEedQe
>>485
「BTRON」で検索してみると、
自分がどれだけ「純粋まっすぐ君」なのかが
理解できると思う。
そのあたりは政治の話だ。
0489デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:37:59.94ID:8vx3RJ8Z
>>485
家電含めて組み込み分野で一番使われているのはC言語と次いでC++
当然GCない方が有利でランタイムなど限りなくゼロに近いほうが有利
Rustはこの分野でも注目されている
0490デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:43:11.31ID:m4JEedQe
>>485
> その他の言語で今後世界的に家電製品に組み込まれる予定の言語はなんですか?
フェアチャイルドの F-8 かザイログの Z-80 のアセンブラ。
F-8 はミシンや自販機に使われていると思うし、
Z-80 は昔のコンピュータゲーム(「スペース・インベーダー」など)や
パチンコ台で使われているはずだ。
0491デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:45:59.78ID:m4JEedQe
>>489
え? C なんか使わせてもらえるのか?
どこの職場か教えてくれ。
0492デフォルトの名無しさん
垢版 |
2021/08/25(水) 21:48:18.52ID:ENQvEefU
>>464
Javaのジェネリクスはコンパイルしたら型情報が消えるからインチキじゃん、と思っていたけど
TypeScriptを見てなるほどこういうことだったのかと得心した。
0493デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:01:46.04ID:kLiZTzHG
>>488
ありがとうございますセキュリティの話ですね
けどBTRONを始めようとは思わないです

>>489
結局C かC++って事なんですかね
Rustは家電製品に使われそうなのかどうかよくわからない

>>490> フェアチャイルドの F-8 かザイログの Z-80 のアセンブラ
初めて聞きました 昔のというからには
ぶっちゃけこれから始めようとする言語では無さそう
0494デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:04:40.74ID:+jJGz93u
ここは初心者がプログラミングを始めるときに
どの言語がいいのかをアドバイスする板じゃないのか?
0496デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:12:30.47ID:UOT8+4Ck
>>486
環境構築が容易で今後の糧になりそうなら
> kotlinにはAndroidStudio、C#にはVisualStudioがあることも大きい
って事でしょうか?
スマホのシェア7割はAndroidなのでKotlinかな・・
AIとか機械学習と相性良さそうなのはC#のほうかな・・
0497デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:20:12.48ID:O3u3s2Wu
>>491
組み込みは世界がピンキリで広いから、特殊な環境から特殊な文化まで色々あって言語バラエティはあれど、昔からのC言語で驚くとはどんな特殊な世界にいたんだよ。w
組み込みOSでシェアトップとなったLinux自体もCで書かれてるしな。
Googleを中心にLinuxやAndroidのC言語を少しずつRustへ置き換えしていこうという動きが着実に諸問題を解決しつつあるから、RustとCのハイブリッドの時代が来るのかもね。
0498デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:39:03.80ID:l35cQLT9
すみません家電製品分野というか
今の日本の家電がどうしようもなく使いにくくてイライラするので
自分仕様に書き換えたいとか単純機能化したい目的として
組込みというかオリジナルのデバイスの開発をしてみたいのです
現品の改造はそりゃ違法だろうし
オリジナルの自作スイッチや工作ボタンを作って
USBとかBluetooth等でパソコンやスマホに入力したり別付けのコントローラーとして使う為には
何言語で開発するのでしようか?
0499デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:45:18.72ID:IJSrzUGa
>>496
kotlinやC#を学習することが、今後の糧になるとは言えない
今後のことは誰にもわからないから

ただ学習するのにkotlinとC#は環境を用意するのは簡単だということ
環境構築は結構面倒なので、そういう手間が省けて、プログラムの学習がはかどるという意味では
「今後の糧」になるかもしれない。
0500デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:45:31.14ID:P0tVbVoR
>>498
速度やリアルタイム性などの要求条件とメモリなどのリソース条件とデバイス類アクセス仕様次第
緩い環境なら任意のプログラミング言語がOKとなりうる
厳しい環境ならばC/C++/Rust限定となりうる
0501デフォルトの名無しさん
垢版 |
2021/08/25(水) 22:47:06.14ID:l5Xyqy5w
JSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
0503デフォルトの名無しさん
垢版 |
2021/08/25(水) 23:14:19.18ID:Ggn69Tsy
>>499
そうですか、両スタジオともインストールして書いてみて
自分のプログラミングスタイルにあったものにしたいと思います
ありがとうございました。
0504デフォルトの名無しさん
垢版 |
2021/08/25(水) 23:15:44.81ID:NpK16A9Z
Androidスマホアプリ目当てにKotlinやるのだったら
Android上ではPWA(ウェブアプリ)が大半のスマホアプリの機能をカバーできるまでになっているので
まずはJavaScriptを学んでPWA(ウェブアプリ)で作っていくのが手広い知識と範囲を学んでいけると思う
その上でPWAではどうしても無理な分野もスマホアプリ作りたいとなった場合にそれからKotlinを学ぶという手順がおすすめ
0506デフォルトの名無しさん
垢版 |
2021/08/25(水) 23:29:22.77ID:J3cCAWFA
>>500
ゴメン素人なのでもっと簡単なやつで
赤外線リモコンのプログラミングとか
中華製のスマホVR用Bluetoothコントローラーの入力をAndroid studioで認識してプログラミングするとかの方法が
具体的に知りたい
0508デフォルトの名無しさん
垢版 |
2021/08/26(木) 00:16:06.04ID:JCuD7g6E
>>493
そういう従来CかC++しか無理だった分野にも対応しているのがRust
CとC++とは異なりRustはメモリ安全性が論理的に担保されるためセキュリティに敏感なところから順次採用されていってるところ
0510デフォルトの名無しさん
垢版 |
2021/08/26(木) 08:15:44.02ID:g0f/jQiA
・Javaの権利を主張する企業がいるので
・Appleの真似
・盛り下がっていたAndroid開発コミュニティを盛り上げるため

プログラマ視点の話であればもう公式がkotlinなのでコピペするならjavaよりkotlin
言語選択というのは公式がサポートしてて世の中のみんなが使っててコピペしやすくトラブル時に助けを求めやすいのが大事
0512デフォルトの名無しさん
垢版 |
2021/08/26(木) 10:02:08.23ID:gBIKrMAb
kotlinってJDK使ってるんじゃなかったっけ?
javaないとkotlin動かないんじゃないの?
0513デフォルトの名無しさん
垢版 |
2021/08/26(木) 10:43:48.03ID:4fOoDR4L
>>512
「JDK」というのは「Java の開発キット」なので、実行時には不必要。
実行時に必要なのは「JVM」(Java 仮想機械)なので実行時に必要。
kotlin は開発環境なので、JVM のコードが吐かれる。
「java」というコマンドは JVM のエミュレータだから実行環境。
0514デフォルトの名無しさん
垢版 |
2021/08/26(木) 10:52:33.13ID:4fOoDR4L
>>506
工学社の別冊 I/O かなんかには出てそうだな。
I/O を愛読している友人知人に訊くといいかも。
0515デフォルトの名無しさん
垢版 |
2021/08/26(木) 11:16:03.43ID:4fOoDR4L
>>504
PWA は公開するのが面倒臭いからなぁ。
コンピュータ関係の学校とかに通ってて
Java なりなんなり web 環境で動く言語の勉強をしていて、
同じソースコード管理システムを使ってるんなら
同一の LAN 環境を使っている仲間がいるんなら、
まず自分のマシンに Tomcat 立てて仲間同士でいろいろ
やってみる(ただし、システム管理者にお伺いを立てること)のが
いいかも。
残念ながらリモートワークが推奨されているので
会社に集まること自体が減っているが(^_^!)。
VLAN とか使えばいけるのかね?
いずれにしても、スマホから利用できないという難はあるが。
0516デフォルトの名無しさん
垢版 |
2021/08/26(木) 11:38:01.09ID:8FSbrVd1
>>515
スマホから何が出来ないのかわからないが
もちろんPWA(プログレッシブ・ウェブ・アプリ)はブラウザさえあればどの環境からも使えるのでスマホアプリよりも強い
公開は普通のウェブサイトと同じだから無料ウェブサーバーでもサーバー借りても作っても何でもOK

話変わって
リモートワークは今のスマホはそのままVPN対応してるので問題なし
0517デフォルトの名無しさん
垢版 |
2021/08/26(木) 11:57:28.81ID:4fOoDR4L
>>516
> 公開は普通のウェブサイトと同じだから無料ウェブサーバーでも
> サーバー借りても作っても何でもOK
そこまでは知ってるが、動的なコンテンツが利用できる
サーバーを借りると、月額いくらかかるかが問題だ。
Tomcat と MySQL が動けば一応なんとかなるんだが。
自鯖立てると保守が面倒臭いんだよな。
ところで kotlin でJSP みたいなことってできるのかな?
文法を見た感じだと Java はフォーマルで kotlin はカジュアルな
感じだから、ビジネス向けのちょっと大規模な Web システムだと、
やっぱり Java になりそうに思うのだが。
0518デフォルトの名無しさん
垢版 |
2021/08/26(木) 12:02:10.34ID:4fOoDR4L
>>516
> リモートワークは今のスマホはそのままVPN対応してるので問題なし
なるほど、スマホでテザリングすれば VPN 利用と同じことになるわけだな?
0520デフォルトの名無しさん
垢版 |
2021/08/26(木) 12:29:40.18ID:L94yrynD
JSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
0521デフォルトの名無しさん
垢版 |
2021/08/26(木) 13:35:36.65ID:DsbSiaVG
>>517
バカなのか?
PWAを作るのにJSPは不要
ウェブについて初心者のようだからまずは基本的なことをベンしなさい
0522Mb
垢版 |
2021/08/26(木) 14:01:22.34ID:4fOoDR4L
>>517
心からありがとう。m(_ _)m

>>521
> PWAを作るのにJSPは不要
辞書(漢和辞典と国語辞典)くらい引け。
あと、作文の勉強はしておいていいし、
読解力は鍛えておいたほうがいい。
学生なのか社会人なのか知らんが、そういった社会的な
スキルは身につけておいたほうがいいぞ?
もちろん JSP を使わないサーバーはあるし、
実際に php や python で構築されている web サーバーはあるのですが、
> バカなのか?
> ウェブについて初心者のようだからまずは基本的なことをベンしなさい
とか吠えてると、「プッ …(童貞だな)」とか
思われると思うんですが。
0523デフォルトの名無しさん
垢版 |
2021/08/26(木) 14:05:07.79ID:4fOoDR4L
>>521
竹形 誠司さんの本でも読んで浄化されてください。
0524デフォルトの名無しさん
垢版 |
2021/08/26(木) 14:06:07.53ID:uU2SgC6a
お前らそろそろ始めるのに良い言語の結論を出せよw
せめて自分が1番良いと思う言語を上げてからレスバしろ
0525デフォルトの名無しさん
垢版 |
2021/08/26(木) 14:19:46.27ID:HtrQ9Ccd
>>522
JSPが何なのか御存知ないようですが、
JSPはHTMLを生成するために使うものですよ。
つまりPWAにJSPは必要ないです。
0526Mb
垢版 |
2021/08/26(木) 14:19:56.90ID:4fOoDR4L
けっきょく、
1)kotlin から入って Java に向かう
2)Excel から入って MBA 方面に向かう
3)サンドボックス的な言語から始める
4)アセンブラ系の言語から始めて
制禦系に向かう
といった方向性はあると思うが、
(4)はけっこう地獄道ではあると思う。
しなくていい苦労は後進の方々には なるべくさせたくない。
いろいろと経験度の違い(馬鹿教師にJIS フローチャートを
叩きこまれたあげく、スパゲティ・キタナウンコマミーレを
無理やり喰わされたとかいったトラウマのある人もいるだろう。
半可通の素人が書くコードなんてそんなもんだ)もあるだろうから、
人それぞれの入り口があるだろうと思う。
0528デフォルトの名無しさん
垢版 |
2021/08/26(木) 14:27:43.56ID:4fOoDR4L
>>525
クライアント側には JSP だろうが何だろうが関係なし
サーバー側が何を使っているのかも関係なし
クライアントが HTML と JavaScript を使っているとすれば、
それはサーバー側が静的 Web コンテンツとして提供しているという
話ジャマイカ?
0530デフォルトの名無しさん
垢版 |
2021/08/26(木) 14:40:47.06ID:uOtXDT+5
>>528
Webサーバーがコンテンツを動的に提供するか静的に提供するかは、そのPWAのアプリの種類やシステム設計でどちらの場合もありえる
しかし通常はWebサーバー側でHTMLを生成することはない
HTMLなんかを生成されても欲しい人がいないので無意味な行為
0531デフォルトの名無しさん
垢版 |
2021/08/26(木) 15:20:51.59ID:4fOoDR4L
>>530
なぁ。http サーバー(Apache)とかは
静的な HTML のソースと JavaScript のコード
(と、CSS)を置いてあって、ただ提供しているという
点では「生成することはない 」 と謂えるが、
Tomcat 他のコンテンツサーバーは、まさに
「生成して、クライアントに投げ返す」のが仕事なんだが、
そのあたりのカラクリって、そんなに理解されてないのか?
0532デフォルトの名無しさん
垢版 |
2021/08/26(木) 15:34:07.52ID:D7ysxEdC
>>531
あまりに初心者すぎる
サーバーが毎回HTMLを生成して誰が使うの?
ブラウザ上で動いているPWAとしては毎回HTMLなんかがサーバーから送られてきても困る
0533デフォルトの名無しさん
垢版 |
2021/08/26(木) 15:55:26.04ID:nwmpVm2B
お前ら…

【おすすめ言語】

【おすすめの理由】

【何が出来るようになるのか】


このテンプレにそってレスしてくれるか?
0534デフォルトの名無しさん
垢版 |
2021/08/26(木) 16:05:52.97ID:mCQoQh94
【おすすめ言語】
ruby
【おすすめの理由】
メソッドが豊富
メソッドチェーンで流れるように記述できる
豊富なメソッドとメソッドチェーン使用でラクにコンパクトに書ける
他の言語にうつったときも「rubyならもっとスッキリ書けた」という基準を持てることで
非効率な書き方をただただむやみに受け入れて苦しむことがない
少なくとも必要以上にグダグダ書かされる状態をおかしいと判断できる
【何が出来るようになるのか】
テキスト処理、任意精度での計算、ちょっとした日常使いのツールを自分で書けるようになる
0535デフォルトの名無しさん
垢版 |
2021/08/26(木) 16:28:06.04ID:rzqxbhJI
>>534
なるほど!Rustをやればいいんですね!
0536デフォルトの名無しさん
垢版 |
2021/08/26(木) 16:29:05.96ID:60vT4/d3
【おすすめ言語】
Rust
【おすすめの理由】
メソッドが豊富
メソッドチェーンで流れるように記述できる
のは当然としてC/C++並の高速性
もちろんGCなしでランタイム類ゼロも可能
C/C++とは異なりメモリ安全性を保証できることが論文で証明されている
【何が出来るようになるのか】
何でも出来る
OSや組み込み等から各種サーバー類
もちろんちよっとしちょっとした日常的使いのツールもテキスト処理も何でも可能
0539デフォルトの名無しさん
垢版 |
2021/08/26(木) 17:04:13.76ID:4fOoDR4L
>>533
>【おすすめ言語】
>【おすすめの理由】
>【何が出来るようになるのか】
に、「おすすめ対象」を加えてもらえると喜ばしい。
例)
【おすすめ対象】
高校生以上の工学系の学生
【おすすめ言語】
カシオのプログラマブル電卓の言語
【おすすめの理由】
すぐ使える。SHARP の BASIC 電卓も、土木・建築分野では活用されて
いるらしいので、それはそれでいいと思う。
【何が出来るようになるのか】
東京都スキー連盟主催のスキー大会で、
計時計算員とポイント計算員として参加したことがある。
たしか高校生のころだったかな?
高松宮様がいらっしゃっていて、
成績の掲示板速報をパネルに貼っていたときに?
「『高松宮』って誰だ?」と友人に訊かれて、
「今上天皇陛下の弟君だよ」と言ったら、
宮様が胡乱な表情でパネルの向こう側から覗いていた経験があった。
0540デフォルトの名無しさん
垢版 |
2021/08/26(木) 17:08:58.15ID:wPxTUsxL
そうですよね、歳をとってもいつまでも謙虚に学び続けたいですよね
さぁ続いては本日のあわしろさんのコーナーです
0541デフォルトの名無しさん
垢版 |
2021/08/26(木) 17:11:47.41ID:4fOoDR4L
>>538
> 【習得してる言語】
は、「業務で経験している言語」とか
「アマチュアの頃にいちおう経験したけど業務の経験に役立っている」とか
いろいろあるので、
【諸体験の言語】(プログラマ童貞を切った体験)について kwsk。
0544デフォルトの名無しさん
垢版 |
2021/08/26(木) 18:49:18.19ID:4fOoDR4L
119 :仕様書無しさん:2005/11/14(月) 08:46:02
あなたのシステムのともし火は、ソースコードの可読性である。
ソースコードが理解しやすければ、あなたのシステムの動作も確かであるが、
コードが汚れていれば、システムの動作も怪しくなる。
だから、ソースコードの可読性が保たれているかどうか調べなさい。
コードの全体が明瞭で、少しも怪しげなコードがなければ、ちょうど、
ともし火がその輝きであなたを照らすときのように、システムは輝いている。
0545デフォルトの名無しさん
垢版 |
2021/08/26(木) 18:55:23.78ID:emD1hSr2
RubyとかJSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
0546デフォルトの名無しさん
垢版 |
2021/08/26(木) 18:56:49.82ID:4fOoDR4L
410 :仕様書無しさん:2010/01/05(火) 00:54:56
>>43
"ぬるぽしてはならない"と言われたのを、あなたがたは聞いています。
しかし、わたしはあなたがたに言います。
誰でも、投げられる可能性のある例外を
キャッチするのをサボったメソッドをコードした者は、
すでに心の中でぬるぽを犯したのです。
0547デフォルトの名無しさん
垢版 |
2021/08/26(木) 19:31:38.56ID:Moh7Jd9/
【おすすめ言語】Haskell。
【おすすめの理由】あわしろ氏が絶賛。
【何が出来るようになるのか】数学志向プログラミング。
0548デフォルトの名無しさん
垢版 |
2021/08/26(木) 19:33:29.37ID:Moh7Jd9/
手続きを書き連ねる旧式のプログラミングスタイルを捨てるべきです。
0549デフォルトの名無しさん
垢版 |
2021/08/26(木) 20:02:57.75ID:4fOoDR4L
>>547
> 【おすすめの理由】あわしろ氏が絶賛。
できれば自分の言葉で語ってくれ。
0550デフォルトの名無しさん
垢版 |
2021/08/26(木) 20:06:45.49ID:2LUAWY/y
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も学ぶ

だから、AWSのくろかわこうへいのサロンにも、入る必要がある

基本、食べチョクみたいな若い娘が、1人で起業する際、
Rails, Bootstrap, Heroku が簡単。
ただし、食べチョクは、AWS です

KENTA, 2021/3
女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A

Heroku, S3, 決済はStripe, Docker
0551デフォルトの名無しさん
垢版 |
2021/08/26(木) 20:13:04.71ID:hAgd7ZN0
>メソッドチェーンで流れるように記述できる

これネタなのか本気なのか、見るたびに笑ってしまう。
0552デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:18:58.28ID:wxuWg2KR
【おすすめ言語】JavaScript
【おすすめの理由】
Windowsパソコンならメモ帳とブラウザがデフォルトで
今すぐに開発と即実行可能。必要に応じてIDEにすれば良い
【何が出来るようになるのか】
スマホでもJSAnywhere等をインストールすれば
親指ひとつでthree.jsやp5.js を使って3Dゲーム開発も出来るようになる
https://threejs.org/examples/webgl_interactive_voxelpainter.html
https://i.imgur.com/CerH8PS.gif
0553デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:32:06.08ID:hOOswucd
>>552
コード補完やコードインスペクタ、サジェスト機能のないエディタは、
俺的にはお勧めできないなあ
0554デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:47:33.87ID:O2MH3VSm
>>553
お勧めはどれ?
【初心者向け!】スマホでプログラミングを勉強できるアプリ9選
https://eng-entrance.com/smartphone-programming
2 スマホでプログラミングを勉強できるアプリやサイト 9選
2.1 Pocket Programming
2.2 SwiftBites
2.3 Udemy
2.4 schoo
2.5 Udacity
2.6 lrn
2.7 Progate
2.8 ドットインストール
2.9 CODEPREP
0555デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:51:57.55ID:6XyucKpc
>>553
そんなお節介エディタ使ったことないが開発仕事でも困らないぞ
本質が見えなくなるから初心者は絶対にそういうの避けるべきだ
0556デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:58:14.47ID:hOOswucd
>>554
PCでやったほうがいい
まあ、VisualStudioか、VSCodeか、InteliJあたりが最低限だな

>>555
お前が仕事で困るとか困らないとかは、初心者には関係ないことなので
0557デフォルトの名無しさん
垢版 |
2021/08/26(木) 21:58:18.16ID:mCQoQh94
javascriptは手っ取り早いのがいいよね
メモ帳とブラウザで遊ぶなんて最高じゃん
0558デフォルトの名無しさん
垢版 |
2021/08/26(木) 22:22:37.15ID:hOOswucd
俺的なお勧め

■STEP1 プログラムがどういうものなのかという学習
 →文字と数値の変換、日付の取り扱い、標準入出力、配列、ループ、条件分岐、文字処理などの学習
 →ttps://paiza.jp/works/mondai のチケット消費なしでできる問題集をすべて解くことが目的
・始めるまでの環境構築が簡単なほうがいい
 →やり始めまでがややこしいと挫折しやすい
・コード補完、入力間違いなどを指摘してくれるエディターでより効率的な学習
・コンパイルや実行が簡単に行える
 →いちいちコードをコピペ貼り付けや、読み込みとかは面倒

○インストールするだけで簡単に環境が作れるのが理想
・おすすめ
 →VisualStudioでC#
 →AndroidStudio/InteliJ IDEAでKotlin
0559デフォルトの名無しさん
垢版 |
2021/08/26(木) 22:23:23.69ID:hOOswucd
■STEP2 自分がプログラムで何をしたいか
 →STEP1で学習した基礎をもとに、次に自分が何を作りたいか
 →基本的な環境構築と、ttps://paiza.jp/works/mondaiを解けるようになることが目的

○自分で環境構築して開発環境を理解して学習する段階
・スマホアプリを作りたい
 →アップル系 C#でUnity、swift
 →Android系 C#でUnity、kotlin、Java
・Winアプリを作りたい
 →C++、C#
・Webアプリ、Webサービス系
 →C#(ASP.NET)
 →PHP
 →Spring Web MVC
・Webサイト
 →html、CSS、JavaScript、JQuery
・AI関連
 →Python
・Chrome拡張
 →JavaScript、JQuery
・データベース
 →SQL
・ネイティブコンパイル
 →C++、Rust
・その他好みに合わせて自由に選択
0560デフォルトの名無しさん
垢版 |
2021/08/26(木) 22:35:57.29ID:rA5Gflv2
Surface Goなんかでも十分開発に使えるよ。
デバッグ用のエミュはちょっと辛いけど。
スマホで無理をするより、タブレットを持ち歩いた方が楽。
0561デフォルトの名無しさん
垢版 |
2021/08/26(木) 22:41:57.70ID:SDdptEYr
知り合いにサーバ公開するだけならngrokがあるけど
チーム開発ならDockerで同一環境構築できるんだから基本不要
0562デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:12:27.17ID:6XyucKpc
>>556
初心者に統合開発環境をすすめるのは絶対にダメ
0564デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:15:54.24ID:hOOswucd
>>562
あなたのとてもUniqueな主張はわかったけど、ここはいわゆる初心者スレに準ずるスレだから、
いったいなんで駄目なのか理由を書いたほうが論理的なんじゃないかな?

俺にレスをするのなら、俺が書いた内容に対応したレスをする形で
0565デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:21:27.58ID:hOOswucd
>>563
普段はエディタなんて基本つかわんのですわ

プログラマならともかく、プログラマでなく、これからプログラマになろうする人が、一体どんな時に使うのやら。
Word?GoogleDriveのGoogleドキュメント?
0566Mb
垢版 |
2021/08/26(木) 23:23:27.56ID:4fOoDR4L
なんなんだろうな。
皆さんは「ローマ字かな変換」と「かな漢字変換」の間で、
そんなに困っているのかな?
キーボードを叩くのが、そんなに厭なのかな?
「functiom(函数)」は「fn」と書きたいし、
「String」は「str」と書きたいっていうのは解るんだけどさ、
いまどきの IDE の構造エディタって、けっこう面倒見がいいよ?
それとも、「静的で厳格な型付け」に、
そんなに嫌悪感があるのかな?
Java はクラシックで、ここで勧められているのはモード系の言語が
多いけれども、それって「反骨精神」とは別の話じゃないかと思う。
0569デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:37:32.32ID:4fOoDR4L
>>564
>絶対に
とか言っちゃうヒトは、「ポーラライゼーション(両極化)」
という症状が出ているので、「はいはいはい、お友達のいるところへ
行きましょうね〜」と誘導してあげるのが親切というもの。
心的なエネルギー(リビドー)が溜まっているので、
吐きださないと大人しくなりません。
「絶対に≡例外なく」とかいう話をすると、
「そういう意味で言ったんじゃない!!!」とかいって
キレる人だ。
プログラム技術板ではなく、メンヘラ板に誘導して差上げるのが
功徳だろうと思われます。
0571デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:44:58.17ID:4Jy1ex43
【ぶっちゃけ言語】
【ぶっちゃけの理由】
【何がぶっちゃけ出来るようになるのか】
0572デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:45:32.09ID:4fOoDR4L
>>568
つーか、まともな IDE だったらフツーに構造エディタがあるだろう。
昭和生まれのプログラマに謝れ!
>>565 みたいに、TECO とか EMACS とかを知らない馬鹿が
いたとしても、「昭和の根性論」とか言うのは失礼だ。
0573デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:47:01.38ID:74ekpmkr
IDE無しでは使えないような言語はその時点で初心者向きではない

10年やっててもIDEからしかビルドしたことがないやつとか平気でいるからな
0575デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:52:37.14ID:4fOoDR4L
【ぶっちゃけ言語】
N88 DISK BASIC
【ぶっちゃけの理由】
ラベルに対して GOTO でも GOSUB でもジャンプできるから。
【何がぶっちゃけ出来るようになるのか】
スパゲティ・コード・ア・ラ・ウンコマミーレとか
スパゲティ・コード・ア・ラ・クソマミーレとかが、
アセンブラを使わずに書ける。
0576デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:53:30.53ID:iDHhMgUC
メモ帳もデフォルトUTF8になってエンコーディング周りの問題が小さくなったから
昔みたいにメモ帳は絶対やめろって感じじゃなくなったわな
0577デフォルトの名無しさん
垢版 |
2021/08/26(木) 23:53:46.28ID:hAgd7ZN0
>>572
爺さんボケとるだろ。
今はそういう便利な道具が使えるのにあえてメモ帳なんかを勧めるのが根性論のようだと言ったわけなんだが。
0578デフォルトの名無しさん
垢版 |
2021/08/27(金) 00:01:47.53ID:TeiUhzzT
>>573
>>574
おまいらの糞コードとかキラキラ(=ゲロ)コードを始末しているのが
誰だと思っているんだ?
オムツも取れてない奴が何を言ってるんだ。
IDE は生産効率を上げるのと、ソースコード管理システムとの連携のために
使っている。
0579デフォルトの名無しさん
垢版 |
2021/08/27(金) 00:09:36.28ID:TeiUhzzT
>>577
ほう?
> 爺さんボケとるだろ。
は余計じゃないか?
0580デフォルトの名無しさん
垢版 |
2021/08/27(金) 00:15:42.19ID:g6Mj1wgZ
マシン語のモニタ画面を経験しておかないと。
昔は雑誌からダンプリストを入力したもんだ。

って、お爺ちゃんが言ってた。
0581デフォルトの名無しさん
垢版 |
2021/08/27(金) 02:42:07.71ID:osG/Eo9L
RubyとかJSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
0582デフォルトの名無しさん
垢版 |
2021/08/27(金) 02:51:30.75ID:7qiVyN8a
スウェーデンのような二流国家がくれる賞なんかどうでもいいわ
そもそもノーベルってダイナマイトで何万人を死に追いやった贖罪で始めた賞だろ
成金が、名誉欲しくて、ノーベル財団作ったわけで
0584デフォルトの名無しさん
垢版 |
2021/08/27(金) 09:35:53.88ID:chTjlDzG
手軽に始めてプログラミングの浅い部分を習得するのならjavascript、VBA(とにかく手軽)
プログラマーとして中級以上を目指すのならjava c# c++(システムなど大型案件実績の多い言語)
専門分野でプログラミングを使うのなら、その分野の参加人口の多い言語(AI、統計ならパイソン、ブラウザならJSなど)
それ以降は必要に応じてphp、ruby、typeS、ライブラリ、フレームワークなど
0585デフォルトの名無しさん
垢版 |
2021/08/27(金) 10:59:54.88ID:TeiUhzzT
>>580
「クレイーI」の設計者のシーモア・クレイは
イニシャルローダを暗記していて、
16進のキーボードで入力してみせたそうだ。
和田英一先生も和田ローダを暗記していたとか。
i4004 の設計者島正利さんは、
トグルスイッチでマシンコードを入力したというのを
NHKの『電子立国 日本の自叙伝』で再現していた。
「Drパソコン」の宮永義道さんは、ナショセミのSC/MP2 というチップで
最小構成のコンピュータを作り、「入力の単位はビットだから、スイッチが
いっこあればいいのだが、それだとタイミングを取るのが難しいので
泣く泣くスイッチを一個増やした」「出力は電線の端をつまんでビリッとくれば
1で、こなかったら0だが、豆電球をつけることにした」と雑誌『I/0』の記事に
書いていた。
なお、こういう「ビット列を入力する」(バイナリでマシンコードを
直接入力する)タイプの "言語" にも名前があって、
「オンオフ(on-off)」という。
0586デフォルトの名無しさん
垢版 |
2021/08/27(金) 11:05:42.23ID:TeiUhzzT
>>580
そういえば、M6809 のダンプが読める人がいたなぁ
(人間逆アセンブラだ)。
「Z80 はどうだ?」「命令セットが直交していないから難しい」とか。
0587デフォルトの名無しさん
垢版 |
2021/08/27(金) 11:21:09.84ID:TeiUhzzT
最近の構造化言語だと、
デッサンがわりに疑似コードを書いて、
アイディアがまとまったところで IDE に移して、
エラーとワーニングを消してゆくという人も
たまにいる。
JIS フローチャートなんかを使うよりよっぽどマシ。
オフジェクト志向だったらオブジェクト図から描くのも
ひとつの手。
ALGOL だって、もとはコンピュータ上で動かすための
言語じゃなかったわけだから、そういうアプローチも
あっていいと思う。
0588デフォルトの名無しさん
垢版 |
2021/08/27(金) 12:48:53.62ID:lxI1gnNr
メモ帳だとタイプミスを指摘してくれないので
初心者には大変だと思うけどな
0589デフォルトの名無しさん
垢版 |
2021/08/27(金) 12:54:00.17ID:kJPpYKj7
>>586
もう仕事でクロス開発でもしてた?
セルフ開発一択なホビーストは自ずと覚えざるえなかったよ
実用上は頻発する命令だけで十分でイデオムもあってそこまで苦ではなかった
0592デフォルトの名無しさん
垢版 |
2021/08/27(金) 13:08:31.09ID:IH+pCJH5
エディタがタイプミスを指摘してくれなくてもエラーメッセージから原因がすぐ分かる言語なら問題ないんだよ

最初はたくさんエラーを出してエラーメッセージの見方や調べ方、ソースとの対応関係を学ぶのも大事なこと

もちろん生産性は良くないからしばらくしたらメモ帳は卒業してもう少し高機能なエディタやREPLを使えばいい
0593デフォルトの名無しさん
垢版 |
2021/08/27(金) 13:35:11.12ID:eJGjxOi5
タイプミスはGithub Actionで実行される静的コード解析に任せるといいんだよ〜ん
0594デフォルトの名無しさん
垢版 |
2021/08/27(金) 13:43:44.30ID:CsPb9DvB
>>591
その前に何を何のために始めるのか明確にしろ
0596デフォルトの名無しさん
垢版 |
2021/08/27(金) 14:08:49.00ID:eJGjxOi5
>>595
チーム開発だとローカルで静的コード解析通さずにプルリク投げる香具師いるんだよ〜ん
0597デフォルトの名無しさん
垢版 |
2021/08/27(金) 14:45:34.80ID:UYLqr+ZZ
RubyとかJSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0599デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:27:04.79ID:TeiUhzzT
>>594
昔は「ファイル渡し」が標準的で(ジョブコンとか
unix のフィルタとか awk とか)入力もファイルで出力も
ファイルだった(『ソフトウェア作法』とかの時代だな)。
現在は GUI が全盛なのでイベント駆動が主流だ。
入出力という観点からいうと、(プログラミング言語ではなく
マークアップ言語なのだが)HTML と CSS から入って、
そこから JavaScript とかに入ってゆくというアプローチも
あると思う。
もっとも、言語処理系(コンパイラとかインタプリタとかいった、
自然言語処理系ではないシステム)の需要はそれなりにあるので、
そっち方面もアリかと思う。
0600デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:36:01.74ID:TeiUhzzT
>>598
JavaScript(+HTML+CSS)
EXCEL マクロ
Java

0 から始めたいんだったら、
純 LISP とか仮想機械のアセンブラとか。
そういう世界を知っている年寄りが
まだ現役でやってらっしゃったりするのだが、
「昨今の言語はつまらん!」とか思っていらっしゃったりする。
新型コロナも長引きそうなので、門を敲(たた)いたら
入門させてくれるかも知れんぞ?
0601デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:46:01.85ID:+wfLaYar
>>592
エディタとコンパイラってのがシンプルでいいんよね
最近じゃあideoneみたいなオンラインコンパイラ?も便利で
あれだとブラウザだけで済むからもっともっとシンプル
0603デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:58:00.43ID:6epxU4jC
初心者は混乱を防ぐためにもIDEを使わないのがベストかもね
シンプルにIDEを使わなくてもプログラム作成も実行もできることをまずは会得
その方が混乱せずに済むね
0604デフォルトの名無しさん
垢版 |
2021/08/27(金) 16:45:34.80ID:JsPbXdtm
>>598
>>597は触れてはいけない部類
0605デフォルトの名無しさん
垢版 |
2021/08/27(金) 17:04:35.35ID:JRRUhTVP
おめーらに聞きたいなだが
ぶっちゃけ関数型言語ってどうよ?
流行りそう?
おすすめある?
0607デフォルトの名無しさん
垢版 |
2021/08/27(金) 18:08:15.24ID:2exhmgn5
JavaScriptとかPHPとかよくおすすめされるから勉強したことあるけど、あれ使ってやりたいことなんてないから全然続かんかったわw
ウェブサイト作れますとか言われても、そもそもウェブサイトなんか作らんし、WordPress改造出来ますとか言われてもデフォでええやんとか思うし
あの辺の言語はウェブ系の仕事出来るようになりたいやつじゃないと意味ないよね?
0609デフォルトの名無しさん
垢版 |
2021/08/27(金) 18:23:38.99ID:6epxU4jC
>>607
例えばJavaScriptにはElectronというデスクトップフレームワークもあって
ウェブではなくデスクトップ(WindowsやMacやLinuxなど)上のアプリも作ることが出来ます
具体的には最も人気の開発者環境ツールであるVSCodeもこのElectronによりJavaScriptで出来ています
0611デフォルトの名無しさん
垢版 |
2021/08/27(金) 18:28:20.30ID:iUIyzu4p
>>603
> シンプルにIDEを使わなくてもプログラム作成も実行もできることをまずは会得
> その方が混乱せずに済むね
こんなんエラーばっかりで何の指摘もなく、どのようなメソッドがあるのかもわからんし
面倒だから2日ぐらいで諦めちゃうだろ

C#でtextboxとbutton設置して、入力したボタンおしたらalertでその文字が表示されるぐらいの
アクロバチックなことさせて興味を満たせてから、四則演算だよ
なんもわかってないな
0618デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:33:28.63ID:yde2MthE
>>607
Windowsでフリーソフト作りたいならC#かVB.NETだろ
ここにいる奴らはネットワークサービスを提供したい奴らばっかなのか?
0619デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:34:40.67ID:6epxU4jC
純粋関数型言語ではないけど
HaskellとScalaから色々なものを受け継いでいるRustはオススメ
0620デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:34:43.03ID:bOFxQvj+
>>607
PHPはともかくJavaScriptはWebを作るときだけじゃなくWebを利用するときにも使う
Webを利用しないやつなんていないからJS分からないやつはプログラマー的には中学英語できないやつと同じ扱い
0621デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:40:57.48ID:yde2MthE
>>620
IT土方だらけだから仕方ないのだろうがネットワークしか頭にないのか
音楽プレイヤーとかゲームとかいろいろあるだろうに
0622デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:41:11.71ID:RddKoclu
>>616
海の向こうではElixirが静かに盛り上がってきてるが全体から見れば少数派

関数型の概念的なところが学びたいだけならとりあえずHaskellのすごい本がいいんじゃね
0625デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:50:48.59ID:wZ/s0fRN
JSでネットワークもデスクトップも幅広く対応出来る
気に入らないなら先にヒントをくれ
0626デフォルトの名無しさん
垢版 |
2021/08/27(金) 19:57:22.48ID:JRRUhTVP
>>622
thx
概念自体は多少勉強してるし
どうせなら流行りそうな言語をマスターしたいと思ったけど
純粋関数型はまぁ流行らんよな
それ考えるとJavaですら関数型の要素は取り入れられてきてるし
あえてやらんでもいいか
Rustみたいなのに挑戦すべきなのかね
0627デフォルトの名無しさん
垢版 |
2021/08/27(金) 20:04:54.14ID:fJXZA34I
>>624
ワロタ
さすがにJavaScriptを理解してないだけあるなww
組み込みならともかく音楽プレーヤーやゲーム作るならJSの読み書きくらいはできないと相手にされないぞ
0628デフォルトの名無しさん
垢版 |
2021/08/27(金) 20:54:31.29ID:TSUnCuu+
結局プログラミングやりたいなーなんて言う奴はゲームかスマホアプリ作りたいんだからC#かJavaでいいんだよ
0630デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:03:03.82ID:wZ/s0fRN
>>628
言語の優劣なんかよりこういう考察がよほど重要だと思うわ
俺はこの辺の感覚がよく分からんのでJSで思考停止してるってだけ
0631デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:04:47.25ID:JRRUhTVP
スマホアプリならKotlinかSwiftちゃうん?
けどそれくらいでしか使われてない言語ってなんかお得感がなくてやりたくないよな
ベストプラクティスとは言わないがJavascriptでもスマホアプリ作れるんだしどうなんだろうな
あまりフレームワークに依存したくないというのもある
0633デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:13:00.97ID:osG/Eo9L
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0634デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:15:59.25ID:6epxU4jC
>>631
スマホアプリの大半は同じことをPWA(プログレッシブウェブアプリ)で実現できる
しかもPWAにするとスマホだけでなくデスクトップでも動く
PWA作りで必要なプログラミング言語はJavaScript
0635デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:31:39.61ID:zamqxwg9
>>628
JSならゲームもスマホアプリも問題なし
各プラットフォーム独自のフレームワークを習得する必要もない

ぶっちゃけ言語よりもGUIフレームワークを習得する方が時間がかかるから
0636デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:35:52.65ID:zamqxwg9
ネイティブでやりたくなる頃にはプログラミングがどういうものかやGUIフレームワークがどういうものかを経験済みなので
全くの初心者だった頃よりも新しい言語やフレームワークを効率よく学べる
0637デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:50:07.25ID:kJPpYKj7
目的もなく素養を育てたいならMakeCode推す
こどもはScratchより食い付きよかった
Swicthのやつもあり
0638デフォルトの名無しさん
垢版 |
2021/08/27(金) 21:54:56.62ID:4V5h68O4
JAVAかC#、ブラウザで表示したいならJS、手軽で綺麗にかけてプログラミングそのものが学びたいとかファイル処理が多いとかならPythonとか
情報系の学生とかハードに近い部分を学びたいならCとかアッセンブラ

RustとかHaskellとかScalaとかは知らん
0639デフォルトの名無しさん
垢版 |
2021/08/27(金) 22:16:15.57ID:TaK2b46x
Rustが流行りつつある一番の理由はメモリ安全性と速度の両立だけど
cargoやrustupなどの標準ツールが使いやすいのも大きい
パッケージマネージャもバージョンマネージャも標準ツールだけて済む言語は稀

Rustを初心者に勧めるわけではないが開発時に必須なツール類の使い勝手は
初心者が言語を選ぶ時にも重要なポイント
0640デフォルトの名無しさん
垢版 |
2021/08/27(金) 22:57:08.51ID:ZaAl6awg
>>611
先生!出来ました
【使用言語】JavaScript
【エディタ】メモ帳
【実行環境】WindowsブラウザChrome
【ソースコード】〈a.html 〉
https://dpaste.com/8NJFJNAWB#

<input type = "text" id = "t" value = "0 + 1-2×3÷4 =" />
< input type = "button" value = "クリック" id = "b" onクリック = "func()" />
< div id = "d" > </ div >
<スクリプト>
関数 func (){
var txt = document .getElementById ("t" ).value;
d 。innerText + = TXT + (0 + 1 - 2 * 3 / 4 )+ "\ n" 。
アラート(txt );
}
</スクリプト>
0642デフォルトの名無しさん
垢版 |
2021/08/27(金) 23:10:23.48ID:fvnuyojg
うんめんどくせー頑張った、
写経で動くか動かないかの勉強にもなりました
0645デフォルトの名無しさん
垢版 |
2021/08/28(土) 07:01:29.65ID:DsNx3O0O
公式なディナーに出かけるのならCやjavaなどのコンパイル
カジュアルなディナーならpythonやruby
ハンバーガーショップですませるならjavacriptやvba
0647デフォルトの名無しさん
垢版 |
2021/08/28(土) 08:28:47.55ID:yCGZay/Z
当たり前だが、何したいかによって選ぶ言語を変えるべき
そして初めてプログラミングやるやつはまず何が出来るかなんて知らない
つまり、まずプログラミングで出来ることをまず羅列して教えてあげることが必要だったんだよ!
0648デフォルトの名無しさん
垢版 |
2021/08/28(土) 08:40:57.23ID:XHDMw1Xf
>>647
何が出来るかを知らなくても
何をしたいかは知ってて当然

こういう日本語能力が著しく低い人はプログラミング適性は無い
アドバイスも聞くだけ無駄
0650デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:11:04.86ID:dS/DRspD
Javascript使うのは良いけど、
Javascript使うためにブラウザ起動するのか、
ブラウザで起動させるからJavascript使うのか。
いやまあ、どの言語でもそうかもしれないけど。
0651デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:13:48.39ID:KA940OS3
プログラミング言語ってどれも「処理が実行されて〜が表示されました。」みたいな例ばっかだから、「で?」ってなって終わるやつが多い。
入門書を一冊終えてもそれで何が出来るのかが全くわからないようだ
0653デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:38:48.75ID:mx2u+dFv
先生「キミタチはここまでで変数、関数、制御構文を理解しました
見込みない奴「…で?
見込みある奴「なるほど、これ組み合わせたら…あれもそれもできるやん!

先生「これがクラスライブラリのAPIリファレンスです
見込みない奴「…で?
見込みある奴「うほほほい! 便利そうなもんがウジャウジャあるやんけ!
0654デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:38:54.60ID:OGodEit8
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0657デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:59:02.57ID:0qh8ExFA
>>588
昭和生まれの先輩に聞いた話だが、
パンチャーが電算畑の人じゃなかったので
数字の1を小文字のL、数字のゼロを大文字のオーで打たれ、
「動かん!」というので部長に泣きつかれたとか。
0658デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:02:57.71ID:0qh8ExFA
>>589
まだフロッピーディスクだったころに
コピープロテクト破りに熱中していたそうだ。
0659デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:04:59.63ID:U8MK4WFl
<<初心者向け学習内容(言語は問わない:疑似クラス対応ならjavascriptでもOK)
・ データ型、キャスト
・ 変数(参照、値)
・ 配列、Mapコレクションなど
・ 演算子
・ 構文(繰り返し、分岐)
・ (正規表現)
・ 関数
・ クラス(匿名、即時)
・ (インターフェイス:オブジェクト指向)

上記はどの言語でもある程度学べる
その後は作りたいシステムなどによって言語を選択
0660デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:09:12.80ID:2amKhutT
プログラムっても文章の一部なのだから前後の繋がりで
100をlOOと打つやつは見込みないね
0661デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:13:10.27ID:0qh8ExFA
>>605
そもそも C が関数型言語。
C を含む ALGOL 系の言語は、
用途と処理系とプログラミングスタイルと
開発環境で適当に選べばいいと思う。
0662デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:31:13.97ID:0qh8ExFA
「そもそもプログラミングとはどういうものか?」
みたいな哲学的な動機でプログラミングを始めるなら、
「八人の女王」とか「ハノイの塔」とか「Tic-Tac-Toe」とか
「Make 10」とかいった数理パズルをコンピュータを使って
具体的に解くことを考えて、そこから始めるという入口もある。
共立出版の『bit』というコンピュータサイエンスの専門誌
(現在休刊中)の『ナノピコ教室』なんかは、
入選すると新評論社の『数学セミナー』の『エレガントな解答を求む』
に入選したくらいのステータスだった。
なお、『bit』は電子出版企画が進行中なので、大学とか企業とかだったら
お願いすれば買ってもらえそうな気がする。
0663デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:39:04.83ID:kXxEIPV2
>>662
数学で微分・積分、三角関数、組合せ3C2とか順列ZΣσやら習い始めた頃に教室が二分されたのを思い出したわ
0665デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:31:44.36ID:0qh8ExFA
>>664
もしかして「LISP には制禦構造がないからLISP 言語は関数型言語」
とか思ってる?
LISP の AND は「順番に評価をしていって、途中で NIL が返ってきたら
NIL を返す」、OR は「順番に評価をしていって途中で *T* が返ってきたら
*T* を返す」という意味では制禦構造なんだよ。
FORTAN が手続き的な言語とされているのは、「スタック領域が狭いから
あんまり使わないでね?」という大人の事情があって暗黙の了解なっていたから
そうなっているので、文法を拡張すれば再帰だってできるんだぞ。
0666デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:37:55.32ID:mx2u+dFv
関数型言語とC言語の両方を知っていたら
口が裂けても「C言語が関数型言語」とは言わんわな

>>664
スルーしたほうがいいよソイツのことは
あたまのおかしいド素人だから
0668デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:48:07.80ID:0qh8ExFA
>>663
わかるわかる(笑)
「数学の美しさ」とかに酔っている数学観に囚われている
奴は、プログラムも書けないのにプログラマを馬鹿にしていたりする。
いまどきの若手数学者はパソコンを使ってどんどん成果を生んでるん
だけどね。
コンピュータが一般化する以前は、物理数学は純粋数学よりも下の扱い
だったので、逆に物理学者は数学者をいろいろと皮肉っている。
「純粋数学の女神は純潔である。だから子を産まない」、
アルバート・アインシュタイン。
「物理数学と純粋数学の関係は、セックスとマスターベーションの
関係に似ている」、リチャード・ファインマン。
0669デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:50:27.11ID:/L8RhIcg
>>665
> もしかして「LISP には制禦構造がないからLISP 言語は関数型言語」
誰もそんなことは言ってないけど頭大丈夫?w

> FORTAN が手続き的な言語とされているのは、「スタック領域が狭いから
> あんまり使わないでね?」という大人の事情があって暗黙の了解なっていたから
なんでそんな嘘書くかなぁ
当時の実行環境である汎用機にはスタックなんて無かったから再帰できない仕様にしてただけ
RECURSIVEキーワードで再帰できるコードを吐く処理系もあった

>>666
> スルーしたほうがいいよソイツのことは
> あたまのおかしいド素人だから
まあそうやね、知識が色々間違いすぎてる
0670デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:56:30.01ID:4JRTwZn0
つーかこのIDを赤くしている奴はいつも張り付いているのか?
キモいし知識が古いし
典型的な老害って感じだな
0671デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:59:56.78ID:3GMx01Sz
>>653
それは教わる側にも原因があるが、教える側にも同程度に原因がある

教わる側は「…で?」を解消するための質問をするべき

教える側はそれらが何の役に立つのか教わる側がイメージできるような具体例を示してやるべき
0672デフォルトの名無しさん
垢版 |
2021/08/28(土) 12:03:49.29ID:0qh8ExFA
>>667
だから言ってるだろう。
「どういうプログラムが書きたい」という話がまずあって、
「だったらこういう言語が向いている」という話になるんだよ。
禁酒計算がしたいのか、円周率を千桁計算したいのか、
数理パズルが解きたいのか、ゲームを作りたいのか(アクションか
ノベルゲームかパズルか)、動的な Web ページを作りたいのか、
あるいは「関数電卓の階乗計算は、なぜ三角関数の計算より
遅いのか?」をプログラムを動かして納得したいのか、
メルセンヌ素数を実際に求めてみたいか、素因数分解に
どのくらいの手間がかかるか知りたいか、ゲーム用の
乱数を自前で生成したいかだ。
「とりあえず、こんなことがしたい」
「おれだったら、こういう経験があってこういう環境を使っているので、
こういう言語を使う」
だと答えやすかろうと思うが、どうだ。
0674デフォルトの名無しさん
垢版 |
2021/08/28(土) 12:11:17.77ID:yCGZay/Z
>>672
こういうのをひたすらリスト化して「言語選ぶ前にこっから何やりたいか選べ」ってやるのが1番いいだろ
プログラミングやったことないやつがこんなの知ってるわけないし
0675デフォルトの名無しさん
垢版 |
2021/08/28(土) 12:12:01.87ID:TLYe8gOd
「プログラミングやりたいんだけど、始めるのにいい言語て何?」
「目的によるんだけど、プログラミングをやりたい理由は何なの?」
「えーと、プログラミングって何が出来るか知らないから、分からないよ」
「(は?)………」
0676672
垢版 |
2021/08/28(土) 12:14:02.93ID:0qh8ExFA
>>671
> 教える側はそれらが何の役に立つのか教わる側がイメージできるような
> 具体例を示してやるべき
ありがとう。心掛ける。

ついでながら
×禁酒計算
〇金種計算
だが、最近は給与が現金手渡しのトコなんか少ないから使わねぇか。
「極力小銭入れの中の硬貨の枚数を減らす」という「マスター・オブ・
ペイメント(支払修士)」というゲームあたりもいいんだが、
最近はプリペイドカード決済がほとんどだもんなぁ。
0677デフォルトの名無しさん
垢版 |
2021/08/28(土) 12:18:26.12ID:uaGIaWKc
>>673
一般的な各種言語入門書のページ順だろう
1.変数等の部品の書き方
2.構文等の機能のルール説明
3.関数等の組合せ方使い方
0682デフォルトの名無しさん
垢版 |
2021/08/28(土) 13:14:42.43ID:CWz/r/iX
>>675
まあそういうレベルの人にはC#とかVBAでもいいからとにかくとっつきやすいの勧めておけばいいんじゃね?
あれができないこれができないと言い出したらそれができる言語を勧めればいい
真面目な話、悩んでても何も変わらないから間違い上等で走り始めた方が早い
0684Mb
垢版 |
2021/08/28(土) 13:59:14.59ID:0qh8ExFA
>>683
記者「要するに、相対性理論というのは何ですか?
ひとことで説明してください」
アインシュタイン「あなたはパスタの作り方を知っていますか」
「小麦粉と塩と水を混ぜて ……」
「小麦粉も塩も知らない人に、パスタを説明できますか?」
EDPS とかノイマン型マシンとかを知らない人に言われてもなぁ …
中韓と政治論争をするようなもんだ。「結論は明らか」が前提なんだから、
議論する余地なんかないじゃん。
0685デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:09:48.16ID:dTN9moza
反論できない指摘をされると意味不明の話をまくしたてて有耶無耶にしようとする老害。
このパターン何回か見たな。
0686デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:19:34.61ID:1q7CNMox
>>684
EDPSやノイマン型コンピュータと
C言語が関数型言語という話はどう繋がってるのでしょうか
0687デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:23:37.54ID:fYUv2NHv
ひとことで説明しろなんて言わないから
何十行でも何百行でも好きなだけ使って説明してくれ
0688デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:24:31.04ID:0qh8ExFA
>>677
> 1.変数等の部品の書き方
値渡しがいちばん安全だが、副作用を利用しようと思うと
アドレス渡し(参照渡し。Java でもプリミティブじゃなくて
オブジェクトだと使える)あたりの話は
副作用の話があるのでちゃんと説明したほうがいい。
あと、広域変数と局所変数のような変数スコープの話も重要。
> 2.構文等の機能のルール説明
> 3.関数等の組合せ方使い方
そのあたりは、マナーとかエチケットとか定跡とかの
話もあるので、「まず、実運用環境にあるコードを読んで、
それが糞コードか良コードかが判断できるレベルを目指す」と
いうのは、目標として悪くなさそうに思う。
0690686
垢版 |
2021/08/28(土) 14:33:40.41ID:1q7CNMox
私は関数型言語について(ネットで言う)「チョットワカル」くらいですが
C言語が関数型言語というのはあまり聞かない話なので、解釈が気になります
0691Mb
垢版 |
2021/08/28(土) 14:47:45.10ID:0qh8ExFA
せっかく
>>687

> 何十行でも何百行でも好きなだけ使って説明してくれ
と言ってくれたのでひとくさり。
>>686
> EDPSやノイマン型コンピュータと
> C言語が関数型言語という話はどう繋がってるのでしょうか
「EDPS」というのは、電子式データ処理システム略で、
「データ」を処理するシステムのことをいう。ところが、
JIS ではデータ・プロセシングのことを「情報処理」と呼ぶ、
と規格にしちゃったんだ。データというのは「情報をデータ化
したもの」であって、それが「入力(インプット)」なのだが、
当時は文字コードセットも数値表現も曖昧だったので、
こんなことになってしまったという事情がある。
このあたりはネットで検索してくれ。
で、ノイマン型コンピュータというのは、「CPU(中央演算装置)と
RAM(乱編成記憶装置)」からなっていて、CPU と RAM の間に
トラフィックが集中していたのだ。この「CPU と RAM の間の隘路」を
「フォン・ノイマンのボトルネック」(いや、ボトルネックは機能として
あるので、不適切な表現ではあるのだが)と呼ばれていた。
でもって、「並列処理によって、フォン・ノイマンのボトルネック」を
解消しようという声が、主に人工智能畑の人から挙がってきたのだ。
0692Mb
垢版 |
2021/08/28(土) 14:58:42.76ID:0qh8ExFA
>>691
このころは、「アルゴリズム」というのは「逐次処理」を前提としていて、
シングルタスクを前提としたノイマン型コンピュータの設計思想には
まっちしていたのだが、「逐次処理(評価順序)」というものを
前提としてしまうと、並列処理というのを定義しにくいのだ。
そんなわけで、そのあたりをうまく避けようとして、
「関数として定義しよう」「渡された変数に対して副作用が起きるような
表現は避けよう」「変数スコープを厳格に定義しよう」みたいな話になったのだ。
それで、「コンカレント何とか」みたいな関数型言語が流行したわけだ。
「C 言語は手続き型言語か関数型言語か」というのは、
「ピエール・カルダンはクラシコかモードか」みたいな
宗教論争でしかないように思う。
反論歓迎。喧嘩上等。
0693デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:59:34.03ID:dTN9moza
で例によってC言語も関数型言語も全然関係ないと。
みんなに総スカン食らっているのは気付いているんだろうけど、そこまでして会話の相手をしてくれる人が欲しいのかねぇ。
0694デフォルトの名無しさん
垢版 |
2021/08/28(土) 15:05:09.39ID:mx2u+dFv
> みんなに総スカン食らっているのは気付いているんだろうけど

気付いてないし、自分の実力も相手の実力も分かってないと思うw
自分が教わる立場だってのに、教えてるつもりっぽいもんw
0695686
垢版 |
2021/08/28(土) 15:08:22.22ID:1q7CNMox
>>691-692
ありがとうございます
お話しの内容だと、>>692の「C言語は〜」からはそれまでの内容と繋がってないように思います

「関数型言語」という言葉をどういう定義で使っていますか?
0696Mb
垢版 |
2021/08/28(土) 15:11:07.59ID:0qh8ExFA
>>691
の訂正。
×電子式データ処理システム略
〇電子式データ処理システム(エレクトロニック・データ・
プロセシング・システム)の略

×データというのは「情報をデータ化したもの」
〇データというのは「情報を(文字コードセットや数値の内部表現によって)
符号化したもの」

なお、「喧嘩上等」というのは、手拭で鉢巻をするときの結び方のひとつ。
「ねじり鉢巻」は後頭部で結び、「向こう鉢巻」は額のところに端が
ピンと立つように結ぶ。「喧嘩上等」は、髷を掴まれないように鉢を
覆い、後頭部で結んだ結び目を内側に入れて見えないようにする。
他にも「姉さん被り」「泥棒被り」などいろいろあって楽しいので
ネット検索をお奨めしたい。
なお、東京在住なら、歌舞伎座のはす向かいに手拭の老舗がある。
0697Mb
垢版 |
2021/08/28(土) 15:24:46.51ID:0qh8ExFA
>>695
>「関数型言語」という言葉をどういう定義で使っていますか?
逆に質問したいが、「オブジェクト志向言語」とは
「オブジェクト型言語」なんだろうか。
Java は「オブジェクト志向言語」の代表格だが、
C や Pascal とそんなに違いはないし、for 文や while 文や do 文といった
構造化ステートメントも揃っている(業務で使っていると、
「再帰と」)。
「関数型言語」というのは「関数志向のプログラマにとって使いやすい
言語」でしかないので、「定義」という話は、「カツ丼は和食か日本料理か」
程度の話でしかないと考える。
「Prolog はホーン節の論理をベースにしているから論理型言語である」とか、
難しいことは言わなくてもいいんじゃないだろうか、的な話。
0698デフォルトの名無しさん
垢版 |
2021/08/28(土) 15:27:49.80ID:mx2u+dFv
いいかみんな、こういう老人になっちゃあだめだぞ
自分が何を知っていて、何を知ってはいないのかを自覚し
知らないことがあったら「知りません」と言うんだぞw
0699Mb
垢版 |
2021/08/28(土) 15:27:50.53ID:0qh8ExFA
>>687
×(業務で使っていると、「再帰と」)
〇(業務によっては、「再帰とシングルトン実装は禁止」なんてとこも
あった)
0700デフォルトの名無しさん
垢版 |
2021/08/28(土) 15:41:05.29ID:mHRwCE/X
そういう風に使いやすく意識して作られた事に意味があるんじゃないの
関数型っぽく書けるから C も関数型だとか言いだしたら
それは国語のできない人だよ
0702デフォルトの名無しさん
垢版 |
2021/08/28(土) 16:06:14.08ID:VzRjHWW+
「オブジェクト志向言語」云々でfor 文や while 文や do 文といった構造化ステートメントも揃っている?

今どきの老害でも構造化言語ぐらいは知ってそうなんだけどこの人はどこからこんな知識を得たんだろう…
0704686
垢版 |
2021/08/28(土) 16:47:38.52ID:Lp8dZsXi
>>697
関数型言語であろうとなかろうとたいした意味はない、といった
立場ではないかと思いますし、それはそれで良いと思うのですが、
それならば「C言語が関数型言語」などと言わなければ良いのにと思います

C言語が関数型言語なわけはないけどそんなのどうでもいいからめちゃくちゃ言う、
というつもりで言っているのならまだわかりますが、
そうでないならば不誠実なもの言いではないでしょうか

あと
>「関数型言語」というのは「関数志向のプログラマにとって使いやすい
>言語」でしかない
というのは、少なくともHaskell, OCaml, F# などのいわゆる「関数型言語」の利用者
には通じにくい考え方だと思います
(「関数指向」とは何でしょうか?)
0705Mb
垢版 |
2021/08/28(土) 16:47:56.13ID:0qh8ExFA
>>698
> 知らないことがあったら「知りません」と言うんだぞw
ペテロは鶏が鳴くまえに、三度「知りません」と言ったという。
あなたはデスマに囚われているのですか?
あなたはどのような言語を強いられているのですか?
どんな言語を学び、どんな言語を求めているのですか?
もしあなたが本当に悔い改めたいのなら、
正直に述べなさい。
このスレには救いがあります。
0706Mb
垢版 |
2021/08/28(土) 16:55:23.39ID:0qh8ExFA
>>704
本当に関数的に書いてしまうと、
実用的に終わらない関数があるんだよね。
「入山のアルゴリズム」とか
「tarai 関数」とかを検索してほしい。
「ちゃんと説明してください!」とか言うなよ。
それは知ってる人に聞いてください。
「竹内郁夫」とか「入山徳夫」とかでネット検索すれば、
いっぱい出てくるだろうし。
0707Mb
垢版 |
2021/08/28(土) 17:13:38.52ID:0qh8ExFA
>>704
> 関数型言語であろうとなかろうとたいした意味はない、といった
> 立場ではないかと思いますし、それはそれで良いと思うのですが、
> それならば「C言語が関数型言語」などと言わなければ良いのにと思います
誤解なのか曲解なのか(あるいは揚げ足取りなのか)はわかりませんけど、
「関数型言語であろうとなかろうとたいした意味はない」じゃなくて、
「関数志向言語として解釈しても、手続き志向と解釈しようと、
C 言語は unix の実装言語である」というのは認められていいんじゃ
ないでしょうか?
で、C 言語の基礎となった BCPL が「仮想マシン」として
実装されたのに対して、C はライブラリで解決した、みたいな
話はあります。
「関数を呼んだら(call したら)、値が戻ってくる(return される)」と
解釈するのは毛沢東思想とか習近平思想に反するので
排斥されなきゃいけないんですか?
C 言語を「関数志向的な表現もできる」とか主張したら、
三角帽子を被せられて「私は反国家思想分子です」という札を
首から下げられて、見せしめに公開処刑されなきゃいけないんですか?

> それならば「C言語が関数型言語」などと言わなければ良いのにと思います
とかいうのは、言論統制とどこが違うんですか?
きっちり説明してください。
0708デフォルトの名無しさん
垢版 |
2021/08/28(土) 18:07:52.03ID:H94428G1
つけてたな。すまん。

しかし流れ的に、始めるのに良い言語じゃ無くなってるんじゃないか?
0709デフォルトの名無しさん
垢版 |
2021/08/28(土) 18:31:34.69ID:e0n91V3+
Haskellはプログラミングの数学的アプローチです。
これからの若者はHaskellから始めるのが良いです。
0711Mb
垢版 |
2021/08/28(土) 19:15:31.76ID:0qh8ExFA
>>708
プログラミング言語 C というのは、K&R の ANSI-C 準拠版が出たとはいえ、
濃硫酸とか濃硝酸(あるいは青酸ナトリウム)なみの劇毒物で
あることは間違いありません。
プログラミング言語を学ぼうとするひとは、
「はいはい、お砂場から出ちゃいけませんよー」というお子ちゃま扱いを
受けたいか、「これはとても危険なものだから」と厳格に指示されて、
教師の安全管理の下で実験体験をしたいか、みたいな話になる。
で、下手に自信をつけちゃった奴が、数十人規模で数億円規模の
プロジェクトに紛れでんでいたらどうする?
どっかのルーチンのスタティック領域のアドレスを引っ掛けて
不用意に他のルーチンに引き渡したら書き潰されて、
元のルーチンを書いたひとが、プロジェクトマネージャーに
「おまえの書いたルーチンのアドレスでトラップが発生してるんだよ!
どうすんだ? えぇ?! どうすんだ!」みたいに責められているのを
見た経験がある私としては、「それだけ危険なものを、あなたは持とうと
しているんですよ?」と、ちゃんと教えないといけないと思います。
0712Mb
垢版 |
2021/08/28(土) 19:16:28.18ID:0qh8ExFA
>>711

アメリカの一部の州では、子供の頃から小口径の小銃を撃つ訓練を
していますし、女性でもハンドバッグに子信用のハンドガンを
忍ばせていたりします。

武器は、覚悟のあるひと以外にま持たせないほうがいいように思います。
ミニコンだったらリング保護が効いていれば上位のルーチンが管理する
記憶領域にチョッカイを出したらトラップ喰らいますが、昨今の
フツーのマイクロプロセッサに、そういった保護機能があるのかな?
と思います。
「良識ある厨二病患者」が、自分のマシンの中で思いっきりヤンチャできる、
という意味では、C 言語というのは今でも「初心者用の言語」として
魅力的ではありそうに思います。
防衛省あたりにリクルートされて、仲間うちで「こんなお砂場じゃなくて、
戦場に出たいんだよ!」とか思ってる奴が「誰か来い、誰か来い!」とか
待ち構えていたりすると、共産圏の自称ハッカーとかは腰が退けると
思うんだけどなぁ。
0713Mb
垢版 |
2021/08/28(土) 19:22:53.44ID:0qh8ExFA
>>710
『はじめての C』でプログラマ童貞を失った Turbo C 世代は
多かったという話は上司から聞いたことがあります。
コンピュータの専門書を書店で買うときは
「カバーをかけてください」と言いづらくて、
電車の中ですぐ読みたいんだいだけど書名が恥ずかしくて読めない、
という事態が頻発したというのは、『2ちゃんねる』時代の
カキコにいろいろ残ってそうですよ?
0714デフォルトの名無しさん
垢版 |
2021/08/28(土) 19:25:26.16ID:0qh8ExFA
椋田實『改訂第5版 ANSI C対応 はじめてのC』
0715710
垢版 |
2021/08/29(日) 00:33:58.82ID:iZRa8TcK
苦しんで覚えるC言語にすれば良かったと激しく後悔したのであった…
0718デフォルトの名無しさん
垢版 |
2021/08/29(日) 05:21:06.85ID:hjIZbnxu
電子書籍なら分厚いコンピュータ書籍を何冊でも持ち歩ける。
スマホで画面分割してPython入門書を見ながらPydroidで写経したのは良い思い出。
0719デフォルトの名無しさん
垢版 |
2021/08/29(日) 09:00:18.46ID:Mf3//8BU
ある程度他言語を学んだものが
javascriptを習得しようとしたら
どんなサイトがおすすめでしょうか?
0721Mb
垢版 |
2021/08/29(日) 11:43:56.34ID:J3pzxA/N
>>716
C 言語は、意外にかくれたところで「評価の順序」というのを
意識させられるので、「いわゆる関数型言語」とは違って
「評価順次や変数に対する副作用を意識すると、
関数型言語として使える」ので、「関数型(指向の)言語」ではあります。

「はじめるのにいい言語」というのは、「あなたに合った
“初めるのにいい” 言語」なので、「本気でつきあえる言語」かどうかは、
いろいろ試してから決めていいように思います。

「なぁんでこんなのに惚れちゃったかなぁ ……」
「― 後悔してる?」
「ば・か。」
みたいな言語もけっこうありますぜ旦那。
0723Mb
垢版 |
2021/08/29(日) 13:17:23.18ID:J3pzxA/N
>>722
「ぶっちゃけ始めるのにいい言語て何」という
スレの主旨とは外れるけれど、
『The Modern JavaScript Tutorial』
https://javascript.info/
を「面白そうなページじゃん」と
思えるのなら、
『CSS Zen Garden ― The Beauty of CSS Design』
http://www.csszengarden.com/
も、楽しめるかもしれない。

つーても、ブラウザの「開発ツール」の下の
「ページのソース」とかをポチッとして
ハァハァしているような変態は、
C 言語とかを経験してそうに思うのだが。

「オリバーソース CM」で検索すると引っかかると思うが、
「ソースがなければ死んじゃうよー!」という人も
いるだろうし。
0724Mb
垢版 |
2021/08/29(日) 13:37:38.80ID:J3pzxA/N
>>722
ごめん m(_ _)m
> 「オリバーソース CM」で検索すると引っかかると思うが、
> 「ソースがなければ死んじゃうよー!」という人も
> いるだろうし。
というのは、どうやらカゴメソースの広告のキャッチコピーだったらしい。
ソースというのはイカリソースとかポパイソースとか、いろいろ
ローカルブランドがあって、整理しだすと大変らしいのだ。
「ソースがなければ死んじゃうよー」「カゴメでなければ死んじゃうよー」
というのはポリティカル・コレクトネスの観点から使用禁止になって
しまったらしい。
「カゴメ」の部分に、オープンソース系のプログラミング言語の
名前を入れて歌ってくれ。
0725デフォルトの名無しさん
垢版 |
2021/08/29(日) 15:37:25.79ID:+pWYpmNM
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0726デフォルトの名無しさん
垢版 |
2021/08/29(日) 17:38:21.35ID:Mf3//8BU
>>720
ありがとう
全部読んだけど分かりやすくていいサイトだった
javascriptでプログラミングを始めるなら
このサイトだけでOKだね
基礎から初中級まではいける良サイト
0728デフォルトの名無しさん
垢版 |
2021/08/29(日) 20:16:52.29ID:NJ4Uc9dQ
そもそもjavascriptはなんかドキュメント充実してるイメージ
https://developer.mozilla.org/ からしてなんか読みやすいもん

java8 List#sort 実行例なし
https://docs.oracle.com/javase/jp/8/docs/api/java/util/List.html#sort-java.util.Comparator-

ruby3 Array#sort 実行例あり
https://docs.ruby-lang.org/ja/3.0.0/class/Array.html#I_SORT

javascript Array.prototype.sort() 実行デモすらあり
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
0729Mb
垢版 |
2021/08/29(日) 20:46:51.67ID:J3pzxA/N
メールの無差別爆撃は、メーラーを立てれば簡単にできるのだが、
「5ちゃん」の板の上位スレッドを狙って無差別爆撃するプログラムは
どういう言語を使ってどういうプログラムを書けばいいのか?みたいな
コトを考えたりはしないのかね?
0730デフォルトの名無しさん
垢版 |
2021/08/29(日) 20:53:58.23ID:J3pzxA/N
>>728
は、なんかちょっと違うような気がするのは私だけか? (-_-!)
0731デフォルトの名無しさん
垢版 |
2021/08/29(日) 21:41:45.49ID:ST+4ZQGQ
MDN の例は、分かりやすい。
Ruby の用例は、少なすぎる

でも、JavaScript は、Ruby の数倍難しい

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
文法だけで300ページで、それ以上の作り方・モジュールの使い方は書いていない

改訂2版 Ruby逆引きハンドブック、株式会社マネーフォワード、2018
文法だけで200ページで、500ページは作り方・モジュールの使い方

Ruby on Rails では黒田努の本など色々あるし、
Railsチュートリアル・Railsガイドもある

Web開発の全工程を学ぶのに困らない。
これを他の言語で学ぼうとすると、地獄

YouTube で有名な、雑食系エンジニア・KENTA も、
初心者用の学習環境が整っているのは、Railsだと言ってるし

他の言語を選んだ香具師は、
Rails, Linux, Docker, AWS 相当の技術を学ぶだけで、10年掛かる地獄
0732デフォルトの名無しさん
垢版 |
2021/08/29(日) 21:48:50.06ID:NJ4Uc9dQ
>>731
rubyはまぁ昔っから伝統的にドキュメントが弱いよね
あれで十分だとも思うけど
まだ青木さんが作ってんのかな
0733デフォルトの名無しさん
垢版 |
2021/08/30(月) 14:16:55.94ID:vsR1gOma
>>732
賛否はあるだろうし毀誉褒貶あるだろうけど、
「使いやすい言語」という観点からみると、
「あんまりきつく縛らないほうがいい」というので
略記法が標準になっている部分があると思う。
そのぶん使いやすいので使っている人が多い
(普及している)わけだ。
同じプログラムを他の言語でコードして、
その得失について論じるのが生産的ではなかろうか。
0734731
垢版 |
2021/08/30(月) 21:26:24.73ID:arh9VEay
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

これを読むと、Ruby よりも、10年ぐらい遅れている。
ようやく、辞書・class・テンプレートリテラルが出来たかとかw

非同期処理のコールバック地獄を、promise で処理できるとか、
ジェネレータランナーを作って、next, yield でやり取りするとか、
その後、async/await が出たとか

外部イタレータを今頃?w
こんな膨大なJS の歴史を学んで、どうなるの?w

膨大な時間を掛けて、JSの実装の変化の歴史を学んで、
ようやくRubyに追いついたw

ムダムダムダムダ
0735デフォルトの名無しさん
垢版 |
2021/08/30(月) 22:19:41.57ID:us7SFUFt
Haskell 勉強中なんだけど、異様なほどの発想の転換を
迫られるな、これ。

でも、C → smalltalk → Haskell なんて学び方もあるかもなあ。

それぞれの時代の哲学を学べる
0736デフォルトの名無しさん
垢版 |
2021/08/31(火) 01:06:21.16ID:ur+gps9U
>>734
ムダなのはお前のレスだよ
0737デフォルトの名無しさん
垢版 |
2021/08/31(火) 05:56:43.88ID:4p2SUbj3
最近、C#とWPFでアプリ組んでるけど、個人で遊ぶには十分事足りる。
仕事じゃないなら、これがお勧め。VSが便利だし。
そのままスマホのアプリが組めりゃ良いけど、タブレットじゃXamarinのエミュが重くてやってらんない。
0738デフォルトの名無しさん
垢版 |
2021/08/31(火) 07:05:00.93ID:pP/IgB5+
ブラウザで動的処理するならJS
スクリプト拒絶設定で無力化するが
言語として未完成であり、完全体はあり得なくても
洗練された言語にはなれなくてもな
webやらないのならJSはしないほうがいい、非効率

システムなど硬いのを組めるようになりたいのなら静的型付けを学べ
学問や趣味に使うのでなるべくシンプルに、ならパイソンを学べ
はやりそうで普及しづらい言語なら関数型を(涙目)
掲示板を作りたいのならPerlやCGIを(苦笑)
0739デフォルトの名無しさん
垢版 |
2021/08/31(火) 09:21:35.38ID:7ScbdqxI
赤字の人が一番マトモなこと書いてるように見えるわ
他の人たちってほぼ全員が俺色々知ってんだぜ感ばかりが鼻について降りてこないしそのつもりもないようだ。
なんていうか、揚げ足取りあっててキモい
プログラミングしてるとみんなこんなふうになっちまうのか?
0740デフォルトの名無しさん
垢版 |
2021/08/31(火) 09:42:39.10ID:UAIfjWr1
初心者がプログラミングを始める場合、
作りたいものがあるならそれに合った言語で作る。
特に作りたいものないけどプログラミングをやってみたいならjavascript

で解決でいい?
0741デフォルトの名無しさん
垢版 |
2021/08/31(火) 09:44:18.85ID:wkkfjxpx
初心者はプログラミングで何が作れるのかわからないから何も解決しないんだよな
0743Mb
垢版 |
2021/08/31(火) 11:17:08.68ID:8yYkEEu7
>>735
> Haskell 勉強中なんだけど、異様なほどの発想の転換を
> 迫られるな、これ。
おれなんか C から Java で感動した
周囲に Java 使いがいなかったので。
goto がない
ポインタがない(参照はある)
広域変数がない(シングルトン実装を使う)
キャッチ&スローがある
最初のころは、「これでプログラムを書けるのか?!」と
思った。
0744デフォルトの名無しさん
垢版 |
2021/08/31(火) 13:00:51.77ID:nwI7Bwcw
>>741
プログラミングしてたらだいたいその言語は何ができるか分かってくるけど分からなければしょーがないね。
0745デフォルトの名無しさん
垢版 |
2021/08/31(火) 13:38:40.96ID:m+Szshvt
直接、プログラミング言語の話じゃないんだけど、
Windowsのパソコンにapacheをインストールして、
複数台のパソコンから読みに行くって、
目から鱗だった。
0746デフォルトの名無しさん
垢版 |
2021/08/31(火) 14:12:08.13ID:c44BPeGK
>>741
例え話だけど料理でいえば確かにレシピとか必用な調理器具とかはわからないけどどんな飯が食いたいかは言えるよ
0747デフォルトの名無しさん
垢版 |
2021/08/31(火) 14:15:30.85ID:c44BPeGK
>>742
本人じゃないけど違うことがあるってのは肝に命じておく
脱線してる所もあるけど読みやすいとはおもう
0748デフォルトの名無しさん
垢版 |
2021/08/31(火) 14:22:52.69ID:c44BPeGK
何を作るならどの言語がお勧めでどの言語はダメって感じの場合分けは難しいの?
自分の場合はwindowsでゲームの情報を管理するアプリが作りたいってのが動機でいろいろ試してる
0751デフォルトの名無しさん
垢版 |
2021/08/31(火) 15:33:29.57ID:0UudHHzs
>>743

・Haskell は変数への代入が無い(初期化はある)
  一度、a = 1 :: Int と書いてしまうと a = 2 の時点でコンパイラ激怒。

・基本的に for とか while みたいなループ文が無い(そりゃ i++ できないしな)。


最初にこの2点読んだときにはなにか読み間違いをおこしたかと思った。


間違いなく「始めるのにおすすめできない言語」の最右翼w
0752デフォルトの名無しさん
垢版 |
2021/08/31(火) 15:38:14.17ID:TYZwmXnG
サイエンス社の『プログラミングの基礎』はOCamlを使ったプログラミング入門だけど
すごく良くできている
0753デフォルトの名無しさん
垢版 |
2021/08/31(火) 15:39:11.60ID:l9psb/TL
>>747
x 脱線してる所もある
〇 脱線してない所がほとんどない

> そもそも C が関数型言語。
に至っては大事故レベル
0755デフォルトの名無しさん
垢版 |
2021/08/31(火) 16:13:14.60ID:NF6+JNHT
>>746
どんな料理があるのか知らない状態ってことだろ
中華料理でチャーハンラーメン餃子くらいは知ってるが別に食いたくない
天津飯が食いたいが、天津飯という料理を知らないやつには天津飯が食いたいなんてわからない
0756Mb
垢版 |
2021/08/31(火) 16:14:40.21ID:8yYkEEu7
むしろ私はソースコード管理プログラムのほうが感動だったなぁ。
開発プロジェクトだと、社内 LAN 上で開発者仲間で Tomcat 立てて
進捗管理とか社内掲示板とか作ってていろいろやってたら、
上位の会社の香具師がいろいろとウルサいことを言いだしたので、
ポート変えて上で Apache 立てて、そこの隠し扉から
認証つきで入るように改造した(笑)。
Apache + Tomcat + JSP + MySQL というのは、
商用サイトじゃなくて会員制の同人サイト(なんかの学会とか)には
向いてる構成だと思う。
あとは Java と SubVirsion (Git は触ったことがない)があれば
Windows で充分運用できるんだが、XP より後の Windows って、
「サーバー専用の Windows を買え」とかうるせえんだよな。
いまから Linux に引越すのも面倒臭いし ……
0757デフォルトの名無しさん
垢版 |
2021/08/31(火) 16:15:24.70ID:NF6+JNHT
どんな料理があるのか知らない奴がメニュー見て
「こんな料理もあるのかよ!じゃあこれ食いたい」となるのはわかるだろ?
0759Mb
垢版 |
2021/08/31(火) 16:22:39.97ID:8yYkEEu7
>>750
昔は VisualBasic だったなぁ。私は触ったことがないが。
C# も触ったことがないが、C♭(広瀬正)は愛読書のひとつ。
0760Mb
垢版 |
2021/08/31(火) 16:26:57.67ID:8yYkEEu7
>>785
なるほど。ありがとう。
Subvirsion は、サーバから指しておくと直接見えるのが、
ソースを公開したいときにはいいよな。
0761Mb
垢版 |
2021/08/31(火) 16:35:30.23ID:8yYkEEu7
>>757
わかるけど言語が違うとちょっとな(笑)
食品サンプルみたいに「こういうプログラムが書けます」、
実食できる「こういうアプリがあります」、
作り方がわかるような「こういう環境でこういうコードで…」と
いったのがわかるといいな。
昔の Java Applet なんかはそういう感じだった。
その意味では JS はありかもしんない。
0764デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:07:27.01ID:wvWDiazC
>>762
抽象化思考能力の問題だから具体的なメニューを提示されないと
自分が食べたいものを表現できない人たちというのはいる
そういう人たちにプログラミングは向かないというだけ
0765デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:09:57.76ID:+iAeJarJ
食べたいとかじゃなくて作ってみたらこういうのができた。へー。

で、良いと思うんだけど。
0766デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:14:02.49ID:+iAeJarJ
ここ見てると始めるためのハードル高くない?
経験から色々な要素が必要っていう気持ちは分からんでもないが。
0767デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:16:27.82ID:wvWDiazC
どういう仕事をやりたいか?と聞かれて
どういう職種/仕事があるのか提示してもらわないとわかりません、というのと同じ

抽象化思考能力が足りないと、やりたい仕事の内容を抽象度を上げて表現できない

プログラミング能力よりもずっと大事な能力なので
抽象化思考能力を鍛えてやりたいことを表現できるようになってから
プログラミングを勉強すればいいと思う
0769デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:28:19.51ID:8yYkEEu7
>>763
「臭くなくて辛くなくて酸っぱくなくて苦くなくて固くなくて、
パンでも芋でもお粥でも玉子でもシチューでもない
美味しいものが食べたいわ」
『異世界居酒屋のぶ』「嬢様の難題」
0770デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:29:38.56ID:Qs4N52+O
Swiftはどうなの
0771デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:32:41.88ID:Igapz3y3
>>770
オワコン一直線って感じ
Androidの方があいぽんにシェア勝ってるのはもちろん、もうMacよりChromebookの方が普及してる
0772デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:34:30.38ID:Qs4N52+O
>>771
まじかあー始めようと思ったのに
開発の世界ではAppleはもうオワコンなのか
0773デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:36:08.86ID:wvWDiazC
>>770
macOS/iOSでネイティブアプリを作りたいならSwiftから始めてもいい
それ以外の目的ではオススメできない
言語機能的にはそこそこ優れてるがC#に比べると少しハードルが高い
(英語必須、言語がやや難、フレームワークもやや難)
0774Mb
垢版 |
2021/08/31(火) 17:43:21.30ID:8yYkEEu7
>>766
Haskell にしろ Rust にしろ、
可変長データの扱いとメモリリークの防止(安全性)の
問題を両方クリアしようと思った結果ああいう仕様に
なっちゃった由来があるので、「そういうもんだ」と思わずに
ちゃんと納得したいなら、
C と Java を軽く覚えてから Knuth を読むのがいいと思う。
C は実行可能なネイティブコードを吐きたいからああいう
危険な言語になっちゃったし、Java は仮想機械を使って
クリアしようと思ったということ。
どっちつかずで C++ を採用してデスマーチになっちゃった
大きいプロジェクトがいくつもあって
(「YRP常勤 【軍曹が】携帯電話開発の現状【語る】」、
https://lolipop-teru.ssl-lolipop.jp/gunsou/あたりを参照)
その反省があって C♯でなんとかしよう、というのが
現状。
LISP や SmallTalk 80 は、GC と正面から
向きあった言語ともいえる。
0775デフォルトの名無しさん
垢版 |
2021/08/31(火) 17:47:11.01ID:Qs4N52+O
>>773
ありがとう
C#も調べてみる
0776Mb
垢版 |
2021/08/31(火) 17:49:17.04ID:8yYkEEu7
>>772
> 開発の世界ではAppleはもうオワコンなのか
ユーザに優しく開発者に厳しいのがあの会社の
伝統だからな(笑)
0779デフォルトの名無しさん
垢版 |
2021/08/31(火) 18:28:28.83ID:k06Ebrg2
>>750
VB.netで作ってみたんだけどなんかクラスとかキャストとか構造体とかまったく知らないのにそれなりに出来てしまってこれじゃない感があったんだ。
変数はとりあえずpublicでみたいな

背中押してくれてありがとう!
仕事戻らなきゃ
0781Mb
垢版 |
2021/08/31(火) 19:39:02.41ID:8yYkEEu7
>>780
おれは Java 派で C♯ のことよく知らんのだが、
オブジェクトを動的に定義して new したやつの変数を
共有して当該オフジェクトを共有するか、
静的に定義して呼び側の複数のオブジェクトが
通信するか(いわゆるシングルトン実装)みたいな話が
理解できたってことなんじゃねーの?
おれなら前者は setter() と getter()、
後者は直接アクセスというふうに区別するところだが。
0782デフォルトの名無しさん
垢版 |
2021/08/31(火) 20:15:09.40ID:pP/IgB5+
>>781
プログラムバグでもっとも深刻なバグを作るのが変数ってのは知ってると思う
変数は取り扱いが難しいんだってばよ
0783Mb
垢版 |
2021/08/31(火) 21:07:26.54ID:8yYkEEu7
>>782
うん、知ってる。
変数のことを「変項」っていう分野があってさ、
局所変数のことを「束縛変項」、引数のことを「自由変項」と呼んで、
束縛変項はオブジェクトなりメソッドなり適当なスコープの
中に閉じこめちゃえばいいわけ。で、自由変項は「それは、外の
世界のことだから知らないよー」と言っちゃえるんだけど、それは
値渡しの場合なら通るけど参照渡しでは通用しない(副作用があるから)
んだよね。
で、C なんかのいわゆる「広域変数」っていうのは、スレッドなり
オブジェクトなりが共通していじれるものだから、「どこからでも
見えるスタティックなオブジェクト」の中に閉じこめて悪さを
しないようにしよう、というのがシングルトン実装なわけ。。
で、複数の実行環境がネットワークを介して接続している
現代だと、このパラダイムが通用しなくなってきたから、
いろんな言語が出てきてる、ということだと思う。
0784デフォルトの名無しさん
垢版 |
2021/08/31(火) 21:45:36.74ID:vHl4DeHq
>局所変数のことを「束縛変項」、引数のことを「自由変項」と呼んで、

あーあw
0785デフォルトの名無しさん
垢版 |
2021/08/31(火) 21:52:43.52ID:D/wrslJt
劇団員全員の口元からウンコが出てきてるような凄惨なスレ
なお、本人たちは平然としむしろ微笑んでいる様子
0786Mb
垢版 |
2021/08/31(火) 21:54:44.53ID:8yYkEEu7
冷静に考えると Java の StringBuffer って「數」じゃないよな。
オブジェクト志向言語だったら「変項」でいいような気もする。
Rust なんかは「変数を宣言したら値を変えてはいけない」みたいな
話があるとかで、それはまた日本語としては変な話のような気がする。
0787Mb
垢版 |
2021/08/31(火) 22:01:51.02ID:8yYkEEu7
…… そうか。Rust はスタック領域に載ってるもんは
スコープを抜けたらまるごと捨てちゃっていいという
言語仕様だから「GC がない」「C と同程度に速い」とか
言ってるんだな? だけどローカルな作業領域ってどうやって
確保してるんだろう。
そのあたりが「学習曲線がどうこう」の話につながってるのかね?
0788デフォルトの名無しさん
垢版 |
2021/08/31(火) 23:04:28.31ID:KmBh3ook
>>780
あー仕事終わった、月末は死ぬっす
publicはスコープ関係のエラーが出て良くわからなくてもとりあえず動くようになるってことと引数とか戻り値とかいらないからとても便利だと解った
弊害は多分変数が輪姦されて誰の子供を孕んでるのかわからなくなる感じ……

とりあえず期待通り動いているから良いといえば良いのだけど
なんていうか糸引いた納豆みたいで豆同士が絡まっててどうにも愉快には思えない
一日中いじってるプロの人には及ばないとしてもそういうのをスッキリさせて解りやすくなるくらいにはしたいなと
C#だったらそこらへんは厳しそうだからいいなー、いやいやでも難しそうだし動けばいいんなら現状でいいよねという感じで揺れとりました
0792Mb
垢版 |
2021/09/01(水) 04:16:07.83ID:rs0j02S9
>>788
お疲れさん。まぁN-88 BASIC もそんな感じだったな。

C 言語って、ANCI−Cより前だと、戻り値ってAレジスタ
(アキュムレータ)がそのまんま返ってくるだけで、下手すっと
戻り値書かんでも「たぶんこれ入ってるだろ」と思ってコンパイラが
吐いたアセンブラのソース見てなっとくしたりとか。
だから、スタックの中にサブルーチンのコードが交互に積み重なってるわけ、
そう思ってそれを再帰(だけ)使って書いてると、風情は関数型なんだよな。
そのうちに配列とかリングキューとか使うようになってヒープができて、

alloc-free がまた別領域になって、「なんか、もうちょっと整理できない?」
つーのでオブジェクト志向、という流れがありそうに思う。
0794デフォルトの名無しさん
垢版 |
2021/09/01(水) 07:49:54.56ID:pp3fy/rc
>>788
少人数、小規模、非厳格開発で
変数バグとその汚染範囲を特定できるのなら
変数はpublicで書いてもそれほど困らない

どっかのメガバンクみたいに
最初は固く金融的なシステムを組んでも
あとで拡張や修正する人たちが
いじっちゃいけない変数をいじったり
プログラム構造を無視して
ダイレクトアクセス禁止エリアに
ダイレクトアクセスしてシステム破壊する
昔からのシステムはウィザード級の
超難解なS級の呪術が施されたりするから
なおさら触れてはいけないんだけど
解読できなくて改変してしまったり

そうなると全てを見直しながら
バグの相互関係を解明するしかなくなる
publicはそのような危険性がない場合にだけ許される特別な存在
publicは神に許された存在なのです
0797デフォルトの名無しさん
垢版 |
2021/09/01(水) 09:44:23.67ID:rs0j02S9
>>795
制禦構造が表立って出てこないのでプログラミング言語とは言いがたいが、
「できる人」っぽく見られたいなら EXCEL 覚えるのが手っ取り早い。
あとはタイピング練習用のアプリ買ってタイピングの練習をする。
マシンはノートブックよりデスクトップのほうがタイピングが
上手く見えるし、プログラミングを学ぶにも効率がいい。
0798Mb
垢版 |
2021/09/01(水) 09:55:20.30ID:rs0j02S9
ぶっちゃけ始めるのにいちばんいい言語は
すでに何度も出てきた話だが

日本語だ。

機能仕様書はプログラムをデザインするために必要だ。

まぁ、日本語より英語のほうが得意だというのなら
それでもいいが。
0799デフォルトの名無しさん
垢版 |
2021/09/01(水) 10:07:50.06ID:XPTvNrDr
日本語は出来る
その次は?
0800デフォルトの名無しさん
垢版 |
2021/09/01(水) 10:37:49.34ID:AF110jhG
>>799

1 手軽に始めてみたい
2 個人開発向け言語がいい
3 金融システム、大規模開発したい
4 ゲームがいい
5 ウェブ開発したい
6 アプリ開発したい
7 人間をやめてもいい

上記のうちどれ?
0802デフォルトの名無しさん
垢版 |
2021/09/01(水) 11:08:24.44ID:AF110jhG
>>801
HTMLとCSSの基礎はできてる前提で

androidならkotlin
iosならswift
webアプリならjavascript
なら無難かな

サーバー側はsqlの基本文法を理解してるとして
サーバーで対応してる言語、php、パイソン
webアプリならNode.jsが使えれば

自分は昔なんだけど
試しにjava、php、javascript-html-css、でandroidアプリを構築したな
事業場外勤務の追跡履歴アプリ
0804Mb
垢版 |
2021/09/01(水) 11:54:03.67ID:rs0j02S9
>>800
昔の話だが、
> 1 手軽に始めてみたい
は、「ゲートウェイ・ドラッグ的に、素人でも手を出しやすい」っつーのと
「安く市場に出回っているが、うっかり手を出すとそっち業界に引きこまれる」
のと二種類あった。Pascal は前者で C は後者だった。
後者を選んで
> 2 個人開発向け言語がいい
> 7 人間をやめてもいい
へ行っちゃったが、堅気の衆には >>802 のお勧めは順当で、
> webアプリならjavascript
はいいかもしれない。間口も広いし、入ってから他の言語も
いろいろ見られるし。
0805デフォルトの名無しさん
垢版 |
2021/09/01(水) 12:07:09.21ID:AF110jhG
>>803
追跡情報の履歴をとって
どこで時間効率が落ちるのか
どういう行動が売り上げに影響するのか、コスト削減に寄与するか
履歴情報を多次元的に視覚化したりしながら
事業場外勤務の管理に役立てるためのアプリ
0806Mb
垢版 |
2021/09/01(水) 18:17:25.57ID:rs0j02S9
>>805
在宅勤務者には悪夢のようなツールだな(笑)
0807Mb
垢版 |
2021/09/01(水) 18:28:41.92ID:rs0j02S9
名前だけからの判断だが、「プログラミング言語 D」は好きだ。
C++ : C+=1
C♯ : Cより半音上がってるけど D♭なので D より半音低い
だったら D だろよ。
0809Mb
垢版 |
2021/09/01(水) 19:13:19.55ID:rs0j02S9
>>808
会社のサーバのアプリに裏口を作りたいような人間が
ここに集まってるわけで …… (-_-!)
「するべき」じゃなくて、そこは自助努力しようよ。
0810デフォルトの名無しさん
垢版 |
2021/09/01(水) 19:14:50.15ID:7PsZLa1w
Haskellはプログラミングの数学的アプローチです。
Haskellを強く推奨します。
0813デフォルトの名無しさん
垢版 |
2021/09/01(水) 19:26:11.78ID:8EcW0Jj4
>>807
C#の#は、楽譜の#ではなく、
C++ならぬ、C++++である++++を#で表現しているのである

このマメ知識な
0814デフォルトの名無しさん
垢版 |
2021/09/01(水) 19:41:01.84ID:pp3fy/rc
wap2も3も解読ソフト出てるけどな
ルータをシャドウにしても意味ないし
やる気になればすぐに犯罪者
0816Mb
垢版 |
2021/09/01(水) 19:53:28.53ID:rs0j02S9
こういう話題は嫌いではないが、
また「始めるのにいい言語はなんだ!」と
また叱られるぞ。
FORTH って入門用には面白い言語なんだがなぁ。
あんまり人が見るようなところにいないんだよな。
0817Mb
垢版 |
2021/09/01(水) 21:53:03.89ID:rs0j02S9
>>813
そうだったのか! 知らなかった。
「C++」は「ポストインクリメント C」だと
長いあいだ信じていて、「評価された時点では
そうなんだけど、そのあとインクリメントしたんだぜ!」
だと思っていた。
「オブジェクティブ C」つーのもあったので、C++ は
「C 言語をオブジェクト志向に改造した」といワケではなくて、
C 言語にもう一皮被せて「オブジェクト志向っぽくしてみた」
みたいなテヘペロコツン言語だと思っていた。
C++++ の神髄を念入りに語ってくれ。
あぁ、スレが燃えるぜ!
0818Mb
垢版 |
2021/09/01(水) 22:01:29.46ID:rs0j02S9
>>812
> それでも暗号化されたデータを再現して中身を見るのは難しい
まず受信解読側のキーを盗もうぜ
JVM の逆アセンブルを試みた先輩によれば、
「適切な(適切か?)タイミングで止めると DES 暗号のキーが
得られるはずだ」とか。
0819デフォルトの名無しさん
垢版 |
2021/09/02(木) 04:17:48.58ID:Sl6ft/Zx
ラムダが流行りはじめてるが
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0820デフォルトの名無しさん
垢版 |
2021/09/02(木) 09:19:45.63ID:+aeN4opz
なにこのスレ?って思って>>1から順にナナメ読みしみてみたんだが

>>107
> クソスレ違いの話題してる無能邪魔だな

>>172
> このスレやたら老人が長文連投するよね
> んで周回遅れした感覚で意味不明なロジック展してるのみて、うわ・・・って思っちゃう

ちゃんと指摘してくれてる人はいるんだな
おじいちゃんとか老害とかって言うのとはまた違うんよこれ
こいつの場合はホント単に無能の周回遅れってだけで
単に経験がものすごく少なくて
すっごく狭い世界でしか生きてなくて
老人というよりはむしろ赤ちゃんみたいなもの
0821デフォルトの名無しさん
垢版 |
2021/09/02(木) 19:08:57.66ID:1DJBAG9V
日経読む人はわかると思うけど、時代は数学志向プログラミングだから。
Haskell一択。
0822Mb
垢版 |
2021/09/02(木) 19:26:34.66ID:XjhEtfGO
>>821
> 時代は数学志向プログラミングだから。
・「数学」にアレルギーを持っている人が多い。
・数学(いわゆる純粋数学)と計算数学と数学基礎論の区別を理解している
人は稀少。
・分かりやすく書くと、たまにとんでもなく効率が悪いコードになる。
・数学は「実行効率」というものは考えていないので、「たかだか有限個」
みたいな話になりがち。
LISP とか Haskell とかは、「コンピュータサイエンスを理解している数学者」と
「数学的素養を身につけているハッカー」には向いているだろうが、そういう
人が出遭う機会は「盲亀の浮木」程度のものだろうと思う。
0823Mb
垢版 |
2021/09/02(木) 19:58:32.11ID:XjhEtfGO
>>821
Haskell 推しなら、「竹内函数」こと Tarai 函数を Haskell で書いて、
実行結果と一緒に晒してくれ。
0825デフォルトの名無しさん
垢版 |
2021/09/02(木) 22:29:50.20ID:xl17iy2w
よし、みんなでPythonやろう! な?
0827デフォルトの名無しさん
垢版 |
2021/09/02(木) 23:13:23.38ID:3SeMoraj
ラムダが流行りはじめてるが
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
0830デフォルトの名無しさん
垢版 |
2021/09/03(金) 01:41:11.99ID:58p+v8q5
コンパイルをしなくていい、スクリプト言語のようなJavaが欲しい
0833Mb
垢版 |
2021/09/03(金) 11:06:01.49ID:a/Gc4K7u
>>824
そう、そういうやつ。
Haskell で書いたら、組合せの数の計算をするのに、
入山のアルゴリズムとか使わなくてよくね?とかいう
結論も出るかもしれない。
シャープレイ・シュービック指数の計算とか
Make 10 パズルの全部の解とか、
「Haskell で書けばこんなに楽」みたいな例(いや、
実際に試したわけじゃないけど)がいくつか見つかると、
「有限組合せ問題に強い Haskell」ということで「推し」の
理由になりそうに思う。
0834Mb
垢版 |
2021/09/03(金) 11:12:03.11ID:a/Gc4K7u
>>830
Java そのまんまだと面倒臭いが、
BCPL とか Pascal とか C くらいだったら
(面倒臭いが)言語処理系は作れると思うぞ?
自分でやってみたら面白いかもしれない。
0837デフォルトの名無しさん
垢版 |
2021/09/03(金) 17:01:36.15ID:a/Gc4K7u
みんな優しいなぁ(泣)
だけど「ぶっちゃけ始めるのにいい言語」として、
「どんな人が」という話もそれなりにあると思う。
0838デフォルトの名無しさん
垢版 |
2021/09/03(金) 18:34:25.00ID:eRB97fpQ
数学志向プログラミングでは入力と出力の関係のみを記述するので、そもそもたらい回し関数などというばかげたものはあり得ない。
愚の骨頂。
何を血迷ったか。
0839Mb
垢版 |
2021/09/03(金) 19:08:30.66ID:a/Gc4K7u
>>838
Tarai 関数の竹内郁夫さんは東大理学部の数学科出身で、
「竹内函数」と命名したのは遠山啓先生の弟子筋の野崎さん。
せめてネット検索してから発言しないと、
「ネットリテラシーが不足している」と叩かれかねないので
自重かつご自愛をお奨めする。
0840Mb
垢版 |
2021/09/03(金) 20:24:44.14ID:a/Gc4K7u
>>835
なんか良さそうだな、コレ。
ちょっと探してみる。ありがとう。
0841デフォルトの名無しさん
垢版 |
2021/09/03(金) 20:35:59.02ID:Xp3vPWaM
>>840
ぜひ見てください
ちなみに、弱小出版社なので店頭ではまず見かけないです
(池袋のジュンク堂にはあった)

書店にあるのはオーム社から出ている初版だけど
いろいろ古いので新しいのを読んでください
0842デフォルトの名無しさん
垢版 |
2021/09/04(土) 04:20:33.64ID:iqtSb51S
そんなHaskellから型システムやモナドなどを受け継いでいるRustは
それらの恩恵をプログラミングのしやすさとメモリ安全性の保証へと昇華させたところに特徴があると思います
0843デフォルトの名無しさん
垢版 |
2021/09/04(土) 06:01:10.20ID:QYBNSd4x
世界ではPython→Juliaだよ
なにがHaskellだよ読めねえよバーカ
0844デフォルトの名無しさん
垢版 |
2021/09/04(土) 06:20:19.74ID:7AHmj3on
始めるのにいい言語って何?
→Rust!Haskell!Julia!

このスレって一般的感覚とはかけ離れてるよね
0846デフォルトの名無しさん
垢版 |
2021/09/04(土) 09:28:23.36ID:iJrY+W70
趣味でプログラミングやってて1年くらいジプシーしてたけど
RustのCargoの使いやすさとエラーメッセージのわかりやすさは実際頭一つ抜けてるとは思う
仕事にしようとか業界のこととか考えだすと簡単に一択とは言えなそうなのも調べるとわかってきてしまうけど
0847デフォルトの名無しさん
垢版 |
2021/09/04(土) 09:29:52.20ID:iVIkNrVH
>>844
一般的でないことを言いたい奴の声が大きいだけだと思う
他ではあまり構ってもらえないからだろう
0849デフォルトの名無しさん
垢版 |
2021/09/04(土) 09:42:57.05ID:q+DUVq7A
逆張りして違いのわかる男を演出したい人が集まるスレだからな
初心者は見るべきじゃない
0850Mb
垢版 |
2021/09/04(土) 11:48:57.38ID:EFCgoeOa
>>844
> このスレって一般的感覚とはかけ離れてるよね
開発の現場で使われてるような言語と
プログラミングを学習するような言語はまた別だからな。
誰も LOGO で業務系のプログラムを書こうとは思うまい。

>>848
MUMPS とかか?
「誰もが嫌がる」訳でもないから違うか。
0851デフォルトの名無しさん
垢版 |
2021/09/04(土) 12:31:42.80ID:DczqPvrC
あわしろ氏もお勧めするHaskell。
0852Mb
垢版 |
2021/09/04(土) 14:14:13.49ID:EFCgoeOa
>>847
>>849
切り口を変えないと、「いままでプログラミングを
やったことのない人」で、「プログラミングに
手を出してこなかった人」が、「一歩踏み出そう」とは
なかなか思いきらないだろうと思う。
どっぷり電算屋のおれとしては、Java が現在の立ち位置なので
「業界では、とりあえず Java を習得しとけばいいんじゃね?」と
思うが、「始めるのにいい言語」となると、
「おれらの世代がプログラミングを始めたころに影響を受けた言語」と、
「現在の環境でプログラミングを始めて、将来『よかった』と思える言語」
では、かなりの違いがあると思う。
半可通が自慢したい言語とは別なんだよ。
0854Mb
垢版 |
2021/09/04(土) 19:41:08.34ID:EFCgoeOa
>>853
> あらゆるコミュニティからハブられとんなぁコイツは
あらゆる板のあらゆるスレッドで使える台詞だな。
芸のないやっちゃ。
0855デフォルトの名無しさん
垢版 |
2021/09/04(土) 20:35:16.66ID:9Nprm3Ln
>>843
Juliaって、ざっくり調べた限りでは、計算できたらそれで良い人向けって感じがする。
まるで高速Pythonっていうか。
これからもっといろいろ用途が増えるのかな。
0856デフォルトの名無しさん
垢版 |
2021/09/04(土) 22:28:49.78ID:DkNEcsZa
Juliaはひたすらループで配列をぶん回すイメージだな
PythonというよりFortranの系譜
0857Mb
垢版 |
2021/09/04(土) 23:21:55.00ID:EFCgoeOa
>>856
その点に関しては文句の言いようはありません。
そもそも Julia という言語に触ったことがないので。
とはいえ「イザベル」という言語もあったりします。
0858デフォルトの名無しさん
垢版 |
2021/09/05(日) 00:58:47.16ID:UFxCuC9Y
Julia は、MIT が作った、Ruby 風の言語。
end を使う

Matlab, R → Python → Julia

最近、日本人が作った、バージョンマネージャーのanyenv にも入った。jlenv

anyenv install --list

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
0859デフォルトの名無しさん
垢版 |
2021/09/05(日) 02:51:45.65ID:fofB9dP+
>>857
カタカナで書くなよ
あわしろ氏も怒ってたぞ
0860デフォルトの名無しさん
垢版 |
2021/09/05(日) 04:22:23.34ID:R2kpp+oO
そりゃ怒るだろね。
0861デフォルトの名無しさん
垢版 |
2021/09/05(日) 08:42:43.11ID:8sKNmBHd
僕はプログラミングを初めて1年程度の初学者です
1年程度で、よくある「初心者におすすめ言語ランキング」にでてくる
html/css
python
ruby
php
javascript
java
c#
c++
vba
perl/cgi
sql
各代表的なライブラリやフレームワーク
を一通りやってみたのですけど
こちらの板でc系やjavaが推奨されてない理由
むしろ否定的な理由を教えてください
0862デフォルトの名無しさん
垢版 |
2021/09/05(日) 08:57:27.79ID:qXYO1Gcj
>>861
今となってはC/C++やJavaをやるくらいならRustを選ぶからでしょう。
RustはC/C++と同じようにネイティブで最高速に動くプログラミング言語でありながら、メモリ安全性も保証されます。
そのうえRustはモダンなプログラミング言語の良さを最初から備えて洗練されて設計されているため、プログラミングもしやすいです。
0863デフォルトの名無しさん
垢版 |
2021/09/05(日) 09:03:56.90ID:3IKjsp8l
この板の総意は知らんけども、その二つは儲からない現場ばかりだからお勧めしない
0864デフォルトの名無しさん
垢版 |
2021/09/05(日) 09:24:55.58ID:XlIFHare
>>861
Cは面倒、ちょっと間違えると異常終了するしデバッグもやりにくい
Javaは某社の政策のせいで少なくとも新規は避けられてる
0866デフォルトの名無しさん
垢版 |
2021/09/05(日) 09:59:49.92ID:Tib2sM5c
>>864
Javaはオラクル社のサポートが必要かどうかで有償か無償に分かれるだけ。デマみたいなのを広めるなよ!
0867デフォルトの名無しさん
垢版 |
2021/09/05(日) 10:06:17.45ID:8sKNmBHd
みなさん、ありがとうございます。
javaはとても楽しく学べていたので
orcleの件では残念に思えました
今後もjavaを、と思ったのですが
他の言語を主軸に学んでいこうと思います
0869デフォルトの名無しさん
垢版 |
2021/09/05(日) 10:22:22.25ID:gdiG54pG
>>867
例えば>>367のようにJavaを捨ててRustへ移行する企業も増えています
少なくとも大手IT企業は>>5のようにRust支持一色の状況です
0870Mb
垢版 |
2021/09/05(日) 10:43:52.45ID:TzjetUXJ
私は C と Java はいい言語だと思っています。
とりあえずこの二つを学んでおくと便利ではあるので。
ただ、C++ はいまひとつ。Objective C かなんかが
まだしも安心できるかも。
なお、Oracle に対しては悪いイメージは持っていない。
MySQL もびっくりしたが、とくに状況に変化はなかったし。
むしろ 9i で驚いた。SQL で再帰が使えるというのはスゴい。
0872Mb
垢版 |
2021/09/05(日) 20:50:07.25ID:TzjetUXJ
>>871
悲しいこと言うなよ (T_T)
Mac の開発言語だったんだぞ?
0874デフォルトの名無しさん
垢版 |
2021/09/05(日) 21:56:27.66ID:7oSpDR4l
つかMac OSXで使うことが発表されたときは「墓場から蘇らせた」とか言われていたしな。
0875デフォルトの名無しさん
垢版 |
2021/09/05(日) 22:00:36.84ID:UFxCuC9Y
C/C++ は、ポインターがある言語なので、
かなりの時間がポインターの追跡・バグに取られる

C/C++ を10年やったとしても、7〜8年は無駄になる。
Ruby を1〜2年やった人に勝てない

YouTube では、自社開発系のRuby vs Java土方。
雑食系エンジニア・KENTA vs SES のモロー

5大SIer によるJava土方は、建設業の5大大手と同じ、階層ピラミッド

1人月100万円でも、間に数社の系列会社が入るから、
結局、給料は抜かれて、20万円ぐらいになってしまう

だからKENTA は、Ruby on Rails しか勧めない。
Java, PHP には、関わってはならないと言う

要するに給料が低くて、Linux, AWS のシステム構築運用を学べないから。
特に、Javaは歯車

下流工程では、テスターか関数内を書くだけだから、
システム構築運用のことは全く分からない

給料の高いシステム構築運用の部分は、
上流工程・高学歴の5大SIer が取っていき、そこでかなりの金額を抜かれる

KENTAがフロントエンドを嫌うのも、
上流工程・システム構築運用で抜かれた後の話で、価格交渉力が弱いから

だから、KENTAは上流工程のRuby, Go のバックエンドしか勧めない。
先に金額を抜けるから
0876デフォルトの名無しさん
垢版 |
2021/09/05(日) 22:17:34.58ID:gdiG54pG
>>875
〉C/C++ は、ポインターがある言語なので、
〉かなりの時間がポインターの追跡・バグに取られる。

そこでRustですよ
RustはC/C++と同じく高速にネイティブ実行のプログラミング言語てすか
Rustはそれらのバグを起さないようメモリ安全性を保証する言語でもあります
そのためC/C++からRustへの置き換えが少しずつ進んでいます
0877デフォルトの名無しさん
垢版 |
2021/09/06(月) 11:18:42.20ID:lIQevPYX
このすれの先輩は、Rustを習得することには
特に否定的な意見があったりはするのでしょうか?
0878デフォルトの名無しさん
垢版 |
2021/09/06(月) 11:27:47.52ID:8ecLni48
>>877
習得すること自体に否定的な意見はないと思うよ
最初に手をつける言語としては賛否あるだろうけど
0879デフォルトの名無しさん
垢版 |
2021/09/06(月) 11:34:37.09ID:fsHJbGHj
>>877
この先一般的に使われるのかどうか、もっというと求人があるようになるかどうかが何とも言えない
消えてなくなる可能性もある
0880デフォルトの名無しさん
垢版 |
2021/09/06(月) 12:53:18.81ID:lIQevPYX
消えてなくなる可能性があるのなら
pythonやkotlinのほうがいいんでしょうか?
javaに将来性があるのなら
javaの学習は楽しいし本も豊富なのでjavaがいいんですけど
0881Mb
垢版 |
2021/09/06(月) 13:00:33.69ID:O3QTJXwo
>>875
> 1人月100万円でも、間に数社の系列会社が入るから、
> 結局、給料は抜かれて、20万円ぐらいになってしまう
客先は「一人月百五十万円も払っているのに」と思っているのに、
エンジニアは「三十万円も貰ってないのに」と感じていたりする。
差額の百二十万円を抜いている奴がいるので、客先とエンジニアが
仲良くなると、文字通り「消される」。
0882デフォルトの名無しさん
垢版 |
2021/09/06(月) 13:02:17.55ID:kwGfB57d
>>880
逆に言えば、Javaが楽しいと感じるなら何でも楽しいだろうから敢えてJavaに拘ることはないと思うよ
0883Mb
垢版 |
2021/09/06(月) 13:06:02.15ID:O3QTJXwo
>>877
べつに Rust に否定的ではないのだけれど、
可変長データの確保と解放のタイミングに関する
理解がないと、Rust の文法はわかりづらいと思う。
だから私は FORTH と C は、Rust と一緒に勉強したほうが
いいと思う。
0884デフォルトの名無しさん
垢版 |
2021/09/06(月) 13:57:26.60ID:0VlySUWI
>>879
これまでのプログラミング言語は一部の勢力にしか支持されないために広がらなかったものが確かにあります
しかしRustは以下のように大手IT企業たちがこぞって支持するという極めて稀な状況になっています

プログラミング言語「Rust」のための「Rust Foundation」設立 -- AWS(Amazon)、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/

Facebookが「Rust Foundation」に参加 -- 「Rust」言語をいかに活用してきたか
https://japan.zdnet.com/article/35170192/

なぜIT業界をあげてRustが支持されているかは明白な理由があります
(1) C/C++と同じくネイティブにコンパイルされて最高速級かつ低水準の記述もカバーするため組み込みやOSから基本ライブラリにアプリまで使用可能
(2) 論文などに基づきコンパイルが通った時点でメモリ安全性の保証を実現 (ここがC/C++との違い)
(3) モダンなプログラミング言語の様々な良い点を最初から洗練して取り入れており便利かつ強力にプログラミングしやすい
つまりメモリ安全性を保証しながら最高速級に様々な環境で動作し便利で高度なプログラミングもできるのがRustなのです
0885デフォルトの名無しさん
垢版 |
2021/09/06(月) 14:05:08.24ID:foX749mr
でも学習コストが高い
だからコミュニティが続けられるのか、が今後の見所
0886デフォルトの名無しさん
垢版 |
2021/09/06(月) 14:07:36.92ID:fRFbGcCb
>>880
Rustは既に大手IT企業では標準言語の一つとして採用されているから、Rustが消えてなくなることはないよ。
もちろん昔Javaが出てきたときは感動したし学習も楽しかったけど、今となってはJavaは何もかも古すぎる。
純粋にプログラミング言語と見た場合、JavaがRustに勝てる点は全くなくて、Rustが負ける点は後発言語であること一点のみ。
0887デフォルトの名無しさん
垢版 |
2021/09/06(月) 14:46:36.15ID:IvXOEJ0G
>>883
確かにC言語ではメモリの解放を自分でする必要がありメモリ安全性の確保が難しかった
しかしRustは他言語と同様に自動的に解放してくれてさらに論理的にメモリ安全性の保証まである

例えば伸長可能な文字列の場合
文字列の長さが増えてそのままでは収納できなくなれば自動的に新たなメモリを確保して置き換えてくれるし使用後は自動的に解放してくれる
もちろんガベージコレクションがあるプログラミング言語ならこれらは同様に自動的に行われる
Rustはガベージコレクション無しでこれらをメモリ安全性保証付きで実現したところにその凄さがある
0889デフォルトの名無しさん
垢版 |
2021/09/06(月) 15:13:36.44ID:AQdbHlJL
大手IT企業といえばGAFAM
そのうち独自路線のAppleを除くGoogle, Amazon, Facebook, MicrosoftはRust言語採用を明確にしていますね
0890デフォルトの名無しさん
垢版 |
2021/09/06(月) 15:46:38.67ID:MHaouS30
採用を明確にしているだけで、実際の成果物はまだなんでしょ?
25年前のJavaと同じ状況
0891デフォルトの名無しさん
垢版 |
2021/09/06(月) 15:52:23.07ID:lIQevPYX
皆様ありがとうございます
次はRustやってみます
趣味ですし、将来性もそんな考えなくてもいいと結論にします
0892デフォルトの名無しさん
垢版 |
2021/09/06(月) 16:00:17.51ID:FLHnfT/B
Google、Amazon、Facebookはプロダクトで使っているよ
DropboxやDiscordなんかもね
0893Mb
垢版 |
2021/09/06(月) 16:42:39.76ID:O3QTJXwo
何度も言うけれども、Rust って FORTH の焼き直しのように
思うんだけど気のせいかな?
変数スコープの話を文法に押しつけただけなんじゃありませんか?
それがあるので、「Rust 推し」の人がなぜこのスレに
拘泥する理由がわかりません。
そこのところを知りたいと思います。
0894Mb
垢版 |
2021/09/06(月) 16:52:36.16ID:O3QTJXwo
>>884
> なぜIT業界をあげてRustが支持されているかは明白な理由があります
> (1) C/C++と同じくネイティブにコンパイルされて
> 最高速級かつ低水準の記述もカバーするため
> 組み込みやOSから基本ライブラリにアプリまで使用可能
それは C 言語とおんなじ。
> (2) 論文などに基づきコンパイルが通った時点で
> メモリ安全性の保証を実現 (ここがC/C++との違い)
それは Java とおんなじ。alloc-free の問題を、文法で制限して
防止してるだけ。
> (3) モダンなプログラミング言語の様々な良い点を最初から
> 洗練して取り入れており便利かつ強力にプログラミングしやすい
ガベージコレクションという裏方の作業を無視しているだけ。
> つまりメモリ安全性を保証しながら最高速級に様々な環境で動作し
> 便利で高度なプログラミングもできるのがRustなのです
コンピュータサイエンスの基礎から勉強してきてほしいと思います。
0895デフォルトの名無しさん
垢版 |
2021/09/06(月) 17:05:17.83ID:fRFbGcCb
>>894
それは君が不勉強。
例えばC++もガベージコレクションは無い。
一方でJavaはガベージコレクションがあるが、ある程度のメモリ安全性がある。
このようにC++とJavaは対照的な存在。
Rustは論文などで論理的に示された強力な型システムと変数用法で、ガベージコレクション無しでメモリ安全性の保証を実現した。
だからこそ、既存のC++とJavaが使われていた両分野を、実際に大手IT企業たちがRustへ置き換えつつある。
0897デフォルトの名無しさん
垢版 |
2021/09/06(月) 17:16:24.38ID:7r7RF488
>>893
そんなことはないですよ
例えば>>295のRubyとJavaScriptとPythonのプログラム例がある「数字のリストをソートして逆順にして文字列にしてハイフンで繋ぐ」プログラム
これをRustで同じ方法で書いてみるとほぼ同じように書けます

use itertools::Itertools;
fn main() {
 let a = [4, 9, 3, 7, 1, 8, 5];
 let s = a.iter().sorted().rev().map(|n| n.to_string()).join("-");
 println!("{}", s);
}
実行結果
9-8-7-5-4-3-1

このようにRustでもスクリプト言語並の平易さでプログラミングすることができます
0899デフォルトの名無しさん
垢版 |
2021/09/06(月) 18:25:22.79ID:fRFbGcCb
>>898
日本でもRust採用されつつあるよ。
Ruby採用で有名なクックパッドも、バックエンドでRubyの遅さがボトルネックになっているとして、Rubyのように記述できつつ高速でメモリ安全性のあるRustへ書き換えた。
0900Mb
垢版 |
2021/09/06(月) 19:25:30.56ID:O3QTJXwo
>>987
なんか変だなぁ。っていうか気持悪い。
join() メソッドの中に LOOP-UNTIL-DO-REPEAT 構造が
隠蔽されているのはともかくとして、
> println!("{}", s);
の括弧("{}")はどこへ行っちゃったの?
正直な話、Java の構文は若干ダサいところはあるけども、
「Rust の構文って、こんなコードが通っちゃうんだ …」と
思うと減滅だなぁ。
0901デフォルトの名無しさん
垢版 |
2021/09/06(月) 19:28:57.79ID:IWxO7u+j
Rustは
android,Ios,windowsアプリを作れますか?
作れるとしたら
Kotlin,swift,c#と比べて
アプリ制作面で劣るところはありますか?
0902デフォルトの名無しさん
垢版 |
2021/09/06(月) 19:45:57.12ID:lYrcshdQ
Rustのゼロコスト抽象化は
逆に言えば少しでもコストのかかる抽象化はする気がないということで
いくらモダンだろうが
プログラミングしやすい、はありえない
0903デフォルトの名無しさん
垢版 |
2021/09/06(月) 20:15:54.87ID:fRFbGcCb
>>900
C言語でのprintf("%s¥n", s);が
Rustでのprintln!("{}", s);
これくらいの差異は、複数のプログラミング言語をしているなら誤差範囲とわかるはず。
正確にはDisplayトレイトを実装している型ならば全て"{}"で表示できる。
0904デフォルトの名無しさん
垢版 |
2021/09/06(月) 20:27:51.93ID:q4rO2J8T
>>900
イテレータ構文を気持ち悪いと感じるのはあなたが時代遅れのプログラマーだから
以前に>>295でJavaScriptやRubyの例が示されているようにRustに限らず様々な現代的なプログラミング言語でほぼ同じイテレータ構文となる
0905デフォルトの名無しさん
垢版 |
2021/09/06(月) 20:34:05.04ID:q4rO2J8T
>>902
それはあなたの理解がおかしい
言語としてゼロコスト抽象化をしているということはその上に自由に様々な形でコストありの抽象化を実装できるということ
例としては今出ているイテレータ
イテレータはゼロコストの抽象化ではないので言語のコアではなくそのすぐ外側のstd標準ライブラリで実装されている
0907デフォルトの名無しさん
垢版 |
2021/09/06(月) 20:54:43.54ID:H/42z0MA
>>897
>let s = a.iter().sorted().rev().map(|n| n.to_string()).join("-");

これが不自然に見えるならさすがに不勉強すぎる
0910デフォルトの名無しさん
垢版 |
2021/09/06(月) 21:17:54.84ID:fRFbGcCb
名前欄Mb氏は何年間もプログラミングをしていないか、あるいは、非常に古い特殊な環境の仕事しかしていないと推測される。
だから現代のプログラミングでは中心の一つとなったイテレータすら知らなかったのだと思われる。
その知識経験不足な状況でこのプログラミング言語スレに来ているため、何かを教える側ではなく、教わる側になってしまっている。
0913デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:05:29.40ID:orh/Cn4P
YouTube で有名な、雑食系エンジニア・KENTA は、
未経験者のバックエンドの道筋を、Ruby → Go としてる

Rust, Elixir は、普及のキャズムを越えなかった。
スクエニはElixirも使っているけど

唯一越えたのは、Go だけ

Rust は、GC じゃないから、面倒くさい事、この上ない
0914デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:12:41.69ID:7FNGaSMf
>>913
しかしcookpadはバックエンドの高速化でRuby→Rustへ置き換えたそうだ
あとGCがなくても全自動で即座に解放されるから面倒臭くはない
実際のRustのプログラム例>>897もRubyとほとんど同じ
0915875
垢版 |
2021/09/06(月) 22:17:23.19ID:orh/Cn4P
C/C++ は、ポインターがある言語なので、
かなりの時間がポインターの追跡・バグに取られる

同様に、初心者がRust をやると、
メモリの解放に、多くの時間を取られる

C/C++, Rust を10年やったとしても、7〜8年は無駄になる。
Ruby を1〜2年やった人に勝てない

だから、GC のあるGo が流行った。
メモリの解放に費やす時間を、
Linux, AWS, Docker, データベースなど、サーバー構築運用の勉強に当てられるから

食べチョクなどの募集を見ても、明らか。
Ruby on Rails で、サーバー構築運用に詳しい人を募集している

メモリの解放に、時間を費やしている人ではない!

だから、YouTube で有名な、雑食系エンジニア・KENTA のカリキュラムでは、
Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなどが必須なわけ

10年間、メモリの解放をやってましたと言う人を、どこも雇わない。
サーバー構築運用に詳しくないと、雇われない
0916デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:25:39.89ID:wypx0xl1
将来性のある言語は十分わかったから、
今すぐ戦力になれる言語を教えてくれ
0917デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:26:14.47ID:x646ABuV
鎖につながれ 歩き出す君を 飲み込むくらい 多忙な都会は流れてる

投げ捨てられた夢が 転がってる足元が見えたら 地図にない町へ旅立とう たとえそれが無茶だとしても

錆びついたマシンガンで 今を撃ち抜こう
0918デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:27:24.41ID:s2zFhzt5
>>910
Mb氏は不勉強だかバカにされても逃げずに堂々と名乗ってる
コテハン複数持ってるのにいつもコソコソしてる誰かさんに比べると評価できるぞ
0919デフォルトの名無しさん
垢版 |
2021/09/06(月) 22:30:03.12ID:7FNGaSMf
>>915
ちょっと無知すぎて呆れる
メモリの解放が自動的に行われるRustに対して『初心者がRust をやると、メモリの解放に、多くの時間を取られる』
Rustのアンチな人はあまりにも無知で的外れ
0920875
垢版 |
2021/09/06(月) 22:30:13.27ID:orh/Cn4P
結局、バックエンドのほとんどは、サーバー構築運用

言語の文法だけを勉強しているような香具師は、雇われない。
10年間、メモリの解放をやってましたとか言う人も

サーバー構築運用においては、こういうものは比重が少ない

皆、サーバーの勉強が嫌だから、言語の文法の勉強に逃げる。
本1冊読めば、そこそこ出来るから

でも、サーバー関係だと、20〜30冊読まないと出来ないから、
皆、言語に逃げる

皆、サーバーの勉強が嫌だから、Windows 用言語に逃げるだろ。
それと同じ

だから、どこの会社も、サーバー構築運用ができる香具師を募集している。
Ruby on Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなど

実際に米国年収では、1,300万円のRails を抜いて、
AWS Solution Architect が、1,400万円とかになってる

会社は、言語ができる香具師よりも、サーバー技術者が欲しい
0921875
垢版 |
2021/09/06(月) 22:42:49.81ID:orh/Cn4P
C/C++, Rust を、10年やってたけど、サーバーの事はあまり知らない香具師と、
Ruby on Rails, Linux, AWS, Heroku, Docker, CircleCI, データベースなどを、
2年やってた香具師では、

後者の方が、採用される

だから、YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
Rails を採用している

つまり、最も効率的に、早くサーバー技術を学べるのが、Rails。
これで2年やってから、Go へ進む。
これが必須の王道

Rust, Elixir は、補助的なもの。
必須でもないし、初心者がやるものでもない

Rust, Elixirは、大企業しか使わないし、転職で困るので、
ベンチャー・中小企業でも使う、Railsは必須
0922デフォルトの名無しさん
垢版 |
2021/09/06(月) 23:01:16.10ID:fRFbGcCb
>>915
> かなりの時間がポインターの追跡・バグに取られる
> 同様に、初心者がRust をやると、
> メモリの解放に、多くの時間を取られる

それは全く逆です。
Rustはそれらポインタの追跡バグ取りをしなくてもいいように設計され、言語としてメモリ安全性を保証します。
もちろんメモリの解放は安全に自動的にされるので、プログラマーがする必要はありません。

>>921
> C/C++, Rust を、10年やってたけど、

Rustの最初の公開バージョン0.1は2012年ですから、Rustを10年やってたらMozillaの中の人だけですねw
もちろんプログラミング言語は単なる手段の一つにすぎないので、その他の知識経験が必須なのは同意です。
しかしそれにしては、おっしゃる分野が特定の狭い範囲に限定されすぎです。
10年間良い環境でやっていれば、もっと広い意味でのフルスタックエンジニアになれます。
0923デフォルトの名無しさん
垢版 |
2021/09/06(月) 23:32:09.63ID:wvQa5L/J
>>916
主戦場がどこか?によるだろう?

Excel業務ならマクロ
Linuxで定形処理ならPython
WebならJavaScript

プログラムなんて何度も繰り返すめんどくせー作業を自動化するのが目的のひとつなんだから
0924デフォルトの名無しさん
垢版 |
2021/09/07(火) 00:25:16.69ID:lcFKmhWK
>>923
そのLinuxで定形処理ならPythonの部分はダウト
もちろんPythonもPerlもRubyもJavaScriptもそこで用いたりするがPythonが何か突出してることは絶対にない
Linuxで強いて挙げるならばシェルスクリプトだろう
0925デフォルトの名無しさん
垢版 |
2021/09/07(火) 01:01:21.11ID:vmeNyMhz
あえてソコは本格的なプログラミングを行うには適さない
簡易的コマンドシェルスクリプトって始めるのにいい言語か?と自問自答でPythonにした
シェルスクはキーボードのショートカットのようなパソコン操作の部分程度だと思っていたのでマウス片手に戦場に行く人には勧められない
0926デフォルトの名無しさん
垢版 |
2021/09/07(火) 01:29:30.69ID:lcFKmhWK
>>925
本格的なプログラミングと言い出したらスクリプト言語である必要性すらなくなってしまう
大幅に譲歩してスクリプト言語限定(シェルスクリプトは除く)の話としても
他のスクリプト言語も現実に使われているわけだから「Linuxで定形処理ならPython」と言うのはかなり無理がある
そこはRuby好きな人たちなら確実にRubyであろうしWeb屋でサーバーサイドまでJavaScriptで統一してるならばそこもJavaScriptで全く問題なく処理できる
そして昔はPerl派が最大勢力だった分野でもあるため今も残存勢力がいるようだ
0927デフォルトの名無しさん
垢版 |
2021/09/07(火) 05:18:46.73ID:yB3Yphwa
まあぶっちゃけJavaかJSかC#だよ

ちゃんとしたプログラマなら言語なんかすぐ覚えるんだからあとは必要な時に必要なものをやればいい
0928デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:06:12.90ID:XNsuGhsJ
>>926
それは、オフィス雑務なのか、機械学習させたいのか、インタラクティブを求めてるのか、千差万別
一例に過ぎないのに何と戦ってるのかわからないから、追記しとく

ぶっちゃけ始めるのにいい>今すぐ戦力になれる言語<て何?

既存品の組合せでトライアンドエラーするならスクリプト言語系
例えば
Excel業務ならマクロ とか
Linuxで定形処理ならPython とか
WebならJavaScript とか
...etc.
0930デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:20:31.47ID:jxlC+sGH
日本人がプログラミングの勉強をするには
・ スクール
・ webサイト
・ 本
という感じになるんだと思うけど
この中でプログラミングレベル(作法やデザインパターンやなんやら)を
初級〜上級と目指すには
どの言語が適しているか?という問いなら
どんな言語がいいのかな?

Rustはネットや書物だけでも
ネット決済のプログラムを0から構築できる程度に
学習情報は整っていますか?
0931デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:34:01.58ID:lcFKmhWK
>>930
唐突にネット決済という特殊な特定の話が出てきて
さらに特定の言語Rustを指定して質問してる時点で言動が異常

それはともかく
スクールに頼らないといけない人はプログラミングに向いていないとは思う
向いている人ならば必ず自力で学習できる
0932デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:40:50.99ID:jxlC+sGH
>>931
Rustが話題になっていて学ぶ環境は整備されているのかという個人的な興味と
ネット決済は整数の取り扱いやサーバーとの連携
セキュリティやバリデーションなど色々ハードルが高く
ライブラリもしっかりしていないと、という意味合いで例示しただけです
0933デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:43:42.31ID:jxlC+sGH
あと金融決済のサイトは
変数の取り扱いや様々な処理
拡張性や保守性、その他もろもろ
硬派でないとという意見を散見してきたので
金融決済サイトに適した言語なら
手堅いのかなと思いまして
0934デフォルトの名無しさん
垢版 |
2021/09/07(火) 07:58:09.14ID:2A/XDTjQ
>>933
そう思ってしまうのは理解できる。
しかし現実には関係ない。
ほとんどのプログラミング言語は、そういう観点ではほとんど差がない。
むしろ言語とは別のファクターが大きい。
例えば、Pythonが他の言語と比べて特に何か機械学習に向いているわけではないが、
たまたまその方面のライブラリなどが整備されたという理由で、機械学習ならPythonという状況。
しかもそのライブラリの実体はC++で書かれていたりするので、その皮を被せるのはPythonでなくとも他の言語で可能。
0936デフォルトの名無しさん
垢版 |
2021/09/07(火) 08:46:47.97ID:VlHQ7RbH
ここでRust Rust言ってるやつも
つい先日、Rustスレでイテレータ理解してなくて恥晒してたぞ
0937デフォルトの名無しさん
垢版 |
2021/09/07(火) 09:28:32.67ID:1fBu03+J
イテレーターとかファサードとか
古来からのプログラミングパターンなんだし
自分で簡単に実装できるから
あんまり意識してないとかじゃない?
0939デフォルトの名無しさん
垢版 |
2021/09/07(火) 09:36:23.70ID:1fBu03+J
>>935
動的型付だと保守修繕するときに
変な変数や配列の使い方をされてめちゃくちゃになるから
静的型付け言語を採用するとか聞いたことあるけどガセだったんでしょうか?

java勉強してて楽しいなと思った箇所で
クラスを秘匿にしてinterfaceで多様性を実装することで
バグの伝搬を防ぐっていうのがあったんですけど
pythonやjavascript、Rustとかでも
java同様に多様性を利用したプログラムはできるんですか?
0940デフォルトの名無しさん
垢版 |
2021/09/07(火) 09:56:16.49ID:X4ha4H+D
>>939
それが楽しいならばRustがさらに向いてる
Rustはパラメータ多相だけでなくサブタイプ多相も強い静的型付けで可能
0942デフォルトの名無しさん
垢版 |
2021/09/07(火) 10:55:51.98ID:2A/XDTjQ
>>936
あのスレものぞいてるが、そんな話あったか?
イテレータでは書けないケースをforなどループで回す、という話はあったが。
0943Mb
垢版 |
2021/09/07(火) 13:56:25.62ID:cqWA1B7j
>>910
イテレータは普通に知ってるんだが、
いわゆるループ関係の構文(for、while、do)と、
ちょっと相性が悪いように思う。
「コンテナクラスに放り込んで、どれから取りだすか」というときに、
sort 一発で優先度が決まるわけでもないだろう?
0944Mb
垢版 |
2021/09/07(火) 14:05:48.13ID:cqWA1B7j
次スレの話だが、
【性別・年齢・経験】今から始めるのにいい言語って何【不問】
とかどうだろう。
0947デフォルトの名無しさん
垢版 |
2021/09/07(火) 14:44:24.28ID:yB3Yphwa
>>939
動的は書きやすいけど読みにくい

Interfaceなんか最近の言語はどれでもある

まあぶっちゃけ現状バックエンドでかたいのはJavaだよ
0948デフォルトの名無しさん
垢版 |
2021/09/07(火) 14:59:01.30ID:2A/XDTjQ
>>943
コンテナは必ずしも順序があるわけではないが、イテレータは常に順序がある。
どれから取り出すかは各イテレータに依存だが入力に対して常に一意に定まる。
開始イテレータは、同じ入力に対しては必ず同じ対応するシーケンスを出す。
中間イテレータは、同じシーケンス入力に対しては必ず同じ対応するシーケンスを出す。
終端イテレータは、同じシーケンス入力に対しては必ず同じ出力を出す。
つまり開始イテレータ及び中間イテレータは、常に入力に応じた安定したシーケンスを出すので、むしろループ構文と相性が良い。
0949Mb
垢版 |
2021/09/07(火) 16:29:16.97ID:cqWA1B7j
それは理解できるのだが、
スタックとキューとデキューの話になると思う。
チャート法のアジェンダの中から、どういうふうに
取り出すか、というのは評価関数とかの話を含めて、
けっこう難しい問題だと思う。
0950デフォルトの名無しさん
垢版 |
2021/09/07(火) 16:50:09.82ID:2A/XDTjQ
>>949
あなたは何も理解できていない。
いや理解する気がないと言うべきか。
ならば匙を投げる。
0951デフォルトの名無しさん
垢版 |
2021/09/07(火) 16:52:50.07ID:jxlC+sGH
スマホアプリを作れるようになりたいとしたら
Kotlin、C#、Swiftでしょうか?

Rustについて調べたんですけど
CやC++の後継という表現はありましたが
スマホアプリを作るには重たそうな感じですね
(作れるのかさえ分かりませんでしたが)
0952Mb
垢版 |
2021/09/07(火) 16:54:43.78ID:cqWA1B7j
>>950
あなたは何も説明できていない。
いや説明する気がないと言うべきか。
語れ。でなければ匙を投げる。
0953デフォルトの名無しさん
垢版 |
2021/09/07(火) 16:57:34.49ID:C5/+Efkq
>>950
みーんな放置してるから
放置でおk
このスレに来てる人の中で最底辺だからソイツ
知能と経験という意味において
0955デフォルトの名無しさん
垢版 |
2021/09/07(火) 18:23:29.62ID:Pr0NAbvm
あわしろ氏は、見どころのある少年だと言ってるぞ。
意見が割れてるな。
0957Mb
垢版 |
2021/09/07(火) 19:56:18.96ID:cqWA1B7j
>>945
あたしもそう思うんだけど、気に入らない人っているみたいなんだよね。
ハードウェア寄りの基礎だったら、アセンブラ系の言語か
C でいいと思うんだけど、C++ は応用寄りなので初心者向けとは
言いにくいんですよ。
VB とかは言われるほど悪くないとは思うんだけど、N-BASIC とか
Real BASIC とかの確執もあって、MS 嫌いの人には評判が悪い。
Java と C♯は、業務用には悪くないと思う。
Haskell は最近勉強しはじめただけだけど、遅延評価とかそのあたりを
解ってもらえるかどうかはいろいろあると思います。
0958Mb
垢版 |
2021/09/07(火) 20:05:44.64ID:cqWA1B7j
>>945
新スレ立てるなら、これ入れといて。

前スレ
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
ぶっちゃけ始めるのにいい言語て何 part2
http://mevius.5ch.net/test/read.cgi/tech/1594883518/
ぶっちゃけ始めるのにいい言語て何 part3
https://mevius.5ch.net/test/read.cgi/tech/1599110613/
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/
ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/
0959875
垢版 |
2021/09/07(火) 21:01:05.52ID:YcIWO4/P
>>930
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、

Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も入る

だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!

他には、Udemy の山浦清透のサロンにも、KENTAと同様、3千人が入っている。
くろかわこうへいのサロンには、数百人とか

KENTA, 2021/3
女性エンジニア&個人開発者のだむはさんにインタビュー
www.youtube.com/watch?v=ieljaqRC98A

Heroku, S3, 決済はStripe, Docker

他には、Shopify アプリなどもある

学習環境では、どこの学校・サロンでも、圧倒的にRails。
Railsガイド・Railsチュートリアル、黒田努の本など

Rails 6 の本だけでも、数冊は出てる。
Railsチュートリアルも毎年、売上が増える。
どうして、Ruby はオワコンと言われるのか、全く分からないと言ってる
0961875
垢版 |
2021/09/07(火) 21:23:58.73ID:YcIWO4/P
基本、食べチョクみたいに、若い娘が1人で起業するような場合は、
Ruby on Rails, Heroku, Bootstrap

ただし、食べチョクはAWS だけど

食べチョクでは、Railsで、サーバーに詳しい人を募集している。
言語よりも、ほぼサーバー構築運用の技術。
Linux, Docker, Kubernetes, AWS Fargate, Terraform とか

つまり、言語は副次的なもの。
サーバー技術を学ぶのに、最も簡単なフレームワークが、Railsと言うだけ

これを、Node.js, Laravel, Django で学ぶと、転職に不利。
誰も、Rails以外のポートフォリオを見ないから、無視されるだけ

それで、多くの学校・サロンは、Railsを採用している

自分が採用する側になれば分かる。
Rails以外を提出しても、面倒くせー奴だな。
こいつは不採用だ、となる

Ruby以外の言語は可読性が低いし、素人が書いたコードを読む、プロなんていない。
時間の無駄
0963デフォルトの名無しさん
垢版 |
2021/09/07(火) 21:45:05.68ID:MPjmEySK
言語とかどうでもいい
やる気があるやつならAndroidStudioとJavaを使ってこの一日だけである程度動くアプリ作れてるぞ
0964デフォルトの名無しさん
垢版 |
2021/09/07(火) 21:45:12.90ID:C5/+Efkq
>>961
> Ruby以外の言語は可読性が低いし

逆にrubyは実は可読性が低いと思うけどね
書きやすい反面書き散らしてしまうというか
他の言語のときにくらべてあとから見たとき唖然とする
自分の書き方が悪いんだといえば完全に言い訳できないけど
0966875
垢版 |
2021/09/07(火) 22:18:24.77ID:YcIWO4/P
要するに、Rails が教えるものは、ウェブアプリのデザインパターン

例えば、秘密情報は、Credentials を使うとか、
どのようにファイルを分割するとか、
ほとんど決まっているから、他人のコードでも読める

例えば、伊藤淳一のコードレビューでも、
そのやり方はRails Way じゃないとか、レールに乗っていないとか、
書き直しを指示される

独自のやり方で書けないようにしているから、共有性が高い。
個人の書き方に依存しない

初心者でも、クソコード・クソ設計にならないようにしている
0967デフォルトの名無しさん
垢版 |
2021/09/07(火) 22:56:40.36ID:2A/XDTjQ
Ruby on Railsは既に古いと思います。
例えば今やWebサーバーでは必須となったサーバーサイドレンダリング(SSR)。
これは、Vue.jsやReact.jsなどをブラウザサイドで使う場合に、最初のアクセスで閲覧者にページ表示を待たさないためには、SSRが不可欠な技術となっています。

ところがRuby on Railsはこの時にSSRをすることができません。
もし無理矢理にRuby on RailsにSSRをさせようとするならば、Vue.jsやReact.jsで記述したロジックを、Rubyでも記述しなければいけなくなります。
当然そんな二重に無駄なことはしていられません。

そこでサーバーサイドでもVue.jsやReact.jsのコードを動かすために、それぞれVue.js/Nuxt.jsやReact.js/Next.jsという形で、
サーバーサイドではNode.jsを用いてJavaScriptを動かしているのが現状です。

ではこの時Ruby on Railsは何をしているのか??実はNode.jsに丸投げしているだけです。
つまりRubyは不要でRailsも不要で、最初からNode.jsの各種Webフレームワークを使えばよかったのです。
こうすることで全てを効率よく、しかもプログラミング言語はJavaScriptだけでサーバーサイドもブラウザサイドも記述できます。
0968Mb
垢版 |
2021/09/07(火) 22:57:46.16ID:cqWA1B7j
アセンブラや C は、本当に「言ったことしかやってくれない」
かわりに、「言わなかったことは決してやらない」(つーても
オプティマイザがチョッカイを出してきたりするわけだが)
という特性がある。
最近の言語は、「バックグラウンドで何をやっているか」が
わかりにくいのが欠点といえば欠点だし、「そういうのを
意識しなくていい」というのが長所といえば長所。
0969875
垢版 |
2021/09/07(火) 23:27:41.40ID:YcIWO4/P
Ruby on Rails は、Heroku, AWS で、React, Bootstrap が多い。
最近は、Vue.js もある

Railsの作者・DHH の会社・Basecamp 社製のStimulusReflex もある。
これは、WebSocket 通信

他には、API モードもある。
GraphQL とか
0972デフォルトの名無しさん
垢版 |
2021/09/08(水) 03:01:25.91ID:YcAq3kNQ
Ruby君は特定の単語に反応して同じ主張を繰り返すだけのできの悪いbotみたいなモノだから、議論しようとするだけ無駄
さわらずスルーするのがスレを汚さず皆のためかと思うよ
0973875
垢版 |
2021/09/08(水) 03:04:47.47ID:dK8gXF1C
Ruby on Rails では、Node.js は開発環境で使っているだけ。
webpack, babel, npm/yarn などのツールを使うから

React, Vue.js も、最終的にはトランスパイルされる。
HTML のscript タグに、React, Vue.jsのCDN のURL を書いても動く

実行環境では、Node.jsは動いていない。
サーバー側はRails で、ブラウザ側は、HTML, CSS, JavaScript

サーバー・ブラウザのやり取りは、HTMLか、
Rails のAPI モードでは、JSON とか

だから、Railsの基本は、Heroku, AWS で、React, Bootstrap が多い
0974875
垢版 |
2021/09/08(水) 03:19:09.31ID:dK8gXF1C
伊藤淳一、2017

Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
www.youtube.com/watch?v=ycOeM2umXkY

Deanin, 2020/12

Axios呼び出しを使用したRubyOn Rails 6 RESTAPIバックエンドを備えた
Vue3およびVuexフロントエンド| 20in20 –第15週 (翻訳済み)
www.youtube.com/watch?v=gnymlh4Ljvw

今日は、Vuexとすばやく簡単なRailsAPIバックエンドを使用して、独自のVue3SPAを作成します

2人とも、有名なRubyist
0976デフォルトの名無しさん
垢版 |
2021/09/08(水) 19:10:02.23ID:MKoM4CNU
いちいち宣言する必要ないだろ。
何なのコイツ。
荒らしてんの。
0977デフォルトの名無しさん
垢版 |
2021/09/08(水) 19:16:38.78ID:MKoM4CNU
初心者のためにRubyが良いですよと教えてくれてるのに。
感謝するべきだろ。
0978デフォルトの名無しさん
垢版 |
2021/09/08(水) 19:22:33.76ID:dZyroowl
頑として他人の意見を聞き入れない奴の指南に価値などない
0980デフォルトの名無しさん
垢版 |
2021/09/08(水) 19:50:39.84ID:cP5vntap
Perlって真珠のスペルと違うじゃないかと思ったけど、
調べたらpearlが既にあったんだね。へー。
0983デフォルトの名無しさん
垢版 |
2021/09/08(水) 22:41:15.04ID:bql1CtjZ
Cで入門→Rustへ進む、で全て解決な気がしてきた
メモリ安全性が保証されてGCも無くモダンな書き方で便利にプログラミングできるC言語の超越進化版が出現してしまったわけだから
0984デフォルトの名無しさん
垢版 |
2021/09/08(水) 23:38:15.86ID:cP5vntap
RustはMicrosoftとGoogleが推してるのが大きいよね。
ユーザーが多ければ磨かれるし、優秀でもマイナーだと心細い。
0991デフォルトの名無しさん
垢版 |
2021/09/09(木) 13:18:08.68ID:hvR+3cwr
メモリが大きくなると
さらにメモリをたくさん使うようになるから
いずれにしてもGCは必要だな
0992Mb
垢版 |
2021/09/09(木) 14:07:45.20ID:yI7BAQ6X
>>982
そういう意味では ANSI 標準になってからお砂場みたいになって
つまらなくなった。
C 言語って、もっとヤクザな言語じゃなかったっけか?

>>986
玉磨かざれば光なし
以て他山の石となす

>>988
どんな環境にも 必ず終わりはくる
読み筋は野坂昭如「終末のタンゴ」
仮想記憶が絡んでくると、どっと遅くなる。
Rust はそのあたりに配慮してああいう言語仕様になったのだと思う。
新人はそのあたりを意識できるように、
お砂場言語と仮想マシンときっちりしていない言語から
始めるのも悪くないと思う。
0993Mb
垢版 |
2021/09/09(木) 15:35:22.20ID:yI7BAQ6X
誰か次スレを立ててくれないか?
0994デフォルトの名無しさん
垢版 |
2021/09/09(木) 16:24:34.45ID:vNkr9nur
次スレいらないでしょ
少なくともこのスレタイでは
0995Mb
垢版 |
2021/09/09(木) 16:53:03.44ID:yI7BAQ6X
>>994
> 少なくともこのスレタイでは
【C?】最初の言語に何を選んだらいい?【Haskell?】
とかかなぁ。
0996デフォルトの名無しさん
垢版 |
2021/09/09(木) 17:01:37.63ID:MwoieJA5
C…まだ分かる
Haskell…これは無いだろ
0997Mb
垢版 |
2021/09/09(木) 17:05:35.36ID:yI7BAQ6X
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
ぶっちゃけ始めるのにいい言語て何 part2
http://mevius.5ch.net/test/read.cgi/tech/1594883518/
ぶっちゃけ始めるのにいい言語て何 part3
https://mevius.5ch.net/test/read.cgi/tech/1599110613/
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/
ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/
とかかなぁ。
0998Mb
垢版 |
2021/09/09(木) 17:22:35.58ID:yI7BAQ6X
次スレ
【C?】最初の言語に何を選ぶか【Haskell?】
https://mevius.5ch.net/test/read.cgi/tech/1631175225

Haskell に賛否両論があるのは承知している。
とはいえ遅延評価は組合せ論的な問題には強い。
そこは議論の余地があると思う。
0999Mb
垢版 |
2021/09/09(木) 17:37:55.83ID:yI7BAQ6X
C は「超高級アセンブラ」と呼ばれていた経緯があるような
ハードウェアべったりの言語であり、
Haskell は LISP 1.5 の後継として、
SmallTalk 80 を継承している。
とりあえず対極に置いても、さほど違和感はないように思う。
1000デフォルトの名無しさん
垢版 |
2021/09/09(木) 18:41:37.72ID:wE7qph1K
ぶっちゃけ始めるのにいい言語って言ってんのに、CだのRustだのHaskellだのってバッカじゃねぇのおっさんども
お前らの好みなんか聞いてない。
こんなクソスレはもういらん
初学者はPython、Javascript、Ruby、PHPの中から選べばいい。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 27日 21時間 11分 7秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況