编程哲学之 C# 篇:003——为什么选择 C#
国内开设C#课程的学校或培训机构是越来越少,使用C#作为开发的语言企业也是越来越少。企业要招C#的开发人员越来越难,会C#的要开发人员要找工作也是越来越难,然后我还是选择C#作为本系列的主要语言,我给出的理由是...
定位与目标
我在《编程哲学之C#篇:01——创世纪》就说了:“本系列核心内容是介绍各种哲学观和思维方式,随便把某种编程语言学了。”而这里的某种语言,我选择了 C#,理由是从语言的角度来说,C# 非常优秀,从一开始是借鉴 Java 到现在被 Java 或其他语言借鉴。而且在我的认知中,每种语言都有自己的哲学观和思维,所以这种语言越完善,那么它所包含的思想也就越完善。因此从学习角度考虑,我推荐 C#。
同时我又把本系列的目标读者设为想自学编程的初学者,基于这个原因,我选择了 C#。因为 C# 有一个优势,宇宙最强 IDE(Integrated Development Environment[集成开发环境])——VisualStudio,一个强大的 IDE 有各种智能提示,就如同你在写代码的时候,旁边有一个老师一直盯着你,告诉你接下来要怎么写,哪里写错了。想当年我自学编程的时候,教程中是推荐用 UltraEdit,教程作者给出的理由是你自己知道接下来应该知道写,还有哪里写错了,才是最牛逼的啊,就算到了现在,依然有人抱着用记事本写代码才是真的牛的观念。然而对于一个初学者,用一个不强大的 IDE,当代码出错的时候,你自己找不到原因,又没有人可以问,然后把你卡住了,这个时候就可能把你的编程兴趣扼杀在摇篮中,所以有强大的 IDE 很重要。
为什么选择 .Net 而不是 .Net Core
显然 .Net Core 才是未来,但因为本系列的所有例子都只使用控制台应用程序,两者差异不大,而 .Net 的官方文档更加齐全,网上例子也多。可以降低自学时的查询资料时间成本,所以选择 .Net,读者可以自行用 .Net Core 实现本系列出现的例子。
.Net 和 .Net Core 会在 2020 年合并成 .Net(本质是 .Net Core),很快就不用纠结了。
尚能饭否
C# 很优秀,但很尴尬的是,特别的在中国,越来越少企业在用,原因在于 Java 出得早,并且一早就实现跨平台,造就很多企业在技术选型时选了 Java。在很多编程语言书的前言中,都会把该语言描述的“此曲只应天上有,人间能得几回闻”的样子,但我觉得我不能坑人,我必须思考你要吃饭的问题,
因此:
- 如果你打算短时间内学成,并且学后奔着国内一线互联网企业去的,即不想先学 C#,再学 Java,那么你就直接去学 Java 吧。
- 如果你打算从事手游开发,那么 C# 就是非常不错的选择了,因为很多手游都是用 Unity(C#) 游戏开发引擎来开发的。
最后的安利
本系列的安利
我面试过一部分人,他们能很快地说出知识点是什么,但一问道为什么要这样,他们就卡住了。我也看过很多书,书中只告诉你什么是什么,但很少会告诉你为什么要这样。所以我一直在构思一本与众不同的书,更加偏重于思考,而不是各种语法。
C#的安利
C# 是一门很优秀的语言,各种编程概念都很现代和完整,所以学了C#,你的编程思想会走在其他语言前面。
结束语
本章介绍了我选择 C# 的原因。
下一章将介绍怎么安装宇宙最强大的 IDE——VisualStudio
问题:如果你有熟悉的编程语言,那么你知道该语言的核心思想和特性是什么吗?
编程哲学之 C# 篇:003——为什么选择 C#的更多相关文章
- 编程哲学之C#篇:02——学习思维
<代码大全>的第二章:介绍隐喻(类比)的思维方式, <经济学原理>的第二章:介绍怎么像经济学家一样思考, <计算机的心智操作系统之哲学原理>的第一章:介绍学习操作系 ...
- 编程哲学之C#篇:01——创世纪
我们能否像神一样地创建一个世界? 对于创建世界而言,程序员的创作能力最接近于神--相对于导演,作家,漫画家而言,他们创建的世界(作品)一旦完成,就再也不会变化,创建的角色再也不会成长.而程序员创建的世 ...
- 编程哲学之 C# 篇:007——如何创造万物
上帝拥有创建万物的能力,本文介绍创造万物的道,让你也拥有上帝般创造万物的能力! 道 中国哲学家,道家学派创始人--老子,在<道德经>写到: 道生一,一生二,二生三,三生万物 那么,是什么 ...
- Python黑帽编程2.1 Python编程哲学
Python黑帽编程2.1 Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...
- Linux shell脚本编程基础之练习篇
shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...
- 浅谈.Net异步编程的前世今生----APM篇
前言 在.Net程序开发过程中,我们经常会遇到如下场景: 编写WinForm程序客户端,需要查询数据库获取数据,于是我们根据需求写好了代码后,点击查询,发现界面卡死,无法响应.经过调试,发现查询数据库 ...
- Scala进阶之路-并发编程模型Akka入门篇
Scala进阶之路-并发编程模型Akka入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Akka Actor介绍 1>.Akka介绍 写并发程序很难.程序员不得不处 ...
- 浅谈.Net异步编程的前世今生----EAP篇
前言 在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等. 针对 ...
- 从编程哲学到开发应用:Spring的初步应用
一.前言 在学习Spring的过程中,我们学习了很多东西,可是实际应用中,我们究竟用到了那些?常用的又是那种方法呢? 二.书上与开发的差异 1.IOC 1) IOC,控制反转,是Spring框架的核心 ...
- 并发编程之第三篇(synchronized)
并发编程之第三篇(synchronized) 3. 自旋优化 4. 偏向锁 撤销-其它线程使用对象 撤销-调用wait/notify 批量重偏向 批量撤销 5. 锁消除 4.7 wait/notify ...
随机推荐
- 使用gitee创建个人的图床
使用gitee创建个人的图床 1.如果还没有gitee(码云)账号,可以注册一个,注册后登陆进入个人中心 2.点击新建仓库 3.进入创建页面 创建成功 5.在本地电脑创建一个文件夹,专门用来放置要上传 ...
- shell文件报错syntax error near unexpected token '$'\r''
本来跑的好好得一个文件,在windows下修改了,然后移植到linux就报错了. 找了一圈以下是解决方案: 这种情况发生的原因是因为你所处理的文件换行符是dos格式的"\r\n" ...
- PGL图学习之图神经网络GNN模型GCN、GAT[系列六]
PGL图学习之图神经网络GNN模型GCN.GAT[系列六] 项目链接:一键fork直接跑程序 https://aistudio.baidu.com/aistudio/projectdetail/505 ...
- AcWing第78场周赛
今天想起来了,就补一下吧~ 第一题 商品分类 货架中摆放着 n 件商品,每件商品都有两个属性:名称和产地. 当且仅当两件商品的名称和产地都相同时,两件商品才视为同一种商品. 请你统计,货架中一共有多少 ...
- SpringCloud(十一)- 秒杀 抢购
1.流程图 1.1 数据预热 1.2 抢购 1.3 生成订单 (发送订单消息) 1.4 订单入库 (监听 消费订单消息) 1.5 查看订单状态 1.6 支付 (获取支付链接 ) 1.7 支付成功 微信 ...
- qtcreator修改界面但是没有更新
原因 我之前修改了项目名(简单的修改文件夹和.pro文件名),但是项目构建的位置还是之前目录. 解决 将 build directory改为新的目录即可.
- SSH(四)控制层、业务层、dao层类的创建以及applicationcontext.xml和struts.xml配置
ssh框架的运作方式就是页面请求控制层,控制层调用dao层的方法,dao层完成对数据的操作的一个过程. 现在我们初步简单编写各层的class. action控制层: ActionSupport:实现了 ...
- 【SQL查询】必会的常用函数:条件函数、日期函数、文本函数、窗口函数
〇.概述 1.内容 选择(双分支.多分支) 一.条件函数 1.计算25岁以上和以下的用户数量 CASE THEN END多分支选择 SELECT (CASE WHEN age>=25 THEN ...
- static_cast和dynamic_cast
C++的强制类型转换,除了继承自C语言的写法((目标类型)表达式)之外,还新增了4个关键字,分别是:static_cast.dynamic_cast.const_cast和reinterpret_ca ...
- 使用 SSH 连接 Git 服务器
关于 SSH SSH (Secure Shell) 是一种安全的远程登录协议,可以让你通过安全的加密连接进行远程登录.目前,Mac.Windows 10.Linux 系统均有内置 OpenSSH 客户 ...