搜索
bottom↓
回复: 94

说说非计算机专业的电工学习C#苦逼过程

  [复制链接]

出0入211汤圆

发表于 2015-12-13 22:15:00 | 显示全部楼层 |阅读模式
本帖最后由 hushaoxin 于 2015-12-14 09:20 编辑

从我身边看一些人学习C#的过程来看,我总结有两种模式
1、循序渐进模式
2、破解模式

循序渐进模式特点:
1、本来是计算机专业,对计算机有从硬件到软件全面的了解。
2、对Windows、Linux有比较全面的了解。
3、对面向对象编程思路有全面的、深刻的理解,至少有一门面向对象编程语言基础。
4、对.Net平台的架构也有个全面的了解和理解。
5、总的来说是本专业出身的,理解C#的概念简单一些,走的是正规军道路。

再说说我们电工使用C#的过程,我总结为破解模式:
1、对C语言、汇编语言有较深刻的理解,都是听说有C语言基础上手C#比较快。但是学习C#一般都是遇到一个问题解决一个问题,然后记住这种方法,一个个问题破解。
2、对计算机一知半解,对Windows只会用,偶尔能改改注册表,杀个毒,装个系统什么的。
3、没有面向对象编程基础,大概知道“类”这么个概念,什么构造函数,析构函数,那就晕菜了。
4、.Net平台是什么?没感觉
5、总的来说,由于有着一些编程语言基础,很快就能搞几个按钮点点,写几句代码,驱动个串口,做个简单网页,然后信心爆棚。
6、很难有提高,遇到什么问题都是baidu,baidu,baidu,baidu........

我就是以破解模式学习C#的,我身边有个电工,也是从破解模式硬是成长为一个高手了,但是那过程太艰辛了,想当年看他为了学习TCP/IP编程,硬是将TCP/IP卷一、卷二、卷三从头到位钻研,最后也算是小有成就,自己写了一个在单片机系统上的TCP/IP协议栈,C#的书籍那是堆成一堆一堆的,基本上京东上有的C#的书,他都买了,现在俨然高手一个,各种控件应用自如,做网页、应用软件我个人感觉完全达到专业水平,自己封装各种类,各种远程管理,SQL数据库也是用得很熟悉,产品都是自己做的远程监控界面。总的来说应付电工的做工控需求绰绰有余。现在都有想法去读个计算机专业的研究生(本身是学电力系统)。但他这种破解模式学习,过程太残酷了,头发掉得一把一把的。

再说说我的学习过程,看能不能引起一些共鸣:
1、为了实现各种显示功能,把VS能拖动的控件,基本都试了。
2、C#入门经典也在看,看了后觉得明白的还是明白,不明白的还是不明白,还不如自己试试更加直观。
3、基本上都是百度解决问题,一个问题看看各位大神怎么解决,坚决不复制代码,坚决不按照大神的代码变量名取名,尽量让自己先从感官上熟悉这些过程。各种解决办法都试一遍,不明白的记个笔记。
4、给自己定一个功能,努力的去实现,从以往学习单片机的思路来看,可以先不太懂,但是要不停的尝试,多了自然明白了。

再说说我现在会干点啥:
1、驱动个串口,搞个通讯,没啥问题。
2、操作access数据库,基本的查询、插入、删除没有什么问题。
3、做个简单的人机交互界面,搞个简单的多线程,保证界面不卡,是没问题的。
4、搞个socket通讯,多客户端。最近想通过socket通讯远程推送固件升级单片机程序,说白了是基于socket通讯的modbus(以往做过串口modbus推送固件),这种通讯方式我看modbus官方组织的白皮书里提到过,但没有哪家做?不知道为啥。不是TCP/IP ModBus,也不是RTU在TCP/IP上实现。具体可以看看modbus的官方网站的白皮书关于socket介绍。
5、读取个数据库,显示波形、历史记录啥的。
6、总的来说都是非常基础的操作,感觉没法提高。

说说我的困惑:
1、感觉这种破解模式的学习方法对于单片机适用,但对于C#这种大型的编程语言,有些不适用,需要“破解”的问题太多了。
2、每个问题只知道怎么做,不明白为什么,C#封装得太严密了,一切都是类,但我如何知道这个类有哪些方法、属性。
3、要记的东西太多了,而且没法连贯。打个比方C语言的指针啥的看似也很复杂,啥结构体指针、结构体数组指针、数组指针、字符串指针等等,但是有个共同点,那就是说白了还是一个地址而已,C语言我基本每写一句,大概知道翻译成汇编是什么样子的,而C#就感觉在天上飘啊飘啊,不着地。
4、永远都停留在表面,都是别人怎么弄,自己怎么弄,依葫芦画瓢,比如说我以往做的一个设备,量不多,也只有个一百台,自己做一个后台远程管理一下没有问题,但随着设备增多,I3处理器、4G内存,电脑居然开始卡了,你叫腾讯上亿用户怎么办。当然我采用比较笨的办法,每个设备socket.TCP/IP长连接,每个设备一个线程,数据量也很小。像这种问题基本上也是没有好办法。网上的例程都是很基础的,基本上都是做毕业设计使用的。

非计算机专业出身的电工学习C#太困难了,想成为高手感觉路漫漫,不知道有没有电工有我一样的困惑,求挺过去的电工指条路,我那位身边的电工,人很好,但是不大会分享。所以在这里发帖寻找同类人共勉,寻找高手指路。
都是一气呵成写的,没来得及检查,想到哪里写到哪里,给你的阅读造成麻烦,请见谅。

修改原因:修改几个错别字

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-12-13 22:27:04 来自手机 | 显示全部楼层
我是在小霸王学习机上用BASIC起家的,经历了DOS,用过foxbase,然后C语言直到现在的C#,总之觉得不管用啥语言,只要达成目的就可以了。不必纠结其他,至于算法自然有人负责,关于电工最多的就是简单控制了,否则不会叫自己电工,改叫码农了。呵呵

出0入0汤圆

发表于 2015-12-13 22:28:01 | 显示全部楼层
你已经很厉害了,照我目前趋势看,咋的也还得修炼1、2年赶上你;目前不会数据库;

出0入0汤圆

发表于 2015-12-13 22:36:56 | 显示全部楼层
我刚刚想了解学c#,电工一枚,自学c。不知道以后怎么办!?多多指教!

出0入211汤圆

 楼主| 发表于 2015-12-13 22:39:37 来自手机 | 显示全部楼层
airwolf09921 发表于 2015-12-13 22:27
我是在小霸王学习机上用BASIC起家的,经历了DOS,用过foxbase,然后C语言直到现在的C#,总之觉得不管用啥语 ...

总觉得用c语言,它是工具,用c#语言,我自己反倒是工具了

出0入0汤圆

发表于 2015-12-13 22:52:38 | 显示全部楼层
在学C++的电工路过支持

出0入0汤圆

发表于 2015-12-13 23:45:15 来自手机 | 显示全部楼层
坐等C#高手们,为楼主解答!

出0入0汤圆

发表于 2015-12-13 23:57:19 | 显示全部楼层
楼主已经很厉害了。
我感觉的C#或java水平很高的人极少来这里,
这些人都去了百度、阿里巴巴、腾讯。

出0入264汤圆

发表于 2015-12-14 00:22:58 来自手机 | 显示全部楼层
电工用c#图的就是上手学习快。否则就选c++

出0入0汤圆

发表于 2015-12-14 00:24:10 来自手机 | 显示全部楼层
我是从单片机转到delphi的,对楼主的烦恼深有体会。首先你要明白不是c#这么门语言难学,而是windows这个平台太复杂了,开始看到长长的api函数胆都吓破了,要想玩转windows他的常用的api函数是一定要熟悉的,如果你要是只是停留在拖拖控件就以为万事大吉了,那你正好中了微软的计了。要想学的深入,就一定要先把windows这个平台搞定,就得一步一步踏踏实实的从api开始,不用控件,只用c调用api开始学,虽然开始很辛苦,但是这是深入的必经之路,很多初学者刚开始就从拖控件开始入手,其实这是最大的误区,我也是深受其害。很多人认为人家微软把api都封装成库了,你为什么不用?我想说的是不是不用,而是你还不够格,你不了解windows的运行机制不熟悉他的api,等你的程序出了问题。就束手无策了。别太浮躁了,静下心来,总是可以学会的

出0入0汤圆

发表于 2015-12-14 02:44:56 | 显示全部楼层
术有专攻,个人精力是有限的,不可能全面面具到,找到合适的层次去努力就好了。
说到编程,C#算是简单的了,一切都封装好,可以进行快速开发。
要说难的,还是C++,最基础,功能也最强。

出0入0汤圆

发表于 2015-12-14 06:24:15 | 显示全部楼层
FireBrain 发表于 2015-12-14 00:24
我是从单片机转到delphi的,对楼主的烦恼深有体会。首先你要明白不是c#这么门语言难学,而是windows这个平 ...

说得很好!

出0入4汤圆

发表于 2015-12-14 08:25:50 | 显示全部楼层
windows API函数名大多虽然长,但基本能望文知义,经常写,写多了,感觉就来了,还有就是用到哪个学哪个,都学基本是不可能的。

出0入211汤圆

 楼主| 发表于 2015-12-14 08:44:51 | 显示全部楼层
FireBrain 发表于 2015-12-14 00:24
我是从单片机转到delphi的,对楼主的烦恼深有体会。首先你要明白不是c#这么门语言难学,而是windows这个平 ...

我觉得你一语中的了,VS之所以好上手感觉是个“阴谋”,表面上好上手,实际上水深得恨,等你了解水有多深之后,会发现还不如不要这个拖放的方式。

出215入118汤圆

发表于 2015-12-14 08:51:30 | 显示全部楼层
建议学delphi或者C++ Builder,比竟电工们做上位机少不了位操作相关的,C#不支持位操作和指针,用起来还是比较痛苦的。Rad Studio系列支持静态编译,方便在不同的系统上运行。

出0入0汤圆

发表于 2015-12-14 08:57:58 | 显示全部楼层
也 是有类似的感觉,需然会做些软件,感觉还是很浅层次的

出110入93汤圆

发表于 2015-12-14 09:10:43 | 显示全部楼层
学精通还是免了吧,没这个必要,只要达成目的就可以了。
Windows 编程,先理解 GUI 的事件机制,另外加上OOP思想,就完了。
再具体到某一领域,有选择得去了解些背景信息就够了。

可能与电工不同,电工要对背景知识一清二楚,所以有这个思维习惯,而PC编程,涉及的内容太多了,不说底层 Windows API,就是.NET framework的内容也是一大堆,要细究很费时间,初学,还是以能用为基本原则,在此基础上再了解一下大致原理就行了,细节不建议去深究。

出0入0汤圆

发表于 2015-12-14 09:15:10 | 显示全部楼层
电工为什么非要弄上位机啊!这个不是软件专业人做的吗!我还打算以后向FPGA方向发展了!不知道前途怎么样!

出0入0汤圆

发表于 2015-12-14 09:15:59 | 显示全部楼层
snowy 发表于 2015-12-14 08:51
建议学delphi或者C++ Builder,比竟电工们做上位机少不了位操作相关的,C#不支持位操作和指针,用起来还是 ...

谁说C# 不支持指针,不支持位操作。里面有个概念,叫做非托管模式,可以将一个代码段设置成非安全模式,在里面可以使用指针。

出215入118汤圆

发表于 2015-12-14 09:26:05 | 显示全部楼层
semonpic 发表于 2015-12-14 09:15
谁说C# 不支持指针,不支持位操作。里面有个概念,叫做非托管模式,可以将一个代码段设置成非安全模式, ...

这个就像嵌入汇编一样,不到不得已,不会去用的。

出50入0汤圆

发表于 2015-12-14 09:37:30 | 显示全部楼层
学一门新的编程语言还真得是现学现用来的效率最高,拿一本书从头啃到尾适合学生时代的方法(没有目的)。现在的项目我的思路是:框架--分解--解决。另外,QQ不是TCP/IP连接的,用的是UDP。

出0入0汤圆

发表于 2015-12-14 09:55:46 | 显示全部楼层
小公司的产品不会太复杂,够用就行了,等产品规模大了公司也成熟了,找个会C#的就行了

出0入8汤圆

发表于 2015-12-14 09:58:36 | 显示全部楼层
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个都学好,那就只能下功夫学,但是还有一个问题就是无论哪个方向,越深入,就花的时间越多,也就越没有时间花在另一个方向上。所以要适可而止,够用就行。

当你控制一个单片机IO的时候,没必要考虑IO内部晶体管的工作原理。
当你设计单片机IO外围电路的时候,也没必要考虑晶体管内电子的能级跃迁的问题。

所以,
当你用C#写一个数据库的时候,就不要管SQL到底是怎么实现这个功能的。
当你调用windowsAPI的时候,也没必要了解windows内核的运行机制。

就像2楼说的,否则你就不是电工而是一个码农了。

所以,无论工作在哪个层面,把握住一定的层次就够了, 没必要从上到下都要贯通的弄透彻。
不然,那就是做学术,不是做工程了。

出0入0汤圆

发表于 2015-12-14 10:00:08 | 显示全部楼层
snowy 发表于 2015-12-14 09:26
这个就像嵌入汇编一样,不到不得已,不会去用的。

你都不懂C#,BB个啥,什么叫不得已不会去用,嵌入汇编是不得已吗?
C#涉及面很广,给不同层次的人发挥,可不是拿来应急用的。

出0入0汤圆

发表于 2015-12-14 10:14:14 | 显示全部楼层
楼主可以看看《[C#开发实战1200例.(第1卷)].王小科.王军.扫描版.pdf》 《 [C#开发实战1200例.(第2卷)].王小科.王军.扫描版.pdf》 ,也许就是你需要的书。

出0入211汤圆

 楼主| 发表于 2015-12-14 11:00:45 | 显示全部楼层
doushinide 发表于 2015-12-14 10:14
楼主可以看看《[C#开发实战1200例.(第1卷)].王小科.王军.扫描版.pdf》 《 [C#开发实战1200例.(第2卷)].王小 ...

楼上介绍的两本书,都是适合电工的书,我已经有了,经常翻翻

出5入10汤圆

发表于 2015-12-14 14:12:58 | 显示全部楼层
介绍里没提到你对面向对象的理解,只是说了下类,如果你把面向对象编程理解透了并且用活了那你应该就是个C#高手了 ,其实很多电工对于线程的控制还是学的比较好的,包括我也是一样,刚开始总觉得面向对象,类等都很无聊。但后来对于代码精简重用,执行效率,以及以后程序的扩展和移植,面向对象是非常有用的东西,C#没怎么用,对安卓开发倒是很熟的,正是 C#借鉴了很多JAVA 的技术,所以说的也都是我个人的拙建

出0入211汤圆

 楼主| 发表于 2015-12-14 14:44:12 | 显示全部楼层
PCBtiepian 发表于 2015-12-14 14:12
介绍里没提到你对面向对象的理解,只是说了下类,如果你把面向对象编程理解透了并且用活了那你应该就是个C# ...

你说的很对,面向对象这个概念不清晰,只是大概知道有那么一个回事

出0入211汤圆

 楼主| 发表于 2015-12-14 14:52:05 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

你说的很有道理,我主攻还是数字电源,但是作为小公司,还是自己各方面都要充实一下。在今天物联网这种大环境下,你不什么都会点,你连提方案,提要求给外包公司都不会,能做到小问题自己解决,大问题专业外包就行了,所以我是基于这种目的学习的。

出0入0汤圆

发表于 2015-12-14 15:13:51 | 显示全部楼层
你已经非常的厉害了,我来说一下我的观点哈,不对的地方还望相互讨论:

1:WINDOWS的开发,基础是WINDOWS API,要是想写的好应该是从API来入手的,而不是MFC和C#的类等,
     否则只知其一不知其二,只会用,不知道为什么这样用。比较有名的几个软件都是基于API来写的(就是自己的封装);
     这个也不要求完全掌握,知道就可以饿了;

2:面向对象的设计,那个是一种方法学,我也学的不好,就不说了;但是最近几年OOP的概念没有以前那么热门了;

3:专业很难重要,语言都是为了专业服务的;提高专业水平可能更能站的高点;

出0入0汤圆

发表于 2015-12-14 15:30:24 | 显示全部楼层
LEARN TO USE  MSDN

出0入0汤圆

发表于 2015-12-14 15:54:04 | 显示全部楼层
doushinide 发表于 2015-12-14 10:14
楼主可以看看《[C#开发实战1200例.(第1卷)].王小科.王军.扫描版.pdf》 《 [C#开发实战1200例.(第2卷)].王小 ...

谢谢,正需要学习,百度了一下,正是我们电工需要的书籍。

出0入211汤圆

 楼主| 发表于 2015-12-14 16:02:34 | 显示全部楼层
jm2011 发表于 2015-12-14 15:13
你已经非常的厉害了,我来说一下我的观点哈,不对的地方还望相互讨论:

1:WINDOWS的开发,基础是WINDOWS  ...


这本书貌似是介绍windos API的,但是概念性的东西感觉更多,看来还是最基础的东西不过关

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-12-14 16:10:59 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

所以,无论工作在哪个层面,把握住一定的层次就够了, 没必要从上到下都要贯通的弄透彻。
不然,那就是做学术,不是做工程了。
-------------------------------------------------------------------------------------------------------------------------
说得非常好。
我做单片机和VC编程都快20年的经历,得到的教训就是,因为涉猎太广,所以很多领域都没来得及深入,吃亏大矣。

出0入4汤圆

发表于 2015-12-14 16:15:10 来自手机 | 显示全部楼层
电工搞这个的看来不在少数啊,能够用就行咯

出0入0汤圆

发表于 2015-12-14 16:19:03 | 显示全部楼层
hushaoxin 发表于 2015-12-14 16:02
这本书貌似是介绍windos API的,但是概念性的东西感觉更多,看来还是最基础的东西不过关 ...

按书名应该是的;API的看一本就可以了,了解一下流程;比较经典的是《Windows程序设计》
http://www.amazon.cn/gp/product/ ... ription_feature_div


另外推荐《Windows核心编程》这个是对系统开发的(不包括DDK等),就是多线程,纤程,信号量,异步IO等等
http://www.amazon.cn/Windows%E6% ... %E7%AC%AC6%E7%89%88

前一本过一下就可以,后一本一定要精读;工作上写的好坏就看对它的理解了;


不过这些都是细活,做电工的要是做到这一步,我估计也都要去转行做软件了

出0入0汤圆

发表于 2015-12-14 16:43:48 | 显示全部楼层
一直在C的一知半解之中,考试肯定不过

出0入0汤圆

发表于 2015-12-14 17:00:26 | 显示全部楼层
楼主已经很厉害了。。有些电工还根本没碰到上位机。。我觉得电工。。把单片机程序写好。。已经很不容易了。。毕竟搞硬件的。。

出200入657汤圆

发表于 2015-12-14 17:57:39 | 显示全部楼层
这个帖子很好,值得我们这些上位机经验很少的电工学习参考!

出0入0汤圆

发表于 2015-12-14 18:23:22 | 显示全部楼层
眼力不好,除了include 换成using,没其它和C不同, 反正我没学,只是找一些例子再着乱搞,搞多就自然明白,

出0入0汤圆

发表于 2015-12-14 18:25:25 | 显示全部楼层
同样纠结中。。。

出10入0汤圆

发表于 2015-12-14 18:46:03 | 显示全部楼层
此帖甚好,顶      

出0入0汤圆

发表于 2015-12-14 18:55:51 | 显示全部楼层
首先,如果你一点面向对象概念都不理解,建议你找本语法书先看看练练;
http://www.codeplex.com 这是微软半官方的开源网站,里面有大量成熟的项目和产品代码,你可以找一个和你目标差不多的来学习。

出0入0汤圆

发表于 2015-12-14 19:01:54 | 显示全部楼层
本帖最后由 ly8008csko 于 2015-12-14 19:04 编辑

破解方式就很好,速成,能达到目的就行,C、C++语言可以深究,这类经典语言再过20年也不一定淘汰,但C#是一种比较“高级”的语言,一旦出现了比C#更方便更容易的语言可能就会面临淘汰了。编程语言真是日新月异,层出不穷,C#还没搞懂又有了更容易的python、perl、ruby。。。。

很多程序员要完成一个项目可能是C、Fortran、C#、Matlab各种混合编程调用,能用自己最熟悉的方法用最少的时间实现功能就行。

出0入0汤圆

发表于 2015-12-14 22:52:24 | 显示全部楼层
说点我的感受,群里的电工们可能觉得上位机就是UI;画个按钮,曲线等等,实现人机交互就可以了;
其实不然,个人觉得上层软件的难点在于数据交换的部分,这个做的好了,可以实现大数据量,实现
不好可能CPU一直很高,或者总丢数据、不稳定等等情况;

UI的设计其实更靠近艺术类的思想哈,个人偏向于简洁、明了的风格;

出0入0汤圆

发表于 2015-12-14 23:24:01 | 显示全部楼层
要把C#学深入是很难的,主要是功能太强大,类库太多,很多底层的微软或者别人已经封装好了,对用户来说一般不可见。
电工不是专业做的话,一般会做做桌面程序,调用一些类库,做做工控相关的界面,自己写写 modbus 、以太网  之类应用,
最好能配合数据库做写历史图表之类的就够了。

出0入0汤圆

发表于 2015-12-15 00:05:05 | 显示全部楼层
mcu_lover 发表于 2015-12-14 00:22
电工用c#图的就是上手学习快。否则就选c++

大神最近很少露面啊

出0入0汤圆

发表于 2015-12-15 09:14:03 | 显示全部楼层
上位机都还不会写,回帖中的资料看看有没有用,比LZ更困惑的路过

出0入0汤圆

发表于 2015-12-15 09:29:50 | 显示全部楼层
6、很难有提高,遇到什么问题都是baidu,baidu,baidu,baidu........

==========================================

搞技术的你居然用Baidu也难怪会难以提高。

出0入0汤圆

发表于 2015-12-15 12:43:15 | 显示全部楼层
ilcvm 发表于 2015-12-15 09:29
6、很难有提高,遇到什么问题都是baidu,baidu,baidu,baidu........

==================================== ...

百度怎么了,你用啥

出0入0汤圆

发表于 2015-12-15 21:26:15 | 显示全部楼层
我也在学习C#,看了这篇文章,感觉路途遥远啊

出0入0汤圆

发表于 2015-12-15 21:46:57 | 显示全部楼层
楼主总结的很好,我是近来膜拜的!

出0入4汤圆

发表于 2015-12-15 21:49:56 | 显示全部楼层
哎!一直在门外徘徊,也来看看各位大侠的经历和建议

出100入101汤圆

发表于 2015-12-15 22:25:40 | 显示全部楼层
学个C#,和是不是计算机专业有啥关系!

出0入0汤圆

发表于 2015-12-15 23:17:47 来自手机 | 显示全部楼层
啥也不用说了,就是看书少,自己没有系统梳理知识的能力,和专业有啥关系啊!搞不懂

出0入0汤圆

发表于 2015-12-16 16:27:16 | 显示全部楼层
google呀,不会番墙,不想看英语,这些都是被21世纪抛弃的原因。

出0入211汤圆

 楼主| 发表于 2015-12-16 19:57:15 来自手机 | 显示全部楼层
fengyunyu 发表于 2015-12-15 22:25
学个C#,和是不是计算机专业有啥关系!

要么你是已经挺过去了的大侠,要么你本来就是计算机专业,所以你体会不到了,计算机专业的经过4年本科教育,耳濡目染,基础知识还是牢靠很多的

出0入0汤圆

发表于 2015-12-17 13:23:31 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

自学硬件的码农表示你说的很对。

出0入0汤圆

发表于 2015-12-17 14:26:03 | 显示全部楼层
snowy 发表于 2015-12-14 08:51
建议学delphi或者C++ Builder,比竟电工们做上位机少不了位操作相关的,C#不支持位操作和指针,用起来还是 ...

C++ Builder 在win7上还能用不呢?

出215入118汤圆

发表于 2015-12-17 15:51:28 | 显示全部楼层
DanielDeng 发表于 2015-12-17 14:26
C++ Builder 在win7上还能用不呢?

可以的,现在叫Embarcadero RAD Studio, 2010及以后版本都可以在WIN7 64上用。C++ BUILDER的好处是对.net 没有依赖,C++语法上兼容C,控件库非常强大,对广大电工做工具来说还是非常方便的。

出0入85汤圆

发表于 2015-12-17 16:20:29 | 显示全部楼层
深有同感,不过我觉得术业有专攻,搞好一门就行了~

出0入0汤圆

发表于 2015-12-17 16:41:19 | 显示全部楼层
非电子专业,只对51汇编用的很深,C还不敢用于项目,目前在努力玩ARM的C,上老下小,累呀

出0入0汤圆

发表于 2015-12-17 17:00:12 | 显示全部楼层
我用过Delphi,后来转用C#,觉得还是C#方便,和C很相似,有些代码可以直接移植C的。

出0入0汤圆

发表于 2015-12-17 17:03:46 | 显示全部楼层
软件开发上,我从C++到C#,感觉C#就是爽,现在能用C#就C#写,做不了的可以用C++封装成dll给C#用.

出0入0汤圆

发表于 2015-12-17 17:25:24 | 显示全部楼层
一直是拖几个控件到对话框,百度一段代码拷进来用,转眼又忘记。敲不出一个函数,即使最基本的文件读写函数,也是随手百度下来

出0入0汤圆

发表于 2015-12-17 22:50:50 | 显示全部楼层
rain73 发表于 2015-12-14 10:00
你都不懂C#,BB个啥,什么叫不得已不会去用,嵌入汇编是不得已吗?
C#涉及面很广,给不同层次的人发挥, ...

我搞汇编是不得已

出0入0汤圆

发表于 2015-12-17 23:22:21 | 显示全部楼层
作为电工,,一般需要上位机的程序也不会太复杂,基本也就是生产测试类的程序,,用LABVIEW就行了。配合NI自家的采集卡,自动测试,画曲线,生成报表等,用起来还算简单,而且再过十年这语言也不会退市。

出0入0汤圆

发表于 2015-12-18 00:19:33 来自手机 | 显示全部楼层
看得我也是深有感触啊,本人就是眼高手低的典型,什么都想涉猎,到头来样样蜻蜓点水,还把自己搞迷茫了~

出0入0汤圆

发表于 2015-12-20 21:49:56 | 显示全部楼层
正在由delphi转C#,迷茫啊。。delphi的资料实在是少啊。

出0入0汤圆

发表于 2015-12-20 22:59:05 来自手机 | 显示全部楼层
我觉得学vb也行啊

出0入0汤圆

发表于 2015-12-30 13:10:52 | 显示全部楼层
C#算是比C++简单多了 主要是面向对象的思想一时接受不了吧

出0入0汤圆

发表于 2015-12-30 13:13:00 | 显示全部楼层
片羽之神 发表于 2015-12-14 09:15
电工为什么非要弄上位机啊!这个不是软件专业人做的吗!我还打算以后向FPGA方向发展了!不知道前途怎么样! ...

顶一个 我也常常这样想 但有时候身不由己

出0入0汤圆

发表于 2015-12-30 13:38:49 | 显示全部楼层
更迷茫的说  

出0入0汤圆

发表于 2015-12-31 12:32:33 来自手机 | 显示全部楼层
思想类的东西值得升入。像oo

出0入0汤圆

发表于 2016-1-4 11:35:38 | 显示全部楼层
感谢楼主的经验分享

出0入0汤圆

发表于 2016-5-11 09:27:30 来自手机 | 显示全部楼层
想用C#做点东西,mark

出0入0汤圆

发表于 2016-5-11 09:56:20 来自手机 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

确实,自身定位要明确,技术技能用多才能熟!当然也和个人的学习能力有关,有位朋友,名牌大学毕业,学习能力就不说了,什么c++、c#、liunx服务开发都很厉害,用到啥学啥,学的快,脑子记性好。他从来不百度,都是番墙谷歌。

出0入0汤圆

发表于 2016-5-11 10:02:11 来自手机 | 显示全部楼层
McuPlayer 发表于 2015-12-14 16:10
所以,无论工作在哪个层面,把握住一定的层次就够了, 没必要从上到下都要贯通的弄透彻。
不然,那就是做 ...

你应该是项目经理或主管级别,甚至是自己创业了 !

出0入0汤圆

发表于 2016-5-11 10:05:51 来自手机 | 显示全部楼层
jm2011 发表于 2015-12-14 22:52
说点我的感受,群里的电工们可能觉得上位机就是UI;画个按钮,曲线等等,实现人机交互就可以了;
其实不然 ...

UI也很重要,是与用户直接交互,关系产品的品质。这个需要有美工功底来完成!

出0入4汤圆

发表于 2016-5-11 10:21:47 | 显示全部楼层
学过一点,不用就全忘了

出0入0汤圆

发表于 2016-5-11 11:27:46 | 显示全部楼层
zhouyan 发表于 2016-5-11 10:05
UI也很重要,是与用户直接交互,关系产品的品质。这个需要有美工功底来完成! ...

是的,UI的设计是一项专门的学科,在国外做应用的要远比写驱动的吃香;

国内好像写手机APP的现在也很火啊

出0入0汤圆

发表于 2016-5-11 17:36:40 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

这位仁兄说的非常好!很赞同!

出0入0汤圆

发表于 2016-5-11 17:38:09 | 显示全部楼层
tiny13 发表于 2015-12-17 23:22
作为电工,,一般需要上位机的程序也不会太复杂,基本也就是生产测试类的程序,,用LABVIEW就行了。配合NI ...

NI的硬件太贵了,并且也完全没必要。除非是有十分高要求的

出0入0汤圆

发表于 2016-5-12 10:16:02 | 显示全部楼层
1.有问题在说啊  感觉CPU占有率高 就学多线程  感觉界面太丑 学一下wpf 感觉数据比较麻烦就用数据库 多注意用try catch 程序跑的稳稳的
2.封装太严密。。你是没看过C++ template 微软的类都是有msdn的 里面api非常的全  而且都是有例子和注意事项
3.C#所有NEW出来的东西都看作是一个引用就好了   你要了解汇编还不如去了解C++运行方式
4.线程池对socket方法是比较好的   每个监听到的连接就new一个新类 跑一个线程 这个不就是面对对象的常见套路
其实别纠结这么多 你要感受这些东西完全可以用ucos 和 c++ ,自己实现一个架构
C++学好了这些语言看起来都一样只是使用有所侧重和实现方式不同,当然这里是指语言层面

出0入0汤圆

发表于 2016-5-26 10:34:28 | 显示全部楼层
正打算电工初学C#,感谢经验分享。

出0入0汤圆

发表于 2016-5-26 10:36:58 | 显示全部楼层
lw2012 发表于 2015-12-14 09:58
人的精力有限,当你羡慕计算机科班出身的软件设计水平的时候,他们也在羡慕你的硬件设计水平。

如果想两个 ...

说的好啊,学习了。

出0入4汤圆

发表于 2016-5-26 12:58:13 | 显示全部楼层
个人觉得labview更适合做上位机,当然NI推出labview就是面向数据采集分析记录的。
上面有人说NI的硬件贵,但市场上有很多仪器设备有现成的VISA驱动,不一定就要NI的。
如果只为了简单精度要求不高的信号采集,既然是电工,弄块带232/485/CAN的数据采集板也不算很难的事吧,或者直接找马云买个模块。

出0入0汤圆

发表于 2016-5-26 16:41:10 | 显示全部楼层
还没写过上位机。路过。路很广,需选择。

出0入0汤圆

发表于 2016-6-14 16:59:04 | 显示全部楼层
高手云集。

出0入0汤圆

发表于 2016-6-14 18:24:11 | 显示全部楼层
sniper.q 发表于 2016-5-26 12:58
个人觉得labview更适合做上位机,当然NI推出labview就是面向数据采集分析记录的。
上面有人说NI的硬件贵, ...

LABVIEW好像是能生成USB驱动吧,用USB还是方便。

出0入0汤圆

发表于 2016-6-15 09:10:51 | 显示全部楼层
自己学C#的经验就是有问题就到stackoverflow,基本100%解决问题

出0入4汤圆

发表于 2016-6-15 10:56:02 | 显示全部楼层
高手好多,下决心学两个月看看

出20入62汤圆

发表于 2016-6-15 12:46:36 | 显示全部楼层
本帖最后由 天下乌鸦一般黑 于 2016-6-15 12:54 编辑

楼主厉害,我也学了点皮毛,工作后法线有的工具实在找不到合适的就自己搞了一阵子,在论坛我发过一个学C#过程中做的软件,一开始就是想做个串口绘图的工具,后来又加了opengl啥的,虽然还是不太懂,不过目标总算达到了,能凑合用就行啊~

出0入0汤圆

发表于 2016-6-15 17:43:08 | 显示全部楼层
。。。。。。

出0入0汤圆

发表于 2016-7-6 20:41:45 | 显示全部楼层
本帖最后由 一匹狼 于 2016-7-6 20:45 编辑

windows下最好的资料不是msdn和google么,最近本打算学C#,但改方案不做界面了,以后有机会再学习,老大说又不难
个人认为:
跟项目,更破解模式;单纯为提升技能,还是循序渐进好
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-24 05:36

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

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