ここから本文です

現在、ASP(Active Service Pages)+MySQLでシステム開発しております。 現段階で...

nap********さん

2010/11/2217:53:44

現在、ASP(Active Service Pages)+MySQLでシステム開発しております。
現段階でVisual Studio .NETは使用できない環境下です。
スキルアップの為、今後何の言語を勉強していけばいいでしょうか?

WEBアプリケーションを主体として考えており、
Ruby、Ajax、XMLなんかを考えていますが、
これからの動向も踏まえて幅広く考えると、何がいいのかわかりません。

現在は、先に述べたようにASPのほかにWSH等でバッチ処理を作ったり、ExcelVBAで自動化処理をしたりと
スクリプト言語が多いですが、スクリプト言語で出来ない部分を
新しい知識で埋めるような事ができればいいなと考えております。

よろしくお願いします。

閲覧数:
391
回答数:
3
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

[WCF]

> スクリプト言語で出来ない部分を新しい知識で埋めるような事ができればいい。

ASPは、.NET化された後のASP.NET と言うことでしたら、.NET系の分散システムであるWCFがおすすめです。

ASP.NET のバックで、動作させて連携することが可能です。
また、スタンドアローン(サーバーの無い単独マシン)で動作するWebのMicrosoft Silverlight との連携も可能です。
分散システムは、ひらたく言うと、サーバー作成技術ですので、もちろん、連携では無い、WCF単独のサーバーシステムも作れます。
言語は、C#か、VB.NET で選択。
しかし、サーバー関係については、C#のほうが作りやすいので、C#がおすすめです。
分散システムですので、それなりに難しいですが、.NETより前からある分散システムの COM/DCOM や CORBA に比べたら、大変わかりやすくなっています。



[言語間の組み合わせ]

もともと、ある言語と、別の言語を連携可能な組み合わせは限られています。
有名なのは、

<スクリプトのJSP> + <Java>

とか、

<.NET化される前のASP> + <VC++>

そこで、分散システムの CORBA や COM/DCOM が活躍していたわけです。
そこで、マイクロソフトの.NET(ドットネット)と言うテクノロジーでは、様々な言語間で連携を可能にしました。
C# や VBNET 、 F# 、 IroRuby IronRuby 、 IronPython と連携が可能です。
また、ネット経由ならば、マイクロソフト系以外の言語でも連携が可能なように、インターネット上でプログラムを動作させる仕様の標準化仕様を作って来た結果が、.NETです。
マイクロソフト と IBM が手を組んで、その他幾つかの企業が参加して、作られた仕様を標準化団体に提出してきました。


[IBM系Java]

マイクロソフト系開発環境と同じように、言語の連携考えて来た開発環境は、IBM系開発環境のEclipse(「イクリプス」または「エクリプス」)です。
IBM系Javaを中心に、幾つかの他の言語と連携が可能です。
スクリプトの Ruby や Python も使えますので、質問者さんの条件に合っています。
また、Sun系Java と違って、IBM系Javaは(開発環境のEclipseは)、ビジュアルな開発環境であることも魅力的です。


あと、マイクロソフト と IBM がやってきた事は、長い準備期間を終えて、やっとこれからが本番となるのですから、活用しないと もったいないです。
詳しくは、以下参照。

クラウドコンピューティング
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1450940744

上記参照先と、それに続く幾つかの質問を参照して下さい。



[スクリプト重視の回答]

<Ruby と Python >

上記までの回答は、連携して機能拡張する事を重視して回答しました。
しかし、何かスクリプトが使えれば良いと言う話しならば、 Ruby か Python が良いと思います。
これらは、動的言語と呼ばれる物で、柔軟性の優れた言語です。
日本国内で普及されている物が良ければ、Ruby が良く、世界のレベルで普及された物が良ければ、Python が良いです。
と言うと、世界レベルの Python が良い気がしますが、Ruby は、日本語の資料が得やすいので、そう言う意味では、Ruby です。
Ruby か Python ならば、前述の通り、マイクロソフト系 と IBM系 で使えるのも魅力です。
また、Python は、Google社のクラウドの「Google App Engine」でも使えます。


<Silverlight と WPF>

マイクロソフト系のスクリプトならば、Silverlight や WPF も良いです。
理由は、以下を参照。
インテルが協力してくれます。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1450176539




<XML>

上記までの説明の通り、XML は重要ですので、基本文法は、ざっと目を通したほうが良いです。
しかし、応用の範囲では、あまりにも広すぎます。
よって、応用範囲のXML は、例えば、Silverlight と WPF で使われているXAMLに絞り込むと良いです。
もしくは、前述参照先にある医療、科学等の各種分野でのデータ仕様を学ぶと良いです。
また、C# や VBNET や Java から、XMLを編集しても良いです(DOMの利用等も含めて)。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

biw********さん

2010/11/2915:04:19

基本方向として、Microsfotべったりで行くか、オープンソース系に走るかの二択が必要だと思います。
提供機能はどちらも大差在りませんが、ライブラリが全然違うので、両立は困難です。
(運良く両立出来れば、移植屋としての活動機会が増えます)

>スクリプト言語が多いですが、スクリプト言語で出来ない部分を
>新しい知識で埋めるような事ができればいいなと考えております。
これは、ちょっと勿体無い気がします。
低水準言語で機能を提供する側と、機能を利用する側とでは、知識分野が全然違います。
現在の業務知識を活用するなら、スクリプトを極める方向が向いているのではないかと思います。

既に、スクリプトから使用可能な機能が、膨大な数で実装されますから、自力で再発明する必然性は余り有りません。
寧ろ、現状で利用可能な機能を探す方が良いかと思います。但し、数が膨大ですから、選択作業はかなり手間が掛かります。
でも、調べると、トンでもない事が数行で実現出来る状況になって居たりします。

使用するフレームワークの選択が、今後の鍵です。
但し、現時点では、混迷を極めて居て、正直「正解」が不明です。
多数のフレームワークを齧るのも手ですが、「広く浅い」知識に留まります。
特定のフレームワークを極めると、深い知識が得られ、スペシャリストとしての活動機会が増える代わりに、そのフレームワークが廃れると仕事が無くなります。
時間は有限ですから、両方同時は多分無理です。

別の観点からだと、どの分野を専業にするかの選択が必要です。
現状だと、「器用貧乏」な感じになって居ると思われますが、Webアプリだけでも、分野毎に細分化されます。
分野を限定すれば、複数のフレームワークを習得することは不可能ではありません。
が、その分野と一蓮托生になります。
そして、これまた、将来有望な分野の候補は多数在るが、本命が不明な状況です。

言語の選択は、結局将来どの方向で活躍したいかに因ります。
これについては、将来を大きく左右する賭けになります。
繰り返しになりますが、現状は非常に先行きが不透明なので、「賭け」に出るしか手段が有りません。


一方で、簡単な言語選択手法が有ります。
それは、「実際に軽く使ってみて、一番気に入った物を勉強する」です。
人によって言語の相性が違いますが、現状では、どの言語でも大体同じことが出来ます。
相性の良い言語を使う方が当然効率が上がります。

唯一の例外は、C/C++で、これは低水準記述能力が在るので、基盤技術の記述に必須です。
でも、分野としては特殊で、使い回しが困難な上に、高水準記述だと無駄にコード量が増えてしまいますから、アプリケーション分野での実績の有る人には推奨しません。

以上を踏まえた上での具体的アドバイスとしては、VBからの移行なら、C#が一番有望です。
実質、Microsoft専用言語ですが、構文的にはCの系統なので、他言語への移行も多少楽です。

Rubyは、個人的には推奨しかねます。
現時点では、日本語資料が豊富なのが利点ですが、新規版の開発が滞って居て、先行き不透明です。

寧ろ、ややハードルを上げて、英文資料を扱えるようになった方が、圧倒的に強みが出ます。
日本語資料は、水準が低い物が多く、他方、技術要素は殆ど欧米主体ですから、高度な知識の取得には、英文資料が必須です。

Rubyの場合は特殊で、元資料が日本語の為、これがハードルとなって海外で普及が進んでません。
果てには、海外版の分家を作る動きが水面下で進んでます。現在は本家が分離を拒んでいますが、その本家の活動が滞っているので、微妙な状況です。
(Rubyの英文資料が作れる人材を民間企業が見逃す筈が無いので、極端な人材不足なのです)

スキルアップの為に敢えて分野違いに手を出すなら、Javaも有力候補です。
但し、基盤技術が強固なだけに、「使える人材」になるのは困難でも有ります。

オープンソース系ならPHPでほぼ確定ですが、VBでの知識が生かすのが難しいです。
Windows環境からの離脱を狙うなら実質一択ですが、Windows環境ならVBとC#が断然強いです。
「PHP使われ」なら一杯居るので、実務レベルに達するには、苦しいかもしれません。
(別途、特定業務分野の専門知識が有れば話は別ですが)

新言語取得の観点からだと、以上で大体決まりでしょう。

尚、別の観点からだと、本格的にデータベースとSQLの再勉強をした方が良いかも知れません。
まともなテーブルを「自力設計」出来るか否かは、結構重要な分岐点で、上流工程だと、自力で最適なDB設計が出来ないと話になりません。
PGとしても「相手のやる気」が見えますし、SEを狙うなら必須ですから、候補に上げておきます。

ned********さん

2010/11/2322:40:51

細事の指摘ですがASPはActive Server Pagesです。

スキルアップの為にはオブジェクト指向の勉強をされたら宜しいのではないかと思います。
質問者さんの内容から察するにこれからもシステム開発をされるということですから、今後身に付けておいて損はない考え方だと思います(オブジェクト指向という考え方はシステムの大規模化に伴いシステムの部品化が進められたときに注目されたものですのでシステム開発に非常に関連しています)。

最近ではスクリプト言語の多機能化も進みましてWindowsではほとんどの事がVBAやWSHなどで済むようになってしまいました。
ですので「スクリプト言語で出来ない部分」があって、それを実現しなければならないという必要性を感じたとき、はじめてC#やC言語などを用いて作ってみては如何でしょうか。
スクリプト言語を用いないでアプリを作る側からみると、スクリプト言語を使いこなせるスキルというのはとても魅力的だと思いますし。

うまくまとまらなくてすみません。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる