IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User

Welcome to IWETHEY!

New He's talking about the "90%" of programming.
You know, the business programming stuff that used to be done with COBOL:

The use of libraries of pre-built components will automate over 90% of the software development process and turn everyday users into software developers. These plug-compatible components should snap together automatically: just click, drag and drop. Thus the burden of assuring compatibility is the responsibility of the development system, not the programmer.

But he's also talking about reliability:

When it comes to safety-critical applications such as air traffic control or avionics software systems, even a single defect is not an option since it is potentially catastrophic. Unless we can guarantee that our programs are logically consistent and completely free of defects, the reliability problem will not go away. In other words, extremely reliable software is just not good enough. What we need is 100% reliable software. There is no getting around this fact.

One doesn't need bullet-proof software running a calculator as one does with an air traffic control system. All software doesn't need the same level of reliability.

But I think he makes several good points. If you want reliable general-purpose software, you need (reasonably) bullet-proof components and you need to assemble your software from those components. (E.g., you don't want your programmers reinventing FindFirst/FindNext.) Whether that means using a new/different approach to building the components or simply using better, more carefully debugged tools, I can't say. I don't think that all software should be expected to meet the same reliability requirements. We don't require treehouses to stand up to earthquakes....

New I'm considerably more skeptical about components
It's hard to find a component that does exactly what you need - software, electrical, or mechanical. Normally quite a bit of extra stuff is required to get it do what you want.

Current software component technologies like DLL's, ActiveX, COM, etc have their issues. Versioning can be really fun. Getting everything registered and working can be lots of fun. Commercial components are often a major pain in the butt - not just the cost, but the headaches installing it on development machines, license keys, etc.

The component model limits what can be done - for example, I can develop much quicker using only dynamic language such as Python than to split everything into COM objects, just because COM does not support Python's advanced features.

That's why I think the way forward is dynamic languages that can be used to bind together existing libraries and components quickly - and add the necessary logic on top - not "drop and connect" of existing components.

BTW, the "component vision" was promoted by Sandstone (Objective C guys) in the mid 80's. It was a failure then. It might work if everyone agreed on one language, and one way to do everything. But that's not reality. (And, yes, the world might be a better place if Objective C was dominant instead of C++. But there still is no silver bullet.)

New Well said.
I'm no programmer, but I know this component stuff has been a Holy Grail for a long time. As you say, they only go so far, and interoperability of components is a big problem.

Maybe in 10 years computers will be fast enough and storage will be cheap enough that a GNU library of 10^10 robust components that can be extended easily in a bullet-proof manner will exist, but I'm not betting on it either. Maybe such components would cover 50% of standard business programming by then, but they won't cover the "cool" and "interesting" stuff that people enjoy working on. So there will always be a need for new custom code that doesn't exist in some drag-and-drop framework. At that point, robust tools and processes need to come into play.

New Well, we've already got 10^10 components...
Have you taken a look at .NyET's CLR recently?
"So don't pay attention to the approval ratings that say 68% of Americans disapprove of the job this man is doing. I ask you this, does that not also logically mean that 68% approve of the job he's not doing? Think about it. I haven't."
Stephen Colbert, at the White House Correspondent's Dinner 29Apr06
     Interesting Article on Software Engineering - (tuberculosis) - (48)
         off the cuff without reading the article - (boxley) - (17)
             Same as it ever was - (drewk) - (16)
                 He doesn't mention language at all - (tuberculosis) - (15)
                     Everything always looks better from the outside - (tonytib) - (1)
                         Hardware design is getting to look a lot like... - (ChrisR)
                     I was replying to Bill's comment, not really to the article - (drewk) - (12)
                         I know where he is going with that - (boxley) - (4)
                             I know the authors of dabbledb - (tuberculosis) - (3)
                                 Note that the h/w folks Savain loves don't love schematics - (tonytib) - (2)
                                     Does noone use circuit simulators? -NT - (tuberculosis) - (1)
                                         Circuit simulators are no silver bullet, esp for Analog -NT - (tonytib)
                         And another thing... - (jb4) - (4)
                             He's talking about the "90%" of programming. - (Another Scott) - (3)
                                 I'm considerably more skeptical about components - (tonytib) - (2)
                                     Well said. - (Another Scott) - (1)
                                         Well, we've already got 10^10 components... - (jb4)
                         The problem with user-built programs - (tablizer) - (1)
                             you expect anything different? - (Steve Lowe)
         The article is BS - (ben_tilly) - (28)
             I don't agree - (tuberculosis) - (26)
                 Er, what? It's 2006, dude. - (admin) - (12)
                     C++ was never about components - (tuberculosis) - (11)
                         ? in 97 useta write module compile in Borland - (boxley)
                         1994, actually. - (admin) - (9)
                             That's a side issue - (tuberculosis) - (8)
                                 Define "a few years" - (admin) - (7)
                                     No - (tuberculosis) - (6)
                                         Hey, YOU'RE the one who made the stupid assertion. - (admin)
                                         I guess... - (pwhysall) - (4)
                                             wrongly - (tuberculosis) - (3)
                                                 Don't leave. - (Another Scott)
                                                 Oh stop. - (bionerd)
                                                 Wind your neck in. - (pwhysall)
                 Just for the record: - (jb4)
                 I wish components worked like that everywhere - (ben_tilly) - (11)
                     What do you mean, traditionally? - (admin) - (10)
                         I mean what they mean in their documentation - (ben_tilly) - (9)
                             That's character set, not numeric. - (admin) - (8)
                                 So we were talking past each other -NT - (ben_tilly) - (7)
                                     The example you gave was of numeric sort not working. - (admin) - (2)
                                         No, it was not of *numeric* sort not working - (ben_tilly) - (1)
                                             Nevermind me, I'm tired tonight. -NT - (admin)
                                     There's a lot of that going on -NT - (tuberculosis) - (3)
                                         No - (admin) - (2)
                                             Whatever - (tuberculosis) - (1)
                                                 Who says irony is dead? -NT - (admin)
             The problem with hardware is deeper - (tonytib)
         Good luck with that - (warmachine)

One... two... FIVE!
120 ms