Wrapping direction?



  • What's the logic of saying that it's the application is being wrapped? I look at it as the hardware being wrapped by API's and frameworks, on top of which is the application, the topmost layer being the user. Why then is it being expressed the other way around? What benefits does it bring?     



  • I don't understand your question.  What are you talking about? A little context goes a long way.



  • http://thedailywtf.com/forums/thread/97616.aspx

    Merreborn said:

    You're supposed to wrap the application, not the application *and* the platform-specific library!

    Expressed that way, the application gets wrapped instead of being the outermost wrapping of the hardware. 

     

     ?http://thedailywtf.com/forums/thread/97990.aspx

    Anon 

    As long as each emulation layer is smaller than the package it's wrapping, and performance is still acceptable, they're doing the right thing.

     

    It seems to me that he wants the emulation layer to be smaller than the app.



  • The "Emulation layer" as you put it should be smaller than the app. If its not, then the app should have been ported.  Remember, good design comes from doing the least amount of work for the correct and maintainable solution.

    Writting a modern product to enable a legacy product on modern equipment is a waste of time and energy.  Completely seperating the original code from the modern interface with a layer that must be as complex (if not moreso) than the original legacy sytem is a good way to ensure that you have a crappy out-dated product.

    If the emulation layer is very small and simple, it might still have been easier to modify the existing legacy codebase.  The true management WTF in this case is the unwillingness to touch an existing codebase.  Software is called "Soft" for a reason. It's maluable, you can mold it into what it should be.  Trying to fill in the gaps from the outside is generally considered poor design if you have control over the inside. 



  • "Wrapping" is an oddly transitive verb (there may be some better term for it, but English is not my native language and I suck at grammar jargon)

    You can wrap foil, but you can also wrap meat. So when someone says "wrap this", he should probably explain which gets wrapped around what, if it's not obvious from the two subjects involved (you obviously can't wrap meat around foil.). For example, you can wrap DirectX around OpenGL, and you can wrap OpenGL around DirectX. If some guy says "we need to wrap DirectX" he's not being clear.

    Except when it's obvious from context. If you [i]know[/i] you need to use the OpenGL API in the project, the guy obviously doesn't mean you wrap DirectX around OpenGL. :)

     



  • [quote user="dhromed"]

    "Wrapping" is an oddly transitive verb (there may be some better term for it, but English is not my native language and I suck at grammar jargon)

    You can wrap foil, but you can also wrap meat. So when someone says "wrap this", he should probably explain which gets wrapped around what, if it's not obvious from the two subjects involved (you obviously can't wrap meat around foil.). For example, you can wrap DirectX around OpenGL, and you can wrap OpenGL around DirectX. If some guy says "we need to wrap DirectX" he's not being clear.

    Except when it's obvious from context. If you [i]know[/i] you need to use the OpenGL API in the project, the guy obviously doesn't mean you wrap DirectX around OpenGL. :)

     

    [/quote]

     One of my favorite foods is "Rolaten", which I have no idea how to properly spell, so it's generally call it bacon wrapped beef... but it's thin strips of bacon with think strips of beef, rolled up like a cinnimon roll (spiral), so couldn't it equally be called beef wrapped bacon?

    while I could conceivably do that with a single meat and some foil, I doubt it would be very fun to eat.



  • [quote user="dhromed"]

    ...(you obviously can't wrap meat around foil.)....[/quote]

    While I love your comments about wrapping, I don't quite see the obviousness of not be able to wrap meat around foil as you do.

    Yeah it might be hard to wrap a slab of steak around some foil, but it sure would be easy to wrap a piece of lunch meat around a ball of foil.



  • [quote user="chrismcb"][quote user="dhromed"]

    ...(you obviously can't wrap meat around foil.)....[/quote]

    While I love your comments about wrapping, I don't quite see the obviousness of not be able to wrap meat around foil as you do.

    Yeah it might be hard to wrap a slab of steak around some foil, but it sure would be easy to wrap a piece of lunch meat around a ball of foil.

    [/quote]

    Well okay, technically, you're right.

    In fact, wrapping aluminum foil in ham slices could be an effective practical joke device.

    My archetypical meat is a slab of steak.



  • [quote user="dhromed"]

    "Wrapping" is an oddly transitive verb (there may be some better term for it, but English is not my native language and I suck at grammar jargon)

    You can wrap foil, but you can also wrap meat. So when someone says "wrap this", he should probably explain which gets wrapped around what, if it's not obvious from the two subjects involved (you obviously can't wrap meat around foil.). For example, you can wrap DirectX around OpenGL, and you can wrap OpenGL around DirectX. If some guy says "we need to wrap DirectX" he's not being clear.

    Except when it's obvious from context. If you [i]know[/i] you need to use the OpenGL API in the project, the guy obviously doesn't mean you wrap DirectX around OpenGL. :)

     

    [/quote]


    You wrap something. Something being the subject of the whole wrapping experience. The difficulty comes in when people omit the other words, because english speakers are lazy. You can wrap with foil, or use foil to wrap. The problem is that people don't think that foil itself is a wrappable item (its for wrapping with) and so english speakers insert the with.

    So wrapping DirectX is that. We are going to hide DirectX behind something (foil could be used, but might not work).

    But then again with modern event driven programming you don't know who's wrapping what. The OS is wrapping the hardware for your program, and your program is wrapping some logic for your hardware. Pickup a perspective of what's wrappable and stick to it.


Log in to reply