X



Java入門・初心者質問スレ Part.6
■ このスレッドは過去ログ倉庫に格納されています
0749デフォルトの名無しさん
垢版 |
2018/02/10(土) 16:00:43.10ID:l9ZzjyKP
>>742
しかし言語そのものは文法定義でしかなく特許があるわけでも著作権があるわけでもないので独自実装やその実装のフリー化は誰にも止められないだろう。
例えあってもパクられてちょっと違ったもの違う名前で作られて終わりだ。Javaに対するC#のようにね。
0753デフォルトの名無しさん
垢版 |
2018/02/10(土) 16:58:39.84ID:l9ZzjyKP
>>750
C#はJavaのパクリ言語だよ。仮想マシン上で動くという所からしてパクリ。MSが全力を上げてパクるとああなる。
もちろんWindowsはMacのパクリだしMacはAltoのパクリだ。この業界は全体がパクリでできている。
0755デフォルトの名無しさん
垢版 |
2018/02/10(土) 17:07:08.77ID:l9ZzjyKP
別の名前の似たようなタイヤが延々と発明され続ける。その中でビジネス的にうまく行ったやつが技術的にはクソだったとしても生き残る。宣伝のうまさやタイミングが重要だ。人間は感情でしか動ていない。理屈は常に後付の正当化であり誤魔化しに過ぎない。
0756デフォルトの名無しさん
垢版 |
2018/02/10(土) 17:08:09.17ID:l9ZzjyKP
>>754
それはDelphi作ってた人にやらせたからではないかな。
0759デフォルトの名無しさん
垢版 |
2018/02/10(土) 17:34:57.94ID:wviCBSHG
C#がDelphiの血筋とかいうのはMicrosoftの強がりというか詭弁

一部にていたりノウハウを流用している部分があるというだけで
全体的にどうみてもJava
0760デフォルトの名無しさん
垢版 |
2018/02/10(土) 17:50:04.55ID:dPkktoQv
でもさ
Javaをパクったらクソが出来上がるはずだよね
でもC#はエレガントじゃん
矛盾してないか?
0761デフォルトの名無しさん
垢版 |
2018/02/10(土) 18:20:17.10ID:wviCBSHG
null値というクソをJavaから引き継いで
ほどよくクソになってるじゃないか

Delphiではもっとしっかり考慮されてたのに
考えもなしにパクった証拠
0762デフォルトの名無しさん
垢版 |
2018/02/10(土) 18:48:15.54ID:dPkktoQv
それはJava以外から引き継いだんだよ
C++やVBファミリとの付き合いがあるからね
0764デフォルトの名無しさん
垢版 |
2018/02/10(土) 20:26:16.00ID:wviCBSHG
付き合いがあるからってすべてのオブジェクト変数をNull許容にする必要性がおもいつかない
0765デフォルトの名無しさん
垢版 |
2018/02/10(土) 20:56:51.13ID:g3PCSUL0
当時の世間の要求に合わせて設計しただけだぞ
例えば、初期のC#に型推論がなかった理由は「当時はスクリプト言語の地位が低かったので、スクリプト言語だと思われたくなかったから」だそうだ
時代が違うんだよ
0770デフォルトの名無しさん
垢版 |
2018/02/11(日) 00:39:43.19ID:B0DbdRYG
少しは刺激がないとスレが過疎っちゃうからアンチも受け入れてるの
0771デフォルトの名無しさん
垢版 |
2018/02/11(日) 07:24:40.39ID:rJHGn+gg
Javaが廃れC#が栄えても
新しい何かが持て囃されてきたら
MSはそれを潰すために新しい物作って主軸を移すだろうからな
多くを求めずJavaでいいんだよ
0775デフォルトの名無しさん
垢版 |
2018/02/11(日) 09:09:40.93ID:c8+EY8Re
Microsoftにあくどい方法で潰されかけて
抵抗したら丸パクリされたあげく
協調すべきだったとか上から目線で評論家どもがほざく
0776デフォルトの名無しさん
垢版 |
2018/02/11(日) 09:26:11.52ID:QgiY6BS8
ユーザーとしては使いやすい物が残ればいい
OSはMacとLinuxが
言語はC#, TypeScript, C++, bash, powershell, pythonがあれば十分
0780デフォルトの名無しさん
垢版 |
2018/02/11(日) 10:39:00.95ID:Vla6Y0kh
PowerShellはゴミ
コレクション周りでハマると、もうインラインでC#書いてやろうかと思う
0781デフォルトの名無しさん
垢版 |
2018/02/11(日) 10:44:00.18ID:YeNWUzxx
>>780
最近はcakeが楽すぎて、スクリプトも全部c#で書いてるわ
javaでcakeと同じことやろうとすると何がおすすめ?
0784デフォルトの名無しさん
垢版 |
2018/02/11(日) 11:13:49.18ID:zXTZLl5w
あるプログラムを手を加えているるうちに
コマンドプロンプトで実行させたあとに1〜2秒ほどの謎のウエイトがかかるようになったんだけど何で待たされているのでしょうか

public class Sample {
 public static void main (String[]args) {
  (略 650行程度)
 System.out.println("終了");
 } //mainメソッドここまで
 メソッドは10前後
}

上で言えばmainメソッドの最後で「終了」って表示してからその後何もさせてないのにコマンドラインの入力欄に戻るまでに1〜2秒待たされるようになりました。
0785デフォルトの名無しさん
垢版 |
2018/02/11(日) 11:25:19.00ID:CuFerfqg
肝心の処理がわからなきゃなんも言えん
とりあえずverbose付けて実行してみろよ?
0788デフォルトの名無しさん
垢版 |
2018/02/11(日) 13:31:09.65ID:B0DbdRYG
Perlもよろしく
0789デフォルトの名無しさん
垢版 |
2018/02/11(日) 16:31:49.42ID:QgiY6BS8
なんていうかMac以外は清潔感がないから社会人としてマナー違反
朝起きて身だしなみ整えずジャージで外を出歩くような感覚
0790デフォルトの名無しさん
垢版 |
2018/02/11(日) 18:22:09.23ID:B0DbdRYG
Macはインテリアの一種であり見た目のデザインで売ってる製品だから実用性に欠ける部分があっても買うユーザは最初から気にしない。
まあしかし中身がUNIXであることにより少し救われている。
0794デフォルトの名無しさん
垢版 |
2018/02/12(月) 09:24:45.05ID:Bk9VmC4X
ビジネスマンならmacしか選択肢がない
やすい靴やすいスーツやすい時計やすいネクタイやすいシャツ
ビジネスマンなら身嗜みを間違えると相手に軽く見られるってことをわかってるだろう
それと同じで端末も身嗜みだからある程度金をかけてセンスがいいものを選ばないとね
ビシッと身嗜みを決めたビジネスマンが格安のネットブックやガキっぽいゲーミングノートを取り出したらこの人と仕事して大丈夫かなって不安になるよ
0797デフォルトの名無しさん
垢版 |
2018/02/12(月) 11:31:43.74ID:Dq1d51GH
>>778
勝手に機能変えられる
止まったり重くなった時に原因調べるのが大変
OSがサポートしてるツールが少ない
0802デフォルトの名無しさん
垢版 |
2018/02/12(月) 13:12:58.54ID:Bk9VmC4X
それ言ったらOSなんてなんでもいい
今時の開発環境はマルチプラットフォーム対応進んでるし
対応してなくても仮想化でどうにでもなる
中身はなんでもいいなら見た目やブランドが重要になるからわかってる人はMacを選択するんだよ
0805デフォルトの名無しさん
垢版 |
2018/02/12(月) 13:50:07.67ID:S+p/PDus
Windows10 で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、
Ruby をインストールする。
最初から、Python, vim も入っている

200MB ほどダウンロードして、850MB ほどの容量。
ただし、GUI版ではなく、Ubuntuサーバー

Java も入っていないけど、以下のパッケージがあるみたい。
* default-jre
* gcj-5-jre-headless
* openjdk-8-jre-headless
* gcj-4.8-jre-headless
* gcj-4.9-jre-headless
* openjdk-9-jre-headless
0807805
垢版 |
2018/02/12(月) 16:25:40.40ID:S+p/PDus
Windows10 で、WSL で、MS Store から、Ubuntu 16.04 LTS をダウンロードして、
Ruby をインストールする

全パッケージの更新
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt install ruby

日本語ロケールと、man コマンドの日本語化
sudo apt install language-pack-ja
sudo apt-get install manpages-ja manpages-ja-dev

touch ~/.bash_aliases

ホームディレクトリに、.bash_aliases というファイルを作って、そこに、
export LANG=ja_JP.UTF-8
と書いて、bash を日本語ロケールにする

Java も、sudo apt install で、インストールできる
0808デフォルトの名無しさん
垢版 |
2018/02/12(月) 17:22:13.84ID:gfcybQxo
>>794
それは主に接客をやる営業の人向けの話だな。かといって客の前で客以上の服とか物とか持っていると悟られるのはまずい。
0810デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:13:03.49ID:gfcybQxo
>>802
見た目やブランドを気にする人はそれによって人と競っているような人だけ。
普通の技術者はそんな所で競わないので結果的に見た目がどうでもよくなる。
0811デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:25:15.14ID:gfcybQxo
>>807
環境変数 LANG の設定は ~/.bash_aliases じゃなくて ~/.bashrc に直接書いた方がいいのでは?
意味的にも違うしそもそも ~/.bash_aliases は ~/.bashrc で読むようになっているだけのスクリプトだ。
bash が直接読むファイルではないから違う環境に行ったら使えないかも知れない。
0813デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:42:41.44ID:pVBDRrcw
Javaて無償で使えなくなる予定なのか?
0814デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:43:18.02ID:gfcybQxo
>>801
Linux でも足りる。というか、普通のLinuxディストリビューションだと何もしなくても最初からインストールされている。
0816デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:56:46.30ID:pVBDRrcw
>>815
なるほど
開発版と安定版みたいな感じか・・・
0818デフォルトの名無しさん
垢版 |
2018/02/12(月) 19:19:05.13ID:gfcybQxo
RedHat みたいな感じかな。全部フリーのFedoraをテストして長期リリースにしてサポートで金を取る方式。
しかし元がフリーということは CentOS みたいなテスト後のやつを揃えたやつが出てくる可能性がある。
0819デフォルトの名無しさん
垢版 |
2018/02/12(月) 19:35:09.62ID:tHIswjpT
>>818
OpenJDKの改変はライセンス違反。
OpenJDKのソースはGPLだが、特許の利用許諾はJCPを通っていることが条件。
改変したらJCPの認定から外れるので、その瞬間にオラクルに特許侵害で巨額の賠償金を請求されることになる。
0821デフォルトの名無しさん
垢版 |
2018/02/12(月) 19:52:33.75ID:gfcybQxo
>>819
あ、そうなの? GPLは改変再配布を許すライセンスじゃなかったっけ?
0822デフォルトの名無しさん
垢版 |
2018/02/12(月) 19:59:41.06ID:tHIswjpT
>>821
GPLv2による利用許諾はあくまで著作権の利用許諾
配布者が利用者を特許侵害で訴えることの可能な欠陥ライセンスだ
オラクルにとっては極めて好都合なライセンスでもある
0823デフォルトの名無しさん
垢版 |
2018/02/12(月) 20:00:36.76ID:gfcybQxo
>>820
今流行ってるのは Java VM 上で動く Kotlin だが、それ使い続ける限り何か影響はあるかも知れない。
しかし kotlin は JavaScript で動くようにするやつやネイティブも作っているのでそちらは影響を受けない筈。
0824デフォルトの名無しさん
垢版 |
2018/02/12(月) 20:03:47.34ID:gfcybQxo
>>822
なるほど。

でも特許部分をくり抜いた版って出せるんじゃないかな?
まあそれだともはやJavaではなくなるのかも知れないが。
0825デフォルトの名無しさん
垢版 |
2018/02/12(月) 20:14:07.01ID:tHIswjpT
>>824
さすがにそんなことをするくらいなら.NET Core向けにJavaコンパイラとJava APIを実装したほうが遥かに建設的で手っ取り早いだろうな
オラクルに言わせれば、APIには著作権が及ぶらしいからどのみち訴訟は避けられないわけだが、
海賊版JVMを作るのに比べたら裁判の勝ち目はあるだろう
0828デフォルトの名無しさん
垢版 |
2018/02/15(木) 09:20:07.56ID:JTk+EmTS
実行スピードは落ちても構わないのでCPUにかかる負担を減らしたい場合
簡単な方法は無いでしょうか
0831デフォルトの名無しさん
垢版 |
2018/02/15(木) 14:27:17.99ID:skblyvdp
>>828
sleepあちこちに入れたら?
0834デフォルトの名無しさん
垢版 |
2018/02/15(木) 17:58:52.48ID:KmltFhyK
文字列str1から文字列"str2"を検索する方法はこうですが
str1.indexOf("str2",0)

両方の文字を数値のbyte配列化してこれより高速に検索する方法ないですか?
地道に配列内を上からチェックしていけばいいですが
それよりスマートで高速な方法ないでしょうか?

文字処理は一般に遅いですが
結局str1.indexOfが一番はやい?
0836デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:35:20.81ID:skblyvdp
気に入らないならソースの String.java を参考にして自作してみれば?

もっと高速化する楽な方法はJNIで作ったり外部コマンド動かしたりする方法かな。
0837デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:36:21.54ID:huciZvxI
>>834
電文処理など、文字列とBYTE列が交わるポイントは確かにあるけど、
可能な限り、文字列は文字列、BYTE列はBYTE列の世界で取り扱うほうが
いいと思うよ。
0838デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:36:51.31ID:aKcpIhES
indexOfの実装にもよるんじゃねえの?
単なる文字列じゃなくなっても大手術しなくて済むように無理しないのが一番良いと思うけど。
バイト列だと思いもよらない文字の切れ目でヒットしたり地獄見ると思う。
入ってるかどうかだけが知りたいならcontainsにするか、それでも遅いならCharSequenceにしてからトライ木にするか。
0839デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:59:28.98ID:38r4ox9p
>>834
ボトルネックでないのに無駄に高速化しようとするのは愚策だから止めた方が。

ボトルネックになってるのであれば同じ文書内を複数の単語で何度も検索するとか
同じ単語で大量の文書を検索するとか具体的なシチュエーションが出てくるだろうし、
そのシチュエーションに適した高速化すりゃいいだけ。

どんなシチュエーションでもindexOfを上回る
(苦労してコード書く意味があるようなレベルで)ってのはかなり難しい。
例えばbyte[]に変換ってのも検索と比較すれば十分重い処理だし。
0841デフォルトの名無しさん
垢版 |
2018/02/16(金) 16:28:18.34ID:M8XJLm2H
>>831
sleep入れても負担は増えるだけだろ
総計算量は同じでsleepを処理する計算が増える
手で処理するしかない
具体的なプログラムが提示されれば改善の余地はあるかも知れないが

時間あたりの負荷が高く他の処理の邪魔をしたくないという話ならプロセスのプライオリティを下げろ
0843デフォルトの名無しさん
垢版 |
2018/02/16(金) 18:23:24.27ID:YSXjevvC
>>841
sleepを処理する計算?sleepの前処理のこと?それ以上にsleepすればいいのでは?
JavaVM内だとどうやってるのかは知らないが、sleepはVM内で指定の時間後に割り込み掛かるようにしてからスレッド停止してるだけじゃないの?
スレッド停止するならその分だけCPUタイムは食わなくなるよ。
0845デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:39:13.30ID:EWYfJ6l0
Linux だと nice とか renice とか ionice ってコマンドがある。
0847デフォルトの名無しさん
垢版 |
2018/02/17(土) 17:06:22.90ID:EWYfJ6l0
>>846
負担と言ったら普通そうなのでは?
それに元の質問は「実行スピードは落ちても構わないのでCPUにかかる負担を減らしたい」だから
JavaVMのOSでのプライオリティそのままでやるとしたらプログラム中の sleep ぐらいしか方法
ないと思うが?
■ このスレッドは過去ログ倉庫に格納されています

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