搜索
bottom↓
回复: 49

学上位机,是选JAVA好,还是C#好??

[复制链接]

出0入0汤圆

发表于 2010-8-23 10:23:40 | 显示全部楼层 |阅读模式
学上位机,是选JAVA好,还是C#好??

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-9-5 19:12:33 | 显示全部楼层
c#好

出0入0汤圆

发表于 2010-9-6 09:37:35 | 显示全部楼层
c#.net,vs2008 express版,不做windows mobile开发的话,不需要professional版,专业版体积大很多。。。

出0入0汤圆

发表于 2010-9-6 11:35:45 | 显示全部楼层
回复【楼主位】STM8L103
-----------------------------------------------------------------------

呵呵,个人感觉都不好~你管PC叫上位机,就说明你也是搞电子的,那为什么要选两门把硬件架空了的语言呢?
C#是微软的,不能跨平台先不说,单说说假设你学通了,微软又会出C@、C¥、C%、C^等等。。。
JAVA跨平台很好,我学过一些,但是还是它离底层太远,除了有现成的串口类可以跟底层交换下,其它没法接触到下位机。
这么看就不如选Qt,高效的C++编程框架,艺术级界面效果,而且几乎支持任何平台。
而如果你想搞WINDOWS上的驱动开发,那毫无疑问,只有WDK,是纯C,可以做USB等任何外设的驱动。

QT和WDK是我在学习的,QT可以写艺术级界面,WDK做底层驱动开发~

出0入0汤圆

发表于 2010-9-6 11:49:09 | 显示全部楼层
C#容易学
JAVA还可以做Android开发,多一条路

出0入0汤圆

 楼主| 发表于 2010-9-6 12:15:49 | 显示全部楼层
呵呵,个人感觉都不好~你管PC叫上位机,就说明你也是搞电子的,那为什么要选两门把硬件架空了的语言呢?
-------------------------------------------

C++,调用WinDows API操作串口是操作串口,
C#,调用串口组件也是操作串口。

出0入0汤圆

发表于 2010-9-6 12:47:24 | 显示全部楼层
不如用Labview吧,易学,开发速度快,功能强悍……特别适合电子和自动化方面的应用,做界面也不差。

出0入0汤圆

发表于 2010-9-6 12:54:28 | 显示全部楼层
恩,labview好。

出0入0汤圆

发表于 2010-9-6 14:45:08 | 显示全部楼层
Java -> Android
C#   -> WP7

都很有前途哈

出0入46汤圆

发表于 2010-9-6 19:45:41 | 显示全部楼层
如果时间充裕,两者都应该学。不过建议先学java,熟悉以后,玩C#也就一个月时间就可以顺利进入。
  至于和硬件相关的调用,两者都有com口的支持。其他如果要做底层调用,java有jni——用c语言开发。c#可以调用底层的动态链接库。

  前阵子看到欧洲的粒子加速器照片,控制中心的很多软件,感觉基本都是用java开发的(如果我的感觉有误,请指出来哦)。

出0入0汤圆

发表于 2010-9-6 20:10:52 | 显示全部楼层
我是这么觉得的
做上位机肯定是JAVA,C#之类的好
但是人的精力是有限的,搞嵌入式的就把C学精了,简单学下MFC,如果小项目就VC搞起,大项目估计上位机也不归你做,因此……

出0入0汤圆

发表于 2010-9-6 20:33:56 | 显示全部楼层
C++ , 上位机的不二之选。

出0入0汤圆

发表于 2010-9-7 00:04:57 | 显示全部楼层
我也强推QT, 网站, qt.nokia.com

出0入0汤圆

发表于 2010-9-7 00:15:25 | 显示全部楼层
个人建议首选C++吧,PC和嵌入式通吃,上下位机皆可。
如果不喜欢C++,那就次选JAVA吧,毕竟跨平台要好一些,而且嵌入式中也可行。
C#嘛,好像基本上只能在WINDOWS上跑了。

出0入0汤圆

发表于 2010-9-7 00:42:52 | 显示全部楼层
C++ , 上位机的不二之选
============================
别误人了,我认为C#,Java才是上上之选。
代码托管,可以讲是新世纪的发展出来产物,正是因为像C++内存管理问题而提出的
C++都要推出C++0x了,其中代码托管就是其亮点。
当程序大了,复杂了后,特别程序不断修改以后,你是难以控制到每个byte内存回收的。
只要有一个byte的泄漏,长时间运行的累积,也足以影响操作系统运作,当然对于非长期伺服的应用软件是无所谓
关了软件再重开,进程内存一般就会重释放,但对经常要长期伺服的工控程序,根本不可能随便去重开。
这时期,代码托管的程序,正是发挥优势的地方。根本不用担心内存泄漏问题。

我是用开C#,除了做过上位机,也搞过网站,数据库应用,还搞过移动平台与WinCE移植开发
算是有点心得,C#对比Java开发是容易上手很多,这得益于微软件的开发环境集成(这可以讲是微软的专长)。
用Dotnet较容易做出应用开发的多面手,(微软件也常吹快速开发)十分适合小组式工作,甚至单挑。
快速达到应用目的,当然大多数只在微软系列的平台上。
至于上面讲的硬件低层只有串口操作的问题,Java我不太了解,但C#的话,早就可以直接实现GPIO操作,在WinCE等移动平台上。

出0入0汤圆

发表于 2010-9-7 08:27:39 | 显示全部楼层
已经用了快7年labview的飘过。

出0入0汤圆

 楼主| 发表于 2010-9-7 08:28:34 | 显示全部楼层
貌似C#,VB已经是微软的主打编程语言,
反而C++得地位还不如VB

从微软MSDN 上可以看出来。

.NET Framework 类库类,MSDN的例子都是C#,VB的,反而C++得例子最少。

出0入0汤圆

发表于 2010-9-7 09:22:10 | 显示全部楼层
热爱python+gtk的飘过。

出0入296汤圆

发表于 2010-9-7 09:51:18 | 显示全部楼层
以下蓝色文字由版主:Gorgon Meducer 于:2010-09-07,09:51:18 加入。
<font color=black>请发贴人注意:
本贴放在这分区不合适,即将移走
原来分区:[1000]AVR (原ourAVR.com) 技术论坛
即将移去的分区:[1036]上位机软件开发(Delphi,C++等)
移动执行时间:自本贴发表0小时后

任何的疑问或咨询,请可随时联系站长。谢谢你的支持!
</font>

出0入46汤圆

发表于 2010-9-7 10:51:15 | 显示全部楼层
非常同意14楼
  目前用C++做上位系统,如果功能简单还好说。如果项目复杂到一定程度,除非开发团队所有人都非常熟悉C++,并且有个领军人物能够定义好整体框架和代码方式(风格),能够控制好不同成员的接口,估计还可以进行下去,否则结果注定是个杯具。
  国内,我所看到比较成功的用C++实现的软件系统,大部分是一两个牛人全部搞定的。估计如果国内有个团队里有超过3个C++牛人,那管理者的必须牛的一塌糊涂才可以控制住——哈哈,这个可能有点偏激了。

  其实不管C++,java,C#都可以完成大部分的上位系统。那么成本考虑就应该是第一位的吧!

  另外,如果想要在上位系统开发上做深入发展的话,我还是先建议学java。java开发环境继承了很多unix开发环境的风格,要求学的比较深入。如果精通了,想转用C#开发,是没有什么障碍的。但反过来就不行。当然,C#先学好了,对java语法本身的学习,还是有益的。

出0入0汤圆

发表于 2010-9-7 16:59:48 | 显示全部楼层
如果不复杂的话Vb最省事。

出0入0汤圆

发表于 2010-9-25 11:33:58 | 显示全部楼层
C++吧 我觉得学那些自己会变懒,哈哈!

出0入0汤圆

发表于 2010-9-25 11:39:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-21 23:41:09 | 显示全部楼层
哪个好确实很难说,我是用java的,我现在做上位机程序都是用java做的,串口、网络、USB操作都很方便,界面可用SWT或Swing来做。
至于有人怀疑java的执行效率,我是没觉得,目前几个项目中的上位机程序都是用java编写,界面如图。

做过的一个项目,用java做的上位机软件 (原文件名:2010-11-20 16-39-24.jpg)

出0入0汤圆

发表于 2010-11-21 23:49:20 | 显示全部楼层
java通用性好,兼容性好,
对底层靠库来支持
并且java高可到大型企业的管理,小可到手机智能卡,无处不可用。
c#,微软的东西,你跟得上他更新的脚步吗?
虽然因为是微软开发对win支持不错,但是会让人变得很傻,.net库更新了好多次互不兼容的了,语言的更新速度也很快,你跟不上脚步的话直接傻掉。

另外,你用得起正版吗?

用C++加上qt库也是不错的选择,通用性好,也简单。

出0入0汤圆

发表于 2010-11-22 01:45:55 | 显示全部楼层
问个RZ的问题

Java编写上位机是用啥软件做开发呢?

出0入4汤圆

发表于 2010-11-22 08:27:37 | 显示全部楼层
Tcl/Tk

出0入0汤圆

发表于 2010-11-22 10:29:14 | 显示全部楼层
如果要在手机上运行软件,要用JAVA吧?

出0入0汤圆

发表于 2010-11-22 15:42:48 | 显示全部楼层
回复【23楼】dingxiao
哪个好确实很难说,我是用java的,我现在做上位机程序都是用java做的,串口、网络、usb操作都很方便,界面可用swt或swing来做。
至于有人怀疑java的执行效率,我是没觉得,目前几个项目中的上位机程序都是用java编写,界面如图。


做过的一个项目,用java做的上位机软件 (原文件名:2010-11-20 16-39-24.jpg)
-----------------------------------------------------------------------

很不错

出0入0汤圆

发表于 2010-11-29 10:58:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-29 13:08:35 | 显示全部楼层
java的底层和硬件操作可由C语言通过Jni接口来扩展。
Matlab的好多部分都是Java写的。

java现在用的是动态编译技术,虚拟机在执行过程中根据需要编译成底层代码,效率还是非常高的

出0入0汤圆

发表于 2010-11-29 21:08:54 | 显示全部楼层
个人认为,既复杂又要求效率的上位机开发工具,只有VC++  , delphi  ,和Borland C++ Builder 。

出0入0汤圆

发表于 2010-11-29 22:59:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-29 23:52:28 | 显示全部楼层
Python + C == 王道

出0入0汤圆

发表于 2010-12-1 11:22:23 | 显示全部楼层
yunle晕了

出0入0汤圆

发表于 2010-12-1 11:27:36 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-4-26 17:27:32 | 显示全部楼层
大家 都在跟着人家屁股转。。。
快受不了了。。。
要崩溃了
C# C++ JAVA 全学算了

出0入0汤圆

发表于 2012-3-26 22:21:43 | 显示全部楼层
dingxiao 发表于 2010-11-21 23:41
哪个好确实很难说,我是用java的,我现在做上位机程序都是用java做的,串口、网络、USB操作都很方便,界面 ...

前辈,关于Java上位机,想问几个问题:
1. 生成的上位机软件在其他机子上运行是否只要求装有JRE?我用过Delphi做过小的串口通信软件,编译生成只有一个exe。
2. 能否回答一下开发环境:Eclipse +?
谢谢,

出0入0汤圆

发表于 2012-3-27 16:19:30 | 显示全部楼层
简单学下MFC,如果小项目就VC搞起,大项目估计上位机也不归你做,因此……

出0入0汤圆

发表于 2012-3-27 16:29:45 | 显示全部楼层
推荐 C++ + QT,上位机 嵌入式通吃。

出0入0汤圆

发表于 2012-3-30 13:16:53 | 显示全部楼层
caizifang 发表于 2012-3-26 22:21
前辈,关于Java上位机,想问几个问题:
1. 生成的上位机软件在其他机子上运行是否只要求装有JRE?我用过D ...

1. 生成的上位机软件在其他机子上运行是否只要求装有JRE?我用过Delphi做过小的串口通信软件,编译生成只有一个exe。
2. 能否回答一下开发环境:Eclipse +?
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.是的,生成的上位机软件只要在运行的机器上安装jre即可,当然jdk也行,如果都不装可以让软件包含所需的jre库即可。
2.java的开发环境吗?  java的开发环境是根据你应用的要求确定的,如果单纯的是嵌入式上位机的GUI开发,JavaSE即可,开发环境Eclipse+JDK就可开发。

出0入0汤圆

发表于 2012-4-16 12:36:20 | 显示全部楼层
C# 可以搞WP7啊
自己手里一台WP7
确实比同价位的android流畅很多
而且也看好微软和诺基亚的合作
包括三星也在做wp7
前景应该也不错的!

出0入0汤圆

发表于 2012-4-16 13:57:38 | 显示全部楼层
学习了。。。。

出0入0汤圆

发表于 2012-4-16 14:27:50 | 显示全部楼层
只会VB的飘过。。。

出75入4汤圆

发表于 2012-4-27 19:49:51 | 显示全部楼层
用什么是次要的,问题你用它搞定money没有,很现实。屠龙技很厉害,学了用不上也白瞎。

出0入36汤圆

发表于 2015-9-7 18:39:11 | 显示全部楼层
对大多数电工来说,学C++就是屠龙技术,一般上位机用C#、JAVA之类很快就学会搞定了。

还有说学了C++啥通吃之类的,术业有专攻,绝大多数人走通吃的道路,就是屎都吃不到。

出0入0汤圆

发表于 2015-10-3 21:45:55 | 显示全部楼层
学习,正在学习QT

出0入0汤圆

发表于 2015-10-9 10:39:02 | 显示全部楼层
如果单纯是上位机的话,VB来得快些,其次C#

出0入0汤圆

发表于 2015-10-9 10:58:58 | 显示全部楼层
各有专长啊!找个最适合自己的就行。那一种学到牛人都不少挣钱吧!

出0入10汤圆

发表于 2015-11-30 13:42:18 | 显示全部楼层
哪个都好学就行了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 05:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表