V
valentin tihomirov
Fanaticism is not a good advisor. Why faster in Java? Can you give a
In java, we have a rich abudance of neat classes. In VC++ (I have no
experiance with other IDEs, but MS's studio is an acknowledged leader) we
have a huge number of types, classes. Documentation is huge and of ugly
quality, it is not possible to understand how working a method without
trying it. Two my collegues (newbies but MFC fans) was trying to use sockets
to pass a file, it has taken them a whole week to choose socket class and
make it working. I should have given them a link to java sockets tutorial
just for them to understand what is a socket. MSDN (these 3 gigs of stuff)
contains huge number of incomplete and contravertial manuals.
IDEs. I preferer an IDE that is aware of my code structure. VC is a notepad.
It cannot even find the definition of a variable (shows you a list of
candidates). Intellij checks your code when you're typing.
Compiler. C++ has extremely slow compiler (it produces tremendous amounts of
info and processes them). The compiler is extremely stupid. You can create a
class (in a file) which is compilable. The class stops compiling once
attached to a project. Compiler shows a stupid message like "something
expected". Finally, you realize you have forgotten to put a closing parensis
in some another file of the project. I favor any lang withour includes.
Often messages like unresolved method appear and compiler cannot point to
the line.
The need for .h files bizzare, interface must be typed twice. Complicates
modifications.
Exceptions. not handeled exception shows you a reasonable error message and
stack trace. It is allows to locate an error without using an IDE debugger!
GC. Hard to debug problem, no memory leaks are guaranteed.
Exceptions+GC+sandbox is time saver in application programming and paramount
in erterprise programming. Therefore, MS has to invent C#.
If I need to program for performance, I'll use Delphi for win; it beats VC++
by all the params (it is java in spirit but concept is native compilation +
no GC). The resulting code is faster. In last week I have won a bet with my
VC++ fan collegue (it was his idea) implementing bubble sort algorithm. In
addition, woring directory is tiny, tens of kilobytes and some files vs.
tens megabytes and some directories of files per project.
I really like java but i'm not a fan. I'm very critial to it. I see some
inconsistencies in Java adopted methodologies and struggle with really blind
java programmers who think that java techniques are absolutely correct ones
and any general programming considerations must fit java conventions. For
example, many of the java "beleivers" are convinced that "set" container
must not have get(key) forcing others to use map (object, object) just
because java collections do not enable it.
I think I can be critical cos know many languages. The fact is that the most
diguisting experiences I've got from VC++ and Basic. May be it is because
MS is most-developer-hostile-environment-award-winning company? Their SQL
server seems developer-friendly though.
representaion like JPEG. You can use JSP instead of PHP. JSPs, as
general-purpose lang, can benefit from getting natural direct access to
objects of enterprise Java application. IMO, general-purpose means you can
write anything on them (media player, DB engine, sockets, graphical
application and text ptocessor). OS requires memory direct access/interrupt
support; these are not general-purpose features. Whether using OO or another
paradigm it does not matter.
know many langs from different groups (general-purpose, asms, SQL, scripts,
hardware description langs), SystemC will be the next step. Langs in one
group are competitors. However, we cannot support/learn all of them, in each
group must exist only one. As I'm idialist, I want these to be simple yet
powerfuls ones. I don't like when far from the best langs (C++, english)
suppress others. The fact that english is overly complicated is not just my
feeling, it is info from lingusits on EU, it is very irregular. I have the
same considerations about C++ (the compiler approves).
All C++ programmers are sure that C++ is faster than Delphi (I have shown on
bubble sort example it is false). I see the troubles that VC++ collegues
experience, like converting int to str or loading/showing icons dynamically.
I show code can be written tens of times faster in Delphi and it executes
faster but they go on writing VC++. It is not fanatism; these are
misconceptions + pragmatism. My collegue who lost the bet still tells it is
not possible that Delphi compiler produces fater code. I do will not insist
that it is faster in general but any peformance differences < 20% are not
observable anyway. In addition, they merely ignore any not popular
opportunities. It is the client who knows that C++ rules the wolrd, he has
huge number of C++ code lines and mandates the tool. Do you choose the tool
yourself?
When considering languages, there is one important parameter which is more
important than language complexity (learning curve), development effort and
execution performance all together. It is the number of "language carriers".
Looking into the future, this means that number of language carriers will
rise with no chances for alternatives. This makes me unhappy, because as
idialist, I know that in presence of a more effective tool it makes sense to
go on using an adopeted one only in short-term perspective. Adoptation of a
new (more efficient) technology gives considerable benefits in the
long-term.
But all we live today and have habits. All I have written here is useless,
because nobody agree/cares. Further discussion is really useless.
Best Regards
concrete example?
In java, we have a rich abudance of neat classes. In VC++ (I have no
experiance with other IDEs, but MS's studio is an acknowledged leader) we
have a huge number of types, classes. Documentation is huge and of ugly
quality, it is not possible to understand how working a method without
trying it. Two my collegues (newbies but MFC fans) was trying to use sockets
to pass a file, it has taken them a whole week to choose socket class and
make it working. I should have given them a link to java sockets tutorial
just for them to understand what is a socket. MSDN (these 3 gigs of stuff)
contains huge number of incomplete and contravertial manuals.
IDEs. I preferer an IDE that is aware of my code structure. VC is a notepad.
It cannot even find the definition of a variable (shows you a list of
candidates). Intellij checks your code when you're typing.
Compiler. C++ has extremely slow compiler (it produces tremendous amounts of
info and processes them). The compiler is extremely stupid. You can create a
class (in a file) which is compilable. The class stops compiling once
attached to a project. Compiler shows a stupid message like "something
expected". Finally, you realize you have forgotten to put a closing parensis
in some another file of the project. I favor any lang withour includes.
Often messages like unresolved method appear and compiler cannot point to
the line.
The need for .h files bizzare, interface must be typed twice. Complicates
modifications.
Exceptions. not handeled exception shows you a reasonable error message and
stack trace. It is allows to locate an error without using an IDE debugger!
GC. Hard to debug problem, no memory leaks are guaranteed.
Exceptions+GC+sandbox is time saver in application programming and paramount
in erterprise programming. Therefore, MS has to invent C#.
If I need to program for performance, I'll use Delphi for win; it beats VC++
by all the params (it is java in spirit but concept is native compilation +
no GC). The resulting code is faster. In last week I have won a bet with my
VC++ fan collegue (it was his idea) implementing bubble sort algorithm. In
addition, woring directory is tiny, tens of kilobytes and some files vs.
tens megabytes and some directories of files per project.
I really like java but i'm not a fan. I'm very critial to it. I see some
inconsistencies in Java adopted methodologies and struggle with really blind
java programmers who think that java techniques are absolutely correct ones
and any general programming considerations must fit java conventions. For
example, many of the java "beleivers" are convinced that "set" container
must not have get(key) forcing others to use map (object, object) just
because java collections do not enable it.
I think I can be critical cos know many languages. The fact is that the most
diguisting experiences I've got from VC++ and Basic. May be it is because
MS is most-developer-hostile-environment-award-winning company? Their SQL
server seems developer-friendly though.
HTML is not a programming language, it is a file format for visual info(for example you can't replace HTML
neither with Java or C++, another example is PHP), nor in terms of a
system and so on.
representaion like JPEG. You can use JSP instead of PHP. JSPs, as
general-purpose lang, can benefit from getting natural direct access to
objects of enterprise Java application. IMO, general-purpose means you can
write anything on them (media player, DB engine, sockets, graphical
application and text ptocessor). OS requires memory direct access/interrupt
support; these are not general-purpose features. Whether using OO or another
paradigm it does not matter.
I do not agree. For any purpose there should be only one tool (language). IThe programming world is multi paradigm and multilingual. When you
understand this, it will be good for you.
know many langs from different groups (general-purpose, asms, SQL, scripts,
hardware description langs), SystemC will be the next step. Langs in one
group are competitors. However, we cannot support/learn all of them, in each
group must exist only one. As I'm idialist, I want these to be simple yet
powerfuls ones. I don't like when far from the best langs (C++, english)
suppress others. The fact that english is overly complicated is not just my
feeling, it is info from lingusits on EU, it is very irregular. I have the
same considerations about C++ (the compiler approves).
All C++ programmers are sure that C++ is faster than Delphi (I have shown on
bubble sort example it is false). I see the troubles that VC++ collegues
experience, like converting int to str or loading/showing icons dynamically.
I show code can be written tens of times faster in Delphi and it executes
faster but they go on writing VC++. It is not fanatism; these are
misconceptions + pragmatism. My collegue who lost the bet still tells it is
not possible that Delphi compiler produces fater code. I do will not insist
that it is faster in general but any peformance differences < 20% are not
observable anyway. In addition, they merely ignore any not popular
opportunities. It is the client who knows that C++ rules the wolrd, he has
huge number of C++ code lines and mandates the tool. Do you choose the tool
yourself?
When considering languages, there is one important parameter which is more
important than language complexity (learning curve), development effort and
execution performance all together. It is the number of "language carriers".
Looking into the future, this means that number of language carriers will
rise with no chances for alternatives. This makes me unhappy, because as
idialist, I know that in presence of a more effective tool it makes sense to
go on using an adopeted one only in short-term perspective. Adoptation of a
new (more efficient) technology gives considerable benefits in the
long-term.
But all we live today and have habits. All I have written here is useless,
because nobody agree/cares. Further discussion is really useless.
Best Regards