当前编写时间: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. 了解JavaScript(1)- Hello World

    JavaScript 简介 JavaScript 是一种可以给网页增加交互性的编程语言. 熟悉 JavaScript 的好方法是"站在其他程序员肩膀上",即Web 上有大量 Jav ...

  2. Direct2D教程III——几何(Geometry)对象

    目前博客园中成系列的Direct2D的教程有 1.万一的 Direct2D 系列,用的是Delphi 2009 2.zdd的 Direct2D 系列,用的是VS中的C++ 3.本文所在的 Direct ...

  3. ecshop二次开发 使用ecshop电子商务系统的100个小问题

    自己从事B4C电子商务开发一段时间了,特别对ecshop深有体会,刚接触的时候不容易理解,下面将根据自己的经验,来总结100条关于操作ecshop电子商务系统的小问题. 1:如何修改网站"欢 ...

  4. WinRAR如何批量分别压缩不同的文件夹

    全选所有文件夹,然后右击添加到压缩文件,然后在文件选项中勾选把每个文件放到单独的压缩文件中   OK了  

  5. Discuz常见小问题-如何禁止调整宽屏模式

    在界面-界面设置中,可以勾选窄屏,不允许用户自由切换

  6. SharePoint 2010 匿名用户调用Client Object Model访问列表项

    最近有个小需求,在门户首页上加个通知公告的版块,新闻来源是列表项,需要有垂直滚动的效果. 第一个想法就是通过SharePoint的Client Object Model获取列表数据再加上JQuery来 ...

  7. Web Worker是什么

    .Web Worker是什么 Web Worker 是HTML5标准的一部分,这一规范定义了一套 API,它允许一段JavaScript程序运行在主线程之外的另外一个线程中.Web Worker 规范 ...

  8. EventSource 对象用于接收服务器发送事件通知,是网页自动获取来自服务器的更新

    //--------------------------------客户端代码----------------------------- if(typeof(EventSource) !== &quo ...

  9. 在TQ2440开发板上ping 127.0.0.1不通

    问题:在TQ2440上ping 127.0.0.1,提示错误 ping: sendto: Network is unreachable   解决方法:ifconfig lo 127.0.0.1 up ...

  10. SQL Server中获取最新插入的自增ID

    SCOPE_IDENTITY()函数 返回的是紧跟这个插入语句生成的自增ID, 若果前一个语句不是插入自增ID的,将返回NULL @@IDENTITY 返回全局的最有一个生成的自增ID,全局可用 cr ...