21/08/22 15:33:43.95 l91cVjvi.net
>>256
アオリイカはスルメイカとは別種だが、
アオリイカの干物は「水スルメ」といって
一般的にはスルメより高額。
スレの主旨と外れてしまいそうなので一言言っておくと、
映画「ファイヤフォックス」の特技監督のジョン・ダイクストラは
「スター・ウォーズ」にも携わっていて、デス・スターに突っこむ
シーンのモーション・コントロール・カメラの制禦に使われたのは
FORTH だったらしい。
「ルーク、FORTH を使うのじゃ」というのは、当時の『I/O』の
読者にはネタとして知られていると思う。
SF 関連でいうと、作家のバローズとスタックマシンで有名な
コンピュータ・メーカーであるバローズは、縁続きらしい。
267:デフォルトの名無しさん
21/08/22 15:35:38.17 oBDvQ8sm.net
言語全般を扱うスレなのでマークアップ言語もOKとあわしろ氏が言ってたな。
268:デフォルトの名無しさん
21/08/22 15:42:16.72 l91cVjvi.net
>>257
盂蘭盆会が済んだというのに、
小圓遊と歌丸と前田武彦が帰ってゆかねぇのは
新型コロナの祟りか?
269:デフォルトの名無しさん
21/08/22 15:46:12.12 PExPKGEq.net
単純に勉強したいのならkotlinかC#あたりがいいと思うな
何か作りたいとか仕事にしたいとかだと、まあいろいろ意見はあると思うけど
270:デフォルトの名無しさん
21/08/22 15:54:51.79 3PlADbvC.net
JSPなどのJavaEEって、今でも新規開発に使われたりするの?
271:デフォルトの名無しさん
21/08/22 16:19:45.76 h0YuhPPZ.net
まーた老害ジジイが今日も大暴れしてて草
272:デフォルトの名無しさん
21/08/22 16:37:24.02 i6vv6ufy.net
>>262
昔のサイトは閲覧者がクリックしてページ遷移する時に
普通にブラウザがサーバからHTMLを取り寄せて表示を繰り返していたけど
今のまともなサイトは閲覧者がクリックしてページ遷移する時に
JavaScriptが必要差分データのみ取り寄せて高速にページを表示する
つまりサーバーが毎回HTMLを作って返すことはない
ブラウザ上でJavaScriptがHTML(に対応するDOM)を作ってしまい高速にページ遷移する
でも一番最初のページだけは内部ゼロの状態だからサーバーがHTMLを作って返した方がいいよね、となるのだけど
既にJavaScriptがHTML(に対応するDOM)を作ってくれるコードがあるので別言語でほぼ同じコードを書くのはムダすぎるよね、となった
つまりJavaの出番が無くなってしまいました
273:デフォルトの名無しさん
21/08/22 16:40:37.46 mZ6+0ifq.net
>>255
hta-Firefoxの同等物、Chrome-これは古いテクノロジーですか?
URLリンク(www.it-mure.jp.net)
274:デフォルトの名無しさん
21/08/22 16:43:57.67 r9z5TSxz.net
>>265
途中送信失礼
URLリンク(www.it-mure.jp.net)
によれば以下で使えるんじゃないかな?
現代の選択肢:
NW.js (以前はnode-webkitと呼ばれていました)
私が個人的に使用してお勧めする電子 。
上記の両方のオプションは、Chromium(Chromeと同じ)、Node.jsおよびV8。 HTML5、CSS3、および最新のECMAScript を含む最新のJavaScriptエンジンをサポートします。 )機能以降!
また、node.jsを使用しているため、 組み込みライブラリ(FileSystemなど)を使用できます または 任意のnpmパッケージ がDOMにあります!
275:デフォルトの名無しさん
21/08/22 16:55:39.89 iMcDWK5D.net
>>264
サーバーサイドでも同じJavaScriptコードを動かすためにNode.jsを使っていますね。
>>266
デスクトップアプリとしてNode.js+Chromium=Electronをベースにするのが主流ですね。
例えば統合開発環境のVSCodeもそのElectronでJavaScriptにより作られています。
276:デフォルトの名無しさん
21/08/22 17:05:49.03 l91cVjvi.net
>>262
> JSPなどのJavaEEって、今でも新規開発に使われたりするの?
保守というものが存在するのだ。
新しい環境でリプレース(置きかえ)すると、
規模にもよるが普通に死人が出る。
大手のプロジェクトだったら、亡くなった方は
0人や一人や二人ではないと思われる。
ドアクローザーで首吊って亡くなったとか、
ビジネスホテルでパンツ引き下ろして
ピノキオ状態で亡くなってたとか、
会社の階段の踊り場から飛び降りて新聞紙で覆われていたとか、
JR のプラットフォームから飛び込んだとか、
いろんな話がある。聞きたかったら訊いてくれ。
「新しい画期的なツールと環境があるから導入しよう!」
みたいな話が出ると、億単位の大規模プロジェクトだと、
一人二人はたいていお亡くなりになる。
277:デフォルトの名無しさん
21/08/22 17:40:45.67 0Cz6ueFz.net
>>248
技術書典に出会っていなかったら俺はNimをさわってないと思う
背景
俺たち「そろそろ技術書典に参戦するか」
俺たち「何書く?」
俺たち「マイナー言語を触ってみよう。言語選択は早い者勝ちね」
ワイ「(マイナーの定義はさておき)Nimでオナシャス」
ワイ「(アドカレあるし、記事まとめておくかぁ...)」
Nimとは?
Nim は アンドレアス・ランプフ氏によって設計・開発された命令型、マルチパラダイム、
コンパイル言語という特徴を持つプログラミング言語です。
アンドレアス・ランプフ氏は3DICC社に所属するエンジニアです。彼はNim開発以前に様々
な言語を触っていたようです。が、どの言語も満足せず、自身で作成することにしたようです。
それがNimプロジェクトの始まりで、2005年頃のようでした。
当初NimはNimrod(旧約聖書の登場人物)という名前でしたが、マーケティング上の理由から
2014年12月29日にリリースされたバージョン 0.10.2 からNimに変更されました。
278:デフォルトの名無しさん
21/08/22 18:34:17.48 FmMkwQfs.net
>>264
いまだに、
サーバーから毎回ページ全部のおくるのが大半だよ
それにまともなブラウザーで動き見りゃ一髪でわかんだろ
馬鹿
from 現場より
279:デフォルトの名無しさん
21/08/22 18:36:44.72 PExPKGEq.net
AJAXで次ページを実装すると、URL変わらないから、「戻る」したとき挙動が期待した通りにならなくない?
そういうことではない?
280:デフォルトの名無しさん
21/08/22 18:51:34.81 M38WAZ3o.net
そういうのはHistroy APIとサーバー側のルーターで自然な動作に見せる。
281:デフォルトの名無しさん
21/08/22 19:09:19.59 l91cVjvi.net
>>271
Struts とかの仕事のときには、結構ややこしいことになったなぁ。
JavaBeans とかを使うとセッションごとに管理されているので、
そのあたりは気にしなくてよかったように思う。
もっとも、漏れがやってたのは学会系のサイトで
査読者だけがアクセスしてログインするようなサイトだったので、
トラフィックの心配とかしなくてよかったから
そのあたりは JSP で丁寧に作りなおした。
当時その職場では CSS が普及していなかったので、
『CSS Zen Gorden』とか呼んで勉強した記憶がある。
282:デフォルトの名無しさん
21/08/22 20:17:16.50 ufypfn2W.net
JSはHTMLを動的に処理しようとして作られたHTML志向言語
Javaを意識したというけれど基本はマークアップを動かす言語
それが刷新せずにダラダラと拡張をつづけ、最後はjavaみたいに動かす方法もありますとなった
やっとJSもまともな言語に見えるようになれた!という段階
283:デフォルトの名無しさん
21/08/22 20:22:41.78 l91cVjvi.net
>>269
> 彼はNim開発以前に様々な言語を触っていたようです。
> が、どの言語も満足せず、自身で作成することにしたようです。
> 当初NimはNimrod(旧約聖書の登場人物)という名前でしたが、
> マーケティング上の理由から
「ニムロッド」って、「神に反逆する者」みたいな意味が
あるんだよね。
よっぽど既存のメジャーなプログラミング言語が
気に入らなかったんだろうな。
そう思うと、ちょっと興味が湧いてくる。
284:デフォルトの名無しさん
21/08/22 20:34:42.13 l91cVjvi.net
>>274
JavaScript もまずまず使える言語になってきたと思うので、
HTML が JavaScript の入出力周りを担っているという
解釈もあるかと思われる。
JS からプログラミングを始めようという入門者は、
マークアップ言語としての HTML → JS
というより、
JS → 入出力環境としての HTML
だと思ってそうに思う。
JSP だって、GUI をちゃんと実装するより、
自分の開発環境に Tomcat 立てて書いたほうが
楽だもんなぁ。
285:デフォルトの名無しさん
21/08/22 21:06:29.79 nGQODmwk.net
JS→JC→JK→JD
286:デフォルトの名無しさん
21/08/22 21:17:32.04 0Cz6ueFz.net
>>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")
287:デフォルトの名無しさん
21/08/22 21:37:51.39 aqCRpfAk.net
Ruby on Rails では、サーバーでHTML を作って返すのが基本。
他には、API モードで、JSON を返すこともできる
ページ遷移は、Turbolinks という機能で、
Ajax で、HTML 内を部分的に書き換えることで、ページ遷移を起こさない
その際、Histroy API のpushState で、
戻るボタンへの対応や、URL を変更する
これを、Ajax + pushState = Pjax と言う
288:デフォルトの名無しさん
21/08/22 21:39:53.52 PExPKGEq.net
>>279
へー、いまはそんな機能があるんだ
くっそ面倒くさいな
289:279
21/08/22 22:28:28.48 aqCRpfAk.net
HTML の機能とか、セキュリティー対策とか、学ぶことは無数にある。
だから皆、初心者はRuby on Rails で勉強する
有名なのは、YouTube の雑食系エンジニア・KENTA のサロンだけど、
ほとんどの学校でも、80万円ぐらいのRailsコースがある。
最安値は、東京フリーランスのデイトラで、10万円
その過程で、Linux, Docker, AWS、データベースなど、
システム構築運用に必要な、バックエンド技術も学ぶ
290:デフォルトの名無しさん
21/08/22 22:31:07.75 1uD9aEBf.net
>>280
面倒くさいのはブラウザやフレームワーク開発者でTurbolinksももはや古典な部類
その発展がいまでいうSPAで周辺サポートてんこ盛りになってる
仕様化より大手の仮実装が先だけどブラウザ開発よく破綻せんなーおもう
291:279
21/08/22 22:55:14.86 aqCRpfAk.net
例えば、食べチョクみたいな若い女の子が、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 もある
292:デフォルトの名無しさん
21/08/23 00:42:28.36 P11lus6C.net
>>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を用いる方式をとっています
293:デフォルトの名無しさん
21/08/23 03:54:59.54 3qicjwlg.net
色んな言語がそうなんだけど、
重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
読むのが面倒で意味が飲み込めない。
特にJavaScriptのNode.jsみたいなの。
もう既に固定されたJavaScriptの仕様を無理に拡張させてるって感じでさ。
頑張ってるのは判るんだけど、もう少し判りやすくなんない?って思う。
ああ、こういうスレの主旨として、初心者の直感で書いてるんだけどね。
294:デフォルトの名無しさん
21/08/23 06:49:55.42 K2w3HmNV.net
>>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
何がわかりにくいですか?
295:デフォルトの名無しさん
21/08/23 07:37:16.19 5zH9bxnu.net
>>286
うん。君が正しいね。その通りだと思う
296:デフォルトの名無しさん
21/08/23 10:15:43.19 h9qCfh+2.net
>>285
科学技術系(数値計算系)の経験でいうと、
「簡単に書ける、初心者向けの言語」って、
ライブラリみたいな「隠蔽されている部分」の
中身を書くときには、精度とか安全性とかを保証しようと思ったときに
「ちょっと心配だなぁ ……」と思う。
足回りのライブラリは Java かなんかで書いて
上の言語からそれを呼び出すとかいうのが
便利かもしれないと思う。
(ただ、これをやるとバージョン管理が面倒臭くなるが。
C とか C++ とかで make ファイルの記述に漏れがあって
プロジェクトが悲惨なことになっている例は
何度も見た)
297:デフォルトの名無しさん
21/08/23 10:18:01.88 h9qCfh+2.net
>>285
> 重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
> 読むのが面倒で意味が飲み込めない。
LISP とかな(笑)
298:デフォルトの名無しさん
21/08/23 10:52:16.14 OQWffhF4.net
慣れもあるけど可読性を重視するのも大切だね
ラムダ哲学は色んな言語で実装されてるけど
例えば、function func(){
299:デフォルトの名無しさん
21/08/23 10:58:48.76 OQWffhF4.net
と
()=>{}
と同じように思えるけど
オブジェクトの中身を見ると違ったする
function fun(){}とclass c{constructor{}}も
オブジェクトの中身は異なるけれど
同じように機能する
({})
Object()
new Object.create()
Function()
()=>{}
(function(){})()
({}=>)()
確かに簡単に書ける
初心者にはやりやすいかも
class
300:デフォルトの名無しさん
21/08/23 11:00:00.40 U6ZTgHSo.net
>>285
なぜ、あなたはそんな嘘をついてまでJavaScriptを叩いているのですか?
>重ねまくる括弧とラムダ式みたいな特殊な記法が並んでると、
>読むのが面倒で意味が飲み込めない。
>もう既に固定されたJavaScriptの仕様を無理に拡張させてるって感じでさ。
JavaScriptの関数式(=ラムダ式)は20�
301:N以上前の20世紀から存在しています。 そしてウェブブラウザ内で使われてきました。 そしてラムダ式の記法は各プログラミング言語で多少の差異はあれど当然ほとんど似たような形になっています。
302:デフォルトの名無しさん
21/08/23 11:10:43.95 OQWffhF4.net
>>292
彼は初心者の視点として
ラムダ式が読みづらいと主張してるんでしょ
その一例としてJSのNodeを例にしてるだけ
JSは無理に仕様を変更して拡張しなくても
(ライブラリやTypeScriptなどにまかせて)拡張していけばいいのでは?
と、初心者側の意見を提示してるだけに読めるけれど
どこもJSを叩いているとは読み取れない
303:デフォルトの名無しさん
21/08/23 11:15:40.03 Z/2Y5aLI.net
ラムダ多用したほうが局所化されてヒトにもコンピュータにも優しいはずなので
完全に見た目≒コーディングセンスの問題
クソコード自覚してほしい
304:デフォルトの名無しさん
21/08/23 11:20:45.88 PbwMaige.net
>>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だけ読みにくいですね
305:デフォルトの名無しさん
21/08/23 11:21:45.90 gb7LRZA7.net
ぶっちゃけ始めるなら、ぶっちゃけ系の言語が良い
おとなしい言語は駄目だな
306:デフォルトの名無しさん
21/08/23 11:27:20.26 n1hZLw7w.net
>>293
JavaScriptは拡張ではなく昔からラムダ式すなわち無名関数式がありますよ
むしろ拡張でいえばアロー形式導入で見やすく括弧の数も減っています
貴方が誤解しているのではないでしょうか?
>>295に見られるようにJavaScriptはわかりやすい言語の一つです
307:デフォルトの名無しさん
21/08/23 11:51:41.29 /ZulnilQ.net
カッコが多いと読みににくいんですか?
どうせ最後の ))))))) とかは終わりという意味ぐらいしかなく
近頃のエディタはカッコの数が違うと教えてくれるので
いやなら見なければいいだけなのでは? } だって
}}}}}}}}} とかなると分かりにくくなりますよね?
308:デフォルトの名無しさん
21/08/23 12:04:11.75 JYwdk8yB.net
emacs だと lisp のカッコは読みにくくならないから不思議ωωω
309:デフォルトの名無しさん
21/08/23 12:24:04.86 OQWffhF4.net
激しい文盲がいるな
ラムダと拡張の話は別の主張ともとれるって話をしてるんだけどな
あんた何時も文脈を読み違えるけど
それでコードかけてんの?基本的に会話の理解能力が欠如してるんじゃないの?
310:デフォルトの名無しさん
21/08/23 12:40:36.40 ueeBrG1Y.net
>>295
Pythonはカッコが多くなって読みにくいな。
311:デフォルトの名無しさん
21/08/23 13:07:59.31 OQWffhF4.net
大容量、超高速の現在
基本は保守や拡張しやすいコードだと思う
エレガントとかじゃなく
312:デフォルトの名無しさん
21/08/23 13:48:55.44 WMEJY++t.net
>>295を見るとPythonは可読性が低く保守もしにくそうですね
313:Mb
21/08/23 13:53:54.95 h9qCfh+2.net
>>
314:300 > あんた何時も文脈を読み違えるけど いや、これを言っちゃ野暮だとは重々承知しているのだが、 キミは揶揄(からか)われているのだよ。 打ち返し芸を鍛錬して、ツッコミ芸を磨いたら 受けると思う。 「デフォルトの名無しさん」だと、 どこに突っこんだらいいのか判断に困ると思うので、 とりあえず固定ハンドル(コテハン)を使おうと思う。 あ、なりすましは一応歓迎するから。 >>302 漏れが泥酔中に書いたのかと思って、 ちょっとビビった。ID 見て安心した。 乏しい環境を体験している世代としては、 激しく同意。
315:Mb
21/08/23 13:59:55.46 h9qCfh+2.net
>>298
そのためにインデントというものがあるんじゃないか。
インデントに関しては議論がある。
米国のとある学会は、
「今後、インデントに関する論文は受けつけない」と
宣言したと聞いた。
出典は共立出版の「プログラミング・セミナー」の中の
『凸凹プログラム』だったと記憶している。
316:デフォルトの名無しさん
21/08/23 14:12:27.29 h9qCfh+2.net
>>302
> エレガントとかじゃなく
「プログラム書法」では「可読性を重視しろ」というのが
重視されているが、プログラムが書けるといえども
「実装畑」ではなくてそれ以外の分野の人もいるので、
エレガンスはあってもいいとは思う。
入山徳夫さんの「入山のアルゴリズム」はエレガントだが、
可読性も高いし移植性も高い(つーても、それが正しく動くことを
理解するのはなかなかに困難だったが)ので、それはそれで
(計算数学的には)いい。
とりあえず、パッケージ・ライブラリの中でおとなしくしていて
祟りをなしたりしないのなら、敬して遠ざけたほうがいい
(つまりは棲み分けだ)と思う。
317:デフォルトの名無しさん
21/08/23 14:18:03.18 7w/ICjxb.net
>>300
ラムダ式が入って来ると読みづらいとは、旧世代の人と同じだな。
むしろ読みやすく理解しやすくするためにラムダ式は使われる。
そのために後からラムダ式が導入された言語もあれば、既存だがラムダ式を活用する関数やメソッドを導入した言語もあり、ほとんどのメジャーな言語では全てラムダ式とその活用ができるように進化した。
318:デフォルトの名無しさん
21/08/23 14:23:37.15 /6K8Gxc1.net
>>295
なお、ことりん
【Kotlin】
s.reversed().map { it.toString() + "-" }.joinToString()
319:デフォルトの名無しさん
21/08/23 14:41:58.79 /6K8Gxc1.net
んーRustはめんどっちいなあ
【Rust】
s.iter().sorted_by_key(|&&it| it * -1).map(|it| it.to_string() + &"-".to_string()).collect();
320:デフォルトの名無しさん
21/08/23 14:58:36.63 CwptGCUZ.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
321:デフォルトの名無しさん
21/08/23 15:00:38.27 CwptGCUZ.net
モンタニエ氏はMS系ワクチンはやめておけと言ってる
322:デフォルトの名無しさん
21/08/23 15:52:18.84 OQWffhF4.net
>>307
いや、俺は285さんを擁護しただけ
323:デフォルトの名無しさん
21/08/23 16:06:06.11 tscEWmeQ.net
>>308 >>309
それだと尻尾に余分な"-"が付くよね?
あとリバースされてないね
実際に動かしていないでしょw
324:デフォルトの名無しさん
21/08/23 16:19:59.91 h9qCfh+2.net
>>307
いわゆる「ラムダ式」という概念は
Common Lisp の時代からあって、
> ラムダ式が入って来ると読みづらいとは、旧世代の人と同じだな。
とか言ってるのは、何かしら恥ずかしいと思う。
「いまどきニュートン力学とか言ってる奴は。
一般相対性理論を理解していない馬鹿だな。
テンソル解析とか理解できないんだろう wwwwww」
みたいな話がしたいんなら、「ぶっちゃけ始めるのにいい言語って何」
スレじゃなくて。どっか他の板の他のスレで議論してほしいと
325:思う。
326:デフォルトの名無しさん
21/08/23 16:21:39.75 /6K8Gxc1.net
>>313
あ、真ん中に入れるの?w
リバースはされてるよ
kotlinはreversedでし、ruatは-1かけて降順
327:Mb
21/08/23 16:23:47.53 h9qCfh+2.net
>>211
>>212
ロバート・ギャロとリュック・モンタニエに関しては、
とりあえずリンクを貼っておくのが親切だと思うがどうか。
328:デフォルトの名無しさん
21/08/23 16:23:53.39 PbwMaige.net
>>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も簡潔でわかりやすく言語だといえる
329:デフォルトの名無しさん
21/08/23 16:28:11.39 h9qCfh+2.net
>>316
ごめん。
>>311
と
>>312
だった。
330:デフォルトの名無しさん
21/08/23 16:35:30.03 OQWffhF4.net
ラムダの話をすると哲学になるからやめておこう
秋の夜長の酒飲み話になるまでまとう
331:デフォルトの名無しさん
21/08/23 16:46:55.97 TxHR3yQm.net
ノーベル賞ウイルス学者モンタニエ重要提言
・スプレッドを止めない現行ワクはウイルス変異流行の選択圧を高め、ウイルスとの軍拡競争に陥る戦略ミス
・副反応知っている医療従事者への強制接種は止めろ
・T細胞免疫を高めるBCGワクチンを代わりに採用せよ
・イベルメクチン等による早期治療を導入せよ
URLリンク(mobile.twitter.com)
MS mRNAワクチンは害悪
(deleted an unsolicited ad)
332:デフォルトの名無しさん
21/08/23 16:49:02.94 OQWffhF4.net
ラムダの話なんかしてっからワクチン厨まで寄ってくる・・・
333:Mb
21/08/23 16:59:59.61 h9qCfh+2.net
>>321
> ラムダの話なんかしてっからワクチン厨まで寄ってくる…
それは違うな。プログラミング厨の中に一定量の感染症厨が
いたというだけだ。
それを否定するなな、統計を取ってカイ自乗検定とかを行なって、
帰無仮説を排除するのがシステム屋だろう?
334:デフォルトの名無しさん
21/08/23 17:01:17.35 /6K8Gxc1.net
>>317
itertoolsは無敵すぎる
しかもrustはネイティブコンパイルで実行速度も速いし最高
335:デフォルトの名無しさん
21/08/23 17:09:14.40 8PVTVy0+.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
336:デフォルトの名無しさん
21/08/23 17:10:09.60 8PVTVy0+.net
リー・メリット博士によれば
mRNAテクノロジーは二進法の毒であり、完璧なバイオ兵器とのこと
337:デフォルトの名無しさん
21/08/23 17:34:16.87 OQWffhF4.net
どんなシステム屋だよw無駄すぎるw
338:デフォルトの名無しさん
21/08/23 17:55:38.21 mUiDivSN.net
>>317
itertools使えばiteratorから直接joinできるよ
ItemのDisplayで文字列に変換される
sorted(&a).rev().join("-")
339:デフォルトの名無しさん
21/08/23 18:01:34.93 mUiDivSN.net
stdだけだとiteratorをcollectする必要があって
それがJavaScriptやRubyとは違うところ
a.iter().rev().map(|x| x.to_string()).collect::<Vec<_>>().join("-")
340:デフォルトの名無しさん
21/08/23 18:35:17.45 LGNn5NAE.net
そんな糞難しいLinqやラムダ式を考えなくても良いのがVBAの良いところだよね。
まぁ欲しくなったらC#でアドインでも作っといて入れ込めばいいし、
その気になればVBAの中にJavaScript入れ込めるし。
341:デフォルトの名無しさん
21/08/23 19:30:39.38 /MMjlpx1.net
>>325
バイナリーウェポンな。
342:デフォルトの名無しさん
21/08/23 19:31:38.06 I2MyFKUs.net
>>329
君はラムダ式が何かを理解していないと思われる
例えば>>317においてラムダ式は
【Rust】
|n| n.to_string()
【JavaScript】
x => x.toString()
これだけ
君はこれを糞難しいと言ってる
本気かね?
343:デフォルトの名無しさん
21/08/23 20:05:49.57 5zH9bxnu.net
>>331
先生、どうしてJSは
function func(x){return x.toString()}
と
x=>x.toString()
と、違う内部構造の設計にしたんですか?
344:デフォルトの名無しさん
21/08/23 20:18:34.31 NMruVyV2.net
>>332
ほとんどの言語は関数宣言とラムダ式で書式が違う
ラムダ式は短く書けるようになっている
もちろん書式が異なるだけ
あなたの主張する「違う内部後続の設計」は意味不明
345:デフォルトの名無しさん
21/08/23 20:20:05.76 /6K8Gxc1.net
>>317
>>327
先生!itertoolsでこれで行けました!
s.iter().rev().format("-");
346:デフォルトの名無しさん
21/08/23 20:22:54.88 gb7LRZA7.net
>>298
>カッコが多いと読みににくいんですか?
カッコが多いと格好いいよな
思考順序でメソッドが並んでいると書きやすいが
347:デフォルトの名無しさん
21/08/23 20:26:48.96 PbwMaige.net
>>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だけ何か特別な状況ではないね
348:Mb
21/08/23 20:49:03.70 h9qCfh+2.net
>>325
> カッコが多いと格好いいよな
誰がうまいことを言えと(笑)
「山田くん、座布団全部持ってって」。
つーても山田君のときに司会をやっていたかは定かではない。
師匠の「中村仲蔵」は、六代目圓生師匠と甲乙つけがたい。
349:デフォルトの名無しさん
21/08/23 20:57:12.28 h9qCfh+2.net
>>336
慣れるとそれなりに使い勝手はいいんだが、
「別のファイルで似たようなことをやってるんじゃないか?」と
思うと、共通化したくなるのがシステム屋の常。
アジャイル開発では便利だし、ファイルが無暗に増えなくてもいいという
利点はあるものの、個人的には心理的に落ち着かない。
350:デフォルトの名無しさん
21/08/23 21:02:20.31 qV//YiJv.net
元々の話(>>285)はラムダに視点を置いてるが
実際ラムダがどうこうって言うより非同期処理でコールバックの括弧多すぎって話じゃね
非同期の話もお腹一杯なんでしたくないけど
351:デフォルトの名無しさん
21/08/23 21:08:44.65 dS401MqO.net
>>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 です
352:デフォルトの名無しさん
21/08/23 21:15:47.60 mT5p8ZPd.net
>>339
コールバックでカッコ多すぎは大昔の話だな
少なくとも7年前にはChromeもFirefoxもJavaScript Promiseをサポート
その時点でカッコ多すぎは無くなった
>>285氏は7年以上時間が止まっているのかね?
353:デフォルトの名無しさん
21/08/23 21:25:28.11 dS401MqO.net
Elixir なら、
[ 2, -1, 3 ]
|> Enum.sort( )
|> Enum.reverse( )
|> Enum.join( "-" )
|> IO.puts
出力
3-2--1
354:デフォルトの名無しさん
21/08/23 21:29:48.49 6ZBOTLRO.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
355:デフォルトの名無しさん
21/08/23 21:37:27.91 l/IbaTmN.net
>>342
やっぱり第一引数を省略した()が気持ち悪い。
356:デフォルトの名無しさん
21/08/23 22:09:06.72 h9qCfh+2.net
「始めるのにいい言語」というスレで
あんまりややこしい話はしたくないんだが、
引数を渡す場合には
番地呼び/参照呼び(call by adress, call by referrence。番地渡し)と
値呼び(call by value。値渡し)の他に
名前呼び(call by name)というのがあって、
ラムダ関数とかだと、けっこうややこしい話があるんだわ。
Prologを PDP から DEC に移植した中島秀之さんは、そのあたりで
修羅場を見たという話がある。
357:デフォルトの名無しさん
21/08/23 22:15:20.58 x2dcVOdp.net
>>295 ocaml
URLリンク(ideone.com)
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
358:デフォルトの名無しさん
21/08/23 22:22:40.81 5zH9bxnu.net
関数の構造が違うっていうのが分らんのだよね
意図的に違う説明してるのか
分かってないのか
からかわれてるのか
どうなの?
359:デフォルトの名無しさん
21/08/23 22:24:12.84 5zH9bxnu.net
>>333
JSの関数とラムダは構造が違うのは公式リファレンスで言ってるだろ
リファレンス嫁
360:デフォルトの名無しさん
21/08/23 22:25:58.95 ZlIia11a.net
>>344
> やっぱり第一引数を省略した()が気持ち悪い。
現代のメジャーな言語の多くは、
『ターゲット.メソッド名()』
と呼び出す、もしくは、呼び出せるようにしました。さらに、
『ターゲット.メソッド名1().メソッド名2().メソッド名3()』
とメソッドチェーンで書けるようにもしています。
見やすくわかりやすくプログラミングしやすいからです。
361:デフォルトの名無しさん
21/08/23 22:32:20.12 qV//YiJv.net
>>348
公式リファレンスにラムダなんて無いぞ
362:デフォルトの名無しさん
21/08/23 22:33:46.35 qV//YiJv.net
てか公式リファレンスってなんだっけ
363:デフォルトの名無しさん
21/08/23 22:51:32.10 l/IbaTmN.net
>>349
rubyだとレシーバだが、elixirはそれとも違う。UFCSをサポートしているわけでもなし。
364:デフォルトの名無しさん
21/08/23 23:25:40.54 uQ28Ugwc.net
>>348
ラムダ式は無名関数式です
関数宣言と関数式は全く同じです
ただ唯一、関数宣言は事後に宣言があっても関数名がその宣言前にも有効なくらいの違いです
365:342
21/08/23 23:30:37.47 dS401MqO.net
Elixir は関数の第1引数を、パイプ渡しできる
366:デフォルトの名無しさん
21/08/23 23:42:42.47 /6K8Gxc1.net
やめて、コロナと違ってラムダ君には何の悪気もないのよ
ラムダ式は普通の関数の糖衣構文(シンタックスシュガー)なのよ!!
367:デフォルトの名無しさん
21/08/23 23:48:50.73 l1bWxSKK.net
クロージャはラムダじゃないがラムダに見える
368:デフォルトの名無しさん
21/08/23 23:50:37.25 l1bWxSKK.net
ちがった
369:デフォルトの名無しさん
21/08/23 23:53:56.44 zs343Efl.net
ラムダ株は脅威だとあわしろ氏は言ってる。
370:デフォルトの名無しさん
21/08/24 00:17:24.45 hTcLrhRV.net
モンタニエ氏はMS系ワクチンはやめろと言ってる
371:デフォルトの名無しさん
21/08/24 00:58:21.12 rNMYd1ik.net
昨日も老害大暴れ んでそれに付き合うアホ
372:デフォルトの名無しさん
21/08/24 01:11:46.83 nCkaOe0t.net
上のRubyの
map{|x| x.to_s} が冗長だとしてmap( &:to_s ) は短いけどなんかダサい
&: になにか必然性でもあるの?
373:デフォルトの名無しさん
21/08/24 03:10:06.62 U9EepWKx.net
>>361
短くして可読性を下げても呪文になってくだけだよね
むしろ逆にmap{|x| x.toString()}でも良いくらい
374:デフォルトの名無しさん
21/08/24 03:42:16.39 BNRQhvw2.net
記述の判りやすい言語から始めるべきなの?
むしろ難しいのを経験した方が良いかも。
375:340
21/08/24 06:00:42.93 SMXHl8SK.net
map( &:to_s ) は、Symbol#to_proc だろ
map に、&:to_i, &:
376:itself, &:to_csv &:lstrip, &:split, &:downcase, &:capitalize とか書くのは定番
377:デフォルトの名無しさん
21/08/24 07:00:43.69 EYpqq2mn.net
>>363
プログラミングを学びたいのなら
作りのしっかりした堅い言語がいい
javaは良書も多くネット情報も質の高いのが多い
資格制度も整っているので学習言語としておすすめ
378:デフォルトの名無しさん
21/08/24 07:27:48.15 GKX34T4/.net
問題は、今JavaをやってもブラックなSES系企業にしか就職できないということ
379:デフォルトの名無しさん
21/08/24 08:38:12.33 6AE2aGAT.net
Javaは今後少しずつ消えていくでしょう
例えばFacebook社はJavaを捨ててRustを採用だそうです
多くの点でJavaは古く劣っていますから
Facebook、開発言語に「Rust」採用 次期ビルドシステムの開発で
URLリンク(www.itmedia.co.jp)
Rustを用いることで、どのような利点があるのか。Facebookは記事の中で次の4つの項目を挙げています。
①Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述できますし、Rustは複雑な並行処理の詳細を正しく理解するのに役立ちます。
BuckのJavaの計算を一つ一つ並行処理に移行するのは数カ月に及ぶ困難な作業でしたし、シングルスレッドの大きなボトルネックがまだ存在しています。
②Rustには、開発をより簡単で楽しいものにしてくれる多くの高レベルな言語機能があります。
それらはenum、パターンマッチング、trait、手続き型マクロなどで、Rustの開発者の多くに愛されています。
③Rust はメモリの割り当てをより細かく制御することができます。
ガベージコレクションのある言語では、たとえジェネレーショナルコレクションであっても、Buckが行うようなインクリメンタルな演算に対応するのは困難です。
④Rustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。
380:デフォルトの名無しさん
21/08/24 08:48:35.17 klPKE9MS.net
うちLumbdaっちゃ
381:デフォルトの名無しさん
21/08/24 09:34:21.50 BkROVOcT.net
プログラムを学ぶのなら、な
C#でもいいけど
新しい言語は日本語訳の良書が少ない
成熟された良書が多く
言語以外のマナーな作法、デザインパターン
その他を同一言語で学ぶのなら
javaやC#などの言語がおすすめ
JSやRubyとかの言語は
プログラムを学ぶにはお勧めしない
四則や正規表現、関数、クラスなど
基礎に触れるだけならなんでもいいけどね
ってことを言ってるだけです
382:デフォルトの名無しさん
21/08/24 09:38:25.39 CbaJJsTq.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
383:デフォルトの名無しさん
21/08/24 09:45:07.15 +GSJpsm+.net
>>369
なぜRubyやPythonやJavaScriptなどのスクリプト言語がだめなの?
その理由が示されていません
384:デフォルトの名無しさん
21/08/24 10:56:40.44 BkROVOcT.net
>>371
文章ちゃんと読もうよ
基礎的な文法を学ぶのならrubyやjsでもいいけど、って書いてあるでしょ
基礎的な文法を超えてプログラマーが学ぶことを推奨されている知識を得るには
javaやc#とかから始めた方が、良書がそろっているのでいいですよって
それでよくプログラマーやってるよね
クライアントや会社でプロジェクト組んでるときに
独りよがりな進め方するタイプに思えてならない
385:デフォルトの名無しさん
21/08/24 11:15:51.98 foOBcdJv.net
>>372
色んなプログラミング言語をやっきたが書籍で学んだのは最初のK&Rだけだな
特に今の時代ははっきりいって書籍は不要
各言語の公式サイトに必ず入門ページがぎっしりとある
あと今さら時代遅れのJavaなんかやっても無駄な古い知識を得るだけ
386:デフォルトの名無しさん
21/08/24 11:15:55.07 stIRgCaS.net
>>372 さすがに言い過ぎでは。言いたいことはわかるけど
>>369 はけっこう意味不明な文章だと思う
387:デフォルトの名無しさん
21/08/24 11:25:14.92 6GSuu8+X.net
初めにJava選んでる時点でプログラミング向いてないってわかる、って師匠に言われた
388:デフォルトの名無しさん
21/08/24 11:32:23.40 lkYJ2sp4.net
>>361
kotlinだと省略してデフォの変数に入れてくれるから便利よ
map {|it| it.toString() }でitの指定が省略できてこうなる
map { it.toString() }
別の変数名を指定することもできる。
389:デフォルトの名無しさん
21/08/24 12:12:40.95 IBss1fyn.net
・過度な短縮形はわかりにくくなる
・デフォルトの特定の変数名の存在は悪手
390:デフォルトの名無しさん
21/08/24 13:07:13.48 CbaJJsTq.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
391:デフォルトの名無しさん
21/08/24 15:16:57.79 WZMj7UxV.net
>>375
わかる
392:デフォルトの名無しさん
21/08/24 16:31:28.20 XRxvSkOV.net
くさる
393:デフォルトの名無しさん
21/08/24 16:31:48.68 p4O+0aME.net
>>375
一通り言語を身につけて、
業務で使うんなら Java はいい言語だと思うが、
確かに初心者向けではないな。
他言語のソースを行儀よく書き直すには、
まとまりのいい言語ではあるが。
394:デフォルトの名無しさん
21/08/24 16:43:43.61 GKX34T4/.net
Rustも大企業が使うには向いてるのかもしれんけど、
初心者にはお勧めできんな
395:デフォルトの名無しさん
21/08/24 16:46:38.21 p4O+0aME.net
とあるプラントで、
あっちゃこっちゃから呼ばれているのだが、ドキュメントが失われて
(どっかにはあるんだろうが)意味不明の C のコードがあった。
「触ると祟るから触るな」と云われていたのだが、それが
FORTRAN からツールを使って C に変換したもので、
とにかく GOTO 文の砂嵐だった。
それを Java に翻訳して解読したら、「熱間圧延プラントの中のワーク
(加工材。複数のワークがプラント内を流れることもある)の流れを
ペトリ・ネットで表現して、バーナーやらプレス機やらの
制禦プログラムからの問い合わせに応える」というルーチンだった。
Java で書き直してみると、厭でも古いスタイルの構造化プログラミングを
踏襲せざるを得ないので、総じて見通しがよくなるという効能はある。
「うますぎるプログラムを書く余地が少ない」のが
Java の取柄かも。
396:デフォルトの名無しさん
21/08/24 16:48:35.78 Zt2QO8gi.net
>>382
なぜ大企業だけにしようとするんだよw
Rustは大企業だけでなく全ての人に適したプログラミング言語だよ
397:デフォルトの名無しさん
21/08/24 16:49:12.62 Cx9DV9dh.net
どっかのブログにもう今は初手ScalaかRustで良いって書いてあったぜ
でもC/C++で血反吐を吐かないとRust理解できないともあってよくわからんかった
398:デフォルトの名無しさん
21/08/24 16:57:34.34 p4O+0aME.net
>>382
初心者が書くのは、「誰かが書いたことのあるプログラム」が
ほとんどなので、既存のスタイルを踏襲するとか開発文書を
整備するとかいうと徒労感ばっかりが募るんだよな。
そういう意味では、パッと見てわかりやすくて
チョコチョコっと書けて実行できるような
対話型のミニ言語で、
サンプルとしてトイ・プログラムが揃っていて
他人のコードを見て勉強しやすいというのが
初心者向けの言語だと思う。
399:Mb
21/08/24 17:02:42.68 p4O+0aME.net
>>382
> なぜ大企業だけにしようとするんだよw
大企業でなければ従十人規模のチームで数十万行クラスの
システムを開発したりはしないからだ。
400:デフォルトの名無しさん
21/08/24 17:35:49.55 ++1b7g0r.net
>>387
Rustは様々な規模に向いていますよね
個人的なツールやアプリもRustに移行してます
401:デフォルトの名無しさん
21/08/24 17:39:48.24 GKX34T4/.net
Rust信者の方々、落ち着いてくれ
あなたたちが生まれて最初に触れた言語がRustだったのか?
違うだろう
あなたたちは、2番目以降に身に付ける言語としてRustは優れている、ことしか
証明できないんだよ
402:デフォルトの名無しさん
21/08/24 17:42:27.94 YeijyorD.net
ここで執拗にRust推してるのは1人だけ
403:デフォルトの名無しさん
21/08/24 17:51:54.91 lkYJ2sp4.net
じゃ、俺は最初の言語としてN-BASICお勧めヽ(´ー`)ノ
404:デフォルトの名無しさん
21/08/24 18:26:03.94 +m358/0u.net
俺も初手Rust推してるから少なくとも2人はいるぞ
405:デフォルトの名無しさん
21/08/24 18:33:37.06 5mi6Ub86.net
あわしろ氏はHaskellを強く推奨してる。
406:デフォルトの名無しさん
21/08/24 18:35:43.53 5mi6Ub86.net
Haskellはプログラミングの数学的アプローチです。
他の言語を使うなという事ではありません。
現代において、Haskellが基本という事です。
407:デフォルトの名無しさん
21/08/24 19:00:41.89 Epkil6d2.net
今は初手kotlinが正解
いざとなればjavaにもシフトできる
一つで2度美味しい、それがkotlin
408:デフォルトの名無しさん
21/08/24 19:02:57.58 CGlsq1E0.net
なんか知らんけどAndroidエンジニア、全然足りんらしいから案外Kotlinは悪くないかも
409:デフォルトの名無しさん
21/08/24 19:24:51.78 SqXDnF2U.net
>>394
Haskellから多くをRustが受け継いでいる
例えばHaskellの型クラスの概念をRustではトレイトとして提供している
他にもHaskellのMaybeとEitherはRustのOptionとResult
>>393
HaskellをおすすめならばRustもお気に入りになるのではないかと思う
410:デフォルトの名無しさん
21/08/24 19:32:37.20 C+EhUo5k.net
C#で良いんじゃない?
411:デフォルトの名無しさん
21/08/24 20:18:19.87 0XYaezQF.net
C/C++代用じゃなければC#/F#でいいのはたしか
はるかにメジャーだし
412:デフォルトの名無しさん
21/08/24 20:22:36.34 otdRB8MX.net
C#はWin畑の人間がほとんどなのがな
技術スタックも必然的にそれに引っ張られてMS中心になる
413:デフォルトの名無しさん
21/08/24 20:25:43.77 C+EhUo5k.net
案外、.NET FWの時代からパスデリミタをきちんと定義してあったりして、monoでもしっかり動いてたし、core以降はMS純正でクロス対応だし割と良いと思うけどな。
結局の所、今からプログラミング始めたい、という人が持ってる端末ってWindowsな事多いし。
414:デフォルトの名無しさん
21/08/24 20:27:54.50 EYpqq2mn.net
>>395
javaできなくてkotlin使えるん?
kotlinの挙動を確認したくなったらjavaソースみるんじゃなかったっけ
415:デフォルトの名無しさん
21/08/24 20:31:52.65 lkYJ2sp4.net
VisualStudioのインストールで、winアプリ、SQL、webサーバとか、全部の環境が構築できるのがデカイね
特に実際に動かせるwinアプリを作れるのは、モチベーションの維持につながる
標準入出力でぐちゃぐちゃやってもつまらないからな
416:デフォルトの名無しさん
21/08/24 21:07:48.82 otdRB8MX.net
>>403
ほらな
実際こういう人間ばかりが集まって硬直的な技術スタックになりがち
MSスタックにどっぷり浸かるのは確かに便利な面も大きいのは事実で、それ自体を否定するつもりはないよ
417:デフォルトの名無しさん
21/08/24 21:21:38.79 lkYJ2sp4.net
>>404
ちょいまち。
最初に勉強するのに一元的で統一的な開発環境を得られるという点でMS製品を
最初の言語にする選択肢は悪くないといってるだけで、
その人がそのまま慣れたMS系に浸り続けると解釈するのは見解の相違じゃないか?
基本的なプログラミングになれたら別の言語に移ればいいわけでもあるし。
418:デフォルトの名無しさん
21/08/24 21:29:00.30 XjAEljS8.net
思い返すと最初がマシン語とベーシック、それからPerlにVBAにCちょろちょろいじって、ちゃんと系統的に最初にやったのはJavaかな
Javaがいいと思うよPythonもいい
JSは使える場所が多いという意味で強いけど言語とかフレームワークが割とグチャグチャなのでイマイチ
419:デフォルトの名無しさん
21/08/24 21:37:29.96 otdRB8MX.net
>>405
そりゃ例外はあるだろうけど、入口がMS系なら敢えて転向を図らない限りはその後のキャリアもMS系を歩む可能性が高いだろう
俺も学生時代にC#から入門したクチだけど、結局新卒で入ったSIerでもWin鯖やC#やらされて、脱SIerして入ったベンチャーでも全部C#
さすがに嫌気が差して完全にMSスタックから脱却できたのは社会人6年目だ
入口って大事よ
420:デフォルトの名無しさん
21/08/24 21:46:40.24 lkYJ2sp4.net
>>407
> 実際こういう人間ばかりが集まって硬直的な技術スタックになりがち
俺は、これは違うと思うんだよね
入り口が優れているから、より簡単に実際に試すことができるわけじゃんね
全体のプログラマ人口を増やすことに貢献していると思う
最初に選択した言語で将来が縛られるってことを、自分自身の経験に合わせて言いたいらしいけど、それ完全に「甘え」じゃね?
それでいいと思ったからC#案件だけ回されたわけで、
他に必要があったのならMS系を通じて別の言語を学習すればよかった。ただ、それだけでは?
421:デフォルトの名無しさん
21/08/24 21:50:03.69 XjAEljS8.net
MSはずっとMSのパターンが多いよね
会社が合併したんだが相手は物凄く古いMSのスタックでうちは主にJava+JSでオープン系マイクロサービスでやってるんだがC# .aspやりたくないでござる
422:デフォルトの名無しさん
21/08/24 21:51:28.08 XjAEljS8.net
MS系じゃない「必要」ってないのよMS系で全然良い
でも嫌でござるw
423:デフォルトの名無しさん
21/08/24 21:56:47.82 PzBNSkVy.net
プログラム初めてだけどPHPで色々やってるんだけど楽しい
424:デフォルトの名無しさん
21/08/24 22:19:33.09 9Ou/8QBF.net
>>408
その通り、甘えだし、それでいいと思ったんだよ。
MSスタックで一通り用は足りるし、仕事もあるからね。
その当然の結果として会社の技術スタックもスキルセットも硬直化するけど、だからといって何の問題もないの。足りてるから。
それがMSの良さであり、怖さなんだよね。
425:デフォルトの名無しさん
21/08/24 22:44:31.84 SMXHl8SK.net
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には全企業が含まれているから
426:デフォルトの名無しさん
21/08/24 23:16:03.40 GKX34T4/.net
>>413
君、友達はいるかい?
427:デフォルトの名無しさん
21/08/24 23:19:52.05 C+EhUo5k.net
俺もMSスタックで揃えるのは「始める」への一つの解だと思うよ。
敢えて転向と言うほどの事も無く、Webサーバ立てようと思ったら安く借りるならLinuxサーバになったりすぐに限界は来るかと。
その時に、スムーズにクロスプラットフォームで展開できるのは俺は強いと思う。
Goも良いけど、言語仕様がストイック過ぎる気もするし。
Javaは案外、環境作るの面倒くさくない?
428:デフォルトの名無しさん
21/08/24 23:43:03.75 HfXjMup/.net
まあ何をやるか次第だよね
個人的にはJavaやPython、あるいはCとか普通の回答になるけど、楽しいのでいいんじゃねw
別にMSでも構わないと思うよMSだとMSに固まりがちというのも本当だと思うけど
Javaは別にSpringで簡単だよ
429:デフォルトの名無しさん
21/08/24 23:47:01.38 ypeW/ZOf.net
俺もMSスタックで揃えるのは「ぶっちゃけ始める」への一つの解だと思うよ。
Javaは案外、ぶっちゃけるの面倒くさい。
430:デフォルトの名無しさん
21/08/25 00:10:55.16 Df4q/l5l.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
431:413
21/08/25 01:08:01.41 T8xCLAXo.net
MS には、Ruby みたいなスクリプト言語がないのが欠点。
C# になるから、本格的すぎる
と言って、PowerShell では、プログラミングできない。
ちょっとしたシェルスクリプトだから
ファイル操作・テキスト処理が簡単にできるのは、Ruby
432:414
21/08/25 01:18:56.25 cmGSywag.net
>>419
キミはまず、自分のレスが多くの人を不快にしてきている、ということを
想像できるようになろうか
433:デフォルトの名無しさん
21/08/25 01:42:39.68 Q4zN/eQU.net
あ、rubyキチガイさん?
434:デフォルトの名無しさん
21/08/25 02:10:58.27 FCrl/Xi3.net
>>419
JavaScriptがいいよ
それら出来るのに加えてブラウザでも動く
435:デフォルトの名無しさん
21/08/25 02:55:08.91 ZsIr98ED.net
プログラム言語は人気が上がれば性能が上がる。
誰も使わなければデバッグもバージョンアップもされない。
流行り廃れに巻かれるのが楽で良い。
436:デフォルトの名無しさん
21/08/25 07:12:19.99 tZVap1G7.net
小鳥ん1択やろ今は
437:デフォルトの名無しさん
21/08/25 07:24:46.16 +jJGz93u.net
ことりんってandroidでしょ?
android開発のための言語でスタートしても
言語の制約よりデバイスや通信の制約が強く
初心者は純粋なプログラミング知識以外の知識を習得しなくちゃならなくて
学習負荷が滅茶高いんではないでしょうか?
438:デフォルトの名無しさん
21/08/25 07:39:18.64 7qxo/Rk2.net
今の時代はスマホアプリよりも、ウェブアプリ特にPWA(プログレッシブウェブアプリ)を作れば、ほとんどスマホアプリと同じ見た目&操作性になりますよ。
そしてこのPWAならばOS関係なく動きます。つまり、AndroidでもiPhoneでもWindowsでもMacでもLinuxでも動きます。
このPWAを作るために必要なプログラミング言語はJavaScriptだけです。
439:デフォルトの名無しさん
21/08/25 07:39:52.88 t58uyfc4.net
元はjavaなんだから何でもいけるでしょ
440:デフォルトの名無しさん
21/08/25 07:54:52.61 +jJGz93u.net
ことりんの学習環境って整ってるの?
初学者にはJSのようにあやふやな文法が少なく
テキストや動画、講座が整っていて
さらに中~上級まで同一言語で学習できるような
そういう周辺環境が大切だと思う
その点、ことりんはどうなんでしょう?
441:デフォルトの名無しさん
21/08/25 07:55:55.26 +jJGz93u.net
428訂正
初学者には
JSのようなあやふやな文法が多い言語ではなく
でした
442:デフォルトの名無しさん
21/08/25 08:23:04.76 s7eraWDT.net
>>429
嘘つき
他の類似言語と比較してJSがあやふやなんてありません
あなたがいつも嘘をついています
443:デフォルトの名無しさん
21/08/25 09:10:38.00 yPNhTHsB.net
>>426
JavaScriptがベストかもね
一生Webとは無縁でない限りJavaScriptは今後も必須言語ですし
444:デフォルトの名無しさん
21/08/25 09:17:07.12 8yGiroeZ.net
Javascriptならメモ帳とブラウザだけで遊べるからね。
OS選ばないし、なんならスマホでも出来る。
445:デフォルトの名無しさん
21/08/25 09:23:04.22 3WiANXRZ.net
四の五の言わずに最初はJavaを始めてひたすらシューティングゲーム作ってりゃ良いんですよ
446:デフォルトの名無しさん
21/08/25 09:24:22.81 C3Ug5Akp.net
>>386
小さなアプリケーションの事をアプレットって言います
447:デフォルトの名無しさん
21/08/25 09:29:53.13 Dtor5XM5.net
>>433
Javaなんて今さら学んでもJava土方になるくらい
Javaがカバーしていた範囲のうち良級分野はRust採用へ着実に進んでいるし
448:デフォルトの名無しさん
21/08/25 09:53:37.35 7Vj+tCAb.net
営業の方がマシだけど、
あそこに行くよりは、もう少し技術力を高めた方が・・・・・。
449:デフォルトの名無しさん
21/08/25 09:54:11.68 sbqIoEL4.net
>>430
あやふやっていうのは表現が間違ってましね
言い換えるなら、ルーズって印象です
あくまで一初心者の印象ね
new に関しても
new func()とnew func
new Object()とnew Objectが等価とか
new func()とObject.create(new func)は等価で
new func()とnew Object(new fun())は等価じゃないけど
実際の動きは同じとか
なぜそんな言語設計にしてるか分からんけど
なんかガバガバな印象が拭えない
JSは便利だしブラウザ環境ならオンリーワンだし
JSが良い言語なのは議論の余地なしだけど
ガバガバ感を感じてしまうのは悪いことなのか?
僕は初心者なので、あくまで初心者としての意見として
450:デフォルトの名無しさん
21/08/25 10:06:37.51 ZUGejDzL.net
>>437
それは他の言語で余計なことを学んでるからJavaScriptに馴染めない人の話だな
プログラミング言語を学ぶのが初めての人間には当てはまらない
書いてる内容はプログラミング言語初心者にとっても
JavaScript初心者にとっても気にする必要のないどうでもいい内容だけど
451:デフォルトの名無しさん
21/08/25 10:13:11.83 sbqIoEL4.net
ま、好き好きだね、動的型付け言語は
どれもみな基本的にルーズで好きになれない
初心者としては
452:デフォルトの名無しさん
21/08/25 10:15:44.91 UFjFC7tD.net
モンタニエ氏はBCGとイベルメクチンを勧めてる
MS系のワクチンはやめろと言ってる
453:デフォルトの名無しさん
21/08/25 11:20:29.40 IkW3KzHX.net
ぶっちゃけ目的・環境がノーヒントだとリスク回避でJSを出さざるを得ない
後出しで「〇〇出来ないんですか?」「〇〇で動かないんですか?」
とか言われると腹立つもん
454:デフォルトの名無しさん
21/08/25 12:29:50.10 xJ7SxjZ5.net
>>439
ならば強い静的型付け言語であり生存期間に所有権と借用まで明確なRust があなたに最も適した言語となります
455:413
21/08/25 12:34:08.05 T8xCLAXo.net
JavaScript で、a, b を答えられるか?
Ruby なら、エラーになる
a = "1" + 2 + 3
b = 1 + 2 + "5"
456:デフォルトの名無しさん
21/08/25 12:40:40.52 m4JEedQe.net
>>415
> Javaは案外、環境作るの面倒くさくない?
それは Java 派であっても本当にそう思う。
かといって .NET 環境が楽だという話でもない。
>>430
「あやふやに(も)書ける言語」もあれば、
「あやふやには書かせてくれない言語」もある。
「すでに動いているコード」が大量にあると、
「こっちり書きなおす」ということも
業務上は重要だぞ。
Java には i++ とか --i とかいう記述も許されているが、
「stack へのポインタを、評価したあとに sizeof() ぶんだけ
インクリメントしている」とか、
「評価するしたあとに sizeof() ぶんだけデクリメントする」とか、
そういうのが解ってなさそうだったら問答無用で書き直す。
457:デフォルトの名無しさん
21/08/25 12:45:36.14 m4JEedQe.net
>>443
ゲロ吐きそうになるから、必要ならば我慢するが、
なるべく控えてほしい。
a.equals("123") == true
b:例外を投げたい。
458:デフォルトの名無しさん
21/08/25 12:52:05.06 m4JEedQe.net
JavaScript から始める奴は、
静的な強い型付けのある言語と
DOM の概念を学んで、
行儀作法をちゃんと身につけてから
JS を学んでほしいと思う。
459:デフォルトの名無しさん
21/08/25 13:02:56.06 CWbm8idM.net
>>446
もちろんJavaScriptとRustを学ぶのがベスト
JavaScriptの補完となるWebAssemly(Wasm)はRustで書くことが主流だからこの2つは組み合わせも良い
460:デフォルトの名無しさん
21/08/25 14:35:10.88 TeB+Y5+b.net
総括するとTS+Lintでええんでは
461:Mb
21/08/25 14:44:58.72 m4JEedQe.net
>>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 で始まる変数はデフォルトで
整数型とかいったら、「えー、ダッサーい」「そんなのカッコ悪ぅーい」
「信じらんない!」「どこのジジイ?!」とか女子学生に言われそうで、
「えー? いまどきそんな言語なんてあるのぉ~?」と言われそうだ。
「花嫁学校」には二種類あって、
「ブライダル・スクール」は「良妻賢母」としての教養を身につける学校で、
「フィニッシュ・スクール」は社会人としての教養を身につける学校
なんだよね。
このスレには風俗嬢に期待するものと配偶者に対するものが
ごっちゃになっている人がいるように思いますが、
いかがでしょうか。
462:Mb
21/08/25 14:51:31.49 m4JEedQe.net
>>447
>>448
でしたら適切な文献とかサイトとかを挙げてくれませんか?
でないと、あたしが「お勧めの入門用書籍」とかを列挙して、
スレタイ用のテンプレにして、スレ乗っ取っちゃうぞ?
463:デフォルトの名無しさん
21/08/25 15:35:48.88 l5Xyqy5w.net
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
464:デフォルトの名無しさん
21/08/25 16:06:53.35 jcM5o81K.net
>>445.
動的型付けや自動キャストのプログラミング言語もあることを勉強しましょうね
特定の言語群しか知らずに他の言語に文句つけてばかりではいけません
465:デフォルトの名無しさん
21/08/25 16:23:12.03 +yCR8Dkk.net
普通にjavaでいいやん
何でわかんないかな?kotlinが隆盛極めても則移行できるし
466:デフォルトの名無しさん
21/08/25 16:36:36.41 bezgq5Kn.net
javaは時代遅れの消えゆく言語
467:デフォルトの名無しさん
21/08/25 16:41:55.63 ViADrBh4.net
そう言いながらあと30年は現役だろうなw
kotlinと比率が逆転とかはあるだろうが
468:Mb
21/08/25 16:44:40.24 m4JEedQe.net
>>452
> 動的型付けや自動キャストのプログラミング言語もあることを勉強しましょうね
だったら IDE の構造エディタで明示的に保管しろと言っている。
おまいの脳内補完にコンパイラがつきあわされているかもしれんが、
同じプロジェクトを張っているメンバーがおまいのまきぞえを
喰らう理由は何一つない。
オムツも取れてない奴に使わせる言語と、
それで飯食ってる人間が同じ言語使えるわけがねーだろ。
469:デフォルトの名無しさん
21/08/25 16:49:01.38 JmpS4WwK.net
JSコンプひどいなww
英語コンプと同じ臭い
470:デフォルトの名無しさん
21/08/25 16:50:36.37 Ssy9CxDw.net
大規模改修や新規案件の機会などにJavaを捨ててRust採用するケースが増えてるよね。>>367のように。
言語機能面から速さまでJavaはあらゆる点で負けているから、ゆっくりと滅びていくのではないかな。
471:デフォルトの名無しさん
21/08/25 16:51:22.96 ukn26ek9.net
2000年代前半まではCOBOLでええやんって人たちもそれなりにいたんだよねー
今のJavaと同じで
472:Mb
21/08/25 16:53:29.27 m4JEedQe.net
>>455
> そう言いながらあと30年は現役だろうなw
に関しては、「それはそれで勘弁してほしい」とも
思うのだが、Java もなんでもかんでも取りこみすぎて
「田舎の老舗温泉旅館じゃねーんだから、建て増し建て増しが
過ぎて(消防法上の)安全が確保できてねーんじゃねぇか?」という
懸念がないでもない。
別館とか新館とかは建ててもいいと思うぞ。
そのときは LOOP-UNTIL-DO-REPEAT 構文を
うまくサポートしてくれ。
473:デフォルトの名無しさん
21/08/25 16:56:01.31 VgRrM6Oo.net
>>456
様々なタイプの言語を扱えない貴方の負け
数値と数字の文字列が同一視されるケースもある
貴方はシェルスクリプトすら書いたことがないIT土方なのだろう
474:デフォルトの名無しさん
21/08/25 17:15:05.83 kP38/bs4.net
Javaは全然古くならないし
むしろ出たすぐのころのほうが新しかった
ジェネリクスすら要らんと思ってる
いろんな言語触ったけど何週か回ってやっぱJavaは嫌いにならない
C#は颯爽とプロパティひっさげてドヤって出てきた時からダサいと思ってる
Javaはアクセッサをわざわざ自前でいちいち書かなきゃいけないとこがイケてる
475:Mb
21/08/25 17:15:15.13 m4JEedQe.net
>>459
> 2000年代前半まではCOBOLでええやんって人たちもそれなりにいたんだよねー
「言語の世代論」っていうのを理解していなさそうだから言っておくけど、
それぞれの世代は、背負っているものが違うのよ。
「COBOL が古くて Java がその後で、今はその後の時代だ」とか思ってると、
電算業界のゴミになっちゃうかもよ?
Java は第三世代の終わりで、FORTH は(概念的にはだけど)
第二世代と第四世代の橋渡しを目指していて、
SmallTalk 80 が第三世代という意味で Java より第三世代寄りで
Ada はどのあたりだろう?とかいった世界観は
身につけておいてほしいな。
476:デフォルトの名無しさん
21/08/25 17:26:25.45 xNPMbXaI.net
>>462
ジェネリクスを不要と言ってる時点で化石時代のプログラマーだな
Javaではジェネリクスの利用に制限と限界があるから本当の恩恵に授かったことがないのだろう
時代遅れのJavaにしがみつくしかあるまい
477:デフォルトの名無しさん
21/08/25 17:31:00.50 nKJ3jHRU.net
というかJava8以降をしっかり追っかけた上でのJava推しなのか非常に疑問
478:デフォルトの名無しさん
21/08/25 17:33:09.51 kP38/bs4.net
>>464 そっすかw でも分かる人には分かると思うけどな C++やっててJava出てきたときのスタイリッシュさよ
480:デフォルトの名無しさん
21/08/25 17:43:26.40 a85RRTNO.net
>>466
たしかにJavaが出てきたときはスタイリッシュだと感じた
ただ、基本型とかジェネリクスとかプロパティのようなJavaが妥協した(うまく設計できなかた)部分は後発の言語がうまく対応した
後発の言語の踏み台になった感じがする
481:デフォルトの名無しさん
21/08/25 17:44:24.46 E2VIchyL.net
>>466
それならば更に先へRustに進むともっと多様な感動が体験できるでしょう
482:デフォルトの名無しさん
21/08/25 17:44:36.43 7Vj+tCAb.net
すべての文法を覚えな�
483:ュても、 問題は全て解決できると思うが、 これを言ってはダメだよな。
484:デフォルトの名無しさん
21/08/25 17:48:32.24 kP38/bs4.net
>>467
まさにそれ
踏まれちゃってる哀れみを考慮しての再評価って姿勢もありけり
当初はOOPLとしてはスッキリしててアホに迎合した感じも少なくよかった
>>468
Rustはいいと思うけどあれC++やって苦しんだ人しか嬉しくないやろw
いきなりあれ行っても書きにくい不自由な難しい言語でしかないでしょスレタイ的に
485:デフォルトの名無しさん
21/08/25 17:50:40.93 s6bVdPdM.net
ここまで割れると結局何でもいいというのが結論
486:デフォルトの名無しさん
21/08/25 17:58:29.39 /kDg/AG8.net
>>470
RustはC++方面からの移行とJava方面からの移行の両分野の需要を取り込んでいますね
メモリ安全性を保証しつつC++並の速さを出しつつモダンなプログラミング言語の良い点を最初から洗練して取り入れているからです
そして現実にJavaからRustへの移行>>367が起きていますよ
487:デフォルトの名無しさん
21/08/25 18:41:59.99 l5Xyqy5w.net
JSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
488:デフォルトの名無しさん
21/08/25 18:44:31.96 Q4zN/eQU.net
老害大暴れ
489:デフォルトの名無しさん
21/08/25 19:25:49.29 cVNAKVFB.net
>>472
それは相対的でもあるのよ。
例えば動的な型付け言語であるPythonやJavaScriptしか知らない人から見ると、静的な型付け言語はあなたがおっしゃる「書きにくい不自由な難しい言語」
そして静的な型付け言語の中でも弱い型付け言語であるCから見れば、強い型付け言語のJavaなどは同じように感じるでしょう
じゃあJavaは堅苦しく不自由で不便になったのでしょうか?違いますよね。むしろ強力で便利になっていますよね。
同じようにJavaよりもRustは強力で便利な言語となっているのです。
490:デフォルトの名無しさん
21/08/25 19:55:23.46 sdRC5Lrg.net
>>475
その理屈はおかしい
動的型でも型エラーは生じるが、GC言語でメモリの開放漏れは生じない
491:Mb
21/08/25 20:35:01.33 m4JEedQe.net
>>476
第四世代言語だと、(おおむね)参照カウンタが 0 になったときに
メモリを解放してくれるんだが、
そのあたりを理解していない厨房もいるんだよ。
そのあたりは生温かい視線で見てやってくれ。
つーても、(MicoroSoft 系の)C の alloc & free は、
ポインタで直接で指しているので、ハンドルで指して
参照で保護されている Mac と違って危険だったという
話はしておこうか。
だから C# とか Swift とかいった言語が生まれたわけだが、
そのあたりの事情についても、
若い方々には勉強しておいてほしいと思う。
492:470
21/08/25 20:37:34.87 kP38/bs4.net
>>475
> あなたがおっしゃる「書きにくい不自由な難しい言語」
横からごめんね
それを言ったのは俺であって彼ではないでしょ
文脈が混乱してたら悪いから一応指摘しとくね
493:Mb
21/08/25 20:42:28.85 m4JEedQe.net
>>475
>>476
そうだな。
キャストしたらバイト列でしかないわけで、
「そのバイト列がどこにあるか」と
「用が済んだら、どうやってシステムに『解放していいよ』と伝えるか」が重要だ。
(呼出し元が、「まだ持っていたい」と思ってるかもしれん)
Java の「参照」という概念は、そのあたりまで配慮しているので
鬱陶しくはあるが作法は踏襲しておく価値があると思う。
494:デフォルトの名無しさん
21/08/25 20:51:36.89 KkyjcpJi.net
いわゆる業務システムのJavaの9割9分はRustには移行しねーよ
GC言語で不都合ないから
KafkaやLuceneのようなシステムプログラミング用途でのJavaは減ってくだろうけどね
495:デフォルトの名無しさん
21/08/25 20:53:02.01 3NpgLUIb.net
>>476
じゃあCG無しでメモリ安全性を論文で保証できているRustが最強プログラミング言語となるね
496:デフォルトの名無しさん
21/08/25 20:54:30.92 KkyjcpJi.net
エアプのRust推しは痛い
497:デフォルトの名無しさん
21/08/25 20:55:52.89 kP38/bs4.net
>>482
わろたw
>>481
キミ一回もRustで書いたことないやろw
498:デフォルトの名無しさん
21/08/25 21:09:41.46 a2Q0srfT.net
Rustはメモリ安全性保証だけでなく、
純粋にプログラミングしやすい点が大きい。
後発言語なだけあって、既存言語での問題点や無理な拡張などを最初から解決している。
499:デフォルトの名無しさん
21/08/25 21:11:43.58 hE8G9AyZ.net
Javaの元々は世界中の家電製品に組み込まれる事を想定されていたものなので
その他の言語で今後世界的に家電製品に組み込まれる予定の言語はなんですか?
500:デフォルトの名無しさん
21/08/25 21:25:16.53 IJSrzUGa.net
>>484
Rustは所有権とか参照とか、さすがに初心者には厳しいんじゃないかなあ
最初はjava系ならkotlin、ms系ならC#が無難だと思うな
kotlinにはAndroidStudio、C#にはVisualStudioがあることも大きい
501:Mb
21/08/25 21:32:26.30 m4JEedQe.net
第一世代言語は、
まだコンピュータ・リソースが貴重だった時代で、
プログラミング・ツールのいうのがなかった時代。
オン・オフやニモウニック(ニモニック)の頃。
第二世代言語は、
プログラミング・ツールの黎明期。アセンブラとかの時代。
いわゆる「低級言語」の時代。
第三世代言語言語は、
「高級言語」の時代で、いわゆる「プログラミング言語」の多くが
スタートした時代。当時は C 言語は「超高級マクロアセンブラ」と
呼ばれて、「二・五世代言語」って呼ばれてたんだよね。
第四世代は、「目的別用語」「業務別言語」と云われた時代。
医療系データベース用言語 MUMPS、Codd 型の RDMS に特化した
SQL、制禦用に特化した FORSE(「FOURSE(第四世代)」と
名づけようとしたら、OS の文字調の制約に引っかかった)、
文字列処理用に特化した SNOBOL、システム・ダイナミクスの
シミュレーション言語 DYNAMO など、わりと百花繚乱の時代。
Java はそういう時代の総括みたいな立ち位置なので、
そういった言語を移植するには向いている。
で、「第五世代」。「新世代コンピュータ開発プロジェクト」と
いうのがあって、「Prolog か Lisp か」という論争があった。
「真に汎用の言語とは」という話であって、いまだに結着は
ついていない。
3.0世代の言語で育ったひともけっこういらっしゃるようなので
このスレはとても楽しいのだが、ジャリ(小さいくせに音が大きい)や
ガキ(クレクレ君)が多いので、年寄り世代は丁寧に弔って
成仏させてほしいと思う。
502:Mb
21/08/25 21:36:57.18 m4JEedQe.net
>>485
「BTRON」で検索してみると、
自分がどれだけ「純粋まっすぐ君」なのかが
理解できると思う。
そのあたりは政治の話だ。
503:デフォルトの名無しさん
21/08/25 21:37:59.94 8vx3RJ8Z.net
>>485
家電含めて組み込み分野で一番使われているのはC言語と次いでC++
当然GCない方が有利でランタイムなど限りなくゼロに近いほうが有利
Rustはこの分野でも注目されている
504:デフォルトの名無しさん
21/08/25 21:43:11.31 m4JEedQe.net
>>485
> その他の言語で今後世界的に家電製品に組み込まれる予定の言語はなんですか?
フェアチャイルドの F-8 かザイログの Z-80 のアセンブラ。
F-8 はミシンや自販機に使われていると思うし、
Z-80 は昔のコンピュータゲーム(「スペース・インベーダー」など)や
パチンコ台で使われているはずだ。
505:デフォルトの名無しさん
21/08/25 21:45:59.78 m4JEedQe.net
>>489
え? C なんか使わせてもらえるのか?
どこの職場か教えてくれ。
506:デフォルトの名無しさん
21/08/25 21:48:18.52 ENQvEefU
507:.net
508:デフォルトの名無しさん
21/08/25 22:01:46.04 kLiZTzHG.net
>>488
ありがとうございますセキュリティの話ですね
けどBTRONを始めようとは思わないです
>>489
結局C かC++って事なんですかね
Rustは家電製品に使われそうなのかどうかよくわからない
>>490> フェアチャイルドの F-8 かザイログの Z-80 のアセンブラ
初めて聞きました 昔のというからには
ぶっちゃけこれから始めようとする言語では無さそう
509:デフォルトの名無しさん
21/08/25 22:04:40.74 +jJGz93u.net
ここは初心者がプログラミングを始めるときに
どの言語がいいのかをアドバイスする板じゃないのか?
510:デフォルトの名無しさん
21/08/25 22:12:16.42 /XE178KR.net
PHPでWebサービス(しょぼいけど)作り始めた
511:デフォルトの名無しさん
21/08/25 22:12:30.47 UOT8+4Ck.net
>>486
環境構築が容易で今後の糧になりそうなら
> kotlinにはAndroidStudio、C#にはVisualStudioがあることも大きい
って事でしょうか?
スマホのシェア7割はAndroidなのでKotlinかな・・
AIとか機械学習と相性良さそうなのはC#のほうかな・・
512:デフォルトの名無しさん
21/08/25 22:20:12.48 O3u3s2Wu.net
>>491
組み込みは世界がピンキリで広いから、特殊な環境から特殊な文化まで色々あって言語バラエティはあれど、昔からのC言語で驚くとはどんな特殊な世界にいたんだよ。w
組み込みOSでシェアトップとなったLinux自体もCで書かれてるしな。
Googleを中心にLinuxやAndroidのC言語を少しずつRustへ置き換えしていこうという動きが着実に諸問題を解決しつつあるから、RustとCのハイブリッドの時代が来るのかもね。
513:デフォルトの名無しさん
21/08/25 22:39:03.80 l35cQLT9.net
すみません家電製品分野というか
今の日本の家電がどうしようもなく使いにくくてイライラするので
自分仕様に書き換えたいとか単純機能化したい目的として
組込みというかオリジナルのデバイスの開発をしてみたいのです
現品の改造はそりゃ違法だろうし
オリジナルの自作スイッチや工作ボタンを作って
USBとかBluetooth等でパソコンやスマホに入力したり別付けのコントローラーとして使う為には
何言語で開発するのでしようか?
514:デフォルトの名無しさん
21/08/25 22:45:18.72 IJSrzUGa.net
>>496
kotlinやC#を学習することが、今後の糧になるとは言えない
今後のことは誰にもわからないから
ただ学習するのにkotlinとC#は環境を用意するのは簡単だということ
環境構築は結構面倒なので、そういう手間が省けて、プログラムの学習がはかどるという意味では
「今後の糧」になるかもしれない。
515:デフォルトの名無しさん
21/08/25 22:45:31.14 P0tVbVoR.net
>>498
速度やリアルタイム性などの要求条件とメモリなどのリソース条件とデバイス類アクセス仕様次第
緩い環境なら任意のプログラミング言語がOKとなりうる
厳しい環境ならばC/C++/Rust限定となりうる
516:デフォルトの名無しさん
21/08/25 22:47:06.14 l5Xyqy5w.net
JSとかRustとか、お前ら素人が何と言おうと
ノーベル賞のモンタニエ博士はBCGとイベルメクチンを勧めてる
517:デフォルトの名無しさん
21/08/25 22:54:35.16 ZUGejDzL.net
dotnet cliみたいのKotlinにある?
518:デフォルトの名無しさん
21/08/25 23:14:19.18 Ggn69Tsy.net
>>499
そうですか、両スタジオともインストールして書いてみて
自分のプログラミングスタイルにあったものにしたいと思います
ありがとうございました。
519:デフォルトの名無しさん
21/08/25 23:15:44.81 NpK16A9Z.net
Androidスマホアプリ目当てにKotlinやるのだったら
Android上ではPWA(ウェブアプリ)が大半のスマホアプリの機能をカバーできるまでになっているので
まずはJavaScriptを学んでPWA(ウェブアプリ)で作っていくのが手広い知識と範囲を学んでいけると思う
その上でPWAではどうしても無理な分野もスマホアプリ作りたいとなった場合にそれからKotlinを学ぶという手順がおすすめ
520:デフォルトの名無しさん
21/08/25 23:18:25.44 mP7kg5KD.net
WASM!
521:デフォルトの名無しさん
21/08/25 23:29:22.77 J3cCAWFA.net
>>500
ゴメン素人なのでもっと簡単なやつで
赤外線リモコンのプログラミングとか
中華製のスマホVR用Bluetoothコントローラーの入力をAndroid studioで認識してプログラミングするとかの方法が
具体的に知りたい
522:デフォルトの名無しさん
21/08/25 23:32:01.25 J3cCAWFA.net
そうかAndroidなのでKotlin一択ですね・・失礼しました
523:デフォルトの名無しさん
21/08/26 00:16:06.04 JCuD7g6E.net
>>493
そういう従来CかC++しか無理だった分野にも対応しているのがRust
CとC++とは異なりRustはメモリ安全性が論理的に担保されるためセキュリティに敏感なところから順次採用されていってるところ
524:デフォルトの名無しさん
21/08/26 07:14:03.21 A3VGTr0i.net
androidアプリはjavaでもできるのに
なんでわざわざkotlinするんです?
525:デフォルトの名無しさん
21/08/26 08:15:44.02 g0f/jQiA.net
・Javaの権利を主張する企業がいるので
・Appleの真似
・盛り下がっていたAndroid開発コミュニティを盛り上げるため
プログラマ視点の話であればもう公式がkotlinなのでコピペするならjavaよりkotlin
言語選択というのは公式がサポートしてて世の中のみんなが使っててコピペしやすくトラブル時に助けを求めやすいのが大事
526:デフォルトの名無しさん
21/08/26 08:50:01.98 uU2SgC6a.net
>>509
Kotlinの方が優れているからさ
527:デフォルトの名無しさん
21/08/26 10:02:08.23 gBIKrMAb.net
kotlinってJDK使ってるんじゃなかったっけ?
javaないとkotlin動かないんじゃないの?
528:デフォルトの名無しさん
21/08/26 10:43:48.03 4fOoDR4L.net
>>512
「JDK」というのは「Java の開発キット」なので、実行時には不必要。
実行時に必要なのは「JVM」(Java 仮想機械)なので実行時に必要。
kotlin は開発環境なので、JVM のコードが吐かれる。
「java」というコマンドは JVM のエミュレータだから実行環境。
529:デフォルトの名無しさん
21/08/26 10:52:33.13 4fOoDR4L.net
>>506
工学社の別冊 I/O かなんかには出てそうだな。
I/O を愛読している友人知人に訊くといいかも。
530:デフォルトの名無しさん
21/08/26 11:16:03.43 4fOoDR4L.net
>>504
PWA は公開するのが面倒臭いからなぁ。
コンピュータ関係の学校とかに通ってて
Java なりなんなり web 環境で動く言語の勉強をしていて、
同じソースコード管理システムを使ってるんなら
同一の LAN 環境を使っている仲間がいるんなら、
まず自分のマシンに Tomcat 立てて仲間同士でいろいろ
やってみる(ただし、システム管理者にお伺いを立てること)のが
いいかも。
残念ながらリモートワークが推奨されているので
会社に集まること自体が減っているが(^_^!)。
VLAN とか使えばいけるのかね?
いずれにしても、スマホから利用できないという難はあるが。
531:デフォルトの名無しさん
21/08/26 11:38:01.09 8FSbrVd1.net
>>515
スマホから何が出来ないのかわからないが
もちろんPWA(プログレッシブ・ウェブ・アプリ)はブラウザさえあればどの環境からも使えるのでスマホアプリよりも強い
公開は普通のウェブサイトと同じだから無料ウェブサーバーでもサーバー借りても作っても何でもOK
話変わって
リモートワークは今のスマホはそのままVPN対応してるので問題なし
532:デフォルトの名無しさん
21/08/26 11:57:28.81 4fOoDR4L.net
>>516
> 公開は普通のウェブサイトと同じだから無料ウェブサーバーでも
> サーバー借りても作っても何でもOK
そこまでは知ってるが、動的なコンテンツが利用できる
サーバーを借りると、月額いくらかかるかが問題だ。
Tomcat と MySQL が動けば一応なんとかなるんだが。
自鯖立てると保守が面倒臭いんだよな。
ところで kotlin でJSP みたいなことってできるのかな?
文法を見た感じだと Java はフォーマルで kotlin はカジュアルな
感じだから、ビジネス向けのちょっと大規模な Web システムだと、
やっぱり Java になりそうに思うのだが。