Re: A C++ Whishlist

From: Howard (alicebt_at_hotmail.com)
Date: 03/09/04


Date: 09 Mar 2004 16:44:14 EST


"Hattuari" <susudata@setidava.kushan.aa> wrote in message
news:zs6dnTmgdPhErtPdRVn-> I believe some things could go a long way to
improve the language's
> usability that do not involve modifying the language itself. I would like
> to see an open standard library for supporting code completion, syntax
> highlighting, code formatting, and edit-time error checking.
>

What do those things have to do with the language? Those are editor
features. Why restrict how people edit their files to just one person's
preferences?

> A really standard string class. I still count as a newbie to C++, so
> perhaps I just need to adjust. I know Java strings aggravated me at first
> because I felt like I had to write an entire program to do things I could
> do in C in a couple lines. Now I have come to really like Java Strings.
> Mostly because in Java, a String is a String is a String. Not so in C++.
>

What's the problem with std::string???

I don't agree with anything you've posted, really. As you're a
self-declared newbie to C++, maybe you just need more exposure, as you did
in Java.

> Deprecate, or seriously restrict struct so that it can only have public
> members. It just adds complexity without functionality to have struct
> defined as a class in which members are default public.
>

You don't like struct? Don't use it! It's really only there for backwards
compatibility, I think, so that legacy code didn't break when the standard
was update. (I could be wrong, of course.) Personally, I never define new
classes using struct, and, in general, I never rely on the "default"
visibility, either, preferring to explicitly declare it to be sure that
future coders (including me) know what is protected/private/public.

> I believe header files are nothing but a nuisance. It is not clear to me
> they add anything to the capability of the language, but they clearly add
> confusion. If nothing else, provide a standard library component that
will
> facilitate the automatic synchronization of header files.
>

Again, what does "synchronization" have to do with the language? The
language standard is not a definition of how an editor behaves, nor how a
compiler is to arrive at its final goal of creating the executable code. It
defines what the language is, and what the behavior of the resulting code
should be, not how you get there.

As for header files, apparently you don't comple very large applications.
If you had no header files, then you would have to recompile all your
dependant source files every time you had a change in the implementation
(definitions). With header files, you only have to do that when the header
file (declarations) change. Additionally, you can distribute header files
and object code (i.e., libraries) to other developers, and they only need to
know the interfaces to your classes and functions, not the details of the
implementations themselves. That's not only god programming practice, but
good business practice as well!

Perhaps, instead of "standard library component", you mean a "common tool"?
Some facility that all editors and compilers provide? Well, again, that's
really up to the writers of those tools, and they rely a lot on feedback
from their users as to what's really needed. If there's a specific feature
you want in your favorite IDE, write them and request it. Otherwise they'll
never know anyone wants it.

> I suspect namespaces and what is now done with header files could be
merged
> in such a way to encourage better use of namespaces, and provide basically
> the same support as header files currently provide.
>

I'm not sure what you mean by that.

> Make exception handling manditory as it is in Java. If you throw it, you
> *must* catch it, or declare it to be thrown in the function declaration.
>

Why? How will that apply to libraries, or API calls, which have no idea
what action to take and therefore in general will only throw, leaving it to
you to either catch or allow the framework to do what it's designed to do
with unhandled exceptions?

> Should I even suggest thinking about introspection and reflection?
>

(No idea what those are, with regards to programming, at least.)

Sorry if I sounded harsh. No offense intended. But i think, at the very
least, most of these ideas don't really belong in a newsgroup devoted to the
C++ language. Perhaps in an IDE-related newsgroup?

-Howard



Relevant Pages

  • Re: A C++ Whishlist
    ... > These are nothing to do with the language or the standard library. ... It just adds complexity without functionality to have struct ... > A struct is just a class that defaults to public instead of private. ... >> will facilitate the automatic synchronization of header files. ...
    (comp.lang.cpp)
  • Re: A C++ Whishlist
    ... >> usability that do not involve modifying the language itself. ... > As for header files, apparently you don't comple very large applications. ... it's libraries without the use of header files. ... > (No idea what those are, with regards to programming, at least.) ...
    (comp.lang.cpp)
  • Re: Do header files really serve a useful purpose?
    ... You have learned Pascal, C and Java. ... C's "header files" synonym is "header ... > there is a good deal of excellent software written in the language. ... The also seem to encourage programmers to avoid using namespaces. ...
    (comp.lang.cpp)
  • Re: Do header files really serve a useful purpose?
    ... My oppinion would be that the compile would need to generate automatically ... If you hate header files, you can use Microsoft extensions of C++ an import ... > complexity, and hence the difficulty, of learning the language. ... The also seem to encourage programmers to avoid using ...
    (comp.lang.cpp)
  • Re: object system...
    ... for that you need machine language. ... isn't even as fast as other systems programming languages. ... Stroustrup's stated design goal was to enable ... all manner of elegance or abstraction can be sacrificed for speed, ...
    (comp.object)