标签: future-proof

我应该如何编写C++来为C++模块做好准备?

已经有两个支持C++模块的编译器:

现在开始一个新项目时,为了能够在我的编译器最终发布时采用模块功能,我应该注意什么?

是否可以使用模块并仍然保持与不支持它的旧编译器的兼容性?

c++ backwards-compatibility future-proof c++20 c++-modules

54
推荐指数
2
解决办法
2万
查看次数

在Python中继承类"对象"的目的是什么?

所有Python内置object函数都是子类,我遇到了许多用户定义的类.为什么?这堂课的目的是object什么?这只是一个空洞的课,对吧?

python object deprecated future-proof new-style-class

52
推荐指数
2
解决办法
1万
查看次数

boost :: lock_guard vs boost :: mutex :: scoped_lock

这是首选boost::lock_guard还是boost::mutex::scoped_lock

我正在使用Boost.Thread,希望在可用时转向C++ 11线程.

scoped_lock下一个c ++标准的一部分吗?

是否优先选择其他优势?


:我知道,scoped_lock仅仅是一个typedeflock_guard.


编辑:我错了scoped_lock不是typedeflock_guard.这是一个typedefunique_lock.

boost future-proof c++11

37
推荐指数
2
解决办法
2万
查看次数

(unicode错误)'unicodeescape'编解码器无法解码字节 - 字符串带'\ u'

编写我的Python 2.6代码,但考虑到Python 3,我认为这是一个好主意

from __future__ import unicode_literals
Run Code Online (Sandbox Code Playgroud)

在一些模块的顶部.换句话说,我要求麻烦(将来要避免它们),但我可能会遗漏一些重要的知识.我希望能够传递表示文件路径的字符串并实例化一个简单的对象

MyObject('H:\unittests')

Python 2.6中,这很好用,不需要使用双反斜杠或原始字符串,即使对于以...开头的目录'\u..',这正是我想要的.在__init__方法我要确保所有的单\OCCURENCES被解释为" \\",包括那些之前的特殊字符,如\a,\b,\f,\n,\r,\t\v(只\x仍然是一个问题).还使用(本地)编码将给定字符串解码为unicode按预期工作.

准备Python 3.x,在编辑器中模拟我的实际问题(从Python 2.6中的干净控制台开始),会发生以下情况:

>>> '\u'
'\\u'
>>> r'\u'
'\\u'
Run Code Online (Sandbox Code Playgroud)

(好到这里:'\u'由控制台使用本地编码进行编码)

>>> from __future__ import unicode_literals
>>> '\u'
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: end of string in escape sequence
Run Code Online (Sandbox Code Playgroud)

换句话说,(unicode)字符串根本不被解释为unicode,也不会使用本地编码自动解码.对于原始字符串也是如此:

>>> r'\u'
SyntaxError: (unicode …
Run Code Online (Sandbox Code Playgroud)

python unicode future-proof

24
推荐指数
1
解决办法
3万
查看次数

程序的设计技巧将在25年内运行

如果创建一个现在需要运行的应用程序(主要是数据处理),也许(或许不是)10年或25年后,这些应用程序有哪些设计技巧?

一般规则适用:依赖开源软件和经过验证的平台以及故障安全数据格式.

出于可读性原因,该语言必须是高级语言(可能唯一的选择是在15年内由对原始代码知之甚少的人重写应用程序).

我会选择UNIX(Linux)+ Python + YAML/JSON(/ CSV/plaintext),这个选择或替代工具集的任何提示?Scheme/lisp已经存在了很长时间,并且很难搞砸语言基础知识,因为一切都是自成一体的.

编辑:请不要忘记有关实际设计和代码的提示,例如2038年的问题!

python programming-languages future-proof

16
推荐指数
2
解决办法
431
查看次数

Angularjs是面向未来的吗?

Angularjs是一个非常好的和强大的框架,但它是否面向未来?

  • 我们能否确定它将成为企业环境中Web应用程序长达5到10年的不错选择?编辑:是的,几乎没有技术可以持续那么久.但人们必须接受培训,并且必须进一步维护和开发代码.如果我们回顾5年并说"这是一个可怕的选择,我们应该因为xy而知道"这将是糟糕的.
  • Stackoverflow和Google趋势上的活动意味着社区非常活跃,很多人现在都对这项技术感兴趣,但有什么好的理由可以说服某人该框架不仅仅是当前的炒作?编辑:我正在寻找可以说服一些保守的决策者的论据,这些决策者可以理解地不想一直改变技术堆栈.到目前为止,他们主要使用JSF.

参数(我会加你的):

一些支持Angular的链接,大部分都是关于功能的:

enterprise web-applications webtrends future-proof angularjs

8
推荐指数
1
解决办法
5337
查看次数

缓解过渡到Rails的痛苦4

我现在正在研究Rails 3.2应用程序,但我知道Rails 4即将到来.在实现我的应用程序时,我应该注意哪些事情,以便在正式​​发布或者在几个版本发布之后更容易迁移到Rails 4?我知道一些功能将被分解为宝石,但是在Rails 4.1+中无法保证支持.

我已阅读升级指南:http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0和发行说明:HTTP:// edgeguides. rubyonrails.org/4_0_release_notes.html.

我对这一点更感兴趣的是找出导致我在升级中头痛的问题,而不是Rails 4的新亮点功能.

所以基于这个阅读和来自互联网的片段,我现在所拥有的是:

  • 至少升级到Ruby 1.9.3.
  • 不要使用插件 - 改用宝石.
  • ActiveRecord :: IdentityMap不会出现在Rails 4中.
  • ActiveResource不会成为核心Rails 4的一部分,但会在一个单独的gem(activeresource)中.可能会考虑REST API的其他ORM.
  • 不要使用动态查找方法中的ActiveRecord喜欢find_all_by_*scoped_by_*因为这些将被弃用.请where改用.
  • 避免User.find(:all, :conditions => ...使用基于散列的查找程序:例如,请使用where.
  • 在ActiveRecord中急切评估范围:范围将需要lambda.例如,scope :red, -> { where(color: 'red') }不要使用scope :red, where(color: 'red').
  • ActiveRecord :: SessionStore现在将是一个单独的gem(activerecord-session_store).
  • 使用ActiveSupport :: Logger而不是BufferedLogger.
  • 在预期Rails 4中的强参数时开始使用strong_parameters gem而不是在ActiveRecord级别的attr_accessor,attr_accessible,attr_protected,这涉及params.require进入控制器以强制提供正确的参数.

......但我相信还有更多.任何人都可以提供一个全面但常识性的清单来了解吗?我不是在寻找Rails 4中的完整折旧列表 - 这是我需要注意的重要事项以及我现在可以做些什么来为他们提供面向未来的证据.

ruby-on-rails upgrade future-proof

7
推荐指数
0
解决办法
2093
查看次数

如何确保R/Rcpp代码可重现("可分发")?

我已经写了一些R代码里面的论文,依靠一些外部包(例如,plyrreshape),并利用写了几个比较简单的内联C++函数inlineRcppArmadillo.

我想确保它可以在我自己的计算机(Win64)上"按原样"执行,以用于研究再现性目的.

我的问题:假设我包括安装所需的软件包,代码会在RcppArmadillo(和Rcppinline)封装足以能够汇编写的功能RcppArmadillo,或将最终用户需要更改系统路径为编译他的Windows机器上?如果没有,是否可以/建议从我的结束保存编译的功能,并包含在我发货的R代码中?

此外,在不太可能的情况下代码应该运行一段时间(比如说,几年),在当前版本中包含完整的R安装以及相关软件包以使代码"面向未来"是足够的?

我希望这个问题很清楚.

r future-proof rcpp

6
推荐指数
1
解决办法
153
查看次数

Perl脚本可移植性和未来打样

由于来自我们团队外部的压力,我们必须将超过一百个Perl脚本从Sparc移植到x86.这意味着将数十条绳子线#!/home/Perl/bin/perl -w改为其他东西,这真是一种痛苦.有什么好方法可以做到这一点(我在Lycos上找不到任何东西)?

当我们被迫从x86转移到其他东西(比如Cray,我想)时会发生什么?有没有办法"面向未来"?

scripting perl portability future-proof

5
推荐指数
3
解决办法
575
查看次数

扩展方法向前兼容

使用扩展方法,我们可以轻松地向任何类型添加方法.显然,这在.net的未来版本中开启了扩展方法无法再被调用的可能性(例如,类型现在包括与扩展方法具有相同签名的方法).

这应该是一个问题吗?

如果是这样,我应该如何处理这个问题并设计我的扩展方法,以便在发生这种情况时尽量减少代码更改?

c# extension-methods future-proof

5
推荐指数
1
解决办法
164
查看次数