English 中文(简体)
如何决定何时从三氯三甲胺到三氯胺
原标题:How to decide when to wrap/port/write-from-scratch

有一个计划在小塔克建造的I m。 还有一个假借图书馆,我打算使用。 现在有三种选择:

  • Smalltalk wrapper for those python libraries
  • Porting the python library to Smalltalk
  • Write the library from scratch (in Smalltalk) for use in my project

The following are my queries:

  1. What are basic differences in porting/wrapping (No satisfactory explanation found anywhere yet)
  2. How to know when to use which (of all the three)?
  3. Any resources or pointers where I can get further help/some kick-start into my project.

感谢!

最佳回答

Wrapper

母语的写作功能,其唯一目的是在外部图书馆中指定这些功能。 目标是尽可能少用母语。 例如,将数据类型从母语翻译成外部图书馆语言等。

当外部图书馆:

  • written in a more efficient language than the native code (eg, a C++ library called from Python)
  • large/complex and would be time-consuming or error prone to translate
  • regularly updated; in a well-maintained library the interfaces (what your wrapper is concerned with) will change less often than the implementation of the features; so if you have wrappers around the functionality, updating to a new version of the library should be fairly straightforward

Porting

港口只是从一种语言翻译成另一种语言。 总的说来,尽可能维持同样的逻辑。

港口在下述情况下具有意义:

  • the native language is more efficient than the external library
  • the library is simple and one wants to save on the overhead involved with wrapping
  • one intends to make and maintain changes to the ported code in the native language
  • there are no plans to use the external library in its own language
  • one wants to learn one or both of the languages involved

Re-Write

想把重温成一个港口,有许多令人振奋。 目标是利用当地语言的特点,以某种方式改进图书馆(效率、可读性等)。

重新计算在港口的所有相同情况下都是有意义的。 决定是否建造一个简单的港口或完全翻新,通常会成为一个问题:

  • Is there a better way to implement the features of the external library in the native language?
问题回答

暂无回答




相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签