热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...

与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动,
与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配文字)

上周末很有幸参加了CSDN举行的TUP活动,不但获得了带有Jeffrey签名的图书一本,而且还得到了和Jeffrey面对面交流的机会。会上也见到了很多牛人,博客园上的金旭亮老师,图灵丛书的主编刘江老师以及微软的测试总管方敏先生,激动之余,做一些回顾。



首先是图灵丛书的主编刘江老师致开幕词。


然后是北理工的金旭亮老师讲解.Net 4.0的新特性。



金老师首先讲解了.Net 1.0到.Net 4.0的发展历程,然后系统的介绍了.Net 4.0新增的特性(并行处理,MEF等),讲解的很好,举的例子也不错,不过不知道为什么金老师没提到DynamicObject,可能是自己当时没仔细听吧。



金老师准备的很充分,讲解的也很全面,只可惜时间不足,后面的一些关于MEF的内容没有讲完。
感觉金老师很像我本科时的一个老师,对学生很负责任,对技术也有很执着的追求,看似古板,实际上却很幽默。在讲解C#语言的同时也融入了很多软件工程的重要思想。在如今大学校园的计算机系,能有这样的老师,实在很难得。很想阅读下金老师的那本关于.Net4.0的书,以后应该和金老师多交流下,以增长自己的见识。



接下来就是Windows核心编程以及CLR via C#系列畅销图书的作者,Windows编程、.Net编程的大牛Jeffrey Richter的登场了。



感觉这些老外还是很随意的,牛仔裤t恤衫,非常休闲的就上场了。



作为技术作家,Jeffrey首先提到他最近并没有在写新书,也暂时没有写新书的计划,that feeling is great~
对于CLR via C#是否还会出新版,Jeffrey表示之后随着.Net的版本更新,会做一些修订。而对Windows核心编程那本书,Jeffrey表示very painful,如果可以的话他是再也不想碰了,看来windows programming还真是fucking horrible。



Jeffrey表示他并没有做特别的准备,因此可以直接进入问答环节。



在这个环节,由于之前请的那位做翻译的嘉宾没来,我非常幸运的出场了(作为Jeffrey的临时Interpreter,没错,就是左边那个黑衣男),多谢刘江老师给我这个机会。



第一个问题把整个会场的人都整囧了,一个哥们居然拿出自己一个编程的问题(Winform程序,连接数据库时窗体突然消失了,请问Jeffrey老师这是为神马?),搞的我也不知道该不该翻译,Jeffrey对这样的问题也表示很无奈。

 

不过接下来一个哥们问的就很有水平了,先问了C#语言的发展趋势,然后问了下Jeffrey对"is c# better than java?"这个问题的看法,最后问了下windows操作系统未来的发展方向。


对于第一个问题,Jeffrey回顾了下C#的发展历程:C#1.0是一门Java-like、C++-like的语言;C#2.0引入了泛型的机制,使得C#更加完善;C#3.0、3.5增加了很多函数式编程的语法特性(高阶函数、lambda表达式),当然还有LINQ;随着动态语言(Ruby、Python)和多核CPU的飞速发展,C#4.0引入了动态语言的一些特性(诸如Dynamic Type),并引入了更完善的并行库。至于C#接下来的发展方向,Jeffrey认为C#会增加更多的特性以支持异步编程(Asynchronous Programming)。

对于第二个问题,Jeffrey认为这个问题不好回答。首先他承认他用java主要是在他的android phone上写一些小apps,对于java语言和C#语言而言(注意是语言,不是平台),Jeffrey认为C#更强大,更易用,他也提到这主要是由于C#晚于Java发布,因此对Java语言进行了扬长避短。同时Jeffrey认为在library这方面,.Net库比Java库设计的更合理,更人性化。而在IDE方面,Jeffrey认为Visual Studio相对于Java的IDE(Eclipse)要更强大易用。

对于第三个问题,Jeffrey提到了一些关于Windows 8的内容。微软对苹果一直很不爽,尤其是ipad这样的移动设备。他表示windows 8会更注重移动设备,优化程序性能,增加续航时间,并提供对ARM芯片的支持,以在平板设备(slate device)上同iOS相抗衡。


 

接下来有人问Jeffrey对mono的看法。Jeffrey个人认为mono是一个很好的项目,他也很希望C#这样优秀的语言可以跨平台,然而他也提到微软可不一定这么想(需要注意Jeffrey本人不是微软公司的)。



一位同学提到将来会不会有可以直接运行IL的CPU(这哥们看书看的还真细)。Jeffrey没直接回答这个问题,他只是提到微软现在开发了一些称为".Net Gadget"的小玩意,可以编写C#代码再烧制到这些设备上,通过这种方式,你甚至可以自己编写DC上的程序。


接下来进入了圆桌环节,到场的两位嘉宾(金旭亮老师和微软的测试总监方敏先生)上台,同Jeffrey一起解答之前网友的热门问题(我本来是站在一边的,后来Jeffrey让我坐他旁边了,不胜荣幸,图上的我正在疯狂的记录中,以便接下来口译)。刘江老师从中精选了一些代表性的问题。

问题1:如何在技术的浪潮中选择自己的方向?

Jeffrey认为首先要找到并跟随自己的兴趣,follow your heart。Jeffrey认为学好计算机专业基础(Computer Core Concepts)是相当重要,诸如操作系统的概念,数据结构这些课程都应该扎实掌握。在学好基础的前提下,专精一个方向,比如说图形处理或是人工智能,这样就会使自己在技术的浪潮中利于不败之地。

方敏先生则根据他的招聘经验对学生提出了一些建议。他尤其提到当前的大学学生编码能力不足,微软面试的写程序环节,很多学生写不出来,一些人写了但不是最佳的方案。为此他建议学生在校期间多编程序。

金旭亮老师也认为兴趣很重要,多编写代码,多实践,实践中补充理论,学理论时进行实践,如此互动。金老师以Brooks的新书Design of design为例,虽然是好书,但是没有点经验,是根本看不动的。

问题2:如何尽快的掌握一门新技术?

Jeffrey谈到了他是如何学习Windows Azure的:下载SDK、观看教程、阅读文档、编写sample code、与一线人员交流。他还提到,自己过去的经验对于学习掌握新技术有很大的帮助(深表赞同,自从阅读了esr的那篇文章,学习了五类编程语言之后,感触颇多),此外,要focus,要专注,要持之以恒。

刘江老师提到Jeffrey有Python的经验,Jeffrey也就发表了下对动态语言的看法。他表示自己是a fan of strongly type language,因此用C++/C#很多,他承认Python这类语言在编写一些脚本时很方便,不过他认为动态语言不适合大型的工程项目,动态语言是很灵活,但也许太灵活了。编写一些gluing code(胶水代码)动态语言很适合,但是对大型的工程而言,强类型语言更合适。


金旭亮老师在这里提到基础的重要性,以WCF为例,他提到一个学生不明白Http不知道Socket,就要学习WCF,结果自然不会好。他同时提到要多看一些技术人员的blog(good advice),尤其是那些项目主力开发人员的blog。

方敏先生进行了补充,他认为技术固然是重要的,但一定要与应用相结合,以他所负责的health care sytem为例,他们的项目组就经常到医院进行实地考察,以编写实用的医疗管理软件。

问题3:对云计算的看法以及云计算对软件界带来的影响?

对火热的云计算,Jeffrey似乎并不感冒,他用infancy这个词来描述cloud computing,认为云计算还有很长的路要走。
对于云计算的影响,Jeffrey认为如何把现有的软件迁移到云中是一个巨大的挑战(migrating is a great chanllenge),同时,如何编写可扩展性强的软件以适应云环境,也是一个难题。

方敏先生则提到,对于云计算,有三点要求:Performance(性能),Security(安全性),Extensibility(可扩展性),这三点也是Windows Azure追求的目标。

问题4:在微软的众多表现层技术中,你最推荐的是哪一种技术?

这个问题的回答比较令人意外(也许是情理之中的回答),Jeffrey首推HTML5,不但是因为微软已经把发展HTML5作为主战略,而且是因为HTML5有效的支持Cross-Platform,为了在移动终端的市场上取得更大的突破,微软需要一种跨平台的强有力的技术,这就是HTML5。Jeffrey顺便提到,如果不考虑跨平台,而且想制作绚丽的界面的话,也可以选择silverlight。



接下来就是签售活动了,各位读者纷纷向Jeffrey索要签名,或是合影。



会后不但和Jeffrey合影,而且并获得了Jeffrey的签名图书,十分兴奋,毕竟是头一次和这样的编程大神级人物走的这么近,而且还可以他面对面交流,that is really fantastic!!!


 


此外,多谢这位帅哥,帮我拍了那么多照片,呵呵。

转:https://www.cnblogs.com/figure9/archive/2011/03/21/1990282.html



推荐阅读
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
  • Visual C# TabControl中TabPage分离成若干个Form的小办法
    写Visual的同学们都会用到这个TabControl的控件,然后会分好几页的TabPage,每页都有很多控件和业务逻辑,但是每页的关系也 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
author-avatar
吾爱九-九九
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有