为什么很多公司都不用linq

问题描述

我在深圳面试了很多家,他们有的就不知道什么是linq,有的说linq执行慢,好像还没有看到哪个公司用LINQ

解决方案

解决方案二:

因为这些公司的程序员傻呗。他们不能完整掌握C#语法,不会用。
解决方案三:

一叶障目?有强大的工具放着不用,岂不可惜。如果说LinqtoEntity或者LinqtoSQL慢,让他们受不了,那么LinqtoObjects与LinqtoXml还是很强大的。
解决方案四:

很正常的哇,一般公司都有自己的orm之类的东东,都是按照那个做的,不懂或者不知道也很正常不过说linq慢的就只是把linq用在了sql方面,而不是linqtosource
解决方案五:

初级程序员搞不懂委托、泛型、接口这最基本的3个C#语法,你说他怎么用LINQ。
解决方案六:

初级程序员的另一个问题是,根本就不知道什么是linq,他们分不清linq和linqtosql,明明是C#语言特性,非认为是什么ORM框架。实际上他们除了精通各种GridView、repeater的绑定,对其他名词大多是一知半解。
解决方案七:

不是哪个公司都去赶潮流的,每个公司都有自己的需求
解决方案八:

LINQ带来的,不仅仅是数据库的这一小块,非得把LINQ限定为一种数据库的存取封装技术或者ORM工具,本身就是对LINQ的误解。
解决方案九:

一个公司找来的程序员连基本的C#语法有一半都不会,还好意思说自己不追赶潮流。LINQ只是把委托、接口、泛型三个概念作为一个C#程序员的门槛提出来了。我可以直接地说,这些三角猫的程序员其实本来就是滥竽充数的,到了C#3以后越发混不下去了。
解决方案十:

引用6楼shwicho的回复:

不是哪个公司都去赶潮流的,每个公司都有自己的需求

这不是仅仅是潮流。仅举一个局部的例子:没有LINQ之前,我们要花多少精力去构造插入算法、查找算法,以及其他的一些工作。当我们可以有更好的工具,让我们从底层的算法纠缠中脱身,而把业务与时间更多地放在业务需求上时,为什么要说“NO!”呢?
解决方案十一:

引用9楼abbey的回复:

引用6楼shwicho的回复:不是哪个公司都去赶潮流的,每个公司都有自己的需求这不是仅仅是潮流。仅举一个局部的例子:没有LINQ之前,我们要花多少精力去构造插入算法、查找算法,以及其他的一些工作。当我们可以有更好的工具,让我们从底层的算法纠缠中脱身,而把业务与时间更多地放在业务需求上时,为什么要说“NO!”呢?

他们不要说算法,连循环都不愿意写。所有东西都围绕控件。你不是要读取数据吗?绑定。你不是要传值么?传控件。你不是要排序么?控件排序。
解决方案十二:

引用10楼caozhy的回复:

他们不要说算法,连循环都不愿意写。所有东西都围绕控件。你不是要读取数据吗?绑定。你不是要传值么?传控件。你不是要排序么?控件排序。

要用积木搭个漂亮结实的房子,也得下点功夫啊
解决方案十三:

一个垃圾的软件公司,根本不需要合格的程序员。首先他们天天招人,为什么呢?因为他们需要足够足够便宜的软件工人,让他们做初级的,可以替代的工作。并且压低工资,不行就换一个是他们的第一法则。然后是他们招来的人,只要工资合适,什么人都招。很多人庆幸自己忽悠了公司的面试官,以为讨了便宜,实际上没有本事只能给人家忽悠,哪有忽悠人家的资本。
解决方案十四:

扩展方法、匿名类、lambda表达式—这是让C#变得丰满和优雅的重大改进。
解决方案十五:

天天来csdn的人有一种错觉,就是程序员都是这么菜。实际上这里大部分问问题的都是学生(糊个作业,以后改行的),要不就是青鸟等技校出来的代码工人,要不根本就不是写程序的外行,跑这里找免费苦力的。实际上应该不应该用LINQ这种可笑的问题在程序员中早就达成了共识。如同问厨师用不用味精和盐一样毫无意义。
解决方案:引用13楼abbey的回复:

扩展方法、匿名类、lambda表达式—这是让C#变得丰满和优雅的重大改进。

所以很可笑的问题就是,很多人对C#的认识还停留在C#1.0时代,认为C#和Java差不多。Java程序员拿起VisualStudio就能写C#程序。
解决方案:引用15楼caozhy的回复:

所以很可笑的问题就是,很多人对C#的认识还停留在C#1.0时代,认为C#和Java差不多。Java程序员拿起VisualStudio就能写C#程序。

C#一直在进步。仅就我涉及的部分而言,泛型、可空类型、扩展方法、匿名类以及lambda表达式,以及由此衍生出的其他一些技术,是让我越发喜欢它的原因。甚至如var这样的语法糖,也令我惊喜不已。
解决方案:引用6楼shwicho的回复:

不是哪个公司都去赶潮流的,每个公司都有自己的需求

这句话说的荒谬就在于,LINQ是C#语言实现排序、分组、筛选、统计数据的最佳方式。哪一个搞软件的没有排序、分组、筛选、统计数据的需求。明明是武大郎个子矮,非要赖人家裤子长。
解决方案:lambda是c++11的标准。有些公司stl都不让用更别说是lambda了。如果你用c#写个tcp的服务器你会用lambda??如果你做winform界面。人眼是1/24=0.04秒。你的处理时间只有这么短。不在这个时间处理完。你的东西就卡了。你用会lambda??c#已经慢很多。再用这个谁受的了。小项目,只是数据相关的东西用用还差不多。
解决方案:引用16楼abbey的回复:

引用15楼caozhy的回复:所以很可笑的问题就是,很多人对C#的认识还停留在C#1.0时代,认为C#和Java差不多。Java程序员拿起VisualStudio就能写C#程序。C#一直在进步。仅就我涉及的部分而言,泛型、可空类型、扩展方法、匿名类以及lambda表达式,以及由此衍生出的其他一些技术,是让我越发喜欢它的原因。甚至如var这样的语法糖,也令我惊喜不已。

C#与其说一直在进步,不如说是在奋力追赶其他主流编程语言。扩展方法可能挺不错,但是Ruby这种支持原型的语言,可以动态添加方法,只能说C#的扩展方法是在藏拙。var的首要动机是为了配合匿名对象。但是和函数式编程语言相比,C#远远不够。泛型、可空类型固然不错,可是动态语言完全取消了类型的自由C#也望尘莫及。我赞同《黑客和画家》这本书的观点。现代软件为什么推崇动态语言?因为软件的复杂度在提高,硬件成本在降低。现在软件越来越难以将需求、设计和编码区别开来。优秀的编程语言应该是一只铅笔,允许开发者一边编码,一边设计,一边修改,一边探索最佳的做法。而静态语言更像一只钢笔。VS11看来包含的C#改进不大,可能叫C#4.5。我不知道C#5会往哪里走。但是静态语言要保持和之前的兼容性,还要不断追赶主流语言,恐怕遇到的阻力越来越大。
解决方案:该回复于2012-03-05 10:13:17被版主删除
解决方案:引用16楼abbey的回复:

C#一直在进步。仅就我涉及的部分而言,泛型、可空类型、扩展方法、匿名类以及lambda表达式,以及由此衍生出的其他一些技术,是让我越发喜欢它的原因。甚至如var这样的语法糖,也令我惊喜不已。……

赞一个
解决方案:他们还守着老旧的编程方式,没有进取意识。
解决方案:同意上面大侠的意见,这个跟公司或者说开发团队的水平有关,就好比你跟整天垒猪圈的人谈欧式还是中式设计风格一样道理。
解决方案:想用就用嘛又不是很难
解决方案:精彩,,,,,
解决方案:不错。。。有些公司就不敢用新技术,想花较少的钱招牛X的程序员,那怎么可能呢?公司不愿出血,那怎么能用得上新技术了。公司的总监不看看新闻怎么能知道有新技术叱有些公司更恶,招一下java方向的当总监,而程序员用的是.net
解决方案:引用17楼caozhy的回复:

引用6楼shwicho的回复:不是哪个公司都去赶潮流的,每个公司都有自己的需求这句话说的荒谬就在于,LINQ是C#语言实现排序、分组、筛选、统计数据的最佳方式。哪一个搞软件的没有排序、分组、筛选、统计数据的需求。明明是武大郎个子矮,非要赖人家裤子长。

弱弱的问一句:Linq的底层实现是什么?Linq实现排序,在底层是如何完成的?
解决方案:LZ会了linq再来看他们说的话吧
解决方案:引用4楼caozhy的回复:

委托、泛型、接口这最基本的3个C#语法,你说他怎么用LINQ。

LINQ是"委托、泛型、接口",但"委托、泛型、接口"并非LINQ。LINQ是有用但不必神化它。
解决方案:引用29楼z81434362的回复:

引用4楼caozhy的回复:委托、泛型、接口这最基本的3个C#语法,你说他怎么用LINQ。LINQ是"委托、泛型、接口",但"委托、泛型、接口"并非LINQ。LINQ是有用但不必神化它。

谁告诉你LINQ是“委托、泛型、接口”的?
解决方案:引用27楼dengyouhua的回复:

引用17楼caozhy的回复:引用6楼shwicho的回复:不是哪个公司都去赶潮流的,每个公司都有自己的需求这句话说的荒谬就在于,LINQ是C#语言实现排序、分组、筛选、统计数据的最佳方式。哪一个搞软件的没有排序、分组、筛选、统计数据的需求。明明是武大郎个子矮,非要赖人家裤子长。弱弱的问一句:Linq的底层实现是什么?Linq实现排序,在底层……

首先,LINQ的排序是稳定的,并且依赖HashCode,猜测它可能是加上稳定的堆排(很有可能,因为它是延迟的)或者快排。LINQToXXX则依赖其提供者的排序。
解决方案:有自己的开放框架,自然就不选Linq......
解决方案:Ctrl+CandCtrl+Visenoughforsomecompanies.
解决方案:能解决实际问题,能赚到钱才是王道,在讨论用什么工具只能说明还是儿童级的程序员
解决方案:新技术不一定都好用,有时候无线发报机比手机可靠。
解决方案:我也有个疑惑,不知道为什么很多linq程序员看不起数据库端排序统计,而对linq中的排序统计很推崇。是真心不懂,本人也对linq的底层实现不明白。
解决方案:引用36楼hwbox的回复:

我也有个疑惑,不知道为什么很多linq程序员看不起数据库端排序统计,而对linq中的排序统计很推崇。是真心不懂,本人也对linq的底层实现不明白。

因为其实linq的核心在与后面的表达式树解析上,所以如果你正确的提供了linq的provider,他会自动生成对应的数据库版本的语句,所以无所谓是linq去排序,还是数据库端排序统计,他们结果都是一个故事当然目前linq的provider的缺点也存在,那就是暂时还没有啥很好的办法去简单处理多表连接这块的东西,除非在去人为设定一套map规则比如EF的codefirst
解决方案:linq语法很有意思
解决方案:linq执行的时候也是翻译成sql语句才执行的
解决方案:。。搞晕我了
解决方案:引用36楼hwbox的回复:

我也有个疑惑,不知道为什么很多linq程序员看不起数据库端排序统计,而对linq中的排序统计很推崇。是真心不懂,本人也对linq的底层实现不明白。

因为排序、统计作为很多算法的基础,本身是程序员创建一般代码的需要。这样的代码并非依赖用户界面或者数据库。“胶水程序员”(虽然我认为这种人根本不算程序员,因为程序员必然是编写程序、创造代码的)不需要“编写和创造代码”,他们的一般工作(我猜测和你描述得很类似)就是把后端的数据库和前端的用户界面粘贴起来,凑出一个可用的程序。因为他们编写的代码只是将现有的程序集成起来,而本身不具备价值类似胶水而得名。因为他们不编写代码,所以他们对改善程序员效率的技术并不关心。他们关心的是那些用户界面和数据库技术中已经有的功能。当然一个良好的胶水程序员应该知道,除了数据库以外,Grid控件等也提供了排序。但是对于程序员来说,你的任务是创造开箱可用的代码,如果程序员为胶水程序员提供的东西本身沾满胶水,那么你就会在这个论坛看到这样的提问了:“请问引用正则表达式库需要如何配置数据库”“请问我用的是控制台程序没有办法添加ListView如何传递Session”。
解决方案:引用39楼smg008的回复:

linq执行的时候也是翻译成sql语句才执行的

又来一个根本连LINQ是什么都不知道的。为什么那么多人在论坛里面发表高见之前就不能先了解下自己评论的是什么呢?
解决方案:linq其实很好用的。我一直都用它,ado.net基本都不用
解决方案:我觉得这就跟当初面向对象出来的时候大部分人还都是结构化编程一样
解决方案:引用4楼caozhy的回复:

初级程序员搞不懂委托、泛型、接口这最基本的3个C#语法,你说他怎么用LINQ。

确实啊,LINQ在这三方面利用的淋漓尽致
解决方案:引用41楼caozhy的回复:

引用36楼hwbox的回复:我也有个疑惑,不知道为什么很多linq程序员看不起数据库端排序统计,而对linq中的排序统计很推崇。是真心不懂,本人也对linq的底层实现不明白。因为排序、统计作为很多算法的基础,本身是程序员创建一般代码的需要。这样的代码并非依赖用户界面或者数据库。“胶水程序员”(虽然我认为这种人根本不算程序员,因为程序员必然是编写程序、创造代码的)不需要“……

我在使用linq时可以感觉到你说的那种程序员友好性,但某种程度上我一直认为他是一种语法糖。我说的不明白是说,这玩意和ORM框架在,数据库的数据获取操作上有什么本质不同,而在操作本地数据上,又与ADO.net中的DATASET有什么不同(除了语法层面上的易用以外)。
解决方案:引用42楼caozhy的回复:

引用39楼smg008的回复:linq执行的时候也是翻译成sql语句才执行的又来一个根本连LINQ是什么都不知道的。为什么那么多人在论坛里面发表高见之前就不能先了解下自己评论的是什么呢?

这个回复和37楼的回复把我搞糊涂了。那么真相是什么呢?
解决方案:应该看情况而定吧LINQ在平常是很好用但如果数据量太大的话用LINQ确实会降低效率有些时候最plain的code往往效率最高我的习惯就是在数据量大的情况下尽量不用.net封装很多的东西
解决方案:扩展方法还是可以用,匿名方法和lambda表达式就要非常谨慎了,一般情况下都建议用命名方法,因为涉及到变量的作用域问题,用匿名方法和lambda表达式很容易产生比较隐蔽的Bug.特别是在多线程处理的时候,比如threadstart方法就最好不要用lambda表达式.不要觉得语法上新奇就用,而是要弄明白其机理,以决定什么时候可以用,什么时候要不用.另外linq的结果是一个查询,但这个查询的枚举的时候是没有规律的,在需要保证数据访问顺序的时候还是要数组访问方式.而且查询在迭代访问过程中是不能改变源的.
解决方案:linq的本质是扩展方法,linq的那种查询表达式到最后都会被编译器翻译成扩展方法的.跟ESQL不是一回事情.

时间: 2024-10-24 18:26:09

为什么很多公司都不用linq的相关文章

现在开始流行mybatis了?好像很多项目都不用hibernate 了?

问题描述 现在开始流行mybatis了?好像很多项目都不用hibernate 了? 我看很多新项目都是用mybatis,而不是hibernate了.大家用的是哪种?都不知怎么架构了项目 解决方案 没有把,看公司的项目以及开发团队更熟悉哪个了.http://blog.csdn.net/firejuly/article/details/8190229 解决方案二: mybatis更贴近sql,hibernate更适合跨数据库的项目 解决方案三: 这两个东西的特点不一样,有些项目连ORM都不用 解决方

为什么靠谱的公司都应该参加CTO评选?

CSDN最近启动了有史以来第一次CTO评选.这与ITValue的CIO评选一起,将第一次集体展示中国技术领袖的风采. 技术和技术驱动的产品是发展和变革的关键因素 为什么CSDN要组织这样一个评选? 近年来,软件吞噬世界.算法统治人类社会的说法不绝于耳,其实都在以比较耸动的方式强调一个事实:技术和技术驱动的产品.商业模式创新越来越成为公司乃至全社会发展与变革最关键的因素. iPhone是公认这十年来最具创新性也最成功的产品之一,我们都知道iPhone实际上是一部高度集成了众多先进技术的产品:成熟的

很多人都在埋怨没有遇到好的团队,但好的团队不可能凭空出现,一流的团队不能仅靠团队成员努力,作为Leader,要有可行的规划,并坚定地执行、时势地调整(转)

  <西游记>中的唐僧团队历经千难万险,终于求得真经,目标明确.分工合理为这支队伍最终走向成功奠定了基础.唐僧从一开始,就为这个团队设定了西天取经的目标,虽然经历各种挫折与磨难,但目标从未动摇.悟空探路.八戒牵马.沙僧挑担,几位徒弟一起肩负着保护唐僧的任务.虽然性格迥异.各有缺点,但目标分解合理及成员分工合作,最终风雨同舟,取得真经. <西游记>的故事引申到实际团队技术管理中,也一样有借鉴意义,本文作者为CTO俱乐部会员.湖北同城一家网络科技有限公司开发总监杨斌,他结合自己多年经历

百度安全专家:很多公司存在严重的Web安全问题

4月16日消息,百度安全专家方小顿在2009腾讯安全技术峰会上指出,很多互联网公司在架构上存在缺陷,重要业务和次要业务本质上没有分离,web安全问题非常严重.他举雅虎的例子称,雅虎用户在美国登录一次后,在中国等都是登录,登陆一次就可以直接登陆所有应用,这就是有风险的,完全信任客户端而无法验证当前认证是否有效,这样把可能遭受的攻击的风险泛化.黑客一旦攻入一个web应用,他就可以自然而然进入其他的服务包括敏感的web应用如用户邮箱,这对安全非常不利.498)this.width=498;' onmo

大数据时代 每家公司都要有大数据部门吗?

在大数据时代 每家公司都要有大数据部门吗?如果这个问题换做是:在电气时代,每家公司都要有个发电厂吗?是不是会更好回答一些? 事实上每一种重大技术的出现,都会对产业产生大的变化.在蒸汽时代,采矿机采用蒸汽机后,会带来生产效率的极大提升,而轮船加上蒸汽机,再也不需要靠风才能航海了.在电气时代,电灯代替了蜡烛,电报代替了快马送信,而报纸也被广播和电视所侵蚀. 可以说是现有产业加上新技术,形成了新产业. 我们回过头来看这两次工业革命,生产蒸汽机的企业只有少量几家,而发电的企业在美国也只有通用电气和西屋电

在大数据时代,每家公司都要有大数据部门吗?

如果这个问题换做是:在电气时代,每家公司都要有个发电厂吗?是不是会更好回答一些? 事实上每一种重大技术的出现,都会对产业产生大的变化.在蒸汽时代,采矿机采用蒸汽机后,会带来生产效率的极大提升,而轮船加上蒸汽机,再也不需要靠风才能航海了.在电气时代,电灯代替了蜡烛,电报代替了快马送信,而报纸也被广播和电视所侵蚀. 可以说是现有产业加上新技术,形成了新产业. 我们回过头来看这两次工业革命,生产蒸汽机的企业只有少量几家,而发电的企业在美国也只有通用电气和西屋电气.并不是每家企业都要从事这些基础设施的研

在大数据时代 每家公司都要组建大数据部门吗?

在大数据时代 每家公司都要有大数据部门吗?如果这个问题换做是:在电气时代,每家公司都要有个发电厂吗?是不是会更好回答一些? 事实上每一种重大技术的出现,都会对产业产生大的变化.在蒸汽时代,采矿机采用蒸汽机后,会带来生产效率的极大提升,而轮船加上蒸汽机,再也不需要靠风才能航海了.在电气时代,电灯代替了蜡烛,电报代替了快马送信,而报纸也被广播和电视所侵蚀. 可以说是现有产业加上新技术,形成了新产业. 我们回过头来看这两次工业革命,生产蒸汽机的企业只有少量几家,而发电的企业在美国也只有通用电气和西屋电

阿里巴巴集团学术委员会主席曾鸣纵论BAT人工智能战略:任何公司都必须AIl in AI

2017年11月13日,高山大学(GASA)思享课II期正式开启.在仍然沉浸在"双11"余温的阿里巴巴西溪园区总部,阿里巴巴集团学术委员会主席.湖畔大学教育长曾鸣教授,与在场的高山大学2017级学员分享了他的战略观,包括vision(愿景)如何驱动战略,战略如何制定和迭代.面对学员的疑惑和焦虑,曾鸣教授强调Vision需要"相信相信的力量",并对S2b2c模式.新零售.SaaS.未来新商业机遇等问题作出了详尽的分析. 长城会创始人文厨先生 新智元创始人&CE

电子商务是很多企业都必须得做的

电子商务是很多企业都必须得做的,但在做的过程中会遇到重重障碍.那么,企业应当如何启动电子商务战略,如何解决电子商务推进过程中的关键矛盾?最近,一些企业的管理者就传统企业进军电子商务的经验进行了细致的探讨. 会客厅嘉宾: 张宏杰 乐华彩电副总经理 李永强 华帝燃具电商总经理 李晓婷 达芙妮电子商务部商品总监 王永涛 东鹏陶瓷电子商务总监 许 琰 玛汐品牌运营总监 向 华 富安娜(002327,股吧)电子商务总监 □赢周刊记者 谢蕤叶 问:电子商务,就是从有重量的产品变成能在网上"脱重".