Posted By: ido.ran | Dec 3rd, 2008 @ 3:02 PM
page 1 of 2
Comments: 39 | Views: 1399
Does anyone else notice that C# 4.0 dynamic was here 20 years ago in form of NSObject forwardInvocation:(NSInvocation *) 
Or is it just me?
figuerres
figuerres
???
well really I will say that

Nothing new has been invented in the last 20 years when it comes to programming.

REALLY!

go look back at what has been done for years in SmallTalk and Lisp for example.

C++ is in many ways C with some cool macros, the first gen of C++ compilers where not much more than a pre-processor that wrote C code from C++ code.

multi-core is just multi-cpu refined so that building the parts is less costly and runs better.
parralel processing has been a known problem for years, we are just now gewtting to a point where we need a general solution for low cost systems... but super computers have been there for a while.

OOP is 20 years old -- actualy more like 30 years old.

and Jobs used Mach to make the Next Cube OS when then got some bits ported to Mac OS in making OS X
but Mach pre-dates the Mac OS.

the list goes on and on....

Heck I saw Commodore 64's that ran dynamic programs... code was patched into memory from disk on-the-fly by smart coders back then... it was BASIC but the methods were far from basic Smiley
Minh
Minh
WOOH! WOOH!
What do you mean "patch"?

I don't remember ever hearing Anders Heisberg ever claiming the language ideas were invented by him, nor MS.
TommyCarlier
TommyCarlier
I want my scalps!
Obj-C is not the only language which put "sending messages" into action: it "borrowed" that metaphore from Smalltalk. Smalltalk goes much further: all its control structures (if-then-else, while-loop, ...) and operators (+, -, *, ...) are not built into the language, but are implemented as messages. For example: if-then-else is a message on the Boolean-class:(a < b) ifTrue: [ ... ] ifFalse: [ ... ]

Late binding has been around for almost as long as programming, you'd be hard pushed to attribute it to SmallTalk let alone Objective C.

TommyCarlier
TommyCarlier
I want my scalps!
Uhm, Smalltalk is used in real-world applications. The first WIMP-based GUI was written in Smalltalk. There are multiple commercial and non-commercial implementations of Smalltalk (Squeak, GNU Smalltalk, Dolphin, VisualWorks, ...) and a whole community of Smalltalk-developers. Maybe you should look further into it, if you're interested.
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
It's been around for longer than that. Besides which, the point of the C# dynamic keyword isn't to introduce the world to the benefits of the dynamic keyword - it's to allow programmers who use dynamic-style programming to use C#.

C# isn't about inventing new programming paradgms - new programming paradgms should never be introduced into a commercial in-use language - they should be integrated only once they are known to be good.

In this case, I'm not sure that the dynamic keyword is all the great idea that its made out to be (it means that lots of program-errors can't be determined until runtime, which is a bit rubbish and reduces the overall code stability of the sourcebase).

I remember learning that C# didn't have late binding and was surprised, as almost every language I had used to that point had some form of it.

figuerres
figuerres
???
evil:  like any power tool;  Use with caution!
that's been true with C and pointers, with recusion and lot's of stuff...
some folks take new stuff and try to do everything with the new toy.. and then find out they messed up.

vesuvius
vesuvius
Das Glasperlenspiel
I honestly don't see me using any dynamic stuff, and cannot see the use of it in business application development. Not the stuff I do anyway.


Any developers (smart client) that can see a use for this?
We use it with everything we write (VB6).

Instead of separate stand-alone apps, we have one MDI app that loads forms with ActiveX controls on them.  So instead of recompiling the MDI app everytime something gets released, we just add an item to a menu (which is dynamically loaded) and then have the menu item open a form with the new ActiveX control on it.

Without late binding, we'd have to put a reference to every new piece we write.
TommyCarlier
TommyCarlier
I want my scalps!
I suspect you've never tried to write an Office add-in using VSTO?
vesuvius
vesuvius
Das Glasperlenspiel
Not yet unfortunately, though I'm sure if dynamic makes it easy, my nonchalance will evaporate. I do know Anders demo'd an interop thing, where the code gode seriously unwieldy, I presume this is the spivinious scenario.
vesuvius
vesuvius
Das Glasperlenspiel
This thead title reminds me of a saying about "nothing ever being new - at least the idea of it". Anyone know where that came from, I can't put the right query into Google?
On the contrary, our code isn't unwieldy at all.  If one piece needs to be updated, we update that piece and the MDI app automatically uses it.
figuerres
figuerres
???

I think you have some errors in that history...

MFC and VB ran "paralell" not one then the other.

and .net versions are such that old apps can run on the new framework version not the other way around.
(at least the way you wrote it... it reads like you want the other with a V3 app running on the v1 framework)

not sure what you mean about breaking code, win xp could run around 99% of apps that ran on win 95 to 2000 pro.
vista can run 99% of what ran on 2000 pro and xp.

points when old code does not work are like win 3.1 code is not working on vista.

sometimes that has to happen to move foreward.

perhaps you mean some thing else??

 

Yggdrasil
Yggdrasil
Pour me a cab, 'cause I can't drink no more.
"That which has been is what will be,
      That which is done is what will be done,
      And there is nothing new under the sun. "
    
                Ecclesiastes 1:9
Sven Groot
Sven Groot
My name has 9 letters. Coincidence? I think not...
"All this has happened before, and all of it will happen again."

        Battlestar Galactica
stevo_
stevo_
Human after all
What? no matrix quotes?
vesuvius
vesuvius
Das Glasperlenspiel
That is a fine way of putting it
vesuvius
vesuvius
Das Glasperlenspiel
I should have known. The old ones are always the best!
page 1 of 2
Comments: 39 | Views: 1399
Microsoft Communities