外出自粛中でも楽しく過ごす!QAまとめ>>

.NETフレームワークや、VB.NET、C#.NETなどは主にどういうところで使われていますか?

将来性はありますか?

他の言語やフレームワークと比べて、どのくらいのシェアを占めているのですか?

WEB系アプリやスマホアプリの開発には不向きですか?

A 回答 (2件)

No.1です。


少なくとも、開発言語にJavaを使うよりも、.NET系を使うほうがWEB系アプリの開発は楽になります。

また、以前は、VB.NETやC#といったMS系言語は、WindowsOSのみで動作する状態でした。
でも、有志がLinux系でも.NET系言語を使えるようにしようと頑張りました。
そうしている時、時代はサーバはLinux系、MacもLinux系、androidもiOSもLinux系ってことで、Windowsの肩身が狭い感じになって、MSは「Linuxはライバルだ、敵だ!」という従来の方針を捨てました。
現在では、.NET系のVB.NETやC#を使ったシステムがWindwosだけでなく、Linux上でも動作するようになっています。
また、C#を選べば、iOSやandroid用のアプリも同時開発が可能となりました。
(以前は、スマホ用の開発環境は、個人では手が出しにくいライセンス料の支払いが必要だったんですけど、MSががんばって無償で使えるような状況を作ってくれました)
    • good
    • 0
この回答へのお礼

ありがとうございます。
そういう経緯があったんですね。
.NETでも問題なくWEB系やスマホ系のアプリ開発が出来るということですね。
開発にあたってRubyやPHPなどとの違いも教えて頂ければ幸いです。

お礼日時:2018/11/18 20:20

>>.NETフレームワークや、VB.NET、C#.NETなどは主にどういうところで使われていますか?



ソフト開発の現場や実際の運用場所で使われています。

>>将来性はありますか?

すでに広く使われていて、それに代わるものがさしあたり無い。

>>他の言語やフレームワークと比べて、どのくらいのシェアを占めているのですか?

知らない。

>>WEB系アプリやスマホアプリの開発には不向きですか?

さあ、だた、そういう開発に広く使われている。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2018/11/18 20:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QRubyなどを使って検索できるプログラムを作りたい

下記のようなプログラムを作りたいと思っています。

1.氏名、住所、生年月日が登録できること。
2.氏名と住所があいまい検索できること。
3.生年月日が範囲検索できること。
4.2と3の検索結果を一覧表示できること。
  表示する項目は氏名、住所、年齢
5.4で表示した一覧から選択を行い修正ができること。

開発言語はHTML&CSS,JavaScript,Rubyの中から簡単に出来るもので作りたいです。

また、データの登録先はデータベースでもファイルでも構いません。
データベースの場合はPostgreSQLがいいと思っています。

その方法も教えて頂ければ幸いです。

プログラミングど素人なので、丸投げ的な感じになってしまい申し訳ありません。

作成するためのヒントを頂けるだけでも有り難いです。

宜しくお願い致します。

Aベストアンサー

>>開発言語はHTML&CSS,JavaScript,Rubyの中から簡単に出来るもので作りたいです。

ご希望のソフトをRubyで作りたいとしても、上記の言語をすべて理解する必要があります。
また、上記に加えて、たぶんjQuery、Bootstrapもマスターする必要があります。
もちろんデータ保存と検索処理があるから、データベース言語であるSQLもマスターしてください。
選択したデータベースに対応するデータベース管理の仕方もマスターしてください。
あと、Webサーバであるapacheかリバースプロキシーのnginxも勉強しましょう。

QCのif文の書き方の質問です

『x=a & j=1 』の様に、『&』の前後に式を書くことがありますか?
使ったことがないので、ここに質問させて頂いております。
コメント、説明頂けますと大変有り難いです。

if stype=='L' then
x=a & j=1 //===
elseif stype=='M' then
x=a+(h/2) & j=2//============
else x=a+h & j=3//=================
end

以上、宜しくお願いします。

Aベストアンサー

見た目から、命令の区切りに使っているように見えますが、
公式マニュアルを確認しても ; や , はありましたが & は見つけられなかったので断言はできません。

https://help.scilab.org/docs/6.0.1/ja_JP/comma.html
https://help.scilab.org/docs/6.0.1/ja_JP/semicolon.html

QVisual Studio2017を使用してWindowsアプリケーションを作成しています。 質問内

Visual Studio2017を使用してWindowsアプリケーションを作成しています。

質問内容
Formに
TextBox
DataGridView
Buttonを配置。
TextBoxに番号を入力するとDataGridViewに番号に紐付いてる内容がDBから取得、表示。
これを複数個DataGridViewに貯める。
※この時DBにはまだ登録しない。
DataGridViewに溜まった内容を確認して問題が無ければButtonを押して初めてDBに登録。

このような事は可能なのでしょうか?
もし可能であればどのようにすれば良いか教えていただきたいです。
イメージは何かに一旦表示して、確認してからDB登録としたいです。なのでDataGridViewにこだわりはありません。

開発言語はVBです。
DBはAccess2016を使用しています。

回答よろしくお願い致します。

Aベストアンサー

No.1です。

>>もし可能であればどのようにすれば良いか教えていただきたいです。

これに答えてなかったので、処理の流れを簡単に説明します。

1)Formなどで検索条件を受け取る。
2)その検索条件を元に、データベースを検索して、該当したデータをメモリーにすべてコピーして保持する。
3)それらの複数データをDataGridViewに表示する、あるいは、一覧で選ばれたデータを編集用画面に表示する。
4)画面でデータの編集があると、メモリーに保持している対応するデータを、「元データ」「新データ」と分けて保持し、「変更」フラグをセットする。
5)画面でデータの新規追加があれば、メモリーに追加して、「新規」フラグをセットする。
6)画面でデータの削除があれば、メモリのデータに対して「削除」フラグをセットする。
7)処理の終わりが指示されたとき、メモリー内のデータを調べて、「変更」「新規」「削除」のフラグがセットされたデータ全てについて、データベースに、新規追加処理、変更処理、削除処理を行う。
フラグがセットされてないデータは何もしない。

なお、現実問題として、上記のやり方だと、「2)で大量データが読み込まれてメモリー不足になる」とか、「複数ユーザで同じデータを修正できるので、それを防ぎたい」とか、いろいろと実際の用途では、不具合があったりするので、その場合は、処理のやり方を変えることになります。

また、売上伝票みたいに、1つの売上データに対して、販売商品の明細が複数ぶら下がるような場合は、上記の処理がもう少し複雑になります。

No.1です。

>>もし可能であればどのようにすれば良いか教えていただきたいです。

これに答えてなかったので、処理の流れを簡単に説明します。

1)Formなどで検索条件を受け取る。
2)その検索条件を元に、データベースを検索して、該当したデータをメモリーにすべてコピーして保持する。
3)それらの複数データをDataGridViewに表示する、あるいは、一覧で選ばれたデータを編集用画面に表示する。
4)画面でデータの編集があると、メモリーに保持している対応するデータを、「元データ」「新データ」と分け...続きを読む

Qnewの追加

c++ですがMFC使いません。
メモリー確保でnewを1度設定した後、不足した場合、追加する方法を教えてください。
このとき、メモリーの既存のデータを残したいです。
いったんdeleteして同名の変数名でnewすると既存のデータは、どんな条件でも残りますか?
また、異なる変数名のnewを新設してデータのコピーはしません、理由はデータサイズがギガ単位だからです。
以上よろしくお願いします。

Aベストアンサー

既存のメモリ―マネージャを使って、コピーせずにメモリーサイズを
大きくするのは無理です。どんなに小さなメモリでも、そのすぐ後の
メモリ空間が空いているという保証は無いし、多くの場合、
空いてません。

もしやるなら、windowsならグローバルなnewやクラスのnewを実装して
virtualallocでメモリ空間を先に確保する工夫を入れるしか無いでしょう。

それ以前に連続メモリの伸長が必要なデータ構造をなんとかすべきとは
思いますが・・・・

Qこんばんは。いつもお世話になっております。 数値が任意の数ある場合に小さい順に並び替える処理をvba

こんばんは。いつもお世話になっております。

数値が任意の数ある場合に小さい順に並び替える処理をvbaで作成したいですが、どなたか教えて頂けないでしょうか?

どうぞ宜しくお願い致します。

Aベストアンサー

No2のレイアウトの画像です。

QC# VisualStudioでプロジェクトに読み込んだリソースの画像を文字列で指定したい

.NETでWinFormアプリをC#で製作中です。
Visual Studio Community 2017を使用しています。

VisualStudioのプロパティ>リソースで、画像を20個くらい読み込んでおり、条件に応じてその画像をPictureBox1のImageプロパティで表示を切り替えようとしています。

画像を管理している string 型の変数 s が "apple" だったら、リソース内の画像「apple」を表示する、といったようなことがしたいのですが、リソース内の画像を使用する方法は下記のような感じですよね。

PictureBox1.Image = Properties.Resources.画像名

しかしこれを
string s = "apple";
PictureBox1.Image = Properties.Resources.s;

というようには指定できず困っています。
s には "orange" や "banana" などの単語が入り、表示させたいリソース内の画像と名前が一致している状態です。
こういう場合どう記述すれば良いのでしょうか?

アドバイスありましたらぜひお願いします。m(_ _)m

.NETでWinFormアプリをC#で製作中です。
Visual Studio Community 2017を使用しています。

VisualStudioのプロパティ>リソースで、画像を20個くらい読み込んでおり、条件に応じてその画像をPictureBox1のImageプロパティで表示を切り替えようとしています。

画像を管理している string 型の変数 s が "apple" だったら、リソース内の画像「apple」を表示する、といったようなことがしたいのですが、リソース内の画像を使用する方法は下記のような感じですよね。

PictureBox1.Image = Properties.Resour...続きを読む

Aベストアンサー

https://blog.yuizi.com/2009/11/c.html?m=1

Qまちがっているところ

strSQL = " "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード, SUM(東京支店) AS TOKO"
strSQL = strSQL & " FROM"
strSQL = strSQL & " ( "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " *"
strSQL = strSQL & " FROM"
strSQL = strSQL & " [3学期$] "
strSQL = strSQL & " UNION ALL "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " *"
strSQL = strSQL & " FROM"
strSQL = strSQL & " [2学期$] "
strSQL = strSQL & " ) "
strSQL = strSQL & " GROUP BY 商品コード"
まちがっているところおしえてくれませんでしょうか

strSQL = " "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード, SUM(東京支店) AS TOKO"
strSQL = strSQL & " FROM"
strSQL = strSQL & " ( "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " *"
strSQL = strSQL & " FROM"
strSQL = strSQL & " [3学期$] "
strSQL = strSQL & " UNION ALL "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " *"
strSQL = strSQL & " FROM"
strSQL = strSQL & " [2学期$] "
strSQL = strSQL & " ) "
strSQL = strSQL & " GROU...続きを読む

Aベストアンサー

No.3です。

列数が一致しないとなっているならSheet構成がそれぞれで違うのではないですかね?(検証すると確かに列数が違うとエラーになる)

その場合それぞれのSheetでSELECTしたいフィールドを明確にする為に

strSQL = " "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード, SUM(東京支店) AS TOKO"
strSQL = strSQL & " FROM"
strSQL = strSQL & " ( "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード,東京支店" '★
strSQL = strSQL & " FROM"
strSQL = strSQL & " [3学期$] "
strSQL = strSQL & " UNION ALL "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード,東京支店" '★
strSQL = strSQL & " FROM"
strSQL = strSQL & " [2学期$] "
strSQL = strSQL & " ) AS 合計"
strSQL = strSQL & " GROUP BY 商品コード"

とフィールド名を記載したらエラーは消えましたよ。

No.3です。

列数が一致しないとなっているならSheet構成がそれぞれで違うのではないですかね?(検証すると確かに列数が違うとエラーになる)

その場合それぞれのSheetでSELECTしたいフィールドを明確にする為に

strSQL = " "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード, SUM(東京支店) AS TOKO"
strSQL = strSQL & " FROM"
strSQL = strSQL & " ( "
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 商品コード,東京支店" '★
strSQL = strSQL & " FROM"
strSQL = strSQL & " [3学期$] "
...続きを読む

QVB.netのファイルの数

VB6~VB2002辺りを昔少し触っていたものです。
.net2017でフォーム1個ボタン1個でプロクラムを作った場合
なんでこんなに(添付)ファイルができるのでしょう?
なんの意味があるのでしょう?
これぐらいのプログラムだと

Form1.vb
button1 As Buttuon
を触ればいいことを調べればわかりますが
ソリューションエクスプローラーの
ほかは一体なんなのでしょうか?

あと1点ピンポイントでApp.configはなにをしてますか?

Aベストアンサー

>>なんでこんなに(添付)ファイルができるのでしょう?
なんの意味があるのでしょう?

VB.NetはdotNet.Frameworkの上で稼働しています。
そして、自分で作らなくても、いろんな機能をもったライブラリが使えるようになっています。
それらを使えば、楽してプログラムの機能を増やすことが可能になります。
その関係で、いろんなファイルが作られているのでしょう。

>>あと1点ピンポイントでApp.configはなにをしてますか?

環境設定ファイルです。
たとえば、データベースを使うアプリを作ると、データベースへの接続文字列がその中に生成されたりします。

Q再帰処理をループ処理に変換

趣味プログラマです。

このカテゴリ一個前の質問
https://oshiete.goo.ne.jp/qa/10782948.html
のご回答の中で
> 関数の再帰呼び出しは必ずループで置き換えられる
というものがありました。
このこと自体は、以前にも目にしたことがあるのですが、変換例はいずれも単純な再帰関数のものでした。

そこで質問なのですが2分木を辿るような再帰プログラムの場合は、どの様なループ処理に変換されるのか、教えてください。
具体的なソースをご提示いただければ嬉しいです(C言語でなくても有名どころの言語ならOKです)

また、その処理はメモリ使用の観点において、再帰よりも効率が良くなりますか?
個人的には、プログラム中にスタックの様なものを用意しなければならないので、あまり効率よくならない様な気がします。

ご回答よろしくお願い致します。

※以下は2分木の合計を再帰で求める例です。
----
#include <stdio.h>
#include <stdlib.h>

typedef struct Node_t Node;

struct Node_t {
int value;
Node* left;
Node* right;
};

Node* NewNode(int val){
Node* p = malloc(sizeof(Node));
p->value = val;
p->left = NULL;
p->right = NULL;
return p;
}

int Sum(Node* p){
int lsum = 0;
int rsum = 0;

if(p->left != NULL) lsum = Sum(p->left);
if(p->right != NULL) rsum = Sum(p->right);
return lsum + rsum + p->value;
}

int main() {
int sum = 0;
Node* header;
header = NewNode(10);
header->left = NewNode(20);
header->right = NewNode(30);
header->left->left = NewNode(40);
header->right->right = NewNode(50);

/*もっと深く2分木を作成 */

sum = Sum(header);
printf("%d\n", sum);

return EXIT_SUCCESS;
}
----

趣味プログラマです。

このカテゴリ一個前の質問
https://oshiete.goo.ne.jp/qa/10782948.html
のご回答の中で
> 関数の再帰呼び出しは必ずループで置き換えられる
というものがありました。
このこと自体は、以前にも目にしたことがあるのですが、変換例はいずれも単純な再帰関数のものでした。

そこで質問なのですが2分木を辿るような再帰プログラムの場合は、どの様なループ処理に変換されるのか、教えてください。
具体的なソースをご提示いただければ嬉しいです(C言語でなくても有名どころの言...続きを読む

Aベストアンサー

N分木の総舐めだとすると、こんな感じじゃないですか?
最初に言っておきますが、メモリ効率は平均的によろしくないです。
劣悪な(深い)木よりはましというレベルです。
平衡二分木のように随時木をメンテナンスしていれば別の方法の方が効率は良いと思います。
ただ、スタック領域のメモリ不足は少なくとも私の手元の環境ではエラー検出できませんが、
ヒープ領域のメモリ不足はエラー処理はできます。
DoS攻撃などで勝手に落ちられると困るので、
少なくとも蓄積データのフルダンプや全解放ごときで落ちる心配は取り去りたいという、
ささやかな、見る人によってはくだらないこだわりのような、しかし切実な問題です。

#define N 2
struct tree
{
struct tree *tr_parent; // 追加要素
struct tree *tr_next[N]; // データ構造の小修整
int tr_val;
int tr_ref; // 追加要素
};

int
sum_tree(struct tree *top)
{
struct tree *n, *prev;
int sum = 0;
int updown = 2;

for (n = top, n->tr_ref = 0, n->tr_parent = NULL, prev = n;
n != NULL;) {
if (updown == 0) {
// case down
n->tr_ref = 0;
n->tr_parent = prev;
}
if (n->tr_ref == N) {
sum += n->tr_val;
n = n->tr_parent;
updown = 1;
} else if (n->tr_next[n->tr_ref] == NULL) {
updown = 2;
n->tr_ref ++;
} else {
updown = 0;
prev = n;
n = n->tr_next[n->tr_ref];
prev->tr_ref ++;
}
}
return sum;
}

実際、再帰を使わないようにする変換方法の定式なんてないと思います。
しかし、再起でなければできない処理もなく、等価な別の処理方法はあると思います。

N分木の総舐めだとすると、こんな感じじゃないですか?
最初に言っておきますが、メモリ効率は平均的によろしくないです。
劣悪な(深い)木よりはましというレベルです。
平衡二分木のように随時木をメンテナンスしていれば別の方法の方が効率は良いと思います。
ただ、スタック領域のメモリ不足は少なくとも私の手元の環境ではエラー検出できませんが、
ヒープ領域のメモリ不足はエラー処理はできます。
DoS攻撃などで勝手に落ちられると困るので、
少なくとも蓄積データのフルダンプや全解放ごときで落ちる心配...続きを読む

QPHPでの正規表現を使った文字列の取得について

preg_match_allを使って文字列を取得しようとしています。

$data = '<img src="abcdef">
<img src="あいうえお">';
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $data, $matches);
var_dump($matches);

$dataの形式?がこのような形だと思ったもの(「abcdef」と「あいうえお」)が取れるのですが、
$data = '<img src="abcdef"><img src="あいうえお">';
だと、取れません。
(たぶん、<img src="xxxx">のあとが改行されていないとダメなようです)

正規表現がよくわかっていなくて、これもネットで拾ったものです。
$dataは簡易的に書きましたが、実際は文章の中に複数の画像が差し込まれているものです。

どうすればうまく取れるのでしょう。
よろしくお願いします。

Aベストアンサー

デフォルトは最長一致です。最短一致にするには、「 .+? 」、「 .*? 」のように ? を追加します。

$output = preg_match_all('/<img.+?src=[\'"]([^\'"]+)[\'"].*?>/i', $data, $matches);


人気Q&Aランキング

おすすめ情報