当前编写时间:2014年12月24日21:11:14   编写人:杨洋(Aaronyang)

新文章:[AaronYang]C#人爱学不学[1]

声明:->可以理解为 联想到,或者关联的意思。

1知识和引入

COM 组件对象模型- Component Object Model
托管代码可以调用COM组件
OLE 对象链接或者嵌入-Object Linking and Embedding
案例:例如把 Excel电子表格放到Word文档中
=>COM->DCOM (Distributed COM) ->COM+(更复杂,几乎所有组件通讯的基础,实现了事务处理,消息传输服务和对象池)
=> .NET是一种运行在Windows平台上编程的架构,一种API,Windows8还提供了新的API,即WinRT的引入,Windows运行库
=>C#是从头开始设计用于.NET的语言,它可以利用.NET Framework的功能进行开发,面向对象的语言。
=> .Net framework的核心是运行库执行环境,即CLR或者.NET运行库。通常将在CLR控制下运行的代码称为托管代码。在CLR执行编好的代码(可以用C#或者C++,vb写),还需要编译它们
  ->MSIL -> CLR把IL编译为平台专用的代码。
  -> IL总是即时编译的(JIT编译) ->编译程序不是一次性编译完,而是只编译它调用的那部分代码,编译完就保存下来,直到程序退出位置,下次继续使用时候,不需要继续编译。->JIT编译器
程序集(Assembly)是编译好的面向.NET Framework的代码的逻辑单元
 

2.NetFramework重点变化

.NET Framework 1.0  2002年
.NET Framework 2.0  2005年 C#和运行库中对泛型的支持、新类、新的接口
.NET Framework 3.0  C#2.0为基础,引入新的UI方式(WPF,XAML),通讯技术WCF,WF,CardSpace
.NET Framework 3.5 和C#3.0  主要是LINQ
.NET Framework 4.0 和C#4.0  重要版本动态语言查询DLR,提供并行编程方式,WCF支持配置方式
.NET Framework 4.5 和C#5.0 异步async和等待await,Windows8开发的,WPF改善,EF改善,ASP.NET MVC4/5等
.NET Framework 5.0 和C#6.0 2015年预计就要出来了,其实已经出来了,坐等vs2015旗舰版吧

3阅读笔记

可以使用指针和直接访问内存,C#可以再没有它们的条件下访问内存
C#类的 单一继承性
值类型,变量直接存储数据,引用类型,变量仅存储地址
强数据类型的好处:语言的互操作性,垃圾收集,安全性,应用程序域
CTS和CLS确保了语言的互操作性。因为遵循了规范,那么C#就可以调用vb.NET,调用Visual C++的库了,他们最终IL的代码一致。也可以编写非CLS兼容代码也是可以的,但不保证其他语言可以调用
垃圾回收(.NET垃圾回收器)-> 内存管理-  1.完全手工方式  2.让对象维护引用技术,为0就删除对象
-> 内存泄露的问题
反射与DLR,并行编程(多核处理器),异步编程,多线程编程

4谈变化

.NET web变化:ASP.NET->ASP.NET MVC 1/2/3/3.5/4/5 -> 明年的 vNext
cs变化:Winform -> WPF -> WinRT
                        -> cs嵌入bs浏览器控件
数据库变化: rmdb -> nosql -> newsql
                ->云数据库
       ->缓存 memcached,redis
设计变化:web2.0 -> metro -> 扁平化
触屏:Windows+WPF ->  盒子+安卓
富媒体: Flash -> SilverLight -> Html5+CSS3
APP开发变化: Android - IOS - WP等原生开发 到 统一Html5结合原生控件开发
                    -> 微信的开发  -> 一个语言开发,多平台发布
通讯变化: socket -> remoting ->webservice -> wcf -> webapi -> webapi2 / node.js 
行业变化: 纯硬件公司 -> 纯软件公司  ->  软硬件都开发的公司
             结合硬件的传感器 数据 -> 软件分析
             通过终端控制 硬件命令
             或者终端显示(触屏软件)
游戏行业不乱弹琴了: Unity3D 3.x/4.x 和 Unreal Engine3/4, 从不跨平台到跨平台
                             PC单机 -> 其他设备(psp,xbox,kinect) -> PC单机带维护的类型 -> 网游 -> 页游 -> 手游
前端变化: js出了很多库(例jquery) 和 框架(例angular.js等),响应式开发 -> 跨终端开发(电脑,投影仪,手机等)
      js还出了很多其他的js转译语言,例如CoffeeScript, html5多了,开始了各种的html5的框架,适用于各种应用场景,css也开始多样了,例如 less,sass等
开发思维变化: 企业开发 -> 互联网开发 -> 云开发
职责变化: 程序员 -> 软件工程师 -> 高级软件工程师 -> 技术专攻 -> 技术总监
                ->项目经理/主管
                                           -> 不写文档要写文档了,不出差要出差了
                                           -> 要考虑定居的事了,谈恋爱了,要考虑买房的事了
软件盈利思路:攒用户 -> 收集资料 -> 增值业务/服务 -> 推广告
       做产品 -> 卖服务
                   攒流量 -> 提升排名 -> 卖广告位或者卖业务数据
                   政府支持,国家支持,中间佣金,外包或外派入住开发等
                   
可喜可贺,IE6开始放弃,最低标准到IE8
...

我的理想公司是个盖世公司,有一天他会踩着七色云彩来聘我。我每天努力坚持把自己变优秀,只盼有一天能为你效力。一定要相信自己的能力

[AaronYang]C#人爱学不学[1]的更多相关文章

  1. [AaronYang]C#人爱学不学[6]

    不要回头,不要将就,做到这两点,人生就会简单很多幸福很多 --Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 运算符,还有哪些你能学到? 1.1 不安全运算符: si ...

  2. [AaronYang]C#人爱学不学[4]

    本文章不适合入门,只适合有一定基础的人看.我更相信知识细节见高低,我是从4.0开始学的,终于有时间系统的学习C#5.0,是5.0中的知识,会特殊标记下.但写的内容也可能含有其他版本framework的 ...

  3. [AaronYang]C#人爱学不学[3]

    本文章不适合入门,只适合有一定基础的人看.我更相信知识细节见高低,我是从4.0开始学的,终于有时间系统的学习C#5.0,是5.0中的知识,会特殊标记下.但写的内容也可能含有其他版本framework的 ...

  4. [AaronYang]C#人爱学不学8[事件和.net4.5的弱事件深入浅出]

    没有伟大的愿望,就没有伟大的天才--Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 事件-我的讲法 老师常告诉我,事件是特殊的委托,为委托提供了一种发布/订阅机制. ...

  5. [AaronYang]C#人爱学不学[5]

    这世上有三样东西是别人抢不走的:一是吃进胃里的食物,二是藏在心中的梦想,三是读进大脑的书 --Aaronyang的博客(www.ayjs.net) 1. 数组-的疑惑? 1.1  多维数组      ...

  6. [AaronYang]C#人爱学不学[7]

    做一个决定,并不难,难的是付诸行动,并且坚持到底 --Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 委托-我的总结 1.1 委托:面试我都会说,把方法当参数.委托包 ...

  7. [AaronYang]C#人爱学不学[2]

    1. 记事本写C#,脱离vs 新建记事本,名字为 helloworld.cs using System; namespace Hello{ public class HelloWorldSay{ st ...

  8. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

  9. AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享

    原文:AY写给国人的教程- VS2017 Live Unit Testing[2/2]-C#人爱学不学-aaronyang技术分享 谢谢大家观看-AY的 VS2017推广系列 Live Unit Te ...

随机推荐

  1. Android通用框架设计与完整电商APP开发系列文章

    作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [导学视频] [课程详细介绍] 以下是部分 ...

  2. [Canvas]越来越近的女孩

    本作比前作增加了控制功能,观看动态效果请点此下载代码用Chrome或Firfox浏览器观看. 图例: 代码: <!DOCTYPE html> <html lang="utf ...

  3. 阿里云centos 6安装iRedmail过程

    全新系统 yum update cd /root wget http://www.iredmail.com/iRedMail-0.8.7.tar.bz2 tar xvf iRedMail-0.8.7. ...

  4. GitHub没有实时通知怎么办?当然是自己上手写一个啊!

    相信各位程序员对github已经不陌生了.不知道各位有没有注意到GitHub没有推送通知这个功能.当有人在我的存储库中创建了一个提取请求/问题时,我可以收到电子邮件通知,但当有人stars/forks ...

  5. 牛客网-《剑指offer》-二维数组中的查找

    题目:http://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e C++ class Solution { public: bo ...

  6. WinForm 之 应用程序开机自启动设置方法

    一.原理 需要开机自启动的程序,需要将其启动程序的路径写到注册表中指定的文件夹下. 二.实现方式 方法1:在生成安装程序时配置: 方法2:在程序运行时动态配置. 三.在生成安装程序时配置 1.右击安装 ...

  7. Qt 使用 net-snmp 包的过程记录

    使用 C/C++ 进行 SNMP 开发,网上比较流行的主要是用 net-snmp 和 snmp++ .在 sourceforge 上以 Qt 和 snmp 为关键词进行搜索,搜到的项目 net-snm ...

  8. Python学习笔记四:面向对象编程

    一:定义类并创建实例 Python中定义类,通过class关键字,类名开头大写,参数列表为所继承的父类.如果没有需要明确继承的类,则继承object. 使用类来创建对象,只需 类名+() 形式即可,p ...

  9. Python locale error: unsupported locale setting

    pip don't install package. Python locale error: unsupported locale setting .. >>> import lo ...

  10. ROS中发布IMU传感器消息

    下面使用SYD Dynamics的9轴AHRS(Attitude and heading reference system),来发布sensor_msgs/Imu类型的消息. 将传感器用USB转串口接 ...