Kamilche said:
CBFalconer <
[email protected]> wrote in message
The memory assists you get working with VB (and C++) are awesome.
I think you're mistaking an IDE for a language.
grow weary of having to remember every function call for every data
type...
Yes, I think you're mistaking and IDE for a language.
in VB, I just type the variable name, then a dot, and all the
methods and variables pop up in a handy list, awaiting my selection.
'Intellisense'.
That is not the Visual Basic language doing that, it's the IDE.
I often use Visual Studio with Microsoft Visual C++ compiler.
Visual Studio (an IDE) also has this 'pop up' feature listing
class members when writing C++.
But it's more than that. There's better encapsulation available for
OOP languages.
What are you talking about? Encapsulation is achievable in
almost any language. Encapsulation is not a language feature
in itself, it's a design strategy. Some languages have features
which make encapsulation feel "more natural" than others.
I've been 'faking it' myself in C,
No faking needed. C is perfectly capable of expressing
encapsulation. The constructs used might differ from
those used by other languages.
but I recently
stumbled across a bug that was so subtle and well-hidden, it's a
miracle I found it.
Anyone will create hard to find bugs from time to time.
IMO practice and experience, combined with code reviews,
testing and debugging comprise the only remedy.
I know that happens in VB and other languages as
well, but with C, everything is taking about 10x longer to code.
C is a 'lower level' language than some others, e.g. Visual Basic.
It's good for some things, but for other things another language
might be more appropriate. You seem to be on a quest to find the
"best language." No such thing exists. A hammer is the best
tool for pounding nails, a saw the best tool for cutting lumber.
A good programmer will know several languages, and always be
on the lookout for tools best suited for a given task.
Those
bugs pop up a lot sooner, when you have the core of your app done in a
month, as opposed to 10 months. Ya know?
No I don't know. A language by itself cannot help your productivity
or efficiency. Discipline and strategy, and careful selection and
application of tools (including languages) can. IMO too many people
start typing code when they still don't have a clear design and/or
goal.
Maybe I just suck at C. It could be.
It seems to be you're having a difficult time distinguishing
tools from design and strategy.
Maybe I'm a child of the VB age,
Perhaps. It does cause me some concern that so many people
who learn how to push and point and click with VB, and create
an application somehow are led to believe that they've magically
become programmers. They've merely learned how to operate the
controls of one particular machine. They haven't learned what
programming is at all. Programming is the analysis and solution
of problems. This requires many tools, of which programming
languages are a small set.
unable to learn how to use other languages effectively.
Don't get so close to a given language, and don't try to
apply concepts specific to one language to others. Try to
view things more generally, and you'll more readily recognize
how concepts common to all languages are best expressed and
utilized in each.
I don't think
so though. I cut my teeth on programming back before the Internet was
around,
I doubt that. Do you really know how old the internet is?
Most folks don't.
and have programmed in quite a few languages - COBOL,
HyperCard, VB, more.
COBOL is the only one of those three that I consider a
'mature' language. This is only my opinion, but Visual Basic
and Hypercard are only recent inventions, whose lifetimes
are still in question. And both are very specialized, with
limited scope.
It would probably be better if I had someone to program with.
Yes, two (or more) heads are almost better than one. Witness
the (imo) success of the XP concept of "pair programming".
But you're really not alone. You have these wonderful newsgroups.
Maybe it
wouldn't seem so tough then. But I don't, and wishing won't make it
so. These OOP languages
None of the languages you mention are "OOP languages". Some
have features which let you do OOP, but don't limit you to it.
Also, don't believe that OOP (or any other paradigm) is
the answer to all programming. OOP is very useful for
some things, but not appropriate at all for others.
"Intellisense" is a Microsoft technology which is part of
their IDEs. It is *not* part of *any* programming language.
make up for it to some
degree.
Yes, many if not all IDEs can enhance productivity. But imo
the "flip side of the coin", is that many are misled into believing
they're somehow part of a language with which they're being used.
I really like a lot of aspects about Python, though how it handles
global variables suck. I wish it was in the same ballpark, speed-wise,
because I'd use it if it was, even with its quirks.
This is more support for my statements above that a single language
will *not* suffice for the professional programmer. One language
simply cannot serve as an "all purpose tool." Learn many languages,
and apply them to the task at which they perform the best.
-Mike