虽然现在移动互联网火热的不行啊,但是个人想学习 PC 端应用编程
所以想入坑 C#,不知道有什么比较合适的入门基础资料和书籍推荐吗?
祝各位 V 友鸡年大吉!
1
lalalanet 2017-01-22 22:20:50 +08:00 via iPhone
别浪费时间了
|
2
lalalanet 2017-01-22 22:21:41 +08:00 via iPhone
还用 c#写 winform 的可以申请一个 非物质文明遗产传承人了
|
3
Famio 2017-01-22 22:21:44 +08:00
哈哈,见到个学 C#的。看看传智播客的 C#教程把,很好上手。
|
5
shijingshijing 2017-01-22 22:28:10 +08:00 2
@lalalanet GE, Siemens, Philips, Honeywell 都可以申请了,企业级的非 Web 应用,特别是工具类软件,很多都是 C#写的。
转一个 zhihu 上的: zhihu 上面码农居多,然后默认代入稍微使用一下编程语言让计算机进行自动化处理的事情都是码农在做,事实上职业码农只占利用计算机去自动化处理事情的人的很小一部分,偏偏这部分是重度用户,所以就不断有 JSP 胜过 ASP , Linux 胜过 Windows 的言论。我了解的很多行业用户,比如 GE ,西门子,阿尔斯通, Honeywell 这种大公司,他们有时候在处理一些问题的时候,不需要代码效率有多高,不需要写出来的东西并发性能有多好,反而需要简单快速利用计算机来实现某些自动化的处理,这时候微软的套件刚好就提供了这样一个选项,本身效率可能不是很高,但是封装了很多简单易用且性能还不错的组件,这些公司所要做的就是稍微看一下 api 或者用户手册, design reference 或者 demo 什么的,然后快速来解决这个问题。这样做是非常有必要的,这些公司的业务跟 IT 类公司的业务不同,他们跟 IT 公司不一样,业务不是以编程为核心的,偏偏又要用到这样一项技能,所以他们会尽量从更高一个层次去看待这个事情,微软的方案,给了我一个很明确的答案,我知道按照你的 demo 去跑,肯定能在指定时间内,指定的预算内实现我的方案,不会有太多的 surprise ,那么肯定选择微软,因为这些因素都在可控范围内,这一点对这些公司非常重要。等真正发现业务在某些方面当前方案无法满足需求的时候,我再投入更多人力,更多预算来加强这一部分(比如迁移到 Oracle 数据库) 而微软的东西用的越多,相互之间的配合也就越强,对于大公司来说,使用成本就会摊的越薄,还有就是微软的东西对使用者来说难度不高,如果完成同一件事,一个普通的工程师用微软的东西能够实现此功能,对比一个技术牛人用开源的东西也实现了同样的功能,而且效率更高,性能更好。我想公司还是会用普通工程师加微软的方案,因为这样对人力依赖很低,我找一个技术牛人很难而且要花大价钱,但是普通工程师很好找,而且我有主动议价权。 |
6
RE 2017-01-22 22:29:18 +08:00 2
@shijingshijing 不用跟没见识的人说太多,有那理解能力也不会说出这样的话
|
8
Laynooor 2017-01-22 22:36:15 +08:00 via Android
最近在看 C#...... 觉得和 Java 很像,虽然 Java 我也只是学个皮毛。
准备写个小程序,边写边学,这样或许会好些。 |
9
xiandao7997 2017-01-22 22:36:42 +08:00 via Android
桌面用 WPF
|
10
billwang 2017-01-22 22:46:18 +08:00
@lalalanet 挺纳闷的,为何 C#就浪费时间了?那现在用什么做 C/S 架构的程序? MVC 这种软件运行效率高但是开发效率相对 C#而言还是有差距的。
|
11
lalalanet 2017-01-22 22:49:51 +08:00
@plqws @yanwushu7
拉勾上随便搜一下,看看现在还有大量需求的 windows 客户端程序员都用什么 https://www.lagou.com/jobs/list_windows 客户端 LZ 连自学 C#怎么学都得上来问的人,看了那堆拖控件 winform 入门教程能做出什么来。练练 javascript 弄个 electron 性价比都更高。 |
14
lalalanet 2017-01-22 22:57:55 +08:00
@shijingshijing
同理企业 ERP 有一大堆写 J2EE 的, SAP 还有一堆写 ABAP 的,这些岗位未来有多少新增的岗位需求,开发企业软件里是业务知识重要还是 C#水平更重要呢。 宇宙最大的银行柜员系统还有 swing 做的,盯着这个岗位的学 swing 然后去银行找工作吧 |
15
echo1937 2017-01-22 22:59:01 +08:00 1
如今 Windows 软件开发究竟该用什么库, C#、 Qt ,还是其他?
https://www.zhihu.com/question/24461881/answer/140104855 不希望楼主点错技能树 |
16
limhiaoing 2017-01-22 23:06:58 +08:00 via iPhone
Windows 桌面应用开发效率最高的是 C#,没有之一。
|
17
sammo 2017-01-22 23:13:23 +08:00 via iPhone
c#学习指南 热带鱼书,了解 c#语言语法 类和实例什么的
|
18
shijingshijing 2017-01-22 23:16:36 +08:00 1
@lalalanet 你怎么不用 SUN 的 Solaris 维护和小型机的 COBOL 来举例子呢。我说的就是现在这些大公司正在使用的工具软件,是用 C#写的;有很多即将使用的工具和系统,也是用 C#开发的,你没见过不代表不存在,大公司之所以这么选择,是有他自己的道理的,不要以为这些公司不够先进, GE 照样使用云服务,用的就是微软的 Azure ,人家的大数据平台 Predix 如火如荼,你自己眼界到达不到的地方不代表就不存在。多读点书吧。
|
19
itabas016 2017-01-22 23:17:48 +08:00 via Android
C#是世界上最好的语言
瓜子,汽水😉😉😉 |
20
Quaintjade 2017-01-22 23:22:18 +08:00 via Android
如果有面向对象语言基础的话, C#很容易上手。如果有 java 基础的话,直接就能上手。
非软件相关行业或者个人兴趣, C#的开发效率妥妥的,你要的绝大部分轮子全都打包扔给你了。 |
21
lalalanet 2017-01-22 23:27:42 +08:00
@shijingshijing Solaris 马上裁员了,你知道哪有招的可以给 Oracle 那帮人介绍给出路
你看见我哪说没有 C#写的东西,我哪说这些公司不先进了,我哪反对选择 C#了? 我一直说的就业和 LZ 学习的问题,你脑补的可真多。 另外,你可以列列你读过的书,我看看哪本我没看过好去买一本,谢谢。 |
22
fjzjk 2017-01-22 23:28:04 +08:00
winform 主要是一些对象古董电脑的企业用(我之前的公司),当然还是要配合 devexpress 的。
学 c#没问题, c#写着很舒服。学会了自然一通百通,去用 wpf 和其他库也是一样上手。 |
23
starvedcat 2017-01-22 23:33:07 +08:00
《 WPF 编程宝典:使用 C# 2012 和.NET 4.5 》
|
24
starvedcat 2017-01-22 23:33:25 +08:00
这一本就够
|
25
mazyi 2017-01-22 23:36:54 +08:00
学习编程应该都是一样的吧,看书写代码反思循环即可。
不过既然你是先来问而不是先去学,说明你还是需要多学习啊。 |
26
n37r06u3 2017-01-22 23:44:21 +08:00
js 打通奇经八脉、。。。。。
|
27
shijingshijing 2017-01-22 23:51:39 +08:00
@lalalanet 你不就是说用 C#写 Winform 不够先进么?什么非物质文明遗产传承人 我反驳也是举例没有像你说的那样不堪啊,各自有各自的用途,你非得扯上先进不先进。
|
28
q397064399 2017-01-23 06:56:35 +08:00
@shijingshijing
lala 说的是做业务开发的需求减少,这个是必然的,因为这些个开发行业 本来就饱和的差不多了 企业是以业务主导的,并不是由你的编程兴趣主导的,选择技术一般比较保守,架构方案也比较老旧, 很多企业开发 直接要求不要前端框架,因为没有那么多复杂的交互需求 (何况都是给企业内部用的,员工觉得不顺手,你还能告上天?), 只要简单,后端开发也能直接参与进来撸,减少用工成本 ------------ 从长远来讲,客户端 基本上死得差不多透彻了, 企业应用是最早推 B/S ,因为绝大部分企业应用并不涉及到操作系统子系统 像 JavaEE 甚至比互联网行业应用推广的还早,因为企业购买的是 IT 服务,而不是 IT 技术(一定搞清楚这个区别) 大型公司 往往一个系统的客户端应用要部署 在上万台 不同的机器上,像政府的行业应用要部署到不同的单位 不同机器上, C/S 客户端兼容性 真的是渣渣 早期 DLL 地狱,现在很多企业应用 因为需要还在用 MFC ,你看看写 MFC 的工程师 有多惨? 互联网 因为用户比较多,分发收益 - 兼容性付出的成本 收益还是比较高 像迅雷 就一直搞了自己的一套 UI 库在用,用 net ? 考虑下 xp 用户的感受? 最早一些迅雷版本 还兼容过 2003 98 等系统 |
29
likai 2017-01-23 07:43:36 +08:00 via Android
这楼歪得可以。
人家想学 c#,求个教程,你们偏偏扯上找工作。 学这个就一定是为了找工作? 我也在学 c#,不是为了找工作,单纯为了搞一些自用软件。 我挑的两本书,《 c#入门经典》《精通 c#》 |
30
tilv37 2017-01-23 08:42:52 +08:00
想要界面美观,可定制化强,就去看看 WPF
|
31
rocksolid 2017-01-23 10:05:37 +08:00
还没入门的话, head first c#吧,深入就 CLR via C#
|
32
aldenchang 2017-01-23 10:42:09 +08:00 via iPhone
老实说 如果仅仅是用 c#做桌面应用,根本不需要教程…玩玩 IDE 就知道怎么做了
|
33
weizhiyao008 2017-01-23 12:17:09 +08:00
语言类的书推荐:《深入理解 C#(第三版)》(《 CLR via C#》现在没必要看,太深入了,基础语法基本不讲的)
但是上面推荐的书没有讲 Winform 和 WPF 技术,桌面开发的话,还得配合别的书或者是类似传智的视频 |
34
justtery 2017-01-23 13:43:20 +08:00
在下拙见,,,微软的东西,还是不要碰的好
|
36
zhangdawei 2017-01-23 19:49:28 +08:00
c# + winform ,或者 wpf ,都还不错。
Windows 平台的,这个算是效率最高了。 |
37
kiwigong 2017-01-24 15:44:45 +08:00
微软的东西越玩越穷 一点感受
|
38
HLT 2017-01-24 17:06:04 +08:00
LZ 明显是掉队了
|
39
snipes 2017-01-24 21:28:50 +08:00
学 WPF 或者 uwp 吧, winform 过时了。
|
40
breeswish 2017-01-25 11:54:51 +08:00
拉 C# 新人入坑 Web 的就算了吧,人家 C# 造点小工具拖拖控件就出来了代码开发都是在智能提示环境下,要运行点个三角形就好了。搞 Electron 之类的先研究一番这个目录结构好还是那个目录结构好,再研究一番 npm 下载怎么那么慢,再研究一番 react 还是 vue 还是 angular ,接下来研究一番 flux 是个啥 redux 又是个啥怎么大家都在用 vuex 是个啥 angular 怎么还有个 2 ,然后发现还需要一个 babel 。全部折腾完一圈发现还没有 UI 控件需要找一个。找来以后发现怎么这个版本太老了不支持那个版本太新了还不兼容,怎么这里一个 bug 那里一个 bug ,怎么又编译不了了……再折腾一圈终于可以用代码把控件写出来了。划重点: Web 这套适合造好看的玩具。
|
41
breeswish 2017-01-25 11:59:56 +08:00
更糟糕的是,接下来发现用看上去好看的各种界面库比如 material 风格的怎么没有设计头脑的自己做出来的东西仍然是那么丑;隔壁 WPF 用户笑了笑拖了个 Infragistics 进来
|
42
doumeki 2017-01-25 14:11:56 +08:00
@breeswish 我看笑了, 哈哈.虽然我都没听过你说的那些东西.
1L 也是够了,别人没说要找工作,跟上时代的潮流,就 TM 想做个 win 的程序不用 C#用啥开发比这更快? 现在编程技能早就不是程序员的专利了,啥子牛鬼蛇神都能写个 1,2,3 出来, 为什么总有人以程序员的工作环境来思考问题呢. |
43
adv007 2017-01-25 14:43:43 +08:00 via iPhone
楼主是要做 c/s 开发,大家却在讨论 c#,都没有问题,其实除了这些视野可以更广一点,如 eletron , nw.js
|
44
luyikk 2017-01-25 16:28:45 +08:00 via iPhone
看不下去了 怎么有那么多 S B 天天黑 C#
我来回答你的问题吧 C# win from+dotnetbar 就好了 学个 C# 基础就行 @lalalanet winfrom 怎么的也比你 QT MFC 先进吧? 举个例子 比如用 winfrom+dotnetbar 画个很漂亮的 GUI 只要 5 分钟 WPF 需要 50 分钟 QT 需要的 2 小时 你信不? 懂吧 ? 不服?来和 C# 比开发效率 来试试? 随便你什么平台用什么语言! 别个我说 python 什么的 真正开发起来 开发效率 性能 调试 给 C# 提鞋都不配 JAVA 就更别来比了 不知道那里来的优越感 一天到晚 误人子弟 |