主要就是C/S B/S两种结构的吧,通俗点说就是单机的系统和网页的。二次开发主要借助一些商业软件提供的库,比较著名的比如ESRI的ArcEngine,国内的比如超图和武大吉奥和中地都有,当然如果不愿意用商业的库,网上还有很多开源的库,OPENGL,SharpMap等等。个人感觉现在二次开发C/S的C#用的多一点,比较底层的话就是C++,B/S的大部分都是JAVA吧。个人感觉做二次开发编程语言无非就是自己用着顺手就行,用什么其实还真无所谓,反正都是人家的库,用人家的接口。