はてなキーワード: C#とは
基本情報とかだけじゃなくて、JavaとかPHPとか、各DBあたりのベンダー試験なんかも。
むしろJavaの試験に受かってないとコーディングできないとか、ナントカ試験もってないとSE業務できないとか、徹底してほしいわ。
あんなもんじゃ実力がわからないって言うけど、ソフトウエア開発の現場って、どう見ても水準に達してないのに経歴が長いってだけで技術力があるってことになってる連中が多すぎ。
こいつJavaの入門書レベルも読んだことないだろって感じのやつがコーディングルールを決めてたり、VB6の時代で知識止まってるオッサンがC#やらVB.NETのコードレビューやってたり。
認定試験受かってたら、最低限、そういう連中はフィルターに掛けられるしな。
単純にダメな奴には開発をやらせなければいいんだけど、そのダメかどうかを判定する立場に経歴が長いってだけのダメな連中がついてるから、まともな選別とか無理だわ。
C言語で
struct S {
int array[12];
}
なら
struct S {
[MarshalAs(UnmanagedType.ByValArray, SizeConst=12)]
int[] array;
}
でいける。
C言語で
struct S {
int *array;
}
struct S {
IntPtr array;
}
として、Marshal.Copy メソッドを利用して扱うのが順当のようだ。
UnmanagedType.LPArray を指定したら「マーシャリングできません:無効なマネージ/アンマネージ型の組み合わせです。配列フィールドは ByValArray または SafeArray と組で使用してください。」と怒られた。
勘違いしてべき乗の演算子かと思ってた。Basic系とは違う。
https://msdn.microsoft.com/ja-jp/library/zh100ckf.aspx
var s1 = (new Func<string>(() => { var o = "Wow!"; return o; }).Invoke());
var s2 = (new Func<int, string>((f) => { return f.ToString(); }).Invoke(100));
var s3 = (new Func<int, int, string>((f, g) => { return (f + g).ToString(); }).Invoke(100, 30000));
何が得意なのか謎、もしくは特化した言語を持たない人は不明と書いている。
褒めだろうが悪口だろうが質問でもなくても何でも回答してくれる。
このクラスはask.fmを愛するプロフェッショナルな人しかなれない。
Python | http://ask.fm/hamukazu |
C++ | http://ask.fm/EzoeRyou |
Haskell | http://ask.fm/tanakh184 |
回答率が下がるがそれなりに回答を付けてくれる。
C# | http://ask.fm/chokudai |
C++ | http://ask.fm/nico_shindannin |
Java | http://ask.fm/hyuki0000 |
不明 | http://ask.fm/chomado |
質問を選びすぎて回答率が低い。
PHP | http://ask.fm/tokumaru |
Vim | http://ask.fm/ShougoMatsu |
PHP | http://ask.fm/anatoojp |
リストラ予備軍。
Vim | http://ask.fm/mattn_jp |
不明 | http://ask.fm/KensukeFurukawa |
不明 | http://ask.fm/todesking |
MSSQLだったのがMySQLになって新たにTomcatとMyBatis、Springを使うようになった
Frameworkがガラッと変わってとても使いづらかった。ASP.NET使ったら簡単にできるようなことを
上手く動かなくて面倒くさかった。こんな使いづらい言語だれが使うんだ!?とか普通に思っていた。
Java自体というより実質標準になっているFrameworkが面倒くさい
設定ファイルが多すぎ。意味不明過ぎ。あとエラーログが正確じゃなくてがわけわからん。
正式のドキュメントが充実してない。一般のブログに頼る必要がある。
Eclipseも使い始めたけど、DBViewer使いづらい。やっぱMicrosoftと比べるとヒドイね。
DBViewerのスクリプト書くところで選択した領域だけ実行したいんだけど、どうやんだ、これ。
Eclipseも使いづれー
でも人口多いんだよなーJava。なんで使ってんだろ。みんな。Microsoftに比べて安いからか?
品質と使い勝手を天秤にかけてもJavaを使いたくなるようなものか?
まぁ、一回Frameworkの仕組みを覚えたら案外使いやすいかも、とも思う。
あと、Update期間めちゃくちゃ長いですね。Java6,7,8って10年ぐらいかかってんじゃないですか。
何が良くて使ってんだろみんな。
プログラムの癌(Runy)をなくすの前に人間の癌をなくすやり方について書いておこう
癌は熱に弱い。42度の熱で消滅する。心臓に癌ができないのは熱に弱いから 外部から熱をあてて癌を直す治療がある。ハイーパーサーミアという治療法で厚生省から認可がおりており健康保険がきく。1回3千円くらい 10回セットで3万円くらい 病院にいけばやってくれる。動物病院でもやっている。42度の熱をあてるだけ 手術がない 体に負担がかからない 副作用もない 入院がいらない 時間が取られない 抗がんん剤や複雑な手術をする必要ない。体を痛めない
でだ ここからが問題だ まずハイーパーサーミアの機器を導入している病院が少ない。少ない理由は病院が儲からないから 3万円では医者が儲からないしやりたがらない。最近ハイーパーサーミアが知れ渡ってきてハイーパーサーミアの操作できる人が不足を理由に取りやめる病院が出てきている。また一緒に抗がん剤を抱き合わせてきたり、効果がないと否定してお金や体に負担がかかる3大療法をすすめてきたりする。3大療法はやらないほうがよい。放置もよくない。それより熱線をあてることに徹した方がいい。近くにハイーパーサーミアがなかったり、受けられなかったら、三井式温熱治療器やダイエットサウナをおすすめする。治療が受けれるのであれば3大療法よりハイパーサーミアだけやる。3大療法もやめたほうがよい。ハイパーサーミアは高いステージから生還してるし、費用が安く、副作用もなく、時間が取ることなく、体に負担がかからない。
抗がん剤は結局正常な細胞を弱らすだけでがん細胞を消滅させるわけではないのでけっしてやってはいけない。もちろん放置もいけない。
三井式温熱治療器やダイエットサウナでも体に42度の遠赤外線をあてる事が出来る。
三井式温熱治療器はアマゾンや楽天で買える。レビューがたくさん書かれていて癌に効果があったとたくさん書かれている。
ハイパーサーミアの医療現場で使われているサウナ機器(スマーテイ)もアマゾンで売っていたりする。
これで外から42度をあて続けるだけでよい
三井式温熱治療器の楽天のレビューを見てみる 癌治療に効果があったと高評価が150件が書かれている 要確認
http://review.rakuten.co.jp/item/1/202385_10001070/1.1/
三井式温熱治療器のamazonでも癌治療に効果があったと多くの高評価が書かれている 要確認
心臓 癌
癌 熱
癌 熱
などを調べてみると実際受けた患者の感想が書かれている。どれも末期だとか手の施しようのないといわれたとこから生還している。
ちなみに血液性の癌や白血病には高濃度ビタミンC点滴が有効 保険はきかない
日本の医療は米に10年 欧州に20年遅れていると言われている。
なので他の病気に関しても日本の医者の言う事よりもまず欧州がどんな治療をしているか調べてから判断した方がいい。医者はSilrだと思え
欧州では2008年の段階で癌が減っている事が記事になっている。
www.news-medical.net/news/2008/04/10/30/Japanese.aspx
http://hayabusa6.2ch.net/test/read.cgi/cancer/1251284895/
他にもここに詳しく書いてあるぞ!
http://apps.wiki.fc2.com/wiki/その他
プログラムの癌と言えば動的言語のことだろう。それを広めようとする関係者、開発者もまたがんだ。
メーカー製の静的言語フレームワークを使えば誰でも簡単に高度なことができる。
わざわざ出来損ない言語を引っ張りだしてきて、無駄に苦労したり、無駄な苦労を広めたりする輩はほんとうにがんだ。
その苦労は数年後無駄に終わる。動的言語は数年ごとにバージョンアップを繰り返し、今書いているものは
すべて動かなくなる。2007年頃に意図的に起こされた第一次Rubyブーム 1.7のRubyはもう動かない。
互換性の問題で起動できないし、サポート対象外だから脆弱性だらけ 今もRailsやNodejs angluerなどが
意図的にブームが起こされているが、それらも数年後には使えなくなる。負債にしかならない。
IT経営者にとってはそのほが都合いいのだろう。仮に辞められてもその技術で手間がかかりすぎて独立はできない。アプリストアがあるわけでもない。課金プラットフォームがあるわけでもない。 だからIT経営者はいきばのない技術者を酷使し放題だ。動的言語は技術者を自由にさせない鎖付きの言語なのだ
鎖のついてない言語は何か?それはC#だ。C#はシステムを簡単に作れる。管理画面サイドはexeアプリで作り、サーバーサイドはasmxとado.net ORMを使えば一日でWEBアプリケーションが作れてしまう。リファクタが効き、ビルドができエラーは直ぐ見つかりアップデートも自動でソースを書き換えてくれる。C#ができるとUnityからlot Robot スマートフォン タブレット One Windows 医療 業務用アプリまで 様々な分野に進出することができる。Railsではこうはいかない。Webしか作れないし、3年後にはバージョンアップが行われ、その都度のコードの修正に時間を取られる。つきっきりになっていないといけない。他の事が出来なくなる。ビルドできないからすぐバグがわからない。バグ潰しに時間を取られる。動的言語の現場がいつもギスギスしてるのは、バグが探しの疑心暗記がいつのまにか人に向けられていじめみたいなことになっている。
IT派遣事業者にとっても動的言語はいつまでも脆弱性が発生し続け、保守作業がうまれる都合のいい金になる言語だ。
企業が無料で教えるのには彼らだけが儲かるカラクリがあったのだ。今もRuby On Rails Ruby JavaScript Node.jsなど意図的なブームが起こされている。
メーカー製の静的言語やっている身からすると動的言語をやる輩はとても愚かだ。静的言語なら自分で書いたコードは自分の資産になる。
静的言語で書いたコードはリファクタが効くし、コンパイルでバグがすぐわかる。コードを最新のバージョンに自動で書き換えてくれる。
共通ライブラリを他のプロジェクトで使い深い内容で書いても、元のプロジェクトで開いた時にビルドでバグがすぐわかるから、深い内容で共通ライブラリを書く事ができる。
自分用の共通ライブラリを出来上がってくると開発速度があがっていく。無理に20倍速の早さとかメデイアで煽られて複雑に書かなくても、一度書いた物を組み合わせて使い回していけば生産性は普通にあがっていく。
動的言語では共通ライブラリを深い内容を書くのは難しい。バグを発見に時間がかかるから、浅い内容のことしか書けない。生産性があがらない。ファイルの管理に追われて断片化したり バグを探したり バージョン管理に追われたり いつまでも手間が掛かる始末だ。
なぜこんな無駄な言語を使い続けるのか なぜあのブックマークはRubyの時だけ数字がはねあがるのか不思議でしょうがない。Botにブックマークさせてるのではと疑ってしまう。
2007年頃のステマRubyブームで騙された技術者は酷い目にあってたいはんはRubyから去っている。
求人がある訳ではない。アプリストアがあるわけではない。脆弱性は出し続ける。すぐ互換性がなくなる 使う用途が限られている。汎用性がない
加えて他の動的言語にも言える事だか
フレームワークの乱立 CMSの乱立 フレームワーク自体バージョンがあがると別ものになる。フレームワーク自体に脆弱性がありサポートしてくれない。プロジェクトごとにフレームワークを学び直さないといけない
フロントサイドとサーバーサイド 両方 動的言語選択してしまってカオスな状態。スパテッゲテイすぎて再利用は不可、資産は築けない。
こんな安心して生きていけない言語は止めて、iPhoneアプリ、C#アプリの開発をやるべきだ
医者は儲かるからという理由で人の命よりお金になる抗がん剤を優先するのと、Silrが儲かる理由で脆弱性が多い動的言語を推奨するのは同じムジナだろう。
情報処理だけじゃなくて、JavaとかPHPとかオブジェクト指向とかWebプログラミングとか細かく細分化して、このプロジェクトはC#認定試験とWindows認定試験をもってるプログラマしか採用しませんとか。
ペーパーテストで分かるのかって言われるかもしれんけど、今の経験年数で測るやり方に比べたら格段にマシになると思うわ。
経験年数10年だから技術力があるってことになっているけど、実際は初心者レベルだとかゴロゴロいるし。
Javaの入門書さえまとに読んだことないだろってレベルの人が飲み会で「Javaに関しては任せられる新人が育ってなくてね」とかドヤ顔で語っていて、サラリーマンだから形だけ顔を立てられるって認識でなくて本人もマジで技術力あるつもりなのかってビックリしたことあるわ。
で、そういう人がプロジェクトの技術的な方針を決めてるから、本当にぐちゃぐちゃで効率悪い。
プロジェクトに応じた各種認定試験に通ってないと、コーディングさせないとか設計させないとかっていうのが常識になったら、最低でも水準に達してないような人がプロジェクトにかかわることは避けられるからね。
まあこれやると、日本のプログラマやSEの60万人のうち、3割とかへたすると半分くらいは仕事できなくなっちゃうんじゃないかって気がするから、実行は無理だろうけど。
このまえJavascriptをコピペだけで10年やっていて初めてまともに勉強したってエントリが何百もブクマを集めてるのをみて、モヤモヤっと思ったから書いた。
http://www.atmarkit.co.jp/fdotnet/dotnettips/1064combycs/combycs.html
足りないぞ。
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
をつけないと、メソッドが公開されない。
大御所でも、未検証のコードを載せるんだな。。それとも俺がちゃんと従っていないのか?
もしくはバージョンや環境設定によるのか?こちとら、Visual Studio 2013 で C# 使っているんだけどね。
ここ最近のMSはご飯も食べずに基礎研究・プラットフォーム構築を続けている気がする。
.NetFrameworkは非常に強力で柔軟なエコシステムに成長したし、VisualStudioは相変わらず強力無比だが、あまり収益には直結していないように見える。
これからということなのだろうが、その前にパッタリ倒れないか。
その間にAppleやGoogleはブクブク太ったが、技術レベルはMSが頭ひとつ以上抜きん出ている。iOSやAndroidとWindows Phone、SwiftやGOとC#/F#を比較すると、やっぱりMSの開発能力はすごい。
しかしそれは開発者目線から見た時で、その技術的完成度が製品に反映されているかというとかなり微妙なのがMSの製品なんだよなあ。
理由くらい書けよ糞が
他のWindowsプログラムがやっていて、多くの方が「できて当然」だと思っていることは、7割くらいであれば.NET(フレームワーク名)を叩けばできます。
.NET対応言語はC#、VB.NET、J#、F#、JScript.NET、C++/CLIなどがあり、実際の開発においてはこれらの中から自分に合った言語を選ぶことになります。
個人的な感想ですが、この中で最もゆとり仕様なのはC#です。StackOverflowなどのノウハウが一番蓄積されているのもC#だと思います。
「頻繁なアップデートを追跡しないといけない」「Visual Studioが必要」という問題はありますが、がんばってください
なお、.NETはメモリを食うので、数値計算みたいなことをしたいのであればC++が現状一番まともだと思います。がんばってください
昔のMacのプログラムのGUIはCarbonというライブラリで作っていました。今はCocoaというライブラリで作っています。
残念なことに、どちらも言語はObjective-Cです。がんばってください
ブラウザアプリは、ユーザのWebブラウザ(Chrome、Firefox、Opera、Safariなど)上で動作するシステムと、遠隔のサーバ上で動作するシステムが連携して成立します。
従って、ブラウザアプリを作る言語は、サーバ用言語とクライアント用言語の2種類を考えなければなりません。めんどくさいですね。
ひとたびそのめんどくささを突破してしまえば、Webブラウザさえあればどこでも動くようになります。素晴らしいですね。
クライアント用の言語は、まぁ、JavaScriptしかないと思います。がんばってください
JavaScriptも(正直なところ)あまり褒められた言語ではないので、近頃ではもうちょっとまともな言語を作って、それをJavaScriptに変換する方法が取られたりします。CoffeeScript、TypeScript、Haxeとかですかね。がんばってください
JScriptとかいう、名前が紛らわしい上にゴミブラウザ上でしか動かないゴミ未満言語もありますけど、そんなもんで作っても私の環境では動かせませんので悪く思わないでください。
そもそも選択肢が全くありませんので仕方がないです。がんばってください
Xamarinがあるじゃないかって?まぁそういうのもあるかもしれませんね。がんばってください
私の勉強不足で、Java以外の選択肢は知らないです。Java以外にあるんですかね?
Perlは使い捨てスクリプトを作るのに適しています。CPANクライアントは昔から安定して動きません。だいぶオワコン化してます。がんばってください 私は鞍替えしました
PythonはPerlより見た目がすっきりしたPerlです。easy_install・pipはすごく安定していてびっくりします(Windows除く)。3系とかいう邪念は捨てて2系教の悟りを開きましょう。がんばってください
RubyはPerl(の処理系のソースコード)より(処理系のソースコードが)綺麗なPerlです。私の手元のUbuntuで「ruby」と入力すると「Command not found.」と返ってくることからも解るとおり、多くの*NIXではOS標準でインストールされておりません。昔のgemは何故あんなにすごい時間をかけてrdocを作っていたのでしょうか。日本人が作ったのでムラ意識の強い日本人の仲間が大勢います。他の国は知りません。がんばってください
これ以上言語を増やすのはやめましょう。バベルの塔で大勢の人間が不幸になったのに、それを人間が自ら引き起こしてどうするんですか。
言語処理系を作るのであれば、BNFという言語で文法を定義して、yacc・bisonというツールに食わせればひな形ができます。ぶら下がりelseとの格闘が待ってますが、がんばってください
1からOSを作った方もいますが、デバイスドライバの流用などを考えると、だいたいはLinuxやBSDのソースコードを改変するお仕事だと思います。
昔はCGIと言っていました。所詮は80番ポートでlistenするだけのプログラムであり、BSDソケットをlistenできるライブラリを有する言語であれば何でもいいのですが、いくつかの宗教があります。
PHPはバンドネオンと同じくらい習得が困難な言語なのに、宣伝の仕方を間違えたために「自分はできる」と勘違いしたプログラマが暴徒と化し、イスラム教と同じくらい不当に低く評価されている言語です。きちんと勉強して使う分には、悪くない選択肢だと思います。がんばってください
Javaは、Eclipse・Netbeansといった超重量級IDEを起動して、Java EEやSpringといった超重量級ライブラリに依存したwarを、Jboss・WebSphereなどの超重量級アプリケーションサーバ上で動作させるため、メモリが貧弱な環境ではIDEとサーバを同時に起動すらできません。サーバのメモリが潤沢であれば悪くない選択肢だと思います。がんばってください
C#は、選択肢が全くないことを除けば、状況はJavaとあまり変わりません。Microsoftがお好きな方、何かの間違いでWindowsサーバを使わざるを得ない方であれば、悪くない選択肢だと思います。がんばってください
意見を聞かせて欲しい。
なるほど確かに教養としてPerlは知っておいた方が良いが、より優れた言語がある。
そして、推される筆頭はRubyだろうか。
そう思ってきた。
ブラウザで使うなら選択の余地はないので、あの言語は除外しよう。
で、未経験者でも聞いたことの有りそうなこのあたりはこの辺り。
C, C++, C#、 Java、Perl、PHP、Ruby、Python。
Hello, World!を見比べたら
「publicてなに?staticってなに?voidってなに? mainはメインなんだろうけど []ってなに?argsってなに?なんでint main?str mainとかあかんの?たまに*印ついてるのなに?全部意味が分からんし解説もなしにおまじないって言って飛ばしてるケースも多いしなんか詳しく言ってるっぽいのもあるけどその分かる人だけが分かるような言い方やめて私のライフはもう0よ!なんで一言「やぁ!」っていうのにどれだけのことを理解せなあかんのよ!」
となるのでスクリプト言語が残るだろう。
Webでしか使わない言語は関数名もキモイから除外しておくと、Perl、Ruby、Pythonの三択となる。
私がPerlを選んだ当時は、Rubyは信者が先鋭的で他人を攻撃しないと気が済まないという風評を目にしたので外した。
そしてPythonはまだ日本では弱いらしい一方、Perlははてなやmixi、Amazonでまで使われていて、
恰幅のいいヒゲのおっさん他、情報を発信する人の量・質ともに非常に高い様子だったから、Perlを選んだ。
ここから本題。
あれから数年。
新たなものを学ぼうと思い、Pythonは昔バージョンの違いでなかなか動かせず、またPython2と3で随分変わってしまうようなので、
Rubyを始めてみようと思ったんだ。
Next Perlというだけあって馴染みやすい書き方も多く、洗練されてるなってすごく関心した。
学ぶこと自体が目的なので、何をしたいって、何もないので、とりあえずPerlでやってることを全て移植してみることから始めた。
Net::FTPSSL
うごかない。
まぁそんなこともあるよね。
うごかない。
まぁPerlでもActive Directoryに繋ぐのは随分苦労したしな・・・
WWW::Mechanize:
うごかない。
CentOS 6に入ってるRubyではバージョンが違って動かないって・・・
上手くいかないのは仕方ないよ。でもmechanize、昔動いてたのに今動かないって何なの?
モジュールクリックしたら作者のサイトに飛ぶし、マニュアルの書き方も作者次第でバラバラ…読みづらい…
CPANみたいにちゃんとやってよ。
ネット上の情報もバージョンが違って動かないことも多々あるようだ。Perlなら5.8で書いたものが5.20になっても当たり前に動くよ?
CentOS 6とFedora 20のそれぞれで出てくるエラーも違うし、Perlの下地があっても正直キツイ。
洗練されていいな!って思った分余計に残念だ。
こんなバージョン違えば動かなくて当たり前で、Rail抜いたら情報も半減するような言語、本当に初心者向けでいいの?
使える人が使える用途で使えるバージョンを選んで使うとステキ。そんなん初心者向けじゃねぇぇぇっぇ。
いや、言語の学びやすさとこれとは別問題なんだろうけど、Perlの安定度と情報の量・質・多彩さで比較になってない。
言語そのものはRubyの方が上でも、使えない道具は劣る道具じゃんよ。
「身の回りの雑多な仕事を片付ける」って用途の方が特殊なんだろうか。
Rubyは良い言語だって思ってた。しかし、分からなくなってしまった。
教えてくれ。
キリシア様に届けていい言語はなんなんだ?
s/キリシア/キシリア/
でもたいした議論もないということは、概ね合ってるのだろうか。
あと、perldocの情報量もすごいと思う。ある程度Perlが使えるようになってからじゃないと読むのはキツイけど、
他言語で書籍じゃなしにあれだけ詳しく書かれたものってあるかな?
kiyo_hiko型が動的なのが耐えられなくて結局Java
わたしの勘違いだったら申し訳ないけど、C#で次のようにコードを書いたら、ぬるぽ例外が発生しましたよ。
public class DoSample : System.Management.Automation.PSCmdlet
{
...
public DoSample() {
...
if ((this.MyInvocation == null) || (string.IsNullOrEmpty(this.MyInvocation.ScriptName))) {
return;
}
...
}
}
C# で書くと
var ep = new System.Net.IPEndPoint(System.Net.IPAddress.Parse("255.255.255.255"), 2048);
var soc = new System.Net.Sockets.UdpClient(ep);
とすれば
型 'System.Net.Sockets.SocketException' のハンドルされていない例外が System.dll で発生しました
と例外が発生する。
ここは
var u = new System.Net.Sockets.UdpClient();
と空のUDPソケットを作成しておいて、Send メソッドでアドレスを指定する方法をとる。
ちなみに u.EnableBroadcast には false を代入しても、私の環境ではなぜだかうまく送信された。
あと、注意点!!として
C#やVB.NET(Nothing) では、 (null == null) は true ですからね。でないと、if(disposedObject == null) {...} という構文が成り立たなくなってしまう。。
http://msdn.microsoft.com/ja-jp/library/2cf62fcy.aspx
http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_04/csharp20_04_05.html