Click here to Skip to main content
15,886,873 members

The Insider News

   

The Insider News is for breaking IT and Software development news. Post your news, your alerts and your inside scoops. This is an IT news-only forum - all off-topic, non-news posts will be removed. If you wish to ask a programming question please post it here.

Get The Daily Insider direct to your mailbox every day. Subscribe now!

 
GeneralRe: C++ should be C++ Pin
obermd20-Dec-23 8:48
obermd20-Dec-23 8:48 
GeneralRe: C++ should be C++ Pin
David O'Neil20-Dec-23 17:28
professionalDavid O'Neil20-Dec-23 17:28 
GeneralRe: C++ should be C++ Pin
trønderen21-Dec-23 1:00
trønderen21-Dec-23 1:00 
GeneralRe: C++ should be C++ Pin
David O'Neil21-Dec-23 5:15
professionalDavid O'Neil21-Dec-23 5:15 
GeneralRe: C++ should be C++ Pin
trønderen23-Dec-23 4:55
trønderen23-Dec-23 4:55 
GeneralRe: C++ should be C++ Pin
David O'Neil23-Dec-23 16:58
professionalDavid O'Neil23-Dec-23 16:58 
GeneralRe: C++ should be C++ Pin
Greg Utas21-Dec-23 5:27
professionalGreg Utas21-Dec-23 5:27 
GeneralRe: C++ should be C++ Pin
trønderen23-Dec-23 3:17
trønderen23-Dec-23 3:17 
Implementing a framework is close to implementing a compiler and its runtime system. Is there any big, principal difference between a rich runtime system and a framework? I see a framework as a high level (and often domain specific) runtime system.

Creating a framework is a "one time job", just like a compiler is a "one time job". (In ""s, because you obviously update and extend the compiler.) It is not the kind of programming project you start off when some customer presents you with a specific application domain problem. If a framework is used for a hundred different application domain problems (if less, it probably wasn't worth the resources to develop it!), I am not worried about that one development project for the framework, but the hundred projects using it.

The hundred projects where you discuss your problem solution with a domain expert, which is not a coding expert, is what concerns me. We must realize, in a very deep sense, that as software developers, we are not domain experts! We need to discuss our proposed solution with those who really know the domain. I do not want to discuss a solution where pointer arithmetic and abstract functions are essential for understanding the solution. It is perfectly fine with me, when I am working alone, but when presenting the solution to a domain expert, I most certainly would want much better tools.

The traditional work pattern is that you meet you domain expert who tells you, verbally, what he wants. Then you go back to the coding lab and do it the way you - as a non-expert - interpreted the signals from the expert. That work pattern has caused a lot of mediocre solutions, because we as programmers really didn't understand what the expert was saying. We have to bring the expert into the real solution building activity. He must see the real code, understand it, relate to it. Then pointer arithmetic and abstract functions are not the right concepts to introduce him to.

So: If you want to build an application domain specific framework, feel free to do it in C++. But make sure that when that framework is used in discussion with a customer, that customer can relate to application concepts only, and can completely ignore issues of heap management, stack alignment, pointers, virtual and abstract functions and so on. Create the problem solution in an environment, i.e. with tools, where such concepts are irrelevant.

I do not see C++ as the ideal for emailing to you customer for him to see if you have understood his explanations correctly, and have the domain expert make corrections and supply the details that you were missing.

To present a counter example: Many years ago, in the age where manually handled paper archives were being replaced with digital solution, I was involved in a couple different projects; you could call it "data modelling" projects: We were helping the customer (one was the city administration of our town) to straighten up which different information collection existed, how they related to each other, which were non-authoritative copies of others, which depended on which others, and so on.

This we did not present as C++ classes with multiple inheritance and virtual functions, but in Entity-Relationship diagrams. They were immediately understood by "everyone", including those who had never used a PC. We could hand out printed ER diagrams and had them returned with extra arrows and attributes of the entities, big question marks, crossed out relations and new relations, for another meeting with users and their experts to discuss back and forth which are the "correct" relations and placement of information fields (attributes).

For those unfamiliar with ER: Transformation of an ER diagram to a relational database is a trivial affair, comparable to the code generator of a compiler. There is an almost perfect 1:1 mapping between entities/relations and database tables. So although there was an "implementation step" where the users where not directly involved, this was an all mechanical process. There were several tools taking the agreed-upon-with-the-customer as input to a table generator. If a meeting resulted in a model change, recompiling to a new set of tables was a trivial affair. So the domain experts and their users was indeed directly involved in the creation of the solution.

Unfortunately, ER didn't survive as a commonly used modelling tool. I see two major causes: First, there is a continuous battle about who is in control, dominating. When one tool becomes too popular, beyond the pure percentage figures, but in the sense of accepted, understood, and acknowledged by the general public, then we the programmers start fearing that we will loose control, loose our hegemony. So we push alternatives that is not yet understood by the general public, in the sense that they can control it. ER became too popular.

So what happened to ER? It was "developed", augmented, by an endless stream stream of extension, most of them could be called "super-academic" of nature, that made it next to impossible to discuss an ER model with non-IT user; they would minimum need a three day course in our ER language to understand what we were talking about. ER grew cancer, which killed it.

Why is VB still around? For the same reason that simple, un-cancerous ER succeeded a generation ago. If we are to discuss the real problem solution with the customer/user, we must have the appropriate tools.

Methinks C++23 is not.
GeneralRe: C++ should be C++ Pin
Greg Utas23-Dec-23 3:43
professionalGreg Utas23-Dec-23 3:43 
GeneralRe: C++ should be C++ Pin
trønderen23-Dec-23 5:10
trønderen23-Dec-23 5:10 
GeneralRe: C++ should be C++ Pin
Greg Utas23-Dec-23 5:50
professionalGreg Utas23-Dec-23 5:50 
GeneralRe: C++ should be C++ Pin
David O'Neil23-Dec-23 17:15
professionalDavid O'Neil23-Dec-23 17:15 
NewsBlue Origin successfully launched and recovered its New Shepard booster Pin
Kent Sharkey19-Dec-23 8:01
staffKent Sharkey19-Dec-23 8:01 
GeneralRe: Blue Origin successfully launched and recovered its New Shepard booster Pin
MarkTJohnson19-Dec-23 9:49
professionalMarkTJohnson19-Dec-23 9:49 
GeneralRe: Blue Origin successfully launched and recovered its New Shepard booster Pin
Marc Clifton20-Dec-23 5:49
mvaMarc Clifton20-Dec-23 5:49 
GeneralRe: Blue Origin successfully launched and recovered its New Shepard booster Pin
obermd20-Dec-23 8:47
obermd20-Dec-23 8:47 
NewsSize, alignment, and memory layout insights for C++ classes, structs, and unions Pin
Kent Sharkey19-Dec-23 7:46
staffKent Sharkey19-Dec-23 7:46 
NewsIt took Microsoft more than a year to fix one of the most infuriating Windows 11 bugs Pin
Kent Sharkey19-Dec-23 7:46
staffKent Sharkey19-Dec-23 7:46 
GeneralRe: It took Microsoft more than a year to fix one of the most infuriating Windows 11 bugs Pin
obermd20-Dec-23 8:50
obermd20-Dec-23 8:50 
GeneralRe: It took Microsoft more than a year to fix one of the most infuriating Windows 11 bugs Pin
Kent Sharkey20-Dec-23 9:00
staffKent Sharkey20-Dec-23 9:00 
GeneralRe: It took Microsoft more than a year to fix one of the most infuriating Windows 11 bugs Pin
Shane010320-Dec-23 16:38
Shane010320-Dec-23 16:38 
NewsNASA’s tech demo streams first video from deep space via laser Pin
Kent Sharkey19-Dec-23 7:46
staffKent Sharkey19-Dec-23 7:46 
NewsMicrosoft's solution to the HP Smart app forcing its way onto PCs is to make you install a tool and use Command Prompt Pin
Kent Sharkey19-Dec-23 7:01
staffKent Sharkey19-Dec-23 7:01 
GeneralRe: Microsoft's solution to the HP Smart app forcing its way onto PCs is to make you install a tool and use Command Prompt Pin
Daniel Pfeffer20-Dec-23 2:40
professionalDaniel Pfeffer20-Dec-23 2:40 
NewsGoogle to pay $700 million and make tiny app store changes to settle with 50 states Pin
Kent Sharkey19-Dec-23 7:01
staffKent Sharkey19-Dec-23 7:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.