Questions tagged «libraries»

库是提供用于开发独立软件的数据和/或服务的资源的集合。

1
野田时间vs乔达时间?
在《Noda Time用户指南》中,基本原理部分指出: 公共API已被大量重写,以提供对.NET更惯用的API,并纠正Noda Time团队认为“不幸”的一些Joda Time决定。(其中一些仅仅是由于具有不同的目标;我认为其他一些确实是错误。) 这些不同/更好的决定是什么?这将不仅仅考虑语言语法的差异,而是将包括所有使用户不太可能发生编程错误(库可用性)的工作。

5
为什么现代图书馆不使用OOP
我是初学者级C ++程序员,但是我对语言的概念非常了解。当我开始学习外部C ++库(例如SDL,OpenGL)(也许还有其他东西)时,令我惊讶的是,我发现它们根本不使用C ++概念。 例如,SDL和OpenGL都不使用类或异常,而倾向于使用函数和错误代码。在OpenGL中,我看到过诸如glVertex2f之类的函数,该函数需要2个float变量作为输入,并且作为模板可能会更好。而且,这些库有时使用marcos,而使用宏函数似乎是一个坏习惯,这是一个普遍的共识。 总而言之,它们似乎更多地是用C风格而不是C ++风格编写的。但是它们是完全不同的语言,不是吗? 问题是:为什么现代图书馆没有利用它们所写语言的优势?

12
在不知道您创建的程序如何工作的情况下可以生活吗?
我的意思是,确实有一些有用的库可以解决您遇到的问题,并且不知道如何解决这些问题,或者不了解所使用的编程语言。例如,Boost for C ++或JQuery for JavaScript或Spring for Java ...他们可以在几秒钟内解决问题,并且您实际上并不关心它们的处理方式(尽管它们是使用与您所编程的语言相同的语言编写的)...所以我想知道我是不是一个人独自使用了libs而没有有能力从头开始为我的问题编写解决方案,还是标准做法?

4
“不要重新发明轮子”会忽略人类记忆的局限性吗?
在Haskell和F#中工作的一件事告诉我,一个比我聪明的大学里的某人可能已经找到了我所做工作的抽象。同样在C#和面向对象的编程中,无论我在做什么,都可能有一个“ it”库。 我非常强调在编程中重用抽象,这使我经常感到两难之间:1)自己编写简短又肮脏的东西; 2)花相同的时间找到别人更健壮的库/解决方案,然后再使用它。 像最近一样,这里的一位编码人员为CSV文件编写了一个(反)序列化器,我忍不住想起来,如果.NET标准尚未提供,那么在网上很容易找到这样的内容蜜蜂。 不过,我不怪他,在.NET中工作了好几次,我根据我所知道的方法修补了一个解决方案,只是意识到通常在同一个库中有一些方法调用或对象之类的东西 ,它们做了什么我想要,但我不知道。 这仅仅是经验不足的征兆,还是在编写新内容和重用旧内容之间总要权衡取舍?我最讨厌的是遇到一个我已经知道并忘记的解决方案时。我觉得现在一个人无法消化大多数语言预打包的大量代码。

2
为什么使用C ++库如此复杂?
首先,我想指出的是,我热爱C ++,并且我是认为C ++比Java编写容易的人之一。除了一件小事:库。 在Java中,您只需将一些jar添加到构建路径即可。 在C ++中,通常必须为头文件和库本身设置多个路径。在某些情况下,您甚至必须使用特殊的构建标志。我主要使用Visual Studio,代码块,而根本没有使用IDE。在谈论使用外部库时,所有这三个选项没有太大差异。 我不知道为什么没有比这更简单的选择了?就像拥有一个特殊的.zip文件一样,它可以将您需要的所有东西都放在一个地方,因此IDE可以为您设置构建标志进行所有工作。有没有技术上的障碍?
14 java  c++  libraries 

2
我的小型软件库应该避免使用其他库吗?
我刚刚发布了一个小的Java库,其中仅提供了几个类和方法。自从我使用Maven构建项目以来,我立即使用了几个第三方库来实现我的目标,特别是: commons-lang3(用于一些通用的Java东西) slf4j-api(用于记录) commons-io(用于一小部分文件,我认为一次读取一个文件) 我不希望我的图书馆在别人眼中显得appear肿。我是否应该尝试摆脱对这些库的依赖以最大程度地减少占用空间?在将来考虑使用更多类型的库时,最好避免使用哪种类型的库?
13 java  libraries  maven 

3
Clojure与Java有多独立?
我对Clojure世界很陌生。我很欣赏一个事实,即可以通过Clojure互操作功能轻松访问所有Java库,但是我想知道Clojure靠自己站了多少。 当然,有些平台(例如Android)始终需要与Java互操作,因为核心库是用Java编写或公开的。此外,由于Clojure字符串是Java字符串,因此我希望字符串操作库可以作为Java String方法的包装。 但是对于其他任务,我看不出为什么无法开发本地Clojure库的原因。考虑一下Http,日期处理,XML解析,模板,JSON序列化和反序列化,OAuth,数学库等。 所以我的问题是: Clojure在多大程度上变得独立于Java生态系统?它是否具有自己的惯用库来执行大多数这些任务和其他任务?

8
您倾向于在代码中写上自己的名字还是公司名称?
我一直在从事家庭和工作中的各种项目,多年来,我开发了两个主要API,几乎可以在所有基于AJAX的网站中使用。我将它们都编译为DLL,并将其命名为Connell.Database和Connell.Json名称空间。 我的老板最近在公司项目的软件文档中看到了这些命名空间,并说我不应该在代码中使用我自己的名字。(但这是我的代码!) 要记住的一件事是我们不是软件公司。我们是一家IT支持公司,而且我是这里唯一的全职软件开发人员,因此,关于如何在公司中编写软件,实际上没有任何程序。 要记住的另一件事是,我确实打算有一天将这些DLL作为开源项目发布。 其他开发人员如何在公司内将其命名空间分组?是否有人在个人和工作项目中使用相同的类库? 反之亦然吗?如果我完全在工作时编写类库,那么谁拥有该代码?如果我从头到尾都看过库,请对其进行设计和编程。我可以在家中将其用于其他项目吗? 谢谢, 更新资料 我已经与我的老板谈过这个问题,他也同意它们是我的目标,他对我开放源代码很好。在进行对话之前,我无论如何都开始更改对象,这实际上非常有效,并且代码现在比以前更适合该特定项目。 但是感谢所有参与此辩论的人。我希望所有这些文本都不会浪费,并且有人从中学习。我当然做到了 干杯,

4
人们为什么将某些库重写为多种编程语言?
有一些库,这些库的版本可用许多不同的编程语言编写,例如Lucene,该库是用Java(如他们所说的100%纯Java)编写的,但也具有C ++,C,Perl的版本,Ruby,Lisp和其他一些语言。我说的是这些语言的实现,而不仅仅是FFI接口。 人们为什么这样做?我可以看到一个明显的原因:当项目具有较少的依赖项时,部署和分发(也可能是开发)更加容易。但是还有别的吗?在什么情况下值得?

2
JRE库中的类是否支持对外部/非JRE程序集的可观察和/或异步读取?
如何实现我的跨平台库(例如在JRE上)以对对象引用以线程安全的方式进行操作,以便其他平台上的本机前端可以观察对象并利用Observable模式? 有一点背景-大多数前端框架中都使用了数据绑定的概念。在C#和Java中,这与Observable特性有关,该特性使类能够在发生更改时触发事件,多个控件或“观察者”可以订阅该事件。这样,观察者就不必继续轮询/读取资源,进行更新比较。 我想研究一个分析引擎,该引擎会随着时间的推移对数据列表进行更改。能够让前端在分析运行时能够观察这些列表将是很好的。在我看来,这将要求前端能够将对象传递给分析引擎,并在希望跨平台的库中编写该对象,并且能够对该对象进行线程安全读取。否则,让图书馆满足可观察性合同。 在较旧的Unix风格的CLI引擎中处理此问题的方法是使用stdin / stdout / stderr,并使引擎定期更新更新。这需要标准的开销和文本解析,如果可能的话,我宁愿避免。

4
数学运算符的成员函数与非成员函数
我正在编写一个线性代数库(长话短说,这是一个学校作业),它涉及矩阵,向量等。在创建该库的过程中,我将创建对对象执行数学运算的函数。例如,转置矩阵,反矩阵,归一化向量等。 我很好奇这种函数的“最佳实践”是什么...也就是说,我应该将该函数设为成员函数还是非成员函数?(为清楚起见/图书馆使用) 例: //Member function way: B = A.transpose(); C = A.inverse(); //Non-member function way: B = linalg::transpose(A); //Non-member transpose function in linear algebra namespace C = linalg::inverse(A); 关于这类操作是否有一些标准?或者至少,人们有一种通用的方式吗?我倾向于第一种选择,但我想知道是否建议这样做。
12 c++  libraries  methods 

2
C ++库API设计
我正在寻找一个很好的资源来学习C ++库的良好API设计,查看共享的对象/ dll等。在源代码级别上有很多资源可以编写漂亮的API,漂亮的类,模板等,但是几乎没有将它们放到共享的库和可执行文件中。约翰·拉科斯(John Lakos)的《大规模C ++软件设计》一书很有趣,但已经过时了。 我正在寻找的是关于处理模板的建议。在API中使用模板后,我通常会在可执行文件(或其他库)中获得库代码,因此,如果在那里修复错误,我将无法简单地推出新库,而必须重新编译和重新分发该代码的所有客户端。(是的,我知道一些解决方案,例如尝试实例化至少库中最常见的版本等)。 我还在寻找其他注意事项和在C ++库上保持二进制兼容性时需要注意的事项。 是否有一个很好的网站或关于此类事情的书?

14
您认为哪个库/框架过于复杂,无法解决所要解决的问题?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 ...并“手动”编码功能? 作为一个相当隐喻的示例,您几乎不需要用于求解二次方程的库,尽管此类库确实存在并且有人认真对待它们。 作为一个更可疑的案例,根据情况,我可能会抛弃jQuery(例如,当我不需要支持某些石器时代的浏览器时):它确实简化了某些事情,但又为DOM增加了另一层复杂性和不可靠性。过度使用jQuery会导致荒谬的问题,例如最近在SO上看到的一个问题:如何a使用jQuery 为标签分配空的href ?原来这是一个HTML问题,甚至不是JavaScript。 对于许多人来说,另一个荒谬而又不明显的情况是使用在另一个模板系统PHP之上构建的一些模板引擎/语言。吸引任何人的第三层? 还有一个:有时候(仅用)吐出XML printf比使用一些怪异的XML引擎容易得多。 根据您的经验,还有其他情况吗?


3
是否存在针对多个浏览器选项卡和较新浏览器的客户端状态的开源JavaScript库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 HTML5有一些新功能,使其成为最近的浏览器,允许在选项卡,浏览器窗口,相同的域窗口等之间共享状态。因此,编写在Web上保持很多状态的Web应用程序可能会变得容易一些。客户端,并且还可以智能地管理选项卡和/或窗口之间的状态。 当前有诸如Backbone.js之类的库,可以帮助管理单个选项卡或单个窗口中的状态。是否有任何东西可以帮助多个选项卡(或窗口)管理全局状态,特定于选项卡的状态以及交叉表事件,而无需依赖服务器来同步它们?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.