アカウント名:
パスワード:
C#erですが、Javaの良い所がわっぱりわからんです……。今までに出てるコメントの様な印象が非常に強い。(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)Write once, run anymoreに至っては、.NETのがマシじゃね? ってぐらいな印象です。(Monoとかあるし)さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。私の環境では、eclipseを一度起動したら、二度と起動しなくなりました。一部の環境設定ファイルを削除したらいけましたが、毎回それを強いるってどんなマゾ向けですか?ちなみに、Pleiades+ADKで発生しました。余りにも苛々して投げたので、バージョンは覚えてません。確か4系列だったかな……。
サーブレットとしても、Tomcatは面倒な設定だらけで開発を始めようとするだけでも一手間。かつての同僚は「Javaは要件に合わせて開発環境を整備するだけで1日かかる」と言っていました。その同僚の腕前を詳細には知らないので、それが一般的かは知りませんが、実際自分がやってみてもとてもとても面倒でした。プログラムが好きなんであって、環境設定が好きなわけじゃないんです。
一応はメジャーな言語ですし、何度も何度もJava勉強しようとしましたが、Visual Studio+C#、ラムダ式とかLINQの快適さに慣れるとどうもね……。今回ラムダ式が実装された訳ですが、伝え聞く話を聞く限りでは、Javaの案件で最新バージョン使わせてくれるのってそもそも稀っぽい感じがぷんぷんしますし。ioの新実装の名前空間がnioとか、命名の風習とかもなんだかなぁ。newioでいいじゃん、なんでそこで文字数ケチるん? って思いました。むかーしむかしの文字数制限がある言語なわけでもないのに。いきなりnioと言われても、わかんないですよ、その略し方。それでも勉強せにゃあ、と思ってクラスライブラリのソース見たら、汚いこと汚いこと……。世界的企業が吐いたソースがあんなんなんか、と戦慄しました。
それでも移植したいオープンソースなライブラリとかあったので、工数を減らす為に互換API自分で組んでみたりしている最中に、そういえばAPI訴訟 [infoq.com]なんてのもあったなぁ……とか思い出して、完全にやる気をなくしてしまいました。個人が企業に訴訟されたらたまりません。(個人をわざわざ訴える事はなさそうだし、実装が違えばほぼ可能性はゼロとは思うのですが、余計なリスクを抱え込みたくないです)
フリーランスやってるんで幅が広がるに超した事は無いんですが、必須というわけでもなく。正直Javaが使われてる理由がわかんないです。これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。顧客の指定、惰性、という理由以外で。
> eclipseを一度起動したら、二度と起動しなくなりました。
いくらなんでもそれは「環境が酷い」としか言いようが。。。
まぁ、Pleiadesですから。Pleiades使っといて、Eclipseのせいにするのは濡れ衣もいいとこですが、区別するのは初心者には無理でしょう。
元ACです。Pleiadesって駄目なんですか?日本語化されたEclipseを探して第一に出てきたのがそれだったので、日本ではこれなんかなー、と勝手に思ってました。次にチャレンジする機会があったら、素のEclipseにしてみます。一応、英語も多少は読めるので。
そうじゃないよ。(最近はどうか知らんが)アップデートしたら、クリーンアップ起動しなくちゃいけないってのが直感的にわからないって話だよ。
元コメのADKってなのが何かわかりませんが、昔のこちらでも似たような経験をしました。環境は確かMacOSX版のEclipse 4.2 + ADT Pluginでした。
>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。>顧客の指定、惰性、という理由以外で。
発注側目線としては、言語が枯れていることがJava選択の理由ですね。大規模システムなんて、一度作ったら10年単位で更新しません。
>(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)変化が遅いことが利点です。
一度作ったら10年更新しないことがおかしい、という意見もあるでしょう。しかし、それを変えるには日本社会は許容度が小さすぎます。
10年というので振りかってみればmonoもプロジェクト開始からとっくに10年超えてるんだよな
#実用になったのはいつからだ?とか「安定したサポート」は(ryとか置いておいて
>発注側目線としては、言語が枯れていることがJava選択の理由ですね。
知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗
元ACです。すいませんが、ここにまとめてレスさせて下さい。
> 大規模システムなんて、一度作ったら10年単位で更新しません。集団に属していた時期もありましたので、もちろんこういう辺りは理解できますが、>変化が遅いことが利点です。これはちょっと……利点と言えるのかなぁ、と。
親コメの>知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗と同意見です。
>しかし、それを変えるには日本社会は許容度が小さすぎます。>30分システムが止まっただけで、仕事にならない、責任者はだれだ、賠償だ、金かえせ。
これは、切に感じます。
いや、Javaはゆっくりさで安心を売ってるのだから仕方ないでしょう。
>>知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗>と同意見です。というけど、「枯れた」ってのはバグがないって意味ではないですよ。バグはあるけど知られている、ならば、いいんです。見えてる地雷だから。
互換性についていうと、.NETは酷い。わざわざ3.5まで維持してきたのを4.0でリセットしやがった上にWin8では3.5が標準搭載されてない(有効化するのに事実上インストールレベルの手間がかかる)のは、MSが互換性を重視しなくなってる現れだと思う
>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
OSも考慮して安いもしくは無料だから。Netbeansいいよ。環境の苦労から解放される。まぁ私もJava嫌いだがw
へぇ、Netbeansいいんですか。
むかーしは評判悪かった(ですよね?)ので、選択肢にそもそも入ってませんでした。今度、一度試してみます。情報ありがとうございます。
>まぁ私もJava嫌いだがwちゃんと習熟したわけではないので、一応嫌いという直接的な表現は避けて書きましたが……すいません、正直な所、私も嫌いです。(笑)Androidで採用、とか無ければ多分見向きもしなかったと思います……。
> さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。eclipseはJavaがクソな原因トップ3に入るぐらい酷いから使わない方が良いですよ。# ちなみにJavaがクソな原因第1位がOracleで2位がJava言語仕様、3位がeclipseね。NetBeansはeclipseに比べるとまだマシだけど、微妙に機能的に足りないところがある。ので、Javaでプログラム書くなら今はIntelliJ IDEA Ultimate一択。.NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。
元ACです。
>ので、Javaでプログラム書くなら今はIntelliJ IDEA Ultimate一択。おおう、そのIDEは聞いたことすら無かったです。情報収集不足に反省しつつ、見てみます。
>.NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。すいません、ReSharper使ってません……というか存在知りませんでした……。猛省します。
そりゃあ、最初から作る(覚える)なら、後発の言語であるC#のほうがいいでしょうね。JavaよりもC#のほうが洗練されていますし、作っていて面白い。さすがアンダース・ヘルスバーグ。しかし、C#はWindows以外のOS(例えばLinux)で完全に動くというわけではありません。
.net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。 http://mono-project.com/Compatibility [mono-project.com]
Vsiual Studioで作成したasp.netがLinuxですぐ動くというわけじゃありません。少なくともasp.net mvc4は、デフォルトのままでは動きませんでした。(まあ、.netはそんなの考慮して作られ
>.net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。逆に、4.5のサポートも、部分的とはいえもう出来てるのかー、ってびっくりしました。どうしても後追いになるでしょうし、バージョン一つ下くらいで互換性確保してるんだろうなー、と勝手に思ってました。
>Javaは多くの基幹システムで使用されてきた実績があるため、付随する関連システムを作る場合も、Javaで行う、>というのはあるので、まだまだ需要がある言語だと思いますよ。うーん、やっぱりそういう辺りなんですかねぇ。
私としては、結局の所>最近疑問に思うのは
何を使っても開発環境の整備なんて1日ぐらいかかるもんじゃねーの?最近だとeclipseとVisualStudioとXCode使ったけど、インストールしてアップデートして構成管理からソース持ってきてってやってれば、一日なんてあっという間じゃん。
Javaは依存性管理がクッソ面倒だからそういう話じゃないのMavenとかホント滅びればいいのに
うーん、同じですかねぇ?あれやこれやと組み合わせようとすると、ものすごく面倒くさいのです。Visual Studioだと、IIS Expressまで出てきた今、Webサーバの用意すら必須ではないわけで。手っ取り早くプログラミング出来て幸せなのです。
デスクトップアプリでJavaを使う利点ってあまり思い浮かばないので、そうなるとWeb開発とかAndroidとかになってくるのですが、そこら辺で元コメの様な感じに。
とりあえず、リプライして下さったものを総括すると、どうもPleiadesは(というかEclipse自体が)駄目っぽく感じるので、色々他のも使ってみる事にします。
いやー、例えばJavaでWebアプリ作るときに・JDK (+Scala / Groovy ... )・GitShell・IntelliJ・Tomcat・Maven / SBT / Gradleとか色々入れないといけない(さらに環境変数を追加したり…)のは、isoマウントしてインストールすれば全部終わるVisual Studioのソレと比べると大分シンドイと思うけどねぇ。Railsの方は確かにもうちょいマシだけど…
まあ平たく言えば、現代のCOBOLだよね。ITゼネコン御用達の言語になってるし。
安定して動いてるのと、これで作られたツール・ライブラリに優れたものが多いって辺りですかね。
僕は C# 大好きなんですが、.NET が大嫌いで、結局使わないです。言語の違いは割とどうにかなって、大切なのはその上のレイヤ。総じて、Java の標準ライブラリの方が使いやすく思いますよ。
> 総じて、Java の標準ライブラリの方が使いやすく思いますよ。いやそれは無いだろJavaの標準ライブラリって明らかに頭おかしいのいっぱいあるじゃんCalendarとかも盛大なクソだし、Null渡したら例外投げるでもなく空文字になるでもなく"null"になるStringBufferとかさ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
正直 (スコア:0)
C#erですが、Javaの良い所がわっぱりわからんです……。
今までに出てるコメントの様な印象が非常に強い。
(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)
Write once, run anymoreに至っては、.NETのがマシじゃね? ってぐらいな印象です。(Monoとかあるし)
さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。
私の環境では、eclipseを一度起動したら、二度と起動しなくなりました。一部の環境設定ファイルを削除したらいけましたが、毎回それを強いるってどんなマゾ向けですか?
ちなみに、Pleiades+ADKで発生しました。余りにも苛々して投げたので、バージョンは覚えてません。確か4系列だったかな……。
サーブレットとしても、Tomcatは面倒な設定だらけで開発を始めようとするだけでも一手間。
かつての同僚は「Javaは要件に合わせて開発環境を整備するだけで1日かかる」と言っていました。
その同僚の腕前を詳細には知らないので、それが一般的かは知りませんが、実際自分がやってみてもとてもとても面倒でした。
プログラムが好きなんであって、環境設定が好きなわけじゃないんです。
一応はメジャーな言語ですし、何度も何度もJava勉強しようとしましたが、Visual Studio+C#、ラムダ式とかLINQの快適さに慣れるとどうもね……。
今回ラムダ式が実装された訳ですが、伝え聞く話を聞く限りでは、Javaの案件で最新バージョン使わせてくれるのってそもそも稀っぽい感じがぷんぷんしますし。
ioの新実装の名前空間がnioとか、命名の風習とかもなんだかなぁ。newioでいいじゃん、なんでそこで文字数ケチるん? って思いました。
むかーしむかしの文字数制限がある言語なわけでもないのに。
いきなりnioと言われても、わかんないですよ、その略し方。
それでも勉強せにゃあ、と思ってクラスライブラリのソース見たら、汚いこと汚いこと……。世界的企業が吐いたソースがあんなんなんか、と戦慄しました。
それでも移植したいオープンソースなライブラリとかあったので、工数を減らす為に互換API自分で組んでみたりしている最中に、そういえばAPI訴訟 [infoq.com]なんてのもあったなぁ……とか思い出して、完全にやる気をなくしてしまいました。
個人が企業に訴訟されたらたまりません。
(個人をわざわざ訴える事はなさそうだし、実装が違えばほぼ可能性はゼロとは思うのですが、余計なリスクを抱え込みたくないです)
フリーランスやってるんで幅が広がるに超した事は無いんですが、必須というわけでもなく。
正直Javaが使われてる理由がわかんないです。
これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
顧客の指定、惰性、という理由以外で。
Re: (スコア:0)
> eclipseを一度起動したら、二度と起動しなくなりました。
いくらなんでもそれは「環境が酷い」としか言いようが。。。
Re: (スコア:0)
まぁ、Pleiadesですから。
Pleiades使っといて、Eclipseのせいにするのは濡れ衣もいいとこですが、
区別するのは初心者には無理でしょう。
Re: (スコア:0)
元ACです。
Pleiadesって駄目なんですか?
日本語化されたEclipseを探して第一に出てきたのがそれだったので、日本ではこれなんかなー、と勝手に思ってました。
次にチャレンジする機会があったら、素のEclipseにしてみます。
一応、英語も多少は読めるので。
Re: (スコア:0)
NetBeansも結構チュートリアルが充実してるとおもうけどなぁ。そこら辺は見たの?ググってはてなやブログがヒットしなかったとかはやめてね。
C#のほうが好きだっていうのは俺も一緒ではあるけど。
ただクラス単位でモジュールになってくれるのはテストコード書いてると便利で、.NETはそこら辺り失敗してるなぁって思う。
Re: (スコア:0)
そうじゃないよ。
(最近はどうか知らんが)アップデートしたら、クリーンアップ起動しなくちゃいけないってのが直感的にわからないって話だよ。
Re: (スコア:0)
元コメのADKってなのが何かわかりませんが、昔のこちらでも似たような経験をしました。
環境は確かMacOSX版のEclipse 4.2 + ADT Pluginでした。
Re: (スコア:0)
>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
>顧客の指定、惰性、という理由以外で。
発注側目線としては、言語が枯れていることがJava選択の理由ですね。
大規模システムなんて、一度作ったら10年単位で更新しません。
>(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)
変化が遅いことが利点です。
一度作ったら10年更新しないことがおかしい、という意見もあるでしょう。
しかし、それを変えるには日本社会は許容度が小さすぎます。
Re: (スコア:0)
10年というので振りかってみればmonoもプロジェクト開始からとっくに10年超えてるんだよな
#実用になったのはいつからだ?とか「安定したサポート」は(ryとか置いておいて
Re: (スコア:0)
>発注側目線としては、言語が枯れていることがJava選択の理由ですね。
知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗
Re: (スコア:0)
元ACです。すいませんが、ここにまとめてレスさせて下さい。
> 大規模システムなんて、一度作ったら10年単位で更新しません。
集団に属していた時期もありましたので、もちろんこういう辺りは理解できますが、
>変化が遅いことが利点です。
これはちょっと……利点と言えるのかなぁ、と。
親コメの
>知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗
と同意見です。
>しかし、それを変えるには日本社会は許容度が小さすぎます。
>30分システムが止まっただけで、仕事にならない、責任者はだれだ、賠償だ、金かえせ。
これは、切に感じます。
Re: (スコア:0)
いや、Javaはゆっくりさで安心を売ってるのだから仕方ないでしょう。
>>知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗
>と同意見です。
というけど、「枯れた」ってのはバグがないって意味ではないですよ。
バグはあるけど知られている、ならば、いいんです。見えてる地雷だから。
互換性についていうと、.NETは酷い。わざわざ3.5まで維持してきたのを4.0でリセットしやがった上にWin8では3.5が標準搭載されてない(有効化するのに事実上インストールレベルの手間がかかる)のは、MSが互換性を重視しなくなってる現れだと思う
Re: (スコア:0)
有効化が面倒で(場合によってはdism失敗する。どこでもネットが使えると思うなと思った)という事もあったり、これはホント残念だった。
要件としてインストールの高速化があったからだろうけど、単純にDVDにmsi入れておくかインストールオプションで選択できるようにしてくれればよかったのにねぇ。
一応target versionだったかを指定するか、4.0でビルドしなおせばいいんだけどね。
ただ、それよりターゲットプロセッサがAnyだとだめなケースが出てきた方が個人的には痛い。
Re: (スコア:0)
>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
OSも考慮して安いもしくは無料だから。
Netbeansいいよ。環境の苦労から解放される。
まぁ私もJava嫌いだがw
Re: (スコア:0)
へぇ、Netbeansいいんですか。
むかーしは評判悪かった(ですよね?)ので、選択肢にそもそも入ってませんでした。
今度、一度試してみます。情報ありがとうございます。
>まぁ私もJava嫌いだがw
ちゃんと習熟したわけではないので、一応嫌いという直接的な表現は避けて書きましたが……
すいません、正直な所、私も嫌いです。(笑)
Androidで採用、とか無ければ多分見向きもしなかったと思います……。
Re: (スコア:0)
> さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。
eclipseはJavaがクソな原因トップ3に入るぐらい酷いから使わない方が良いですよ。
# ちなみにJavaがクソな原因第1位がOracleで2位がJava言語仕様、3位がeclipseね。
NetBeansはeclipseに比べるとまだマシだけど、微妙に機能的に足りないところがある。
ので、Javaでプログラム書くなら今はIntelliJ IDEA Ultimate一択。
.NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。
Re: (スコア:0)
元ACです。
>ので、Javaでプログラム書くなら今はIntelliJ IDEA Ultimate一択。
おおう、そのIDEは聞いたことすら無かったです。情報収集不足に反省しつつ、見てみます。
>.NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。
すいません、ReSharper使ってません……というか存在知りませんでした……。
猛省します。
Re: (スコア:0)
そりゃあ、最初から作る(覚える)なら、後発の言語であるC#のほうがいいでしょうね。
JavaよりもC#のほうが洗練されていますし、作っていて面白い。さすがアンダース・ヘルスバーグ。
しかし、C#はWindows以外のOS(例えばLinux)で完全に動くというわけではありません。
.net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。
http://mono-project.com/Compatibility [mono-project.com]
Vsiual Studioで作成したasp.netがLinuxですぐ動くというわけじゃありません。
少なくともasp.net mvc4は、デフォルトのままでは動きませんでした。
(まあ、.netはそんなの考慮して作られ
Re: (スコア:0)
元ACです。
>.net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。
逆に、4.5のサポートも、部分的とはいえもう出来てるのかー、ってびっくりしました。
どうしても後追いになるでしょうし、バージョン一つ下くらいで互換性確保してるんだろうなー、と勝手に思ってました。
>Javaは多くの基幹システムで使用されてきた実績があるため、付随する関連システムを作る場合も、Javaで行う、
>というのはあるので、まだまだ需要がある言語だと思いますよ。
うーん、やっぱりそういう辺りなんですかねぇ。
私としては、結局の所
>最近疑問に思うのは
Re: (スコア:0)
何を使っても開発環境の整備なんて1日ぐらいかかるもんじゃねーの?
最近だとeclipseとVisualStudioとXCode使ったけど、インストールしてアップデートして構成管理からソース持ってきてってやってれば、一日なんてあっという間じゃん。
Re: (スコア:0)
Javaは依存性管理がクッソ面倒だからそういう話じゃないの
Mavenとかホント滅びればいいのに
Re: (スコア:0)
元ACです。
うーん、同じですかねぇ?
あれやこれやと組み合わせようとすると、ものすごく面倒くさいのです。
Visual Studioだと、IIS Expressまで出てきた今、Webサーバの用意すら必須ではないわけで。
手っ取り早くプログラミング出来て幸せなのです。
デスクトップアプリでJavaを使う利点ってあまり思い浮かばないので、そうなるとWeb開発とかAndroidとかになってくるのですが、そこら辺で元コメの様な感じに。
とりあえず、リプライして下さったものを総括すると、どうもPleiadesは(というかEclipse自体が)駄目っぽく感じるので、色々他のも使ってみる事にします。
Re: (スコア:0)
railsもrailsinstallerあるからすぐ始められるし(私はrubyinstallerからgemで入れる派だが)。
Windows向けデスクトップアプリはMSの言語以外はどうあがいても時間かかるよね。javaFX3に期待してたんだけどもはや話にも上がってこないし。
正直Winでデスクトップアプリで手っ取り早く使い捨てツールつくるならいまだにVB6が最速だったと今でも思っている。
あれぐらい軽いIDEがC#かF#にもあればなぁ。
Re: (スコア:0)
いやー、例えばJavaでWebアプリ作るときに
・JDK (+Scala / Groovy ... )
・GitShell
・IntelliJ
・Tomcat
・Maven / SBT / Gradle
とか色々入れないといけない(さらに環境変数を追加したり…)のは、
isoマウントしてインストールすれば全部終わるVisual Studioのソレと比べると大分シンドイと思うけどねぇ。
Railsの方は確かにもうちょいマシだけど…
Re: (スコア:0)
まあ平たく言えば、現代のCOBOLだよね。ITゼネコン御用達の言語になってるし。
Re: (スコア:0)
安定して動いてるのと、これで作られたツール・ライブラリに優れたものが多いって辺りですかね。
僕は C# 大好きなんですが、.NET が大嫌いで、結局使わないです。
言語の違いは割とどうにかなって、大切なのはその上のレイヤ。
総じて、Java の標準ライブラリの方が使いやすく思いますよ。
Re: (スコア:0)
> 総じて、Java の標準ライブラリの方が使いやすく思いますよ。
いやそれは無いだろ
Javaの標準ライブラリって明らかに頭おかしいのいっぱいあるじゃん
Calendarとかも盛大なクソだし、Null渡したら例外投げるでもなく空文字になるでもなく"null"になるStringBufferとかさ