backwards-compatibility

Are compiled Java 8 lambda expressions backwards compatible with earlier versions of the Java runtime?

你说的曾经没有我的故事 提交于 2019-11-29 03:44:06
In order to reduce the clutter caused by numerous instantiations of anonymous types, I'm exploring the possibility of leveraging Java 8 lambdas. One important consideration before using Java 8 and lambdas in a production environment is whether JDK8-compiled code that uses lambda expressions can be executed on an earlier version of the Java runtime. I'm specifically interested in JRE6 and JRE7 as target platforms. One one hand, I understand that lambdas are simply syntactic sugar around an instantiation of an anonymous class containing one method. On the other hand, I'm not certain that this

Why crypto.createHash returns different output in new version?

回眸只為那壹抹淺笑 提交于 2019-11-29 02:02:06
Problem I have node.js module that is using crypto.createHash to generate md5 hash. Recently I noticed that hash generated by crypto module is different in new versions: Code require('crypto').createHash('md5').update('¥').digest('hex') Node.js v0.10.0 Outputs: ab3af8566ddd20d7efc9b314abe90755 Node.js v6.1.0 Outputs: 07625e142e4ac5961de57472657a88c1 Question I was wondering what causes that in new version and how can I solve this? Update Similar issues on GitHub: https://github.com/nodejs/node/issues/6813 https://github.com/node-xmpp/client/issues/206 robertklep Some inputs in Node v6+

What does it really mean to target a framework, and how do I maximize compatibility?

你离开我真会死。 提交于 2019-11-29 01:26:39
问题 Greetings all, This has confused me ever since I first started coding in C#. My goal is to create an assembly that will run on the most recent .NET framework the user has, whatever that may be. I don't want to require .NET 4 to be installed, but I want to use it if the user has it, and more importantly, I want it to still work if the user has only .NET 4 and nothing below. I'm beginning to suspect this is not even possible. I don't really understand what I'm selecting when I change the

How to test binary compatibility automatically?

…衆ロ難τιáo~ 提交于 2019-11-28 23:30:28
Can it be done before compiling, by comparing code? Is there any tools already doing this? okun You might find this interesting: Static analysis tool to detect ABI breaks in C++ ABI Compliance Checker — a tool for checking backward API/ABI compatibility of a C/C++ library: abi-compliance-checker -lib NAME -old OLD.abidump -new NEW.abidump *.abidump files are ABI dumps of OLD and NEW library versions generated by the ABI Dumper tool. icheck - C interface ABI/API checker: icheck --canonify -o old_version -I/usr/include/foo/ bar.h icheck --compare -o results.txt old_version new_version shlib

What does it really mean to target a framework, and how do I maximize compatibility?

一个人想着一个人 提交于 2019-11-28 21:03:52
Greetings all, This has confused me ever since I first started coding in C#. My goal is to create an assembly that will run on the most recent .NET framework the user has, whatever that may be. I don't want to require .NET 4 to be installed, but I want to use it if the user has it, and more importantly, I want it to still work if the user has only .NET 4 and nothing below. I'm beginning to suspect this is not even possible. I don't really understand what I'm selecting when I change the "Target Framework" in Visual Studio. Does that mean "will be compatible with this version and up"? Or "will

How to warn about class (name) deprecation

非 Y 不嫁゛ 提交于 2019-11-28 20:50:49
问题 I have renamed a python class that is part of a library. I am willing to leave a possibility to use its previous name for some time but would like to warn user that it's deprecated and will be removed in the future. I think that to provide backward compatibility it will be enough to use an alias like that: class NewClsName: pass OldClsName = NewClsName I have no idea how to mark the OldClsName as deprecated in an elegant way. Maybe I could make OldClsName a function which emits a warning (to

How to code backward compatible new feature in Android SDK?

≯℡__Kan透↙ 提交于 2019-11-28 18:57:03
I want to use the actionbar feature included in SDK 11. However I also want the app to run on earlier devices from SDK 10 (2.3.3). I am willing to give up the actionbar feature for the earlier devices as it is not an important feature. I have done all the reading about reflection, wrapper class and some other techniques. I am now stumped on exactly how to make this work. I am using Eclipse. If I don't set the target in Eclipse to sdk 11 or greater, then any place I have a reference to actionBar gives a compile error. If I put the target to sdk 11 or greater it compiles but won't show that it

GCC vs MS C++ compiler for maintaining API backwards binary compatibility

风格不统一 提交于 2019-11-28 18:48:37
I came from the Linux world and know a lot of articles about maintaining backwards binary compatibility (BC) of a dynamic library API written in C++ language. One of them is "Policies/Binary Compatibility Issues With C++" based on the Itanium C++ ABI , which is used by the GCC compiler. But I can't find anything similar for the Microsoft C++ compiler (from MSVC). I understand that most of the techniques are applicable to the MS C++ compiler and I would like to discover compiler-specific issues related to ABI differences (v-table layout, mangling, etc.) So, my questions are the following: Do

Is Visual Studio 2012 csproj backward compatible with 2010?

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-28 18:07:14
The question is if can I use safely Visual Studio 2012 to edit projects properties, add and remove solutions, references, all related to NET 4.0 Framework. I remember in the past some files might be "corrupted", while Visual Studio 2010 changed some Visual Studio 2008 csproj information (xml file). If some tags are added/removed in VS2012, then the csproj would be incompatible to VS2010 developers. Does anyone have some information if it is safe to use this new IDE without damaging files? Are VS2012 csprojs "backward compatible" with VS2010? VS2012 projects are mostly* backwards compatible

How should I write my C++ to be prepared for C++ modules?

余生颓废 提交于 2019-11-28 17:19:59
问题 There are already two compilers that support C++ modules: Clang: http://clang.llvm.org/docs/Modules.html MS VS 2015: http://blogs.msdn.com/b/vcblog/archive/2015/12/03/c-modules-in-vs-2015-update-1.aspx When starting a new project now, what should I pay attention to in order to be able to adopt the modules feature when it is eventually released in my compiler? Is it possible to use modules and still maintain compatibility with older compilers that do not support it? 回答1: There are already two